Browse Source

新审核流程开发

anderx 2 years ago
parent
commit
196ffbeae7

+ 18 - 5
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml

@@ -28,12 +28,13 @@
     <result column="approval_aid" jdbcType="VARCHAR" property="approvalAid" />
     <result column="expense_finance_id" jdbcType="VARCHAR" property="expenseFinanceId" />
     <result column="expense_retrial_finance_id" jdbcType="VARCHAR" property="expenseRetrialFinanceId" />
+    <result column="cashier_id" jdbcType="VARCHAR" property="cashierId" />
   </resultMap>
   <sql id="Base_Column_List">
     id, create_id, create_time, update_time, deleted_sign, `name`, `type`, manager_id,
     dep_no, super_id, remarks, `status`, abbreviation, finance_id, province, working_hours_type,
     hide_sign, lvl, current_amount, subordinate_amount, total_amount, retrial_finance_id,
-    approval, approval_aid, expense_finance_id, expense_retrial_finance_id
+    approval, approval_aid, expense_finance_id, expense_retrial_finance_id, cashier_id
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select
@@ -54,7 +55,7 @@
       hide_sign, lvl, current_amount,
       subordinate_amount, total_amount, retrial_finance_id,
       approval, approval_aid, expense_finance_id,
-      expense_retrial_finance_id)
+      expense_retrial_finance_id, cashier_id)
     values (#{createId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
       #{deletedSign,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
       #{managerId,jdbcType=VARCHAR}, #{depNo,jdbcType=VARCHAR}, #{superId,jdbcType=VARCHAR},
@@ -63,7 +64,7 @@
       #{hideSign,jdbcType=INTEGER}, #{lvl,jdbcType=INTEGER}, #{currentAmount,jdbcType=DECIMAL},
       #{subordinateAmount,jdbcType=DECIMAL}, #{totalAmount,jdbcType=DECIMAL}, #{retrialFinanceId,jdbcType=VARCHAR},
       #{approval,jdbcType=INTEGER}, #{approvalAid,jdbcType=VARCHAR}, #{expenseFinanceId,jdbcType=VARCHAR},
-      #{expenseRetrialFinanceId,jdbcType=VARCHAR})
+      #{expenseRetrialFinanceId,jdbcType=VARCHAR}, #{cashierId,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.Department" useGeneratedKeys="true">
     insert into department
@@ -143,6 +144,9 @@
       <if test="expenseRetrialFinanceId != null">
         expense_retrial_finance_id,
       </if>
+      <if test="cashierId != null">
+        cashier_id,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="createId != null">
@@ -220,6 +224,9 @@
       <if test="expenseRetrialFinanceId != null">
         #{expenseRetrialFinanceId,jdbcType=VARCHAR},
       </if>
+      <if test="cashierId != null">
+        #{cashierId,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Department">
@@ -300,6 +307,9 @@
       <if test="expenseRetrialFinanceId != null">
         expense_retrial_finance_id = #{expenseRetrialFinanceId,jdbcType=VARCHAR},
       </if>
+      <if test="cashierId != null">
+        cashier_id = #{cashierId,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
   </update>
@@ -329,7 +339,8 @@
       approval = #{approval,jdbcType=INTEGER},
       approval_aid = #{approvalAid,jdbcType=VARCHAR},
       expense_finance_id = #{expenseFinanceId,jdbcType=VARCHAR},
-      expense_retrial_finance_id = #{expenseRetrialFinanceId,jdbcType=VARCHAR}
+      expense_retrial_finance_id = #{expenseRetrialFinanceId,jdbcType=VARCHAR},
+      cashier_id = #{cashierId,jdbcType=VARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
   <select id="selectOrganizationList" parameterType="java.lang.String" resultType="com.goafanti.organization.bo.OrganizationListOut">
@@ -440,11 +451,13 @@
            d.name retrialFinanceName, a.deleted_sign as deletedSign, a.name, a.type, a.manager_id as managerId, a.dep_no as depNo,
            a.super_id as superId, a.remarks, a.status, a.abbreviation, a.finance_id financeId,a.hide_sign hideSign,
            a.expense_finance_id expenseFinanceId,f.name expenseFinanceName,a.expense_retrial_finance_id expenseRetrialFinanceId,
-           g.name expenseRetrialFinanceName, a.province, c.name financeName, a.working_hours_type workingHoursType, b.name as managerName,
+           g.name expenseRetrialFinanceName,a.cashier_id cashierId,h.name cashierName,
+           a.province, c.name financeName, a.working_hours_type workingHoursType, b.name as managerName,
            a.retrial_finance_id retrialFinanceId, d.name retrialFinanceName,a.approval,a.approval_aid approvalAid,e.name approvalName
     from department a left join admin b on a.manager_id = b.id left join admin c on a.finance_id = c.id
                       left join admin d on a.retrial_finance_id=d.id left join admin e on a.approval_aid =e.id
                       left join admin f on a.expense_finance_id=f.id left join admin g on a.expense_retrial_finance_id=g.id
+    left join admin h on a.cashier_id=h.id
     where a.id=#{id,jdbcType=VARCHAR}
   </select>
   <delete id="deleteById" parameterType="java.lang.String">

+ 13 - 0
src/main/java/com/goafanti/common/model/Department.java

@@ -139,6 +139,11 @@ public class Department implements Serializable {
      */
     private String expenseRetrialFinanceId;
 
+    /**
+     * 出纳人员编号
+     */
+    private String cashierId;
+
     private static final long serialVersionUID = 1L;
 
     public String getId() {
@@ -348,4 +353,12 @@ public class Department implements Serializable {
     public void setExpenseRetrialFinanceId(String expenseRetrialFinanceId) {
         this.expenseRetrialFinanceId = expenseRetrialFinanceId;
     }
+
+    public String getCashierId() {
+        return cashierId;
+    }
+
+    public void setCashierId(String cashierId) {
+        this.cashierId = cashierId;
+    }
 }

+ 6 - 10
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -105,7 +105,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         OrganizationListOut dep = departmentMapper.selectAllById(ea.getApplyDep());
         AdminNoticeBo a = adminMapper.selectMyAndSuperBySuperId(aid);
         //暂时只发起到财务
-        for (int i=1;i<4;i++){
+        for (int i=1;i<9;i++){
                 ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
             if (i==1){
                 //新增一级
@@ -129,7 +129,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                     eae.setAuditor(dep.getManagerId());
                     eae.setAuditorname(dep.getManagerName());
             }else if (i==3){
-                if (dep.getExpenseFinanceName()==null)throw new BusinessException("报销部门财务审核人不存在。");
+                if (dep.getExpenseFinanceId()==null)throw new BusinessException("报销部门财务审核人不存在。");
                 eae.setAuditor(dep.getExpenseFinanceId());
                 eae.setAuditorname(dep.getExpenseFinanceName());
             }else if (i==4){
@@ -148,14 +148,10 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                     eae.setAuditorname(admin.getName());
                 }
             }else if (i==8){
-                List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.FINANCE_ADMIN);
-                for (Admin admin : admins) {
-                    eae.setAuditor(admin.getId());
-                    eae.setAuditorname(admin.getName());
-                }
+                if (dep.getCashierId()==null)throw new BusinessException("报销部门出纳不存在。");
+                    eae.setAuditor(dep.getCashierId());
+                    eae.setAuditorname(dep.getCashierName());
             }
-
-
             if (i!=5){
                 if (eae.getAuditor().equals(aid))eae.setStatus(1);
                 else  eae.setStatus(0);
@@ -547,7 +543,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
     private void addExpenseAccountExamineFollow(InputExpenseAccount in) {
         Date date = new Date();
-        if (in.getApproval()==1){
+        if (in.getApproval()!=null&&in.getApproval()==1){
             List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.APPROVAL_DECISION);
             List<ExpenseAccountExamine> list=new ArrayList<>();
             for (Admin admin:admins){

+ 18 - 0
src/main/java/com/goafanti/organization/bo/OrganizationListOut.java

@@ -47,6 +47,8 @@ public class OrganizationListOut {
 	private String expenseFinanceName;
 	private String expenseRetrialFinanceId;
 	private String expenseRetrialFinanceName;
+	private String cashierId;
+	private String cashierName;
 	private Integer approval;
 	private String approvalAid;
 	private String approvalName;
@@ -58,6 +60,22 @@ public class OrganizationListOut {
 	private List<OrganizationListOut> list;
 
 
+	public String getCashierId() {
+		return cashierId;
+	}
+
+	public void setCashierId(String cashierId) {
+		this.cashierId = cashierId;
+	}
+
+	public String getCashierName() {
+		return cashierName;
+	}
+
+	public void setCashierName(String cashierName) {
+		this.cashierName = cashierName;
+	}
+
 	public String getExpenseRetrialFinanceId() {
 		return expenseRetrialFinanceId;
 	}