Browse Source

报销审核修改

anderx 2 years ago
parent
commit
f87517f431

+ 3 - 1
src/main/java/com/goafanti/common/dao/FinanceCountMapper.java

@@ -16,9 +16,11 @@ public interface FinanceCountMapper {
 
     int updateByPrimaryKey(FinanceCount record);
 
-    int selectByAidAndDates(@Param("aid") String aid, @Param("startTime") String startTime);
+    int selectByAidAndDatesGetCount(@Param("aid") String aid, @Param("startTime") String startTime);
 
     void updateOrderCountAdd(@Param("aid") String aid, @Param("startTime") String startTime);
 
     void updateOrderUnauditedSubtraction(@Param("aid") String aid, @Param("startTime") String startTime,@Param("type") Integer type);
+
+    FinanceCount selectByAidAndDates(@Param("aid") String aid, @Param("startTime") String startTime);
 }

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

@@ -264,9 +264,15 @@
     where aid = #{aid} and date_time = #{startTime}
   </update>
 
-  <select id="selectByAidAndDates" resultType="java.lang.Integer">
+  <select id="selectByAidAndDatesGetCount" resultType="java.lang.Integer">
     select count(*)
     from finance_count
     where aid = #{aid} and date_time = #{startTime}
   </select>
+  <select id="selectByAidAndDates"  parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from finance_count
+    where aid = #{aid} and date_time = #{startTime}
+  </select>
 </mapper>

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

@@ -51,6 +51,8 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private ExpenseAccountExamineMapper expenseAccountExamineMapper;
     @Autowired
     private JDBCIdGenerator idGenerator;
+    @Autowired
+    private FinanceCountMapper financeCountMapper;
 
 
 
@@ -390,11 +392,16 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                 }
             }
             //下一步是财务审核就要加财务统计
-            if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-
-                //如果当前是财务审核通过就要减去未审核
-            }else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-
+            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);
+                    //如果当前是财务审核通过就要减去未审核
+                }else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
+                    subtractionExpenseFinanceCount(admin.getDepFinance(),startTime);
+                }
             }
         }
             //审核处理审核表
@@ -403,6 +410,30 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         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) {
         if (in.getStatus()==1){
             expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),TokenManager.getAdminId(),1);

+ 1 - 1
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -659,7 +659,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	public void updateFinanceCount(String aid, Date createTime){
 		String startTime= DateUtils.formatDate(createTime,AFTConstants.YYYYMMDD);
 		String endTime=startTime+" 23:59:59";
-		int i = financeCountMapper.selectByAidAndDates(aid, startTime);
+		int i = financeCountMapper.selectByAidAndDatesGetCount(aid, startTime);
 		if (i==0){
 			FinanceCount financeCount= FinanceCount.initialization(aid,startTime);
 			financeCount.setOrderCount(1);