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 +