From 1b8c74f3dc3ac98c08ffa157e40c0bd5a9aeb799 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Wed, 26 Jun 2024 18:44:33 +0800
Subject: [PATCH] 湖北水库:施工: 项目新增地区、工序角色配置校验
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java | 32 +++++++++++++++++++++++++++++---
1 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
index ade140a..ad68b9a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
@@ -1,15 +1,23 @@
package cn.gistack.sm.sg.service.impl;
+import cn.gistack.sm.sg.DO.SgProgressReportDO;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DO.SgProjectRolePersonV0;
+import cn.gistack.sm.sg.DTO.AddSgProjectPersonConfigDTO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
+import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.mapper.SgProjectPersonConfigMapper;
import cn.gistack.sm.sg.service.SgProjectPersonConfigService;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.log.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
+import java.util.Objects;
/**
* <p>
@@ -23,6 +31,8 @@
public class SgProjectPersonConfigServiceImpl extends ServiceImpl<SgProjectPersonConfigMapper, SgProjectPersonConfigDO> implements SgProjectPersonConfigService {
@Autowired
private SgProjectPersonConfigMapper projectPersonConfigMapper;
+ @Autowired
+ private SgProgressReportMapper sgProgressReportMapper;
@Override
public List<String> getRoleList(ProjectSearchDTO searchDTO) {
List<String> list = projectPersonConfigMapper.getRoleList(searchDTO);
@@ -30,9 +40,20 @@
}
@Override
- public void add(List<SgProjectPersonConfigDO> list) {
- for (SgProjectPersonConfigDO sgProjectPersonConfigDO : list) {
- projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
+ public void add(AddSgProjectPersonConfigDTO dto) {
+ for (SgProjectPersonConfigDO sgProjectPersonConfigDO : dto.getData()) {
+ Long id = sgProjectPersonConfigDO.getId();
+ if (Objects.isNull(id)){
+ projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
+ }else {
+ SgProjectPersonConfigDO old = projectPersonConfigMapper.selectById(id);
+ if (old.getUserId()!=sgProjectPersonConfigDO.getUserId()){
+ if (!new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getProframId,old.getProgramId()).list().isEmpty()){
+ throw new ServiceException("此项目配置存在审批,不允许修改");
+ }
+ }
+ projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
+ }
}
}
@@ -41,4 +62,9 @@
List<SgProjectRolePersonV0> list = projectPersonConfigMapper.getList(searchDTO);
return list;
}
+
+ @Override
+ public List<Map<String, Object>> getUserByRole(String roleId) {
+ return projectPersonConfigMapper.getUserByRole(roleId);
+ }
}
--
Gitblit v1.9.3