Browse Source

直接跳过多角色包含出纳BUG修复

anderx 2 years ago
parent
commit
e4de60db48

+ 28 - 9
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -683,17 +683,23 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                 if (newEa.getApproval()==null)newEa.setApproval(useEa.getApproval());
                 //流程的推动
                 examineByprocess(newEa,admin,dep,configDetailsList);
-                List<ExpenseAccountExamine> list=expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), newEa.getProcessStatus());
-                    StringBuffer aname =new StringBuffer();
-                    for (ExpenseAccountExamine e : list) {
-                        if (e.getProcessStatus()==newEa.getProcessStatus()&&e.getStatus()==0){
-                            Admin ad=adminMapper.selectByPrimaryKey(e.getAuditor());
-                            aids.add(ad);
-                            aname=aname.append(ad.getName()).append(",");
-                        }
+                //推动到出纳如果设置无需则完成不设置下个人,否则就要设置
+                if (newEa.getProcessStatus()==EAProcessStatus.CNSH.getCode()){
+                    if(dep.getCashierExamine()==0){
+                        pushExamineName(newEa, aids);
+                    }else {
+                        //完成后的流程
+                        status =2;
+                        aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
+                        newEa.setStatus(status);
+                        newEa.setExamineName("");
                     }
-                    newEa.setExamineName(aname.substring(0,aname.length()-1));
+                }else {
+                    pushExamineName(newEa, aids);
                 }
+
+            }
+
         }else {
             aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
             newEa.setStatus(3);
@@ -705,6 +711,19 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         addNoticeAndEmail(in,  status,str.toString(),admin.getName(),aids);
     }
 
+    private void pushExamineName(ExpenseAccount newEa, List<Admin> aids) {
+        List<ExpenseAccountExamine> list=expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), newEa.getProcessStatus());
+        StringBuffer aname =new StringBuffer();
+        for (ExpenseAccountExamine e : list) {
+            if (e.getProcessStatus()== newEa.getProcessStatus()&&e.getStatus()==0){
+                Admin ad=adminMapper.selectByPrimaryKey(e.getAuditor());
+                aids.add(ad);
+                aname=aname.append(ad.getName()).append(",");
+            }
+        }
+        newEa.setExamineName(aname.substring(0,aname.length()-1));
+    }
+
     /**
      *
      * @param aid