From 33240916f97f9f1f66457981512c6e900e2f5e29 Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Wed, 21 Aug 2024 11:05:57 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E6=96=B0=E5=A2=9E=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9A=84=E6=B5=81=E7=A8=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E5=90=88=E5=90=8C=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/contract/ContractController.java | 3 +- .../ContractHistoryController.java | 14 ++++- .../vo/ContractHistoryRespVO.java | 30 +++-------- .../vo/ContractHistorySaveReqVO.java | 2 +- .../ExtContractHistoryController.java | 10 ++-- .../ContractHistoryService.java | 14 ++--- .../ContractHistoryServiceImpl.java | 53 ++++++++++++------- .../ExtContractHistoryService.java | 8 --- .../ExtContractHistoryServiceImpl.java | 19 ------- 9 files changed, 66 insertions(+), 87 deletions(-) diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/ContractController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/ContractController.java index 51748ffae..11c60506c 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/ContractController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/ContractController.java @@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractPageReqV import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractSaveReqVO; -import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDetailDO; import cn.iocoder.yudao.module.cms.service.contract.ContractService; import org.springframework.web.bind.annotation.*; @@ -113,7 +112,7 @@ public class ContractController { @PostMapping("/get_process") @Operation(summary = "查询流程") @PreAuthorize("@ss.hasPermission('cms-ext:ext-contract:create')") - public CommonResult getExtContractProcessInstance(@RequestParam("id") Long id) { + public CommonResult getContractProcessInstance(@RequestParam("id") Long id) { ContractProcessInstanceRespVO process = contractService.getProcess(id); return success(process); } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/ContractHistoryController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/ContractHistoryController.java index e249ae387..cc52ac736 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/ContractHistoryController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/ContractHistoryController.java @@ -1,5 +1,10 @@ package cn.iocoder.yudao.module.cms.controller.admin.contractHistory; +import cn.iocoder.yudao.framework.common.util.file.FileUtils; +import cn.iocoder.yudao.module.cms.controller.admin.extcontracthistory.vo.ExtContractHistoryRespVO; +import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDetailDO; +import cn.iocoder.yudao.module.cms.dal.dataobject.extcontracthistory.ExtContractHistoryDetailDO; import cn.iocoder.yudao.module.cms.service.contractHistory.ContractHistoryService; +import org.checkerframework.checker.units.qual.C; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -51,8 +56,13 @@ public class ContractHistoryController { @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('cms:contract-history:query')") public CommonResult getContractHistory(@RequestParam("id") Long id) { - ContractHistoryRespVO contractHistory = contractHistoryService.getContractHistory(id); - return success(contractHistory); + ContractHistoryDetailDO contractHistoryDetailDO = contractHistoryService.getContractDetail(id); + ContractHistoryRespVO contractHistoryRespVO = new ContractHistoryRespVO(); + org.springframework.beans.BeanUtils.copyProperties(contractHistoryDetailDO, contractHistoryRespVO, "contractFileUrl", "reviewFileUrl"); + contractHistoryRespVO.setReviewFileUrl(FileUtils.covertJSONStringToFile(contractHistoryDetailDO.getReviewFileUrl())); + contractHistoryRespVO.setContractFileUrl(FileUtils.covertJSONStringToFile(contractHistoryDetailDO.getContractFileUrl())); + + return success(contractHistoryRespVO); } @GetMapping("/page") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistoryRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistoryRespVO.java index 04ffe031a..ca89c71fc 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistoryRespVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistoryRespVO.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.cms.controller.admin.contractHistory.vo; import cn.iocoder.yudao.framework.common.pojo.FileDTO; +import cn.iocoder.yudao.module.cms.enums.DictTypeConstants; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -64,7 +65,7 @@ public class ContractHistoryRespVO { @Schema(description = "合同类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty(value = "合同类型", converter = DictConvert.class) - @DictFormat("contract_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.CONTRACT_TYPE) private String type; @Schema(description = "合同进展", requiredMode = Schema.RequiredMode.REQUIRED) @@ -89,12 +90,12 @@ public class ContractHistoryRespVO { @Schema(description = "合同状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty(value = "合同状态", converter = DictConvert.class) - @DictFormat("contract_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.CONTRACT_STATUS) private String status; @Schema(description = "计费方式", example = "2") @ExcelProperty(value = "计费方式", converter = DictConvert.class) - @DictFormat("contract_billing_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.CONTRACT_TYPE) private String countType; @Schema(description = "合同url", example = "https://www.iocoder.cn") @@ -107,7 +108,7 @@ public class ContractHistoryRespVO { @Schema(description = "资金来源") @ExcelProperty(value = "资金来源", converter = DictConvert.class) - @DictFormat("funds_source") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.SOURCE) private String source; @Schema(description = "是否联合体") @@ -126,25 +127,6 @@ public class ContractHistoryRespVO { @ExcelProperty("审核文件url") private List reviewFileUrl; - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @Schema(description = "更新者") - @ExcelProperty("更新者") - private String updater; - - @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("更新时间") - private LocalDateTime updateTime; - - @Schema(description = "是否删除", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否删除") - private Boolean deleted; - - @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24897") - @ExcelProperty("租户编号") - private Long tenantId; @Schema(description = "签订合同总额") @ExcelProperty("签订合同总额") @@ -152,7 +134,7 @@ public class ContractHistoryRespVO { @Schema(description = "流程状态", example = "2") @ExcelProperty(value = "流程状态", converter = DictConvert.class) - @DictFormat("bpm_process_instance_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.PROCESS_STATUS) private Integer processStatus; @Schema(description = "版本") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistorySaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistorySaveReqVO.java index 3346651ac..223a97c71 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistorySaveReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractHistory/vo/ContractHistorySaveReqVO.java @@ -101,7 +101,7 @@ public class ContractHistorySaveReqVO { @Schema(description = "最后编辑人") private String finalEditor; - @Schema(description = "合同", requiredMode = Schema.RequiredMode.REQUIRED, example = "24519") + @Schema(description = "合同id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24519") @NotNull(message = "合同不能为空") private Long contractId; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extcontracthistory/ExtContractHistoryController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extcontracthistory/ExtContractHistoryController.java index 9adba2d1f..bcae54aa6 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extcontracthistory/ExtContractHistoryController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extcontracthistory/ExtContractHistoryController.java @@ -53,12 +53,12 @@ public class ExtContractHistoryController { @PreAuthorize("@ss.hasPermission('cms:ext-contract-history:query')") public CommonResult getExtContractHistory(@RequestParam("id") Long id) { ExtContractHistoryDetailDO extContractHistoryDetail = extContractHistoryService.getContractDetail(id); - ExtContractHistoryRespVO contractHistoryRespVO = new ExtContractHistoryRespVO(); - org.springframework.beans.BeanUtils.copyProperties(extContractHistoryDetail, contractHistoryRespVO, "contractFileUrl", "reviewFileUrl"); - contractHistoryRespVO.setReviewFileUrl(FileUtils.covertJSONStringToFile(extContractHistoryDetail.getReviewFileUrl())); - contractHistoryRespVO.setContractFileUrl(FileUtils.covertJSONStringToFile(extContractHistoryDetail.getContractFileUrl())); + ExtContractHistoryRespVO extContractHistoryRespVO = new ExtContractHistoryRespVO(); + org.springframework.beans.BeanUtils.copyProperties(extContractHistoryDetail, extContractHistoryRespVO, "contractFileUrl", "reviewFileUrl"); + extContractHistoryRespVO.setReviewFileUrl(FileUtils.covertJSONStringToFile(extContractHistoryDetail.getReviewFileUrl())); + extContractHistoryRespVO.setContractFileUrl(FileUtils.covertJSONStringToFile(extContractHistoryDetail.getContractFileUrl())); - return success(contractHistoryRespVO); + return success(extContractHistoryRespVO); } @GetMapping("/page") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryService.java index ff426858b..6a057237d 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.service.contractHistory; +import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDetailDO; import jakarta.validation.*; import cn.iocoder.yudao.module.cms.controller.admin.contractHistory.vo.*; import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDO; @@ -19,14 +20,13 @@ public interface ContractHistoryService { */ void updateContractHistory(Long loginUserId,@Valid ContractHistorySaveReqVO updateReqVO); - /** - * 获得历史合同 - * - * @param contractId 现有合同编号 - * @return 历史合同 - */ - ContractHistoryRespVO getContractHistory(Long contractId); + /** + * 获得历史合同基本信息 + * @param id 合同id + * @return 历史合同基本信息 + */ + ContractHistoryDetailDO getContractDetail(Long id); /** * 获得历史合同分页 * diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryServiceImpl.java index 77fca5b1a..4e57bd391 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractHistory/ContractHistoryServiceImpl.java @@ -1,6 +1,11 @@ package cn.iocoder.yudao.module.cms.service.contractHistory; +import cn.hutool.core.bean.BeanUtil; +import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDetailDO; import cn.iocoder.yudao.module.cms.service.extContract.ExtContractService; +import cn.iocoder.yudao.module.pms.api.projectschedule.ProjectScheduleApi; +import cn.iocoder.yudao.module.pms.api.projectschedule.dto.ProjectScheduleDetailDTO; import cn.iocoder.yudao.module.pms.api.projecttracking.ProjectTrackingApi; +import cn.iocoder.yudao.module.pms.api.projecttracking.dto.ProjectTrackingDetailDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -38,6 +43,9 @@ public class ContractHistoryServiceImpl implements ContractHistoryService { @Resource private ProjectTrackingApi projectTrackingApi; + @Resource + private ProjectScheduleApi projectScheduleApi; + @Override public void updateContractHistory(Long loginUserId,ContractHistorySaveReqVO updateReqVO) { @@ -52,35 +60,42 @@ public class ContractHistoryServiceImpl implements ContractHistoryService { contractHistoryMapper.updateById(updateObj); } - @Override - public ContractHistoryRespVO getContractHistory(Long id) { - return null; + public ContractHistoryDetailDO getContractDetail(Long id) { + ContractHistoryDetailDO contractHistoryDetailDO = new ContractHistoryDetailDO(); + ContractHistoryDO contractHistoryDO = contractHistoryMapper.selectById(id); + //校验 + if (contractHistoryDO == null) { + throw exception(CONTRACT_NOT_EXISTS); + } + Long extContractId = contractHistoryDO.getExtContractId(); + Long projectId = contractHistoryDO.getProjectId(); + projectTrackingApi.validateProjectExists(projectId); + ProjectScheduleDetailDTO projectScheduleDetail = projectScheduleApi.getProjectScheduleDetail(projectId); + ProjectTrackingDetailDTO projectTracking = projectTrackingApi.getProjectTracking(projectId); + contractHistoryDetailDO.setReminderTime(extContractService.getContractDetail(extContractId).getReminderTime()); + BeanUtil.copyProperties(contractHistoryDO, contractHistoryDetailDO); + BeanUtil.copyProperties(projectTracking, contractHistoryDetailDO); + BeanUtil.copyProperties(projectScheduleDetail, contractHistoryDetailDO); + + return contractHistoryDetailDO; } @Override public PageResult getContractHistoryPage(ContractHistoryPageReqVO pageReqVO) { - //校验 - if (pageReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } + PageResult contractHistoryList = contractHistoryMapper.selectPage(pageReqVO); + List list = contractHistoryList.getList(); + List contractRespVOList = new ArrayList<>(); - Long projectId = pageReqVO.getProjectId(); - - PageResult contractHistoryDOPageResult = contractHistoryMapper.selectPage(pageReqVO); - List pageResultList = contractHistoryDOPageResult.getList(); - List contractHistoryRespVOS = new ArrayList<>(); - - - for (ContractHistoryDO contractHistoryDO : pageResultList) { + for (ContractHistoryDO contractHistoryDO : list) { Long id = contractHistoryDO.getId(); - ContractHistoryRespVO contractHistory = getContractHistory(id); - contractHistoryRespVOS.add(contractHistory); + ContractHistoryDetailDO contractDetail = getContractDetail(id); + contractRespVOList.add(contractDetail); } - + List respVOList = BeanUtils.toBean(contractRespVOList, ContractHistoryRespVO.class); PageResult pageResult = new PageResult<>(); - pageResult.setList(contractHistoryRespVOS); + pageResult.setList(respVOList); return pageResult; } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryService.java index 5c5ba76b9..9bbbb23be 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryService.java @@ -17,14 +17,6 @@ public interface ExtContractHistoryService { * @param updateReqVO 更新信息 */ void updateExtContractHistory(Long loginUserId,@Valid ExtContractHistorySaveReqVO updateReqVO); - /** - * 获得外部合同历史历史 - * - * @param id 编号 - * @return 外部合同历史历史 - */ - ExtContractHistoryRespVO getExtContractHistory(Long id); - /** * 获得外部合同历史历史分页 * diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryServiceImpl.java index 8923410e1..6eb64be41 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extcontracthistory/ExtContractHistoryServiceImpl.java @@ -66,25 +66,6 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService extContractHistoryMapper.updateById(updateObj); } - @Override - public ExtContractHistoryRespVO getExtContractHistory(Long id) { - //校验 - if (id == null) { - throw exception(EXT_CONTRACT_NOT_EXISTS); - } - - ExtContractHistoryDO extContractHistoryDO = extContractHistoryMapper.selectById(id); - if (extContractHistoryDO == null) { - throw exception(EXT_CONTRACT_NOT_EXISTS); - } - - Long projectId = extContractHistoryDO.getProjectId(); - - - - return null; - } - @Override public PageResult getExtContractHistoryPage(ExtContractHistoryPageReqVO pageReqVO) { PageResult extContractHistoryPage = extContractHistoryMapper.selectPage(pageReqVO);