anderx лет назад: 2
Родитель
Сommit
5610f1a6b7

+ 22 - 0
src/main/java/com/goafanti/common/dao/ExpenseAccountLogMapper.java

@@ -0,0 +1,22 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.ExpenseAccountLog;
+import com.goafanti.expenseAccount.bo.OutExpenseAccountLog;
+
+import java.util.List;
+
+public interface ExpenseAccountLogMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(ExpenseAccountLog record);
+
+    int insertSelective(ExpenseAccountLog record);
+
+    ExpenseAccountLog selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(ExpenseAccountLog record);
+
+    int updateByPrimaryKey(ExpenseAccountLog record);
+
+    List<OutExpenseAccountLog> selectByEaid(Integer eaid);
+}

+ 106 - 0
src/main/java/com/goafanti/common/mapper/ExpenseAccountLogMapper.xml

@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.ExpenseAccountLogMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.ExpenseAccountLog">
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="eaid" jdbcType="INTEGER" property="eaid" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="auditor" jdbcType="VARCHAR" property="auditor" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, eaid, `status`, remarks, auditor, create_time
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from expense_account_log
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from expense_account_log
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.ExpenseAccountLog" useGeneratedKeys="true">
+    insert into expense_account_log (eaid, `status`, remarks,
+      auditor, create_time)
+    values (#{eaid,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR},
+      #{auditor,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.ExpenseAccountLog" useGeneratedKeys="true">
+    insert into expense_account_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="eaid != null">
+        eaid,
+      </if>
+      <if test="status != null">
+        `status`,
+      </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
+      <if test="auditor != null">
+        auditor,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="eaid != null">
+        #{eaid,jdbcType=INTEGER},
+      </if>
+      <if test="status != null">
+        #{status,jdbcType=INTEGER},
+      </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="auditor != null">
+        #{auditor,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.ExpenseAccountLog">
+    update expense_account_log
+    <set>
+      <if test="eaid != null">
+        eaid = #{eaid,jdbcType=INTEGER},
+      </if>
+      <if test="status != null">
+        `status` = #{status,jdbcType=INTEGER},
+      </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="auditor != null">
+        auditor = #{auditor,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.ExpenseAccountLog">
+    update expense_account_log
+    set eaid = #{eaid,jdbcType=INTEGER},
+      `status` = #{status,jdbcType=INTEGER},
+      remarks = #{remarks,jdbcType=VARCHAR},
+      auditor = #{auditor,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+
+  <select id="selectByEaid" resultType="com.goafanti.expenseAccount.bo.OutExpenseAccountLog">
+    select a.id,a.eaid ,a.status ,a.remarks ,a.auditor ,b.name auditorName,
+           date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTimeStr
+    from expense_account_log a left join admin b on a.auditor =b.id
+    where a.eaid= #{eaid}
+  </select>
+</mapper>

+ 90 - 0
src/main/java/com/goafanti/common/model/ExpenseAccountLog.java

@@ -0,0 +1,90 @@
+package com.goafanti.common.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * expense_account_log
+ * @author 
+ */
+public class ExpenseAccountLog implements Serializable {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 报销编号
+     */
+    private Integer eaid;
+
+    /**
+     * 状态 0发起 1审核中 2通过 3驳回
+     */
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 审核人
+     */
+    private String auditor;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getEaid() {
+        return eaid;
+    }
+
+    public void setEaid(Integer eaid) {
+        this.eaid = eaid;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public String getAuditor() {
+        return auditor;
+    }
+
+    public void setAuditor(String auditor) {
+        this.auditor = auditor;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 25 - 0
src/main/java/com/goafanti/expenseAccount/bo/OutExpenseAccountLog.java

@@ -0,0 +1,25 @@
+package com.goafanti.expenseAccount.bo;
+
+import com.goafanti.common.model.ExpenseAccountLog;
+
+public class OutExpenseAccountLog extends ExpenseAccountLog {
+    private String auditorName;
+
+    private String createTimeStr;
+
+    public String getAuditorName() {
+        return auditorName;
+    }
+
+    public void setAuditorName(String auditorName) {
+        this.auditorName = auditorName;
+    }
+
+    public String getCreateTimeStr() {
+        return createTimeStr;
+    }
+
+    public void setCreateTimeStr(String createTimeStr) {
+        this.createTimeStr = createTimeStr;
+    }
+}

+ 11 - 1
src/main/java/com/goafanti/expenseAccount/controller/ExpenseAccountController.java

@@ -90,7 +90,7 @@ public class ExpenseAccountController extends CertifyApiController {
 
     /**
      * 删除报销详情
-     * @param id
+     * @param eaid
      * @return
      */
     @RequestMapping(value = "/details/list",method = RequestMethod.GET)
@@ -100,5 +100,15 @@ public class ExpenseAccountController extends CertifyApiController {
         return res;
     }
 
+    @RequestMapping(value = "/log/list",method = RequestMethod.GET)
+    public Result logList(Integer eaid){
+        Result res =new Result();
+        if (eaid==null){
+            res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_EMPTY_ERROR,"报销编号"));
+            return res;
+        }
+        res.setData(expenseAccountService.logList(eaid));
+        return res;
+    }
 
 }

+ 2 - 0
src/main/java/com/goafanti/expenseAccount/service/ExpenseAccountService.java

@@ -18,4 +18,6 @@ public interface ExpenseAccountService {
     int deleteDetails(Integer id);
 
     List<OutExpenseAccountDetails> detailsList(Integer eaid);
+
+    Object logList(Integer eaid);
 }

+ 32 - 5
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -1,14 +1,13 @@
 package com.goafanti.expenseAccount.service.impl;
 
 import com.goafanti.common.constant.AFTConstants;
-import com.goafanti.common.dao.AdminMapper;
-import com.goafanti.common.dao.ExpenseAccountDetailsMapper;
-import com.goafanti.common.dao.ExpenseAccountMapper;
-import com.goafanti.common.dao.PublicReleaseMapper;
+import com.goafanti.common.dao.*;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.ExpenseAccountLog;
 import com.goafanti.common.model.PublicRelease;
 import com.goafanti.common.utils.DateUtils;
+import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.expenseAccount.bo.InputExpenseAccount;
 import com.goafanti.expenseAccount.bo.InputExpenseAccountDetails;
 import com.goafanti.expenseAccount.bo.OutExpenseAccount;
@@ -17,7 +16,6 @@ import com.goafanti.expenseAccount.service.ExpenseAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 @Service
@@ -29,9 +27,12 @@ public class ExpenseAccountServiceImpl implements ExpenseAccountService {
     @Autowired
     private PublicReleaseMapper publicReleaseMapper;
     @Autowired
+    private ExpenseAccountLogMapper expenseAccountLogMapper;
+    @Autowired
     private ExpenseAccountDetailsMapper expenseAccountDetailsMapper;
 
 
+
     @Override
     public OutExpenseAccount add(InputExpenseAccount in) {
         if (in.getAid()!=null){
@@ -48,10 +49,26 @@ public class ExpenseAccountServiceImpl implements ExpenseAccountService {
             in.setUserNames(pr.getUserNames());
         }
         expenseAccountMapper.insertSelective(in);
+        addExpenseAccountLog(in.getId(),0,"创建报销");
         OutExpenseAccount outExpenseAccount = expenseAccountMapper.selectByid(in.getId());
         return outExpenseAccount;
     }
 
+    /**
+     *
+     * @param eaid 报销编号
+     * @param status 状态 0创建 1发起 2通过 3驳回 4修改
+     * @param str 备注
+     */
+    private void addExpenseAccountLog(Integer eaid, Integer status, String str) {
+        ExpenseAccountLog eaLog=new ExpenseAccountLog();
+        eaLog.setEaid(eaid);
+        eaLog.setStatus(status);
+        eaLog.setRemarks(str);
+        eaLog.setRemarks(TokenManager.getAdminId());
+        expenseAccountLogMapper.insertSelective(eaLog);
+    }
+
     @Override
     public int update(InputExpenseAccount in) {
         OutExpenseAccount useEA = expenseAccountMapper.selectByid(in.getId());
@@ -65,6 +82,11 @@ public class ExpenseAccountServiceImpl implements ExpenseAccountService {
         in.setStatus(1);
         //计算总金额
         in.setTotalAmount(expenseAccountDetailsMapper.selectAmountCountByEAid(in.getId()));
+        if (useEA.getStatus()==0){
+            addExpenseAccountLog(useEA.getId(),1,"发起报销审核");
+        }else if (useEA.getStatus()==3){
+            addExpenseAccountLog(useEA.getId(),1,"修改重新发起审核");
+        }
         return expenseAccountMapper.updateByPrimaryKeySelective(in);
     }
 
@@ -84,4 +106,9 @@ public class ExpenseAccountServiceImpl implements ExpenseAccountService {
 
         return expenseAccountDetailsMapper.selectByEAid(eaid);
     }
+
+    @Override
+    public Object logList(Integer eaid) {
+        return expenseAccountLogMapper.selectByEaid(eaid);
+    }
 }