From ec209cb0e0bd484ca6fbbbca6d3542fecdc5274f Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Fri, 20 Dec 2024 14:04:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E9=9C=80=E6=B1=82=E9=87=8D=E6=9E=84):=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=A7=E5=93=81=E9=9C=80=E6=B1=82=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新需求时不需要检查需求优先级 Signed-off-by: OTTO <731554297@qq.com> --- .../impl/PmsCommonAsyncServiceImpl.java | 2 +- .../IPmsProductRequirementService.java | 10 +- .../PmsProductRequirementServiceImpl.java | 124 +++--------------- 3 files changed, 23 insertions(+), 113 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java index 9f88c199f..b2b543016 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java @@ -160,7 +160,7 @@ public class PmsCommonAsyncServiceImpl implements IPmsCommonAsyncService { List tagIds = new ArrayList<>(Arrays.asList(tagIdsStr.split(","))); tagIds.remove(tagIdStr); pmsProductRequirement.setTags(String.join(",", tagIds)); - pmsProductRequirementService.updatePmsProductRequirement(pmsProductRequirement); + pmsProductRequirementService.updateRequirement(pmsProductRequirement); } }); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java index 15ad4c0d0..46c764ef4 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java @@ -26,14 +26,6 @@ public interface IPmsProductRequirementService */ public PmsProductRequirement selectPmsProductRequirementById(Long id, boolean checkRole); - /** - * 修改产品需求 - * - * @param pmsProductRequirement 产品需求 - * @return 结果 - */ - public int updatePmsProductRequirement(PmsProductRequirement pmsProductRequirement); - /** * 更新产品需求变更 * @@ -142,4 +134,6 @@ public interface IPmsProductRequirementService List selectReqSpecsProjectList(String productIdentifier); int batchUpdatePmsProductRequirement(JSONObject pmsProductRequirementBatchUpdateVo); + + int updateRequirement(PmsProductRequirement pmsProductRequirement); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java index 3e718ca36..abddccf18 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java @@ -201,13 +201,6 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS pmsCommonService.getAllFileByFileIdentifiers(pmsProductRequirement.getFileIdentifiers()); } - private int updateRequirement(PmsProductRequirement pmsProductRequirement, String productIdentifier) { - pmsProductRequirement.setUpdateBy(SecurityUtils.getUsername()); - pmsProductRequirement.setUpdateTime(DateUtils.getNowDate()); - pmsProductService.updatePmsProductChange(productIdentifier); - return pmsProductRequirementMapper.updatePmsProductRequirement(pmsProductRequirement); - } - @Override @Transactional(rollbackFor = Exception.class) public int deleteUserReqByIds(Long[] ids) { @@ -304,7 +297,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS // 记录评审意见 pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord( productReqReviewVo.toUserReqRecord(SecurityUtils.getUsername())); - return updateRequirement(userReq, userReq.getPmsProductIdentifier()); + return updateRequirement(userReq); } @@ -370,7 +363,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS PmsProductReqOperationRecord pmsProductReqOperationRecord = productReqReviewVo.toReqSpecsRecord(SecurityUtils.getUsername()); pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord(pmsProductReqOperationRecord); - return updateRequirement(reqSpecs, reqSpecs.getPmsProductIdentifier()); + return updateRequirement(reqSpecs); } /** @@ -524,7 +517,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS // 已评审或已计划的需规需要进行变更(创建一条对应的需规) // 调整原需规状态 oldPmsProductRequirement.setStatus(ProductReqStatus.getToStatus(oldPmsProductRequirement.getStatus()).getKey()); - updateRequirement(oldPmsProductRequirement, oldPmsProductRequirement.getPmsProductIdentifier()); + updateRequirement(oldPmsProductRequirement); // 创建变更后的需规 PmsProductRequirement changingReqSpecs = oldPmsProductRequirement.toChangeReqSpecs(productReqSpecsChangeVo); if (StringUtils.isNotEmpty(productReqSpecsChangeVo.getTitle())) { @@ -567,7 +560,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS reqSpecs.setPmsProjectId(productReqSpecsActivePlanVo.getProjectId()); reqSpecs.setProjectReqId(projectIssue.getLong("id")); reqSpecs.setStatus(ProductReqStatus.PLANNED_REQ_SPECS.getKey()); - int success = updateRequirement(reqSpecs, reqSpecs.getPmsProductIdentifier()); + int success = updateRequirement(reqSpecs); pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord( productReqSpecsActivePlanVo.toPmsProductReqOperationRecord(reqSpecs) ); @@ -615,7 +608,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS } } pmsProductRequirement.setStatus(productReqStatus.getKey()); - updateRequirement(pmsProductRequirement, pmsProductRequirement.getPmsProductIdentifier()); + updateRequirement(pmsProductRequirement); } @Override @@ -697,96 +690,6 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS return productUserReqDetailVo; } - private void checkPmsProductRequirement(PmsProductRequirement pmsProductRequirement, PmsProduct pmsProduct, PmsProductRequirement oldPmsProductRequirement) { - if (StringUtils.isNotBlank(pmsProductRequirement.getRequirementAssigneeGitlinkIds())) { - String[] gitlinkUserIdStrList = pmsProductRequirement.getRequirementAssigneeGitlinkIds().split(","); - checkGitlinkUserIds(gitlinkUserIdStrList, pmsProduct); - } - - // 校验产品计划是否存在 - if (pmsProductRequirement.getPmsProductPlanId() != null) { - PmsProductPlan pmsProductPlan = pmsProductPlanService.selectPmsProductPlanById(pmsProductRequirement.getPmsProductPlanId(), false); - if (!pmsProductPlan.getPmsProductIdentifier().equals(pmsProduct.getProductIdentifier())) { - throw new ServiceException("该产品计划不属于当前产品(计划标题[%s],产品名称[%s])", pmsProductPlan.getPlanTitle(), pmsProduct.getProductName()); - } - - if (oldPmsProductRequirement == null || oldPmsProductRequirement.getPmsProductPlanId() == null) { - // 当原需求没有计划时,此操作相当于将该需求移入该计划,需要更新计划的更新时间 - pmsProductPlanService.updatePmsProductPlanChange(pmsProductRequirement.getPmsProductPlanId()); - } else if (!oldPmsProductRequirement.getPmsProductPlanId().equals(pmsProductRequirement.getPmsProductPlanId())) { - // 当原需求有计划且该计划id与原计划id不同时,此操作相当于从原计划移入新计划,需要更新原计划和新计划的更新时间 - pmsProductPlanService.updatePmsProductPlanChange(pmsProductRequirement.getPmsProductPlanId()); - pmsProductPlanService.updatePmsProductPlanChange(oldPmsProductRequirement.getPmsProductPlanId()); - } - } else if (oldPmsProductRequirement != null && oldPmsProductRequirement.getPmsProductPlanId() != null) { - // 当原需求有计划且当前设置计划为空时,此操作相当于将该需求从原计划中移除,需更新原计划的更新时间 - pmsProductPlanService.updatePmsProductPlanChange(oldPmsProductRequirement.getPmsProductPlanId()); - } - // 校验项目是否存在 - if (pmsProductRequirement.getPmsProjectId() != null) { - checkProjectId(pmsProductRequirement.getPmsProjectId(), pmsProduct); - } - - - // 校验模块是否存在 - if (pmsProductRequirement.getPmsProductModuleId() != null) { - checkModuleId(pmsProductRequirement.getPmsProductModuleId(), pmsProduct); - } - - // 校验标记是否存在 - pmsProductRequirementTagService.checkTags(pmsProductRequirement.getTags(), PmsConstants.PRODUCT_TAG_AND_MODULE_TYPE, pmsProduct.getPmsEnterpriseId()); - pmsProductRequirement.setTagIds(pmsProductRequirement.getTags()); - - //校验结束时间需大于开始时间 - if (pmsProductRequirement.getStartTime() != null && pmsProductRequirement.getEndTime() != null) { - if (pmsProductRequirement.getStartTime().after(pmsProductRequirement.getEndTime())) { - throw new ServiceException("结束时间不能早于开始时间"); - } - } - - // 检查附件列表是否有异常数据 - pmsCommonService.getAllFileByFileIdentifiers(pmsProductRequirement.getFileIdentifiers()); - } - - /** - * 修改产品需求 - * - * @param pmsProductRequirement 产品需求 - * @return 结果 - */ - @Override - public int updatePmsProductRequirement(PmsProductRequirement pmsProductRequirement) { - // 通过id检查需修改的产品需求是否存在 - PmsProductRequirement oldPmsProductRequirement = selectPmsProductRequirementById(pmsProductRequirement.getId(), true); - pmsProductRequirement.setPmsProductIdentifier(oldPmsProductRequirement.getPmsProductIdentifier()); - if (pmsProductRequirement.getPriorityId() != null) { - // 设置需求优先级 - Long priorityId = - pmsProductPriorityService.selectPmsProductPriorityIdByInputId(pmsProductRequirement.getPriorityId(), PmsConstants.PRODUCT_STATUS_OR_PRIORITY_REQUIREMENT_TYPE); - pmsProductRequirement.setPriorityId(priorityId); - } - - // 设置需求状态 - // TODO:需要根据用户需求、需求规格来判断需求状态 - // pmsProductRequirement.setStatusId(statusId); - PmsProduct pmsProduct = pmsProductService.selectPmsProductByIdentifier(oldPmsProductRequirement.getPmsProductIdentifier()); - checkPmsProductRequirement(pmsProductRequirement, pmsProduct, oldPmsProductRequirement); - if (pmsProductRequirement.getStartTime() != null && pmsProductRequirement.getEndTime() == null) { - if (oldPmsProductRequirement.getEndTime() != null && pmsProductRequirement.getStartTime().after(oldPmsProductRequirement.getEndTime())) { - throw new ServiceException("开始时间不能晚于结束时间"); - } - } - if (pmsProductRequirement.getStartTime() == null && pmsProductRequirement.getEndTime() != null) { - if (oldPmsProductRequirement.getStartTime() != null && oldPmsProductRequirement.getStartTime().after(pmsProductRequirement.getEndTime())) { - throw new ServiceException("结束时间不能早于开始时间"); - } - } - pmsProductRequirement.setUpdateBy(SecurityUtils.getUsername()); - pmsProductRequirement.setUpdateTime(DateUtils.getNowDate()); - pmsProductService.updatePmsProductChange(oldPmsProductRequirement.getPmsProductIdentifier()); - return pmsProductRequirementMapper.updatePmsProductRequirement(pmsProductRequirement); - } - @Override public int updatePmsProductRequirementChange(Long id) { PmsProductRequirement pmsProductRequirement = selectPmsProductRequirementById(id, false); @@ -854,7 +757,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS List pmsProductRequirementList = pmsProductRequirementMapper.selectPmsProductRequirementList(pmsProductRequirementSearch); for (PmsProductRequirement pmsProductRequirement : pmsProductRequirementList) { pmsProductRequirement.setPmsProductPlanId(null); - updateRequirement(pmsProductRequirement, pmsProductRequirement.getPmsProductIdentifier()); + updateRequirement(pmsProductRequirement); } } @@ -865,7 +768,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS List pmsProductRequirementList = pmsProductRequirementMapper.selectPmsProductRequirementList(pmsProductRequirementSearch); for (PmsProductRequirement pmsProductRequirement : pmsProductRequirementList) { pmsProductRequirement.setPmsProductModuleId(null); - updatePmsProductRequirement(pmsProductRequirement); + updateRequirement(pmsProductRequirement); } } @@ -1016,4 +919,17 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS } return pmsProductRequirementMapper.selectReqCountGroupByStatus(pmsProductIdentifier, statusList); } + + public int updateRequirement(PmsProductRequirement pmsProductRequirement, String productIdentifier) { + pmsProductRequirement.setPmsProductIdentifier(productIdentifier); + return updateRequirement(pmsProductRequirement); + } + + @Override + public int updateRequirement(PmsProductRequirement pmsProductRequirement) { + pmsProductRequirement.setUpdateBy(SecurityUtils.getUsername()); + pmsProductRequirement.setUpdateTime(DateUtils.getNowDate()); + pmsProductService.updatePmsProductChange(pmsProductRequirement.getPmsProductIdentifier()); + return pmsProductRequirementMapper.updatePmsProductRequirement(pmsProductRequirement); + } }