ソースを参照

财务离职一键转交修改

anderx 2 年 前
コミット
f53ac21c4b

+ 1 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -206,4 +206,5 @@ public interface AdminMapper {
     BigDecimal selectFinanceReceivablesCount(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 
 
+
 }

+ 1 - 0
src/main/java/com/goafanti/common/dao/DepartmentMapper.java

@@ -116,4 +116,5 @@ public interface DepartmentMapper {
 
     Department selectByDepNo(String superId);
 
+    void updateDepFinance(@Param("aid") String aid, @Param("transferId") String transferId);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/FinanceCountMapper.java

@@ -32,4 +32,6 @@ public interface FinanceCountMapper {
     List<OutFinanceCount> financeLists(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 
     void updateByFinance(@Param("useFinanceId") String useFinanceId,  @Param("financeId")String financeId);
+
+    void deleteByAid(String financeId);
 }

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

@@ -870,6 +870,7 @@
     update admin set status = '1' where id in (${lockIds})
   </update>
 
+
   <!--  用户是为正常的 -->
   <select id="getCountById" parameterType="java.lang.String" resultType="java.lang.Integer">
     select count(a.id)  from admin a

+ 7 - 2
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml

@@ -407,7 +407,8 @@
     where
     id=#{id,jdbcType=VARCHAR}
   </update>
-  <select id="selectCountBySuperId" parameterType="String" resultType="java.lang.Integer">
+
+    <select id="selectCountBySuperId" parameterType="String" resultType="java.lang.Integer">
     select
       count(0)
     from department
@@ -550,6 +551,10 @@
     from department where super_id=  #{superId}
     order by dep_no desc limit 1
   </select>
-
+  <update id="updateDepFinance">
+    update department
+    set finance_id= #{transferId}
+    where finance_id= #{aid}
+  </update>
 
 </mapper>

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

@@ -32,7 +32,8 @@
     delete from finance_count
     where id = #{id,jdbcType=INTEGER}
   </delete>
-  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.FinanceCount" useGeneratedKeys="true">
+
+    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.FinanceCount" useGeneratedKeys="true">
     insert into finance_count (aid, order_count, order_unaudited_count,
       expense_count, expense_unaudited_count, invoice_count,
       invoice_unaudited_count, member_count, member_unaudited_count,
@@ -283,4 +284,9 @@
     set aid= #{financeId}
     where aid=#{useFinanceId}
   </update>
+
+  <delete id="deleteByAid">
+    delete from finance_count
+    where aid = #{financeId}
+  </delete>
 </mapper>

+ 3 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -689,12 +689,15 @@ public class AsyncUtils {
 		List<FinanceCount> list=new ArrayList<>();
 		financeCountRestart(financeId,list);
 		financeCountRestart(depFinanceId,list);
+		financeCountMapper.deleteByAid(financeId);
+		financeCountMapper.deleteByAid(depFinanceId);
 		listBatches(list);
 	}
 
 	public void financeCoutSwitch(String financeId) {
 		List<FinanceCount> list=new ArrayList<>();
 		financeCountRestart(financeId,list);
+		financeCountMapper.deleteByAid(financeId);
 		listBatches(list);
 	}
 

+ 27 - 0
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -1,6 +1,7 @@
 package com.goafanti.permission.service.impl;
 
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.enums.roleResources;
 import com.goafanti.common.error.BusinessException;
@@ -52,6 +53,8 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	private TOrderLogMapper	tOrderLogMapper;
 	@Autowired
 	private AsyncUtils asyncUtils;
+	@Autowired
+	private DepartmentMapper departmentMapper;
 
 
 	@Override
@@ -196,10 +199,34 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
 			}
 		}
+		//判定是否要转交财务统计信息
+		transferFinanceCount(aid,transferId);
 		return 1;
 	}
 
+	private void transferFinanceCount(String aid, String transferId) {
+		List<Integer> integerList = adminMapper.selectRoleTypeByid(aid);
+		List<Integer> integerList1 = adminMapper.selectRoleTypeByid(transferId);
+		boolean flag=asyncFinanceCount(integerList);
+		boolean flag2=asyncFinanceCount(integerList1);
+		if (flag&&flag2) {
+			departmentMapper.updateDepFinance(aid,transferId);
+		}
+		if (flag){
+			asyncUtils.financeCoutSwitch(aid);
+		}
+		if (flag2){
+			asyncUtils.financeCoutSwitch(transferId);
+		}
+	}
 
+	private boolean asyncFinanceCount(List<Integer> integerList) {
+		boolean contains = integerList.contains(Integer.parseInt(AFTConstants.FINANCE));
+		if (!contains){
+			contains = integerList.contains(Integer.parseInt(AFTConstants.FINANCE_MANAGER));
+		}
+		return contains;
+	}
 
 
 	/**