From 2c4ce9d7689dd2b95b11aa91aad618dd3aa362d0 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Tue, 1 Aug 2023 19:15:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhgd/magic/MagicInterceptor.java | 27 ++++++++++ .../EntProjectSubItemController.java | 5 +- .../GovInvestmentPaymentDetailController.java | 5 +- .../GovProjectNodePlanController.java | 50 +++++++++++++++++++ .../GovProjectSubItemController.java | 22 ++++++++ .../government/ProjectQuantityController.java | 8 ++- .../project/ProjectSubItemController.java | 5 +- .../service/impl/EnterpriseServiceImpl.java | 25 ++++++++-- .../safety/entity/InspectQuestionExamine.java | 6 +++ .../modules/safety/entity/ProjectSubItem.java | 6 +-- .../service/IProjectSubItemService.java | 2 +- .../InvestmentPaymentDetailServiceImpl.java | 2 +- .../impl/ProjectSubItemServiceImpl.java | 22 ++++---- 13 files changed, 159 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zhgd/magic/MagicInterceptor.java b/src/main/java/com/zhgd/magic/MagicInterceptor.java index 6b732bf..d5f5aee 100644 --- a/src/main/java/com/zhgd/magic/MagicInterceptor.java +++ b/src/main/java/com/zhgd/magic/MagicInterceptor.java @@ -1,6 +1,10 @@ package com.zhgd.magic; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.zhgd.xmgl.modules.basicdata.entity.SystemUserDataScope; +import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService; import com.zhgd.xmgl.modules.basicdata.service.IProjectService; +import com.zhgd.xmgl.modules.basicdata.service.ISystemUserDataScopeService; import com.zhgd.xmgl.security.SecurityUser; import com.zhgd.xmgl.security.SecurityUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +25,14 @@ public class MagicInterceptor implements SQLInterceptor { @Autowired private IProjectService projectService; + @Lazy + @Autowired + private IEngineeringService engineeringService; + + @Lazy + @Autowired + private ISystemUserDataScopeService systemUserDataScopeService; + @Override public void preHandle(BoundSql boundSql, RequestEntity requestEntity) { dataScopeFilterByProject(boundSql); @@ -52,6 +64,21 @@ public class MagicInterceptor implements SQLInterceptor { sql = sql.replace("#project", "project_sn in ('" + projectSn + "')"); } } + } else if (user.getAccountType() == 3) { + if (sql.contains("#project")) { + List scopeIds = systemUserDataScopeService.list(Wrappers.lambdaQuery().eq(SystemUserDataScope::getUserId, user.getUserId())) + .stream().map(u -> u.getRelevanceId()).collect(Collectors.toList()); + List engineeringSns = scopeIds.size() > 0 ? scopeIds : engineeringService.getSnListByEnterprise(user.getSn()); + if (engineeringSns.size() == 0) { + engineeringSns.add("0"); + } + String engineeringSn = engineeringSns.stream().collect(Collectors.joining("','")); + if (sql.contains("#projectalias")) { + sql = sql.replace("#projectalias", "a.engineering_sn in ('"+ engineeringSn +"')"); + } else { + sql = sql.replace("#project", "engineering_sn in ('" + engineeringSn + "')"); + } + } } else if (user.getAccountType() == 4){ if (sql.contains("#project")) { if (sql.contains("#projectalias")) { diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntProjectSubItemController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntProjectSubItemController.java index 4f81469..4f3226f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntProjectSubItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntProjectSubItemController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -227,7 +228,7 @@ public class EntProjectSubItemController { @OperLog(operModul = "分部分项管理", operType = "导入", operDesc = "甘特图mpp文件导入") @ApiOperation(value = "甘特图mpp文件导入", notes = "甘特图mpp文件导入", httpMethod="POST") @PostMapping("/importMpp") - public Result importMpp(MultipartFile file) { - return Result.success(projectSubItemService.importMpp(file)); + public Result importMpp(MultipartFile file, HttpServletRequest request) { + return Result.success(projectSubItemService.importMpp(file, request.getParameter("engineeringSn"))); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovInvestmentPaymentDetailController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovInvestmentPaymentDetailController.java index 832531e..a1eca17 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovInvestmentPaymentDetailController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovInvestmentPaymentDetailController.java @@ -7,6 +7,7 @@ import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.util.PageUtil; +import com.zhgd.xmgl.modules.safety.dto.InvestmentPaymentDetailDto; import com.zhgd.xmgl.modules.safety.entity.InvestmentPaymentDetail; import com.zhgd.xmgl.modules.safety.service.IInvestmentPaymentDetailService; import io.swagger.annotations.Api; @@ -54,10 +55,10 @@ public class GovInvestmentPaymentDetailController { @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "body", required = true, defaultValue = "10", dataType = "Integer") }) @PostMapping(value = "/page") - public Result> queryPageList(@ApiIgnore @RequestBody Map map) { + public Result> queryPageList(@ApiIgnore @RequestBody Map map) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(InvestmentPaymentDetail.class, map); Page page = PageUtil.getPage(map); - IPage pageList = investmentPaymentDetailService.page(page, queryWrapper); + IPage pageList = investmentPaymentDetailService.pageList(page, queryWrapper); return Result.success(pageList); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectNodePlanController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectNodePlanController.java index d0fd4fa..a671081 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectNodePlanController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectNodePlanController.java @@ -141,6 +141,56 @@ public class GovProjectNodePlanController { return Result.success("添加成功!"); } + /** + * 编辑 + * + * @param projectNodePlan + * @return + */ + @OperLog(operModul = "项目全景计划管理", operType = "修改", operDesc = "编辑项目全景计划信息") + @ApiOperation(value = "编辑项目全景计划信息", notes = "编辑项目全景计划信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody ProjectNodePlan projectNodePlan) { + Result result = new Result(); + ProjectNodePlan projectNodePlanEntity = projectNodePlanService.getById(projectNodePlan.getId()); + if (projectNodePlanEntity == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = projectNodePlanService.updateById(projectNodePlan); + if (ok) { + result.success("修改成功!"); + } else { + result.success("操作失败!"); + } + } + return result; + } + + /** + * 通过id删除 + * + * @return + */ + @OperLog(operModul = "项目全景计划管理", operType = "删除", operDesc = "删除项目全景计划信息") + @ApiOperation(value = "删除项目全景计划信息", notes = "删除项目全景计划信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "项目全景计划ID", paramType = "body", required = true, dataType = "Integer") + @PostMapping(value = "/delete") + public Result delete(@RequestBody ProjectNodePlan projectNodePlan) { + Result result = new Result(); + ProjectNodePlan projectNodePlanEntity = projectNodePlanService.getById(projectNodePlan.getId()); + if (projectNodePlanEntity == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = projectNodePlanService.removeById(projectNodePlan.getId()); + if (ok) { + result.success("删除成功!"); + } else { + result.success("操作失败!"); + } + } + return result; + } + /** * 通过id查询 * diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectSubItemController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectSubItemController.java index 259bda4..811ebda 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectSubItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovProjectSubItemController.java @@ -1,7 +1,9 @@ package com.zhgd.xmgl.modules.basicdata.controller.government; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; @@ -163,4 +165,24 @@ public class GovProjectSubItemController { } return result; } + + /** + * 审核 + * + * @param projectSubItem + * @return + */ + @OperLog(operModul = "分部分项管理", operType = "列表查询", operDesc = "审核信息") + @ApiOperation(value = " 审核信息", notes = "审核信息", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "分部分项ID", paramType = "body", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "approvalStatus", value = "审核状态(0:未审核;1:已审核通过;2:审核驳回)", paramType = "body", required = true, dataType = "Integer") + }) + @PostMapping(value = "/examine") + public Result examine(@RequestBody ProjectSubItem projectSubItem) { + LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate(); + wrapper.set(ProjectSubItem::getApprovalStatus, projectSubItem.getApprovalStatus()); + wrapper.eq(ProjectSubItem::getId, projectSubItem.getId()); + return Result.success(projectSubItemService.update(wrapper)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/ProjectQuantityController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/ProjectQuantityController.java index 8175e0f..96bf90c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/ProjectQuantityController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/ProjectQuantityController.java @@ -3,12 +3,15 @@ package com.zhgd.xmgl.modules.basicdata.controller.government; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.util.PageUtil; import com.zhgd.jeecg.common.util.oConvertUtils; +import com.zhgd.xmgl.modules.basicdata.entity.Engineering; +import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService; import com.zhgd.xmgl.modules.safety.entity.ProjectQuantity; import com.zhgd.xmgl.modules.safety.service.IProjectQuantityService; import com.zhgd.xmgl.security.SecurityUtil; @@ -56,6 +59,9 @@ public class ProjectQuantityController { @Autowired private IProjectQuantityService projectQuantityService; + @Autowired + private IEngineeringService engineeringService; + /** * 分页列表查询 * @@ -252,7 +258,7 @@ public class ProjectQuantityController { List listProjectQuantitys = ExcelImportUtil.importExcel(file.getInputStream(), ProjectQuantity.class, params); for (ProjectQuantity projectQuantityExcel : listProjectQuantitys) { projectQuantityExcel.setEngineeringSn(request.getParameter("engineeringSn")); - projectQuantityExcel.setProjectSn(request.getParameter("projectSn")); + projectQuantityExcel.setProjectSn(engineeringService.getOne(Wrappers.lambdaQuery().eq(Engineering::getEngineeringSn, projectQuantityExcel.getEngineeringSn())).getProjectSn()); projectQuantityExcel.setCreateTime(new Date()); projectQuantityService.save(projectQuantityExcel); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/ProjectSubItemController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/ProjectSubItemController.java index 6449ed3..afb8b42 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/ProjectSubItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/ProjectSubItemController.java @@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -200,7 +201,7 @@ public class ProjectSubItemController { @OperLog(operModul = "分部分项管理", operType = "导入", operDesc = "甘特图mpp文件导入") @ApiOperation(value = "甘特图mpp文件导入", notes = "甘特图mpp文件导入", httpMethod="POST") @PostMapping("/importMpp") - public Result importMpp(MultipartFile file) { - return Result.success(projectSubItemService.importMpp(file)); + public Result importMpp(MultipartFile file, HttpServletRequest request) { + return Result.success(projectSubItemService.importMpp(file, request.getParameter("engineeringSn"))); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java index 9f716a6..2b11939 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java @@ -11,13 +11,11 @@ import com.zhgd.mybatis.Aes; import com.zhgd.xmgl.modules.basicdata.entity.*; import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper; import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper; -import com.zhgd.xmgl.modules.basicdata.service.IEnterpriseMainLicenseService; -import com.zhgd.xmgl.modules.basicdata.service.IEnterpriseMainService; -import com.zhgd.xmgl.modules.basicdata.service.IEnterpriseService; -import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; +import com.zhgd.xmgl.modules.basicdata.service.*; import com.zhgd.xmgl.modules.basicdata.vo.EnterpriseVo; import com.zhgd.xmgl.security.SecurityUtil; import com.zhgd.xmgl.util.CommonUtil; +import com.zhgd.xmgl.util.ParamEnum; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,6 +40,12 @@ public class EnterpriseServiceImpl extends ServiceImpllambdaQuery().eq(SystemRole::getRoleCode, type.name())); + if (role != null) { + SystemUserRole systemUserRole = new SystemUserRole(); + systemUserRole.setUserId(systemUser.getUserId()); + systemUserRole.setRoleId(role.getRoleId()); + systemUserRoleService.save(systemUserRole); + } + } + } for (EnterpriseMain enterpriseMain : enterpriseVo.getEnterpriseMains()) { enterpriseMain.setEnterpriseSn(enterpriseVo.getEnterpriseSn()); enterpriseMainService.save(enterpriseMain); diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/entity/InspectQuestionExamine.java b/src/main/java/com/zhgd/xmgl/modules/safety/entity/InspectQuestionExamine.java index 681b00b..d40e2e5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/entity/InspectQuestionExamine.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/entity/InspectQuestionExamine.java @@ -77,4 +77,10 @@ public class InspectQuestionExamine implements Serializable { @Excel(name = "审核意见", width = 15) @ApiModelProperty(value = "审核意见") private String suggest; + /** + * 措施建议 + */ + @Excel(name = "措施建议", width = 15) + @ApiModelProperty(value = "措施建议") + private String recommend; } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java index c7449f5..719bfa8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java @@ -163,9 +163,9 @@ public class ProjectSubItem implements Serializable { private String engineeringSn; /** - * 审核状态(0:未审核通过;1:已审核通过) + * 审核状态(0:未审核;1:已审核通过;2:审核驳回) */ - @Excel(name = "审核状态(0:未审核通过;1:已审核通过)", width = 15) - @ApiModelProperty(value = "审核状态(0:未审核通过;1:已审核通过)") + @Excel(name = "审核状态(0:未审核;1:已审核通过;2:审核驳回)", width = 15) + @ApiModelProperty(value = "审核状态(0:未审核;1:已审核通过;2:审核驳回)") private Integer approvalStatus; } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/service/IProjectSubItemService.java b/src/main/java/com/zhgd/xmgl/modules/safety/service/IProjectSubItemService.java index 3ff5eff..c12c2f1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/service/IProjectSubItemService.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/service/IProjectSubItemService.java @@ -36,5 +36,5 @@ public interface IProjectSubItemService extends IService { boolean delete(Long id); - boolean importMpp(MultipartFile file); + boolean importMpp(MultipartFile file, String engineeringSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/InvestmentPaymentDetailServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/InvestmentPaymentDetailServiceImpl.java index 9bd1e8f..dd1cd85 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/InvestmentPaymentDetailServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/InvestmentPaymentDetailServiceImpl.java @@ -25,7 +25,7 @@ public class InvestmentPaymentDetailServiceImpl extends ServiceImpl pageList(Page page, QueryWrapper wrapper) { - wrapper.eq("parent_id", 0); + wrapper.lambda().eq(InvestmentPaymentDetail::getParentId, 0); Page pageList = PageUtil.copyProperties(baseMapper.selectPage(page, wrapper), InvestmentPaymentDetailDto.class); List records = pageList.getRecords(); List ids = records.stream().map(r -> r.getId()).collect(Collectors.toList()); diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java index 2d31e8d..6e5cc3b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java @@ -12,6 +12,7 @@ import com.zhgd.jeecg.common.util.PageUtil; import com.zhgd.xmgl.handler.exception.CustomException; import com.zhgd.xmgl.modules.basicdata.dto.EngineeringPageDto; import com.zhgd.xmgl.modules.basicdata.dto.ProjectPageDto; +import com.zhgd.xmgl.modules.basicdata.entity.Engineering; import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService; import com.zhgd.xmgl.modules.basicdata.service.IFileDetailService; import com.zhgd.xmgl.modules.basicdata.service.IProjectService; @@ -113,6 +114,9 @@ public class ProjectSubItemServiceImpl extends ServiceImpllambdaQuery().eq(ProjectSubItem::getProjectSn, user.getSn())); - Collection projectSubItems = analysisMpp(file, user.getSn(), user.getUserId()); + this.remove(Wrappers.lambdaQuery().eq(ProjectSubItem::getEngineeringSn, engineeringSn)); + Collection projectSubItems = analysisMpp(file, engineeringSn, user.getUserId()); if (CollUtil.isNotEmpty(projectSubItems)) { return this.saveBatch(projectSubItems); } @@ -200,7 +204,7 @@ public class ProjectSubItemServiceImpl extends ServiceImpl analysisMpp(MultipartFile mppFile, String projectSn, String createUserId) { + private Collection analysisMpp(MultipartFile mppFile, String engineeringSn, String createUserId) { List projectSubItems = new LinkedList<>(); Set userNameSet = new LinkedHashSet<>(); // @@ -215,7 +219,7 @@ public class ProjectSubItemServiceImpl extends ServiceImpl childTasks = pf.getChildTasks(); if (CollUtil.isNotEmpty(childTasks)) { - structureTaskDataList(projectSubItems, userNameSet, childTasks.get(0).getChildTasks(), uniqueIdProjectSubItemMap, projectSubItemPredecessorList, 0L, projectSn); + structureTaskDataList(projectSubItems, userNameSet, childTasks.get(0).getChildTasks(), uniqueIdProjectSubItemMap, projectSubItemPredecessorList, 0L, engineeringSn); Map ProjectSubItemMap = projectSubItems.stream().collect(Collectors.toMap(ProjectSubItem::getId, Function.identity())); // 赋值前置任务 if (CollUtil.isNotEmpty(projectSubItemPredecessorList)) { @@ -245,7 +249,7 @@ public class ProjectSubItemServiceImpl extends ServiceImpl progressTaskList, Set userNameSet, List tasks, Map uniqueIdProgressTaskMap, List progressTaskPredecessorList, Long parentId, String projectSn) { + private void structureTaskDataList(List progressTaskList, Set userNameSet, List tasks, Map uniqueIdProgressTaskMap, List progressTaskPredecessorList, Long parentId, String engineeringSn) { if (CollectionUtils.isEmpty(tasks)) { return; } @@ -305,8 +309,8 @@ public class ProjectSubItemServiceImpl extends ServiceImpllambdaQuery().eq(Engineering::getEngineeringSn, engineeringSn)).getProjectSn()); + projectSubItem.setEngineeringSn(engineeringSn); // TODO 前置任务列表 List predecessors = task.getPredecessors(); if (CollUtil.isNotEmpty(predecessors)) { @@ -316,7 +320,7 @@ public class ProjectSubItemServiceImpl extends ServiceImpl