heheng
2026-02-10 0e17b5575d653f6e10a1d312e8b0d23efc1bb35d
条款区分公司
5 files modified
89 ■■■■ changed files
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysClauseManagementController.java 17 ●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java 3 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/SysClauseManagementService.java 5 ●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java 59 ●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java 5 ●●●● patch | view | raw | blame | history
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();
    }
}
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;
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);
}
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);
        });
    }
}
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();