UPDATE: 完善检修计划项目负责人和项目成员逻辑。

This commit is contained in:
贾同学
2025-09-08 16:24:19 +08:00
parent 7f2a61ba21
commit 6c6bed4b46
2 changed files with 65 additions and 12 deletions

View File

@@ -22,6 +22,8 @@ import com.njcn.gather.plan.pojo.vo.AdPlanVO;
import com.njcn.gather.plan.service.IAdPlanService;
import com.njcn.gather.type.pojo.po.DevType;
import com.njcn.gather.type.service.IDevTypeService;
import com.njcn.gather.user.user.pojo.po.SysUser;
import com.njcn.gather.user.user.service.ISysUserService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.FileUtil;
import com.njcn.web.utils.HttpResultUtil;
@@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -54,6 +57,7 @@ public class AdPlanController extends BaseController {
private final IAdPlanService adPlanService;
private final IPqDevService pqDevService;
private final IDevTypeService devTypeService;
private final ISysUserService sysUserService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@@ -428,5 +432,25 @@ public class AdPlanController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getMemberList")
@ApiOperation("根据计划ID获取项目成员")
@ApiImplicitParam(name = "planId", value = "计划ID", required = true)
public HttpResult<List<SysUser>> getMemberList(@RequestParam("planId") String planId) {
String methodDescribe = getMethodDescribe("getMemberList");
LogUtil.njcnDebug(log, "{}计划ID为{},获取项目成员", methodDescribe, planId);
AdPlan plan = adPlanService.getById(planId);
List<SysUser> result = new ArrayList<>();
if (plan != null) {
String members = plan.getMembers();
if (StrUtil.isNotBlank(members)) {
List<String> memberIds = StrUtil.split(members, StrUtil.COMMA);
result = sysUserService.listByIds(memberIds);
result.forEach(member -> member.setPassword(null));
}
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -234,6 +234,11 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
AdPlanTestConfig testConfig = adPlanTestConfigService.getOne(new LambdaQueryWrapper<AdPlanTestConfig>().eq(AdPlanTestConfig::getPlanId, adPlan.getFatherPlanId()));
adPlanVO.setTestConfig(testConfig);
}
// 导入的直接显示
if (adPlan.getImportFlag().equals(DataStateEnum.ENABLE.getCode())) {
adPlanVO.setLeaderName(adPlan.getLeader());
adPlanVO.setMembersName(adPlan.getMembers());
} else {
if (StrUtil.isNotBlank(adPlan.getLeader())) {
SysUser leader = sysUserService.getById(adPlan.getLeader());
if (leader != null) {
@@ -247,6 +252,8 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
}
}
}
@Override
@Transactional
public boolean addAdPlan(AdPlanParam param) {
@@ -328,10 +335,21 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
public boolean updateAdPlan(AdPlanParam.UpdateParam param) {
param.setName(param.getName().trim());
AdPlan plan1 = this.getById(param.getId());
// 更新子计划
String fatherPlanId = plan1.getFatherPlanId();
if (StrUtil.isNotEmpty(fatherPlanId) && !StrUtil.equals(fatherPlanId, "0")) {
if (StrUtil.isNotEmpty(fatherPlanId) && !StrUtil.equals(fatherPlanId, CommonEnum.FATHER_ID.getValue())) {
plan1.setName(param.getName().trim());
if (CollUtil.isNotEmpty(param.getDatasourceIds())) {
plan1.setDatasourceId(String.join(StrUtil.COMMA, param.getDatasourceIds()));
} else {
plan1.setDatasourceId(null);
}
if (CollUtil.isNotEmpty(param.getMemberIds())) {
plan1.setMembers(String.join(StrUtil.COMMA, param.getMemberIds()));
} else {
plan1.setMembers(null);
}
this.updateBindStandardDev(param.getId(), param.getStandardDevIds());
List<AdPlan> list = new ArrayList<>();
AdPlan fatherPlan = this.getById(fatherPlanId);
@@ -363,7 +381,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
list.add(fatherPlan);
}
}
list.add(plan1);
return this.updateBatchById(list);
}
this.checkRepeat(param, true, CommonEnum.FATHER_ID.getValue());
@@ -1593,6 +1611,17 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
// 获取检测计划基本数据
AdPlan subPlan = this.getById(planId);
if (StrUtil.isNotBlank(subPlan.getLeader())) {
SysUser leader = sysUserService.getById(subPlan.getLeader());
if (leader != null) {
subPlan.setLeader(leader.getName());
}
}
if (StrUtil.isNotBlank(subPlan.getMembers())) {
List<String> memberIds = StrUtil.split(subPlan.getMembers(), StrUtil.COMMA);
List<SysUser> members = sysUserService.listByIds(memberIds);
subPlan.setMembers(members.stream().map(SysUser::getName).collect(Collectors.joining(StrUtil.COMMA)));
}
subPlanMetaData.setPlan(subPlan);
// 获取检测配置
AdPlanTestConfig testConfig = adPlanTestConfigService.lambdaQuery().eq(AdPlanTestConfig::getPlanId, subPlan.getFatherPlanId()).one();