From 42b5dd4530f7e22a13a03a24796aab384f4da313 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Mon, 9 Dec 2024 14:13:33 +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=E4=B8=AD=E7=9A=84=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E8=A7=84=E6=A0=BC=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需求规格详情返回评审相关信息 Signed-off-by: OTTO <731554297@qq.com> --- .../domain/vo/ProductReqSpecsDetailVo.java | 11 +++++++ .../PmsProductReqOperationRecordMapper.java | 2 ++ .../IPmsProductReqOperationRecordService.java | 2 ++ ...sProductReqOperationRecordServiceImpl.java | 5 ++++ .../PmsProductRequirementServiceImpl.java | 29 +++++++++++++++++-- .../PmsProductReqOperationRecordMapper.xml | 8 +++++ 6 files changed, 54 insertions(+), 3 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsDetailVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsDetailVo.java index dcb344f0d..03a79ad0c 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsDetailVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsDetailVo.java @@ -52,4 +52,15 @@ public class ProductReqSpecsDetailVo extends ProductReqSpecsDataVo { private Date changeTime; + @ApiModelProperty(value = "评审时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date reviewTime; + + @ApiModelProperty(value = "评审人") + private String reviewUser; + + @ApiModelProperty(value = "评审意见") + private String reviewContent; + + } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductReqOperationRecordMapper.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductReqOperationRecordMapper.java index cb91fd656..ffbb62350 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductReqOperationRecordMapper.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductReqOperationRecordMapper.java @@ -64,4 +64,6 @@ public interface PmsProductReqOperationRecordMapper { PmsProductReqOperationRecord selectUserReqLatestReviewRecord(Long reqId); PmsProductReqOperationRecord selectReqSpecsLatestChangeRecord(Long reqSpecsId); + + PmsProductReqOperationRecord selectReqSpecsLatestReviewRecord(Long reqSpecsId); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductReqOperationRecordService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductReqOperationRecordService.java index 17950527f..07089be83 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductReqOperationRecordService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductReqOperationRecordService.java @@ -73,4 +73,6 @@ public interface IPmsProductReqOperationRecordService { List selectReqSpecsChangeRecordList(Long reqSpecsId); PmsProductReqOperationRecord selectReqSpecsLatestChangeRecord(Long reqSpecsId); + + PmsProductReqOperationRecord selectReqSpecsLatestReviewRecord(Long reqSpecsId); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductReqOperationRecordServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductReqOperationRecordServiceImpl.java index 1ddb3e0a4..8dc6edb0a 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductReqOperationRecordServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductReqOperationRecordServiceImpl.java @@ -146,6 +146,11 @@ public class PmsProductReqOperationRecordServiceImpl implements IPmsProductReqOp return pmsProductReqOperationRecordMapper.selectReqSpecsLatestChangeRecord(reqSpecsId); } + @Override + public PmsProductReqOperationRecord selectReqSpecsLatestReviewRecord(Long reqSpecsId) { + return pmsProductReqOperationRecordMapper.selectReqSpecsLatestReviewRecord(reqSpecsId); + } + private List getRecordDataList(List recordList) { List recordDataList = new ArrayList<>(); for (PmsProductReqOperationRecord record : recordList) { 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 ba1b93a85..e74034c2f 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 @@ -589,10 +589,33 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS productReqSpecsDetailVo.setCreateBy(pmsCommonService.getSimpleSysUserByUsername(pmsProductRequirement.getCreateBy())); productReqSpecsDetailVo.setCreateTime(pmsProductRequirement.getCreateTime()); if (ProductReqStatus.CHANGING_REQ_SPECS.getKey().equals(pmsProductRequirement.getStatus())) { - PmsProductReqOperationRecord record = pmsProductReqOperationRecordService.selectReqSpecsLatestChangeRecord(pmsProductRequirement.getFromId()); + PmsProductReqOperationRecord changeRecord = pmsProductReqOperationRecordService.selectReqSpecsLatestChangeRecord(pmsProductRequirement.getFromId()); + if (changeRecord != null) { + productReqSpecsDetailVo.setChangeBy(pmsCommonService.getSimpleSysUserByUsername(changeRecord.getOperator())); + productReqSpecsDetailVo.setChangeTime(changeRecord.getOperatingTime()); + } + } + PmsProductRequirement fromReq = pmsProductRequirement; + PmsProductReqOperationRecord record = null; + while (fromReq != null) { + if (ProductReqStatus.isUserReqStatus(fromReq.getStatus())) { + record = pmsProductReqOperationRecordService.selectUserReqLatestReviewRecord(fromReq.getId()); + } else { + record = pmsProductReqOperationRecordService.selectReqSpecsLatestReviewRecord(fromReq.getId()); + } + if (record != null) { - productReqSpecsDetailVo.setChangeBy(pmsCommonService.getSimpleSysUserByUsername(record.getOperator())); - productReqSpecsDetailVo.setChangeTime(record.getOperatingTime()); + break; + } + fromReq = selectPmsProductRequirementById(fromReq.getFromId(), true); + } + if (record != null) { + productReqSpecsDetailVo.setReviewTime(record.getOperatingTime()); + if (StringUtils.isNotEmpty(record.getContent()) + && JSON.isValid(record.getContent())) { + JSONObject reviewContentJson = JSONObject.parseObject(record.getContent()); + productReqSpecsDetailVo.setReviewUser(reviewContentJson.getString("reviewUser")); + productReqSpecsDetailVo.setReviewContent(reviewContentJson.getString("reviewContent")); } } return productReqSpecsDetailVo; diff --git a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductReqOperationRecordMapper.xml b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductReqOperationRecordMapper.xml index be609229c..991a38563 100644 --- a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductReqOperationRecordMapper.xml +++ b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductReqOperationRecordMapper.xml @@ -83,6 +83,14 @@ order by operating_time desc limit 1 +