Browse Source

新审核流程开发

anderx 2 years ago
parent
commit
c9cfc1be3c

+ 1 - 1
src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml

@@ -912,7 +912,7 @@
     left join expense_account ea2 on ea2.id=er.ea_id
   </if>
     left join admin ad on b.aid=ad.id left join department adDep on ad.department_id=adDep.id
-    <if test="roleType == 1">
+    <if test="roleType > 0">
       inner join (select eaid ,auditor,min(process_status)`type` from expense_account_examine
       where auditor= #{aid} group by eaid) eae on b.id=eae.eaid
     </if>

+ 8 - 11
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -447,9 +447,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             }else if (newEa.getProcessStatus()>EAProcessStatus.CWSH.getCode()){
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),3);
             }
+            expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),null,0);
         }
-        //审核处理审核表
-        pushExpenseAccountExamine(in);
+
         expenseAccountMapper.updateByPrimaryKeySelective(newEa);
         expenseAccountMapper.updateSonByMainId(newEa.getId());
         return 1;
@@ -477,24 +477,21 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         }
     }
 
-    private void pushExpenseAccountExamine(InputExpenseAccount in) {
-        if (in.getStatus()==1){
-            expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),TokenManager.getAdminId(),1);
-        }else if (in.getStatus()==3){
-            expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),null,0);
-        }
-    }
+
 
     private void addExamineExpenseAccountLog(AdminListBo admin,InputExpenseAccount in, ExpenseAccount useEa, ExpenseAccount newEa) {
         List<Admin> aids=new ArrayList<>();
         StringBuffer str=new StringBuffer();
         Integer status=in.getStatus();
         if (status==1){
+            //审核处理审核表
+            expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),TokenManager.getAdminId(),1);
             str=str.append("编号[").append(in.getCheckNo()).append("]需要审核").append(",请查看并审核。");
             //新的流程是当前流程+1
             newEa.setProcessStatus(useEa.getProcessStatus()+1);
             newEa.setAid(useEa.getAid());
             newEa.setCreateTime(useEa.getCreateTime());
+            if (newEa.getApproval()==null)newEa.setApproval(useEa.getApproval());
             //添加后续流程
             addExpenseAccountExamineFollow(in);
             List<ExpenseAccountExamine> list=examineByprocess(newEa,admin);
@@ -511,7 +508,6 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                         Admin ad=adminMapper.selectByPrimaryKey(e.getAuditor());
                         aids.add(ad);
                         aname=aname.append(ad.getName()).append(",");
-
                     }
                 }
                 newEa.setExamineName(aname.substring(0,aname.length()-1));
@@ -604,7 +600,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             }
         }
 
-        if (flag){
+        if (flag&&newEa.getProcessStatus()<7){
             String str=String.format("重复审核人跳过[%s]。",EAProcessStatus.getDesc(newEa.getProcessStatus()));
             Date date=new Date();
             date.setTime(date.getTime()+1000l);
@@ -614,6 +610,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             }
             newEa.setProcessStatus(newEa.getProcessStatus()+1);
             if (newEa.getProcessStatus()<EAProcessStatus.CWSH.getCode())examineByprocess(newEa,admin);
+            if (newEa.getProcessStatus()==EAProcessStatus.DSZSH.getCode()&&newEa.getApproval()!=1)newEa.setProcessStatus(newEa.getProcessStatus()+1);
             list=expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), newEa.getProcessStatus());
         }
         return list;