Browse Source

报销审核修改

anderx 2 years ago
parent
commit
b25e648482

+ 52 - 25
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -391,47 +391,74 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                     }
                 }
             }
+
+        }
+        pushExpenseFinaceCount(useEa,newEa);
+            //审核处理审核表
+            pushExpenseAccountExamine(in);
+        expenseAccountMapper.updateByPrimaryKeySelective(newEa);
+        return 1;
+    }
+
+    private void pushExpenseFinaceCount(ExpenseAccount useEa, ExpenseAccount newEa) {
+        String startTime=DateUtils.formatDate(newEa.getCreateTime(),AFTConstants.YYYYMMDD);
+        AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
+        FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getDepFinance(), startTime);
+        //通过
+        if (newEa.getStatus()==1){
             //下一步是财务审核就要加财务统计
             if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()||
                     useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-                String startTime=DateUtils.formatDate(newEa.getCreateTime(),AFTConstants.YYYYMMDD);
-                AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
                 if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-                    addExpenseFinanceCount(admin.getDepFinance(),startTime);
+                    if (financeCount==null){
+                        financeCount=FinanceCount.initialization(admin.getDepFinance(), startTime);
+                        financeCount.setExpenseCount(1);
+                        financeCount.setExpenseUnauditedCount(1);
+                        financeCountMapper.insertSelective(financeCount);
+                    }else {
+                        FinanceCount newFinanceCount =new FinanceCount();
+                        newFinanceCount.setId(financeCount.getId());
+                        newFinanceCount.setExpenseCount(financeCount.getExpenseCount()+1);
+                        newFinanceCount.setExpenseUnauditedCount(financeCount.getExpenseUnauditedCount()+1);
+                        financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
+                    }
                     //如果当前是财务审核通过就要减去未审核
                 }else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-                    subtractionExpenseFinanceCount(admin.getDepFinance(),startTime);
+                    FinanceCount newFinanceCount =new FinanceCount();
+                    newFinanceCount.setId(financeCount.getId());
+                    newFinanceCount.setExpenseUnauditedCount(financeCount.getExpenseUnauditedCount()-1);
+                    financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
                 }
             }
+         //驳回
+        }else if (newEa.getStatus()==3){
+            if (financeCount!=null) {
+                FinanceCount newFinanceCount = new FinanceCount();
+                newFinanceCount.setId(financeCount.getId());
+                //财务审核时减去未审核与
+                if (useEa.getProcessStatus() == EAProcessStatus.CWSH.getCode()) {
+                    newFinanceCount.setExpenseCount(financeCount.getExpenseCount() - 1);
+                    newFinanceCount.setExpenseUnauditedCount(financeCount.getExpenseUnauditedCount() - 1);
+
+                } else if (useEa.getProcessStatus() > EAProcessStatus.CWSH.getCode()) {
+                    newFinanceCount.setExpenseCount(financeCount.getExpenseCount() - 1);
+                }
+                financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
+            }
         }
-            //审核处理审核表
-            pushExpenseAccountExamine(in);
-        expenseAccountMapper.updateByPrimaryKeySelective(newEa);
-        return 1;
+
     }
 
+
+
     private void subtractionExpenseFinanceCount(String depFinance, String startTime) {
-        FinanceCount financeCount = financeCountMapper.selectByAidAndDates(depFinance, startTime);
-        FinanceCount newFinanceCount =new FinanceCount();
-        newFinanceCount.setId(financeCount.getId());
-        newFinanceCount.setExpenseUnauditedCount(financeCount.getExpenseUnauditedCount()-1);
-        financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
+
+
     }
 
     private void addExpenseFinanceCount(String depFinance, String startTime) {
         FinanceCount financeCount = financeCountMapper.selectByAidAndDates(depFinance, startTime);
-        if (financeCount==null){
-            financeCount=FinanceCount.initialization(depFinance, startTime);
-            financeCount.setExpenseCount(1);
-            financeCount.setExpenseUnauditedCount(1);
-            financeCountMapper.insertSelective(financeCount);
-        }else {
-            FinanceCount newFinanceCount =new FinanceCount();
-            newFinanceCount.setId(financeCount.getId());
-            newFinanceCount.setExpenseCount(financeCount.getExpenseCount()+1);
-            newFinanceCount.setExpenseUnauditedCount(financeCount.getExpenseUnauditedCount()+1);
-            financeCountMapper.updateByPrimaryKeySelective(newFinanceCount);
-        }
+
     }
 
     private void pushExpenseAccountExamine(InputExpenseAccount in) {