From c5cd059cbf5cec74bf82f1dab96235eaeb60151b Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 25 六月 2025 09:54:13 +0800
Subject: [PATCH] 部分功能调整

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java        |   10 +++++++---
 multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml           |    3 +++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalDistributionMapper.java |    2 ++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalDistributionMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalDistributionMapper.java
index d018023..abc9df5 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalDistributionMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalDistributionMapper.java
@@ -19,4 +19,6 @@
 
     int batchUpdate(List<SysFunctionalDistribution> list);
 
+    int delByCompanyId(Long companyId);
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
index a186588..a1a7909 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
@@ -333,13 +333,14 @@
     }
 
     @Override
+    @Transactional
     public int initFunctionalDistribution(Long companyId) {
 
         if (!companyId.equals(SecurityUtils.getCompanyId())){
             throw new ApiException("无权操作!");
         }
-        sysFunctionalDistributionMapper.delete(new LambdaQueryWrapper<SysFunctionalDistribution>().eq(SysFunctionalDistribution::getCompanyId, SecurityUtils.getLoginUser().getUser().getCompanyId()));
 
+        sysFunctionalDistributionMapper.delByCompanyId(companyId);
         SysDept sysDept = new SysDept();
         sysDept.setCompanyId(companyId);
         List<DeptVo> deptVos = deptMapper.selectDeptList(sysDept);
@@ -408,7 +409,9 @@
 
         if (!emptyIdClauseNums.isEmpty()){
             List<SysDeptResponsibility> sysDeptResponsibilities = deptResponsibilityMapper.selectList(new LambdaQueryWrapper<SysDeptResponsibility>()
-                    .eq(SysDeptResponsibility::getDeptId, reqVo.getDeptId()).in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums).notIn(SysDeptResponsibility::getId, emptyIdClauseIds));
+                    .eq(SysDeptResponsibility::getDeptId, reqVo.getDeptId())
+                    .in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums)
+                    .notIn(SysDeptResponsibility::getId, emptyIdClauseIds).eq(SysDeptResponsibility::getDelFlag, "0"));
             if (!sysDeptResponsibilities.isEmpty()){
                 throw new ApiException("部门条款编码重复!");
             }
@@ -447,7 +450,8 @@
                 .collect(Collectors.toList());
         if (!emptyIdClauseNums.isEmpty()){
             List<SysDeptResponsibility> sysDeptResponsibilities = deptResponsibilityMapper.selectList(new LambdaQueryWrapper<SysDeptResponsibility>()
-                    .eq(SysDeptResponsibility::getDeptId, deptId).in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums));
+                    .eq(SysDeptResponsibility::getDeptId, deptId).in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums)
+                    .eq(SysDeptResponsibility::getCompanyId, companyId).eq(SysDeptResponsibility::getDelFlag, "0"));
             if (!sysDeptResponsibilities.isEmpty()){
                 throw new ApiException("部门条款编码重复!");
             }
diff --git a/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml b/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
index 0b505ee..a08c601 100644
--- a/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
@@ -52,5 +52,8 @@
 		</foreach>
 	</update>
 
+	<delete id="delByCompanyId" parameterType="Long">
+		delete from sys_functional_distribution where company_id = #{companyId}
+	</delete>
 
 </mapper> 
\ No newline at end of file

--
Gitblit v1.9.2