From 0e17b5575d653f6e10a1d312e8b0d23efc1bb35d Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Tue, 10 Feb 2026 08:46:33 +0800
Subject: [PATCH] 条款区分公司
---
multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java | 3 +
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java | 17 +++++++-
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java | 5 ++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java | 59 +++++++++++++++++++++++++----
multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java | 5 ++
5 files changed, 76 insertions(+), 13 deletions(-)
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java
index d2fadb7..f38049d 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java
@@ -29,8 +29,8 @@
@ApiOperation(value = "获取条款")
@GetMapping("/getSysClauseManagements")
- public CommonResult getSysClauseManagements(){
- return CommonResult.success(sysClauseManagementService.getSysClauseManagements());
+ public CommonResult getSysClauseManagements(@RequestParam("companyId") Long companyId){
+ return CommonResult.success(sysClauseManagementService.getSysClauseManagements(companyId));
}
@ApiOperation(value = "删除条款")
@@ -42,4 +42,17 @@
return CommonResult.success(sysClauseManagementService.delSysClauseManagement(id));
}
+
+ @ApiOperation(value = "复制条款")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "sourceCompanyId", dataType = "long", required = true, value = "资源公司Id"),
+ @ApiImplicitParam(paramType = "query", name = "targetCompanyId", dataType = "long", required = true, value = "目标公司Id"),
+ })
+ @GetMapping("/copySysClauseManagements")
+ public CommonResult copySysClauseManagements(@RequestParam(value = "sourceCompanyId") Long sourceCompanyId,
+ @RequestParam(value = "targetCompanyId") Long targetCompanyId) {
+ sysClauseManagementService.copySysClauseManagements(sourceCompanyId, targetCompanyId);
+ return CommonResult.success();
+ }
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
index f8b02eb..18d9927 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
@@ -27,6 +27,9 @@
@ApiModelProperty("审核要点")
private String points;
+ @ApiModelProperty("公司id")
+ private Long companyId;
+
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java
index 40a1808..165bc0b 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java
@@ -6,9 +6,12 @@
public interface SysClauseManagementService {
- List<SysClauseManagement> getSysClauseManagements();
+ List<SysClauseManagement> getSysClauseManagements(Long companyId);
int saveSysClauseManagement(SysClauseManagement sysClauseManagement);
int delSysClauseManagement(Long id);
+
+
+ void copySysClauseManagements(Long sourceCompanyId, Long targetCompanyId);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
index a9811d1..8d15cae 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
@@ -12,8 +12,10 @@
import com.gkhy.exam.system.service.SysClauseManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -23,9 +25,11 @@
private SysClauseManagementMapper sysClauseManagementMapper;
@Override
- public List<SysClauseManagement> getSysClauseManagements() {
+ public List<SysClauseManagement> getSysClauseManagements(Long companyId) {
LambdaQueryWrapper<SysClauseManagement> lambdaQueryWrapper = Wrappers.<SysClauseManagement>lambdaQuery()
- .eq(SysClauseManagement::getDelFlag, "0").orderByAsc(SysClauseManagement::getClauseNum);
+ .eq(SysClauseManagement::getDelFlag, "0").eq(SysClauseManagement::getCompanyId, companyId)
+ .orderByAsc(SysClauseManagement::getClauseNum);
+
List<SysClauseManagement> sysClauseManagements = baseMapper.selectList(lambdaQueryWrapper);
if (ObjectUtil.isNotEmpty(sysClauseManagements)){
sysClauseManagements.sort(Comparator.comparing(SysClauseManagement::getClauseNum, new NaturalOrderComparator()));
@@ -36,11 +40,11 @@
@Override
public int saveSysClauseManagement(SysClauseManagement sysClauseManagement) {
- if (!SecurityUtils.adminUser()){
- throw new ApiException("没有权限访问!");
- }
+ checkPer();
LambdaQueryWrapper<SysClauseManagement> lambdaQueryWrapper = Wrappers.<SysClauseManagement>lambdaQuery()
- .eq(SysClauseManagement::getDelFlag, "0").eq(SysClauseManagement::getClauseNum, sysClauseManagement.getClauseNum());
+ .eq(SysClauseManagement::getDelFlag, "0")
+ .eq(SysClauseManagement::getCompanyId, sysClauseManagement.getCompanyId())
+ .eq(SysClauseManagement::getClauseNum, sysClauseManagement.getClauseNum());
if (sysClauseManagement.getId() == null){
if (baseMapper.selectCount(lambdaQueryWrapper) > 0){
throw new ApiException("条款编号已存在!");
@@ -61,15 +65,52 @@
}
+ private void checkPer(){
+ boolean admin = SecurityUtils.adminUser();
+ if (!admin) {
+ Integer userType = SecurityUtils.getLoginUser().getUser().getUserType();
+ if (userType != 6){
+ throw new ApiException("无权操作!");
+ }
+ }
+ }
+
@Override
public int delSysClauseManagement(Long id) {
- if (!SecurityUtils.adminUser()){
- throw new ApiException("没有权限访问!");
- }
+ checkPer();
//todo 校验已使用的?
SysClauseManagement sysClauseManagement = new SysClauseManagement();
sysClauseManagement.setDelFlag("1");
sysClauseManagementMapper.update(sysClauseManagement, Wrappers.<SysClauseManagement>lambdaQuery().eq(SysClauseManagement::getId, id));
return 1;
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void copySysClauseManagements(Long sourceCompanyId, Long targetCompanyId) {
+ List<SysClauseManagement> targetClauseManagements = baseMapper.selectList(Wrappers.<SysClauseManagement>lambdaQuery()
+ .eq(SysClauseManagement::getDelFlag, "0")
+ .eq(SysClauseManagement::getCompanyId, targetCompanyId));
+ if (ObjectUtil.isNotEmpty(targetClauseManagements)){
+ throw new ApiException("目标公司已存在条款!");
+ }
+
+ List<SysClauseManagement> sysClauseManagements = baseMapper.selectList(Wrappers.<SysClauseManagement>lambdaQuery()
+ .eq(SysClauseManagement::getDelFlag, "0")
+ .eq(SysClauseManagement::getCompanyId, sourceCompanyId));
+
+// List<SysClauseManagement> add = new ArrayList<>();
+ sysClauseManagements.forEach(sysClauseManagement -> {
+ SysClauseManagement newClauseManagement = new SysClauseManagement();
+ newClauseManagement.setName(sysClauseManagement.getName());
+ newClauseManagement.setClauseNum(sysClauseManagement.getClauseNum());
+ newClauseManagement.setPoints(sysClauseManagement.getPoints());
+ newClauseManagement.setCompanyId(targetCompanyId);
+ newClauseManagement.setCreateBy(SecurityUtils.getUsername());
+ newClauseManagement.setCreateTime(LocalDateTime.now());
+// add.add(newClauseManagement);
+ sysClauseManagementMapper.insert(newClauseManagement);
+ });
+
+ }
}
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 7352de7..f9fa206 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
@@ -442,7 +442,8 @@
}
//加入职能
LambdaQueryWrapper<SysClauseManagement> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.select(SysClauseManagement::getClauseNum).eq(SysClauseManagement::getDelFlag, "0").orderByAsc(SysClauseManagement::getClauseNum);
+ queryWrapper.select(SysClauseManagement::getClauseNum).eq(SysClauseManagement::getDelFlag, "0")
+ .eq(SysClauseManagement::getCompanyId, companyId).orderByAsc(SysClauseManagement::getClauseNum);
List<SysClauseManagement> sysClauseManagements = sysClauseManagementMapper.selectList(queryWrapper);
if (ObjectUtil.isNotEmpty(sysClauseManagements)){
Set<String> clauseNumSetSt = sysClauseManagements.stream()
@@ -476,6 +477,8 @@
sysFunctionalDistributions.add(sysFunctionalDistribution);
}
+ }else {
+ throw new ApiException("请先初始化条款!");
}
// for (String s : DEPT_ROOT) {
// SysFunctionalDistribution sysFunctionalDistribution = new SysFunctionalDistribution();
--
Gitblit v1.9.2