From 97c7a8abc8080a74ab2ee3ccadef54b72ddfba85 Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Wed, 14 Aug 2024 16:53:38 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BC=98=E5=8C=96=E5=90=88=E5=90=8C?= =?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 | 27 +- .../admin/contract/vo/ContractPageReqVO.java | 6 - .../vo/ContractProcessInstanceRespVO.java | 69 ----- .../admin/contract/vo/ContractRespVO.java | 6 +- .../admin/contract/vo/ContractSaveReqVO.java | 6 +- .../extContract/ExtContractController.java | 19 -- .../outscontract/OutsContractController.java | 20 -- .../dal/dataobject/contract/ContractDO.java | 2 + .../dataobject/contract/ContractDetailDO.java | 44 +++ .../dal/mysql/contract/ContractMapper.java | 7 +- .../mysql/extContract/ExtContractMapper.java | 8 + .../cms/service/contract/ContractService.java | 25 +- .../service/contract/ContractServiceImpl.java | 267 +++--------------- .../ContractHistoryServiceImpl.java | 33 +-- .../extContract/ExtContractService.java | 30 +- .../extContract/ExtContractServiceImpl.java | 113 +------- .../ExtContractHistoryServiceImpl.java | 57 +--- .../outscontract/OutsContractService.java | 15 - .../outscontract/OutsContractServiceImpl.java | 56 ---- .../OutsContractHistoryServiceImpl.java | 10 - .../module/pms/api/project/ProjectApi.java | 23 -- .../api/project/dto/ProjectDetailRespDTO.java | 23 -- .../pms/api/project/dto/ProjectRespDTO.java | 46 --- .../projectschedule/ProjectScheduleApi.java | 15 + .../dto/ProjectScheduleDetailDTO.java | 18 ++ .../projecttracking/ProjectTrackingApi.java | 21 ++ .../dto/ProjectTrackingDetailDTO.java | 36 +++ yudao-module-pms/yudao-module-pms-biz/pom.xml | 8 +- .../module/pms/api/project/ProjectImpl.java | 44 --- .../projectschedule/ProjectScheduleImpl.java | 28 ++ .../projecttracking/ProjectTrackingImpl.java | 30 ++ .../vo/ProjectSchedulePageReqVO.java | 2 +- .../vo/ProjectScheduleRespVO.java | 2 +- .../vo/ProjectScheduleSaveReqVO.java | 33 +-- .../vo/ProjectTrackingPageReqVO.java | 6 +- .../vo/ProjectTrackingRespVO.java | 6 +- .../vo/ProjectTrackingSaveReqVO.java | 8 +- .../projectschedule/ProjectScheduleDO.java | 17 +- .../ProjectScheduleDetailDO.java | 20 ++ .../projecttracking/ProjectTrackingDO.java | 6 +- .../ProjectTrackingDetailDO.java | 39 +++ .../ProjectScheduleMapper.java | 21 +- .../ProjectTrackingMapper.java | 5 +- .../ProjectScheduleService.java | 9 + .../ProjectScheduleServiceImpl.java | 14 + .../ProjectTrackingService.java | 15 + .../ProjectTrackingServiceImpl.java | 15 + 47 files changed, 426 insertions(+), 904 deletions(-) delete mode 100644 yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractProcessInstanceRespVO.java create mode 100644 yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDetailDO.java delete mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectApi.java delete mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectDetailRespDTO.java delete mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectRespDTO.java create mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleApi.java create mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/dto/ProjectScheduleDetailDTO.java create mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingApi.java create mode 100644 yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/dto/ProjectTrackingDetailDTO.java delete mode 100644 yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java create mode 100644 yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleImpl.java create mode 100644 yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingImpl.java create mode 100644 yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDetailDO.java create mode 100644 yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDetailDO.java 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 4d6d370d1..cef122e32 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 @@ -1,10 +1,11 @@ package cn.iocoder.yudao.module.cms.controller.admin.contract; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; +import cn.iocoder.yudao.framework.common.util.file.FileUtils; import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractPageReqVO; 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.dal.dataobject.contract.ContractDetailDO; import cn.iocoder.yudao.module.cms.service.contract.ContractService; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; @@ -69,7 +70,12 @@ public class ContractController { @Parameter(name = "id", description = "合同id", required = true) @PreAuthorize("@ss.hasPermission('cms:contract:query')") public CommonResult getContract(@RequestParam("id") Long id) { - ContractRespVO contractRespVO = contractService.getContract(id); + ContractDetailDO contractDetailDO = contractService.getContractDetail(id); + ContractRespVO contractRespVO = new ContractRespVO(); + org.springframework.beans.BeanUtils.copyProperties(contractDetailDO, contractRespVO, "contractFileUrl", "reviewFileUrl"); + contractRespVO.setReviewFileUrl(FileUtils.covertJSONStringToFile(contractDetailDO.getReviewFileUrl())); + contractRespVO.setContractFileUrl(FileUtils.covertJSONStringToFile(contractDetailDO.getContractFileUrl())); + return success(contractRespVO); } @@ -94,22 +100,5 @@ public class ContractController { BeanUtils.toBean(list, ContractRespVO.class)); } - @GetMapping("/get_process") - @Operation(summary = "查询流程") - @Parameter(name = "id", description = "合同id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult getContractProcess(@RequestParam("id") Long id) { - ContractProcessInstanceRespVO contractProcessInstance = contractService.getContractProcess(id); - return success(contractProcessInstance); - } - - @GetMapping("/get_HistoryProcess") - @Operation(summary = "查询历史合同流程") - @Parameter(name = "projectId", description = "项目id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult> getHisContractProcess(@RequestParam("projectId") Long projectId) { - List historyContractProcess = contractService.getHistoryContractProcess(projectId); - return success(historyContractProcess); - } } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractPageReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractPageReqVO.java index 00ba59e1b..dc062be44 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractPageReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractPageReqVO.java @@ -16,16 +16,10 @@ public class ContractPageReqVO extends PageParam { @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED) private Long projectId; - @Schema(description = "合同名称", example = "芋艿") - private String name; - @Schema(description = "合同类型", example = "2") @DictFormat(DictTypeConstants.CONTRACT_TYPE) private String type; - @Schema(description = "合同进展",example = "1") - private String progress; - @Schema(description = "合同状态", example = "1") @DictFormat(DictTypeConstants.CONTRACT_STATUS) private String status; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractProcessInstanceRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractProcessInstanceRespVO.java deleted file mode 100644 index a840919e2..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractProcessInstanceRespVO.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.iocoder.yudao.module.cms.controller.admin.contract.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; -import java.util.List; -@Schema(description = "管理后台 - 流程实例的 Response VO") -@Data -public class ContractProcessInstanceRespVO { - - @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED) - private String id; - - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED) - private String name; - - @Schema(description = "流程实例的状态", requiredMode = Schema.RequiredMode.REQUIRED) - private Integer status; // 参见 BpmProcessInstanceStatusEnum 枚举 - - @Schema(description = "发起时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime startTime; - - @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; - - @Schema(description = "持续时间", example = "1000") - private Long durationInMillis; - - - /** - * 发起流程的用户 - */ - private User startUser; - - /** - * 当前审批中的任务 - */ - private List tasks; // 仅在流程实例分页才返回 - - @Schema(description = "用户信息") - @Data - public static class User { - - @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - private String nickname; - - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long deptId; - @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") - private String deptName; - - } - - @Schema(description = "流程任务") - @Data - public static class Task { - - @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private String id; - - @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") - private String name; - - } - -} diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractRespVO.java index cab0897bb..fb20b7159 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractRespVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.controller.admin.contract.vo; +import cn.iocoder.yudao.framework.common.pojo.FileDTO; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; @@ -9,6 +10,7 @@ import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.alibaba.excel.annotation.*; @@ -113,7 +115,7 @@ public class ContractRespVO { @Schema(description = "合同url", example = "https://www.iocoder.cn") @ExcelProperty("合同url") - private String contractFileUrl; + private List contractFileUrl; @Schema(description = "建安费") @ExcelProperty("建安费") @@ -145,7 +147,7 @@ public class ContractRespVO { @Schema(description = "审核文件url", example = "https://www.iocoder.cn") @ExcelProperty("审核文件url") - private String reviewFileUrl; + private List reviewFileUrl; @Schema(description = "最后编辑人") @ExcelProperty("最后编辑人") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractSaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractSaveReqVO.java index e657cc3dc..a231e6a03 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractSaveReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contract/vo/ContractSaveReqVO.java @@ -1,4 +1,5 @@ package cn.iocoder.yudao.module.cms.controller.admin.contract.vo; +import cn.iocoder.yudao.framework.common.pojo.FileDTO; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; @@ -9,6 +10,7 @@ import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 合同新增/修改 Request VO") @Data @@ -109,7 +111,7 @@ public class ContractSaveReqVO { @Schema(description = "合同url", example = "https://www.iocoder.cn") @ExcelProperty("合同url") - private String contractFileUrl; + private List contractFileUrl; @Schema(description = "建安费") @ExcelProperty("建安费") @@ -141,7 +143,7 @@ public class ContractSaveReqVO { @Schema(description = "审核文件url", example = "https://www.iocoder.cn") @ExcelProperty("审核文件url") - private String reviewFileUrl; + private List reviewFileUrl; @Schema(description = "最后编辑人") @ExcelProperty("最后编辑人") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java index d3675de12..138657e67 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java @@ -1,6 +1,5 @@ package cn.iocoder.yudao.module.cms.controller.admin.extContract; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractSaveReqVO; @@ -94,22 +93,4 @@ public class ExtContractController { BeanUtils.toBean(list, ExtContractRespVO.class)); } - @GetMapping("/get_process") - @Operation(summary = "查询流程") - @Parameter(name = "id", description = "外部合同id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult getContractProcess(@RequestParam("id") Long id) { - ContractProcessInstanceRespVO contractProcessInstance = extContractService.getContractProcess(id); - return success(contractProcessInstance); - } - - @GetMapping("/get_HistoryProcess") - @Operation(summary = "查询历史外部合同流程") - @Parameter(name = "projectId", description = "项目id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult> getHisContractProcess(@RequestParam("projectId") Long projectId) { - List historyContractProcess = extContractService.getHistoryContractProcess(projectId); - return success(historyContractProcess); - } - } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java index 1d03c5040..49ce9df15 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java @@ -6,12 +6,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -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.outscontract.vo.OutsContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractSaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.outscontract.OutsContractDO; import cn.iocoder.yudao.module.cms.service.outscontract.OutsContractService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -92,21 +89,4 @@ public class OutsContractController { ExcelUtils.write(response, "外包合同.xls", "数据", OutsContractRespVO.class, BeanUtils.toBean(list, OutsContractRespVO.class)); } - @GetMapping("/get_process") - @Operation(summary = "查询流程") - @Parameter(name = "id", description = "外包合同id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult getContractProcess(@RequestParam("id") Long id) { - ContractProcessInstanceRespVO contractProcessInstance = outsContractService.getContractProcess(id); - return success(contractProcessInstance); - } - - @GetMapping("/get_HistoryProcess") - @Operation(summary = "查询历史外包合同流程") - @Parameter(name = "projectId", description = "项目id", required = true) - @PreAuthorize("@ss.hasPermission('cms:contract:process')") - public CommonResult> getHisContractProcess(@RequestParam("projectId") Long projectId) { - List historyContractProcess = outsContractService.getHistoryContractProcess(projectId); - return success(historyContractProcess); - } } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDO.java index 91898727c..a85205882 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDO.java @@ -1,9 +1,11 @@ package cn.iocoder.yudao.module.cms.dal.dataobject.contract; +import cn.iocoder.yudao.framework.common.pojo.FileDTO; import lombok.*; import java.time.LocalDateTime; import java.math.BigDecimal; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDetailDO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDetailDO.java new file mode 100644 index 000000000..c19fb09d5 --- /dev/null +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/contract/ContractDetailDO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.cms.dal.dataobject.contract; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ContractDetailDO extends ContractDO { + /** + * 项目编号 + */ + private String code; + + /** + * 跟踪部门 + */ + private String trackingDep; + + /** + * 出图公司 + */ + private String drawingCompany; + /** + * 预计公司合同总金额 + */ + private BigDecimal expectedContractAmount; + /** + * 项目负责人 + */ + private String projectManager; + + /** + * 合同商议提示 + */ + private LocalDateTime reminderTime; + + +} diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/contract/ContractMapper.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/contract/ContractMapper.java index 1b5e5dd9b..720a50864 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/contract/ContractMapper.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/contract/ContractMapper.java @@ -17,15 +17,16 @@ public interface ContractMapper extends BaseMapperX { default PageResult selectPage(ContractPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(ContractDO::getName, reqVO.getName()) .eqIfPresent(ContractDO::getType, reqVO.getType()) + .eqIfPresent(ContractDO::getProjectId,reqVO.getProjectId()) .eqIfPresent(ContractDO::getProjectId, reqVO.getProjectId()) - .eqIfPresent(ContractDO::getProgress, reqVO.getProgress()) .eqIfPresent(ContractDO::getStatus, reqVO.getStatus()) .eqIfPresent(ContractDO::getCountType, reqVO.getCountType()) ); - } + + + } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/extContract/ExtContractMapper.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/extContract/ExtContractMapper.java index 16014016c..1df293240 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/extContract/ExtContractMapper.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/extContract/ExtContractMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractPa import cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 外部合同 Mapper * @@ -24,4 +26,10 @@ public interface ExtContractMapper extends BaseMapperX { .eqIfPresent(ExtContractDO::getContractId, reqVO.getContractId())); } + default List selectLocalDateTime(Long contractId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ExtContractDO::getContractId,contractId) + .orderByDesc(ExtContractDO::getReminderTime)); + } + } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java index f98431e87..8330d1402 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.service.contract; +import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDetailDO; import jakarta.validation.*; import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -52,19 +53,6 @@ public interface ContractService { */ PageResult getContractPage(ContractPageReqVO pageReqVO); - /** - * 通过id获得暂定结算金额 - * @param id 合同编号 - * @return - */ - BigDecimal getProvisionalSettlementById(Long id); - - /** - * 通过输入的合同获得暂定结算金额 - * @param contractSaveReqVO - * @return - */ - BigDecimal getProvisionalSettlement(ContractSaveReqVO contractSaveReqVO); /** * 判断合同是否存在 @@ -74,17 +62,12 @@ public interface ContractService { /** - * 查询流程 + * 得到合同detail信息 * @param id 合同id - */ - ContractProcessInstanceRespVO getContractProcess(Long id); - - /** - * 查询合同历史流程 - * @param projectId 项目id * @return */ - List getHistoryContractProcess(Long projectId); + ContractDetailDO getContractDetail(Long id); + diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java index f01724703..2eaa8cfae 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java @@ -1,15 +1,13 @@ package cn.iocoder.yudao.module.cms.service.contract; -import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; -import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; -import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceRespDTO; -import cn.iocoder.yudao.module.bpm.api.task.dto.BpmTaskRespDTO; -import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDO; +import cn.hutool.core.bean.BeanUtil; +import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDetailDO; import cn.iocoder.yudao.module.cms.dal.mysql.contract.ContractMapper; -import cn.iocoder.yudao.module.cms.dal.mysql.contractHistory.ContractHistoryMapper; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; +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; @@ -20,10 +18,8 @@ import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import java.math.BigDecimal; -import java.util.ArrayList; +import java.time.LocalDateTime; import java.util.List; -import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; @@ -38,130 +34,49 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_E @Validated public class ContractServiceImpl implements ContractService { - /** - * 合同立项审批流程定义 - */ - public static final String PROCESS_KEY = "contract_init"; - - /** - * 版本 - */ - public static String VERSION = "1"; - @Resource private ContractMapper contractMapper; - @Resource - private ProjectApi projectApi; - @Resource private AdminUserApi adminUserApi; @Resource - private BpmProcessInstanceApi processInstanceApi; + private ProjectScheduleApi projectScheduleApi; @Resource - private ContractHistoryMapper contractHistoryMapper; + private ProjectTrackingApi projectTrackingApi; + + @Resource + private ExtContractService extContractService; + @Override public Long createContract(Long loginUserId, ContractSaveReqVO createReqVO) { - if (loginUserId == null) { - throw exception(PARAM_NOT_EXISTS); - } - String userName = adminUserApi.getUser(loginUserId).getNickname(); if (userName == null) { throw exception(USER_NOT_EXISTS); } - - //校验,项目是否存在 Long projectId = createReqVO.getProjectId(); - projectApi.validProjectExist(projectId); - - //校验联表的字段是否和所联系的表内容相同 - ProjectRespDTO project = projectApi.getProject(projectId); - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); - //todo 待提取 - String code = createReqVO.getCode(); - String trackingDep = createReqVO.getTrackingDep(); - String projectManager = createReqVO.getProjectManager(); - String drawingCompany = createReqVO.getDrawingCompany(); - BigDecimal expectedContractAmount = createReqVO.getExpectedContractAmount(); - BigDecimal provisionalSettlement = createReqVO.getProvisionalSettlement(); - - //LocalDateTime reminderTime = createReqVO.getReminderTime(); - - if (!project.getCode().equals(code)) { - throw exception(PARAM_ERROR); - } - if (!projectDetail.getTrackingDepName().equals(trackingDep)) { - throw exception(PARAM_ERROR); - } - if (!projectDetail.getProjectManagerName().equals(projectManager)) { - throw exception(PARAM_ERROR); - } - if (!project.getDrawingCompany().equals(drawingCompany)) { - throw exception(PARAM_ERROR); - } - if (!Objects.equals(project.getContractAmount(), expectedContractAmount)) { - throw exception(PARAM_ERROR); - } - if (!Objects.equals(provisionalSettlement, getProvisionalSettlement(createReqVO))) { - throw exception(PARAM_ERROR); - } - - - ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class); - ContractRespVO contractResp = BeanUtils.toBean(contract, ContractRespVO.class); - contract.setCreator(userName); - contract.setUpdater(userName); - - - //判断该合同是否已经存在,比较各个字段值是否完全一样 - //得到所有的合同?逐个比较? - - - List contractList = contractMapper.selectList("project_id", projectId); - List respVOList = BeanUtils.toBean(contractList, ContractRespVO.class); - - for (ContractRespVO respVO : respVOList) { - if (respVO.equals(contractResp)) { + String name = createReqVO.getName(); + String trimName = name.trim(); + List projectList = contractMapper.selectList("project_id", projectId); + for (ContractDO contractDO : projectList) { + if (contractDO.getName().equals(trimName)){ throw exception(CONTRACT_ALREADY_EXISTS); } } + ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class); + + contract.setCreator(userName); + contract.setUpdater(userName); + contractMapper.insert(contract); - Long contractId = contract.getId(); - ContractHistoryDO contractHistory = BeanUtils.toBean(contract, ContractHistoryDO.class); - - - // 启动流程,同时写入历史合同 - if (createReqVO.getId() == null) { - String processInstanceId = processInstanceApi.createProcessInstance(loginUserId, - new BpmProcessInstanceCreateReqDTO() - .setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(contractId))); - - // 写入工作流编号 - contractHistory.setProcessInstanceId(processInstanceId); - contractHistory.setContractId(contractId); - - Long count = contractHistoryMapper.selectCount("project_id", projectId); - if (count < 1) { - contractHistory.setVersion(VERSION); - } else { - contractHistory.setVersion(String.valueOf(count + 1)); - } - - contractHistory.setProcessStatus("0"); - contractHistoryMapper.insert(contractHistory); - } - - //返回 return contract.getId(); } @@ -170,7 +85,7 @@ public class ContractServiceImpl implements ContractService { public void updateContract(Long loginUserId, ContractSaveReqVO updateReqVO) { //校验 validateContractExists(updateReqVO.getId()); - projectApi.validProjectExist(updateReqVO.getProjectId()); + projectTrackingApi.validateProjectExists(updateReqVO.getProjectId()); // 更新 ContractDO updateObj = BeanUtils.toBean(updateReqVO, ContractDO.class); String userName = adminUserApi.getUser(loginUserId).getNickname(); @@ -203,100 +118,25 @@ public class ContractServiceImpl implements ContractService { } Long projectId = contractDO.getProjectId(); - if (projectId == null) { throw exception(PROJECT_NOT_EXISTS); } + ProjectScheduleDetailDTO projectScheduleDetail = projectScheduleApi.getProjectScheduleDetail(projectId); + ContractRespVO contractRespVO = BeanUtils.toBean(contractDO, ContractRespVO.class); - -// 需要联表查询 -// 1.项目编号 pms_project 直接 √ -// 2.主控部门(跟踪部门) pms_project找到的是id 需要联表 √ -// 3.项目经理 pms_project找到的是id 需要联表 √ -// 4.出图公司 pms_project 直接 √ -// 5.预计合同金额 pms_project 直接 √ -// 6.合同商议提示 √ 外部合同表里 -// 7.暂定结算数 √ - - ProjectRespDTO project = projectApi.getProject(projectId); - contractRespVO.setCode(project.getCode()); - contractRespVO.setDrawingCompany(project.getDrawingCompany()); - contractRespVO.setExpectedContractAmount(project.getContractAmount()); - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); - contractRespVO.setTrackingDep(projectDetail.getTrackingDepName()); - contractRespVO.setProjectManager(projectDetail.getProjectManagerName()); - - //分包合同商议提示 TODO 待优化 -// ExtContractDO extContractDO = extContractMapper.selectOne("project_id", projectId); -// LocalDateTime reminderTime = extContractDO.getReminderTime(); - contractRespVO.setReminderTime(null); - - //暂定结算数 - BigDecimal provisionalSettlement = getProvisionalSettlementById(id); - contractRespVO.setProvisionalSettlement(provisionalSettlement); - + contractRespVO.setProjectManager(projectScheduleDetail.getProjectManager()); return contractRespVO; } @Override public PageResult getContractPage(ContractPageReqVO pageReqVO) { - //校验 - if (pageReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } - - Long projectId = pageReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } - PageResult contractDOPageResult = contractMapper.selectPage(pageReqVO); - List contractDOList = contractDOPageResult.getList(); - List contractRespVOList = new ArrayList<>(); - for (ContractDO contractDO : contractDOList) { - Long id = contractDO.getId(); - ContractRespVO contract = getContract(id); - contractRespVOList.add(contract); - } - PageResult pageResult = new PageResult<>(); - pageResult.setList(contractRespVOList); - return pageResult; + return null; } - @Override - public BigDecimal getProvisionalSettlementById(Long id) { - ContractDO contractDO = contractMapper.selectById(id); - String type = contractDO.getCountType(); - BigDecimal amount = contractDO.getAmount(); - BigDecimal bigDecimal = new BigDecimal(String.valueOf(amount)); - BigDecimal mul = new BigDecimal("0.85"); - BigDecimal res = null; - if ("费率合同".equals(type)) { - res = bigDecimal.multiply(mul); - } else if ("总价合同".equals(type)) { - res = amount; - } - return res; - } - - @Override - public BigDecimal getProvisionalSettlement(ContractSaveReqVO contractSaveReqVO) { - String type = contractSaveReqVO.getCountType(); - BigDecimal amount = contractSaveReqVO.getAmount(); - BigDecimal bigDecimal = new BigDecimal(String.valueOf(amount)); - BigDecimal mul = new BigDecimal("0.85"); - BigDecimal res = null; - if ("费率合同".equals(type)) { - res = bigDecimal.multiply(mul); - } else if ("总价合同".equals(type)) { - res = amount; - } - return res; - } @Override @@ -307,46 +147,27 @@ public class ContractServiceImpl implements ContractService { } @Override - public ContractProcessInstanceRespVO getContractProcess(Long id) { - validateContractExists(id); - //去历史里面找 - ContractHistoryDO contractHistory = contractHistoryMapper.selectOne("contract_id", id); - if (contractHistory == null) { + public ContractDetailDO getContractDetail(Long id) { + ContractDetailDO contractDetailDO = new ContractDetailDO(); + ContractDO contractDO = contractMapper.selectById(id); + //校验 + if (contractDO == null) { throw exception(CONTRACT_NOT_EXISTS); } - //拿到历史之后 找到process_instance_id 和 status - String processInstanceId = contractHistory.getProcessInstanceId(); - String processStatus = contractHistory.getProcessStatus(); - //与当前流程里的进行比较 - String status = String.valueOf(processInstanceApi.getProcessInstance(processInstanceId).getStatus()); + Long projectId = contractDO.getProjectId(); + projectTrackingApi.validateProjectExists(projectId); + ProjectScheduleDetailDTO projectScheduleDetail = projectScheduleApi.getProjectScheduleDetail(projectId); + ProjectTrackingDetailDTO projectTracking = projectTrackingApi.getProjectTracking(projectId); + LocalDateTime localDateTime = extContractService.getLocalDateTime(id); + contractDetailDO.setReminderTime(localDateTime); + BeanUtil.copyProperties(contractDO, contractDetailDO); + BeanUtil.copyProperties(projectTracking,contractDetailDO); + BeanUtil.copyProperties(projectScheduleDetail,contractDetailDO); - //如果不相等 - if (!status.equals(processStatus)){ - //更新当前合同对应历史表里面的状态 - contractHistory.setProcessStatus(status); - contractHistoryMapper.updateById(contractHistory); - } - //返回给前端必要的数据 当前流程里面对应的数据 - BpmProcessInstanceRespDTO processInstance = processInstanceApi.getProcessInstance(processInstanceId); - List tasks = processInstanceApi.getTask(processInstanceId); - List taskList = BeanUtils.toBean(tasks, BpmProcessInstanceRespDTO.Task.class); - processInstance.setTasks(taskList); - return BeanUtils.toBean(processInstance, ContractProcessInstanceRespVO.class); + return contractDetailDO; } - @Override - public List getHistoryContractProcess(Long projectId) { - List projectList = contractHistoryMapper.selectList("project_id", projectId); - List contractProcessInstanceRespVOList = new ArrayList<>(); - for (ContractHistoryDO contractHistoryDO : projectList) { - Long id = contractHistoryDO.getId(); - ContractProcessInstanceRespVO contractProcess = getContractProcess(id); - contractProcessInstanceRespVOList.add(contractProcess); - } - - return contractProcessInstanceRespVOList; - } } \ No newline at end of file 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 83100fe39..15689b866 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,12 +1,6 @@ package cn.iocoder.yudao.module.cms.service.contractHistory; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractRespVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import cn.iocoder.yudao.module.cms.enums.ContractStatusEnum; import cn.iocoder.yudao.module.cms.enums.ContractTypeEnum; -import cn.iocoder.yudao.module.cms.service.contract.ContractService; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -17,7 +11,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.cms.dal.mysql.contractHistory.ContractHistoryMapper; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -32,7 +25,7 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_E */ @Service @Validated -public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.service.contractHistory.ContractHistoryService { +public class ContractHistoryServiceImpl implements ContractHistoryService { @Resource private ContractHistoryMapper contractHistoryMapper; @@ -40,11 +33,6 @@ public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.s @Resource private AdminUserApi adminUserApi; - @Resource - private ProjectApi projectApi; - - @Resource - private ContractService contractService; @@ -57,10 +45,6 @@ public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.s throw exception(USER_NOT_EXISTS); } Long projectId = updateReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null){ - throw exception(PROJECT_NOT_EXISTS); - } // 更新 ContractHistoryDO updateObj = BeanUtils.toBean(updateReqVO, ContractHistoryDO.class); String userName = adminUserApi.getUser(loginUserId).getNickname(); @@ -97,14 +81,6 @@ public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.s // 6.分包合同商议提示 √ // 7.暂定结算数 √ - // TODO 枚举优化 - ProjectRespDTO project = projectApi.getProject(projectId); - contractHistoryRespVO.setCode(project.getCode()); - contractHistoryRespVO.setDrawingCompany(project.getDrawingCompany()); - contractHistoryRespVO.setExpectedContractAmount(project.getContractAmount()); - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); - contractHistoryRespVO.setTrackingDep(projectDetail.getTrackingDepName()); - contractHistoryRespVO.setProjectManager(projectDetail.getProjectManagerName()); contractHistoryRespVO.setType(ContractTypeEnum.getNoByCode(contractHistoryRespVO.getType())); contractHistoryRespVO.setStatus(ContractStatusEnum.getNoByCode(contractHistoryRespVO.getStatus())); @@ -117,8 +93,7 @@ public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.s contractHistoryRespVO.setReminderTime(null); //暂定结算数 - BigDecimal provisionalSettlement =contractService.getProvisionalSettlementById(id); - contractHistoryRespVO.setProvisionalSettlement(provisionalSettlement); + return contractHistoryRespVO; @@ -134,10 +109,6 @@ public class ContractHistoryServiceImpl implements cn.iocoder.yudao.module.cms.s } Long projectId = pageReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } PageResult contractHistoryDOPageResult = contractHistoryMapper.selectPage(pageReqVO); List pageResultList = contractHistoryDOPageResult.getList(); diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java index 320aca8ff..495fa9d78 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java @@ -1,14 +1,13 @@ package cn.iocoder.yudao.module.cms.service.extContract; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractSaveReqVO; import jakarta.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; /** @@ -57,31 +56,10 @@ public interface ExtContractService { PageResult getExtContractPage(ExtContractPageReqVO pageReqVO); /** - * 合同总金额 - * @param id 通过id计算 + * 得到合同商议时间 + * @param contractId 合同id * @return */ - BigDecimal getContractAmountById(Long id); - /** - * 合同总金额 - * @param createReqVO 通过对象计算 - * @return - */ - BigDecimal getContractAmount(ExtContractSaveReqVO createReqVO); - - - /** - * 查询流程 - * @param id 合同id - */ - ContractProcessInstanceRespVO getContractProcess(Long id); - - /** - * 查询历史外部合同流程 - * @param projectId 项目id - * @return - */ - List getHistoryContractProcess(Long projectId); - + LocalDateTime getLocalDateTime(Long contractId); } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java index ab34474ac..bd75f9b2b 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java @@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceRespDTO; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmTaskRespDTO; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractSaveReqVO; @@ -16,9 +15,6 @@ import cn.iocoder.yudao.module.cms.dal.mysql.extcontracthistory.ExtContractHisto import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum; import cn.iocoder.yudao.module.cms.enums.ContractStatusEnum; import cn.iocoder.yudao.module.cms.enums.ContractTypeEnum; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -27,9 +23,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; @@ -57,8 +53,6 @@ public class ExtContractServiceImpl implements ExtContractService { @Resource private ExtContractMapper extContractMapper; - @Resource - private ProjectApi projectApi; @Resource private CustomerCompanyMapper customerCompanyMapper; @@ -93,12 +87,6 @@ public class ExtContractServiceImpl implements ExtContractService { ExtContractDO extContract = BeanUtils.toBean(createReqVO, ExtContractDO.class); //校验 Long projectId = extContract.getProjectId(); - projectApi.validProjectExist(projectId); - - - //校验联表的字段是否和所联系的表内容相同 - ProjectRespDTO project = projectApi.getProject(projectId); - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); // 需要联表查询 // 1.项目编号 pms_project 直接 √ @@ -119,24 +107,6 @@ public class ExtContractServiceImpl implements ExtContractService { - if (!project.getCode().equals(code)){ - throw exception(PARAM_ERROR); - } - if (!projectDetail.getTrackingDepName().equals(trackingDep)){ - throw exception(PARAM_ERROR); - } - if (!projectDetail.getProjectManagerName().equals(projectManager)){ - throw exception(PARAM_ERROR); - } -// String name = customerCompanyMapper.selectById(createReqVO.getCustomerCompanyId()).getName(); -// if (!name.equals(customerCompanyName)){ -// throw exception(PARAM_ERROR); -// } - - if (!Objects.equals(amount, getContractAmount(createReqVO))){ - throw exception(PARAM_ERROR); - } - ExtContractDO extContractDO = BeanUtils.toBean(createReqVO, ExtContractDO.class); ExtContractRespVO contractRespVO = BeanUtils.toBean(extContractDO, ExtContractRespVO.class); @@ -198,7 +168,6 @@ public class ExtContractServiceImpl implements ExtContractService { } validateExtContractExists(updateReqVO.getId()); - projectApi.validProjectExist(updateReqVO.getProjectId()); String userName = adminUserApi.getUser(loginUserId).getNickname(); if (userName == null) { throw exception(USER_NOT_EXISTS); @@ -238,21 +207,11 @@ public class ExtContractServiceImpl implements ExtContractService { } Long projectId = extContractDO.getProjectId(); - if (projectApi.getProject(projectId) == null) { - throw exception(PROJECT_NOT_EXISTS); - } + //Long customerCompanyId = extContractDO.getCustomerCompanyId(); ExtContractRespVO extContractRespVO = BeanUtils.toBean(extContractDO, ExtContractRespVO.class); - - ProjectRespDTO project = projectApi.getProject(projectId); - extContractRespVO.setCode(project.getCode()); - - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); - extContractRespVO.setTrackingDep(projectDetail.getTrackingDepName()); - extContractRespVO.setProjectManager(projectDetail.getProjectManagerName()); - //用客户公司id查询 //CustomerCompanyDO customerCompanyDO = customerCompanyMapper.selectById(customerCompanyId); //String name = customerCompanyDO.getName(); @@ -261,8 +220,6 @@ public class ExtContractServiceImpl implements ExtContractService { //合同总金额 - BigDecimal contractAmount = getContractAmountById(id); - extContractRespVO.setAmount(contractAmount); //合同商议提示 // TODO 待优化 extContractRespVO.setExReminderTime(null); @@ -299,69 +256,9 @@ public class ExtContractServiceImpl implements ExtContractService { } @Override - public BigDecimal getContractAmountById(Long id) { - //前期+设计+地勘+其他+检测 - ExtContractDO extContract = extContractMapper.selectById(id); - BigDecimal preAmount = new BigDecimal(String.valueOf(extContract.getPreAmount())); - BigDecimal designFee = new BigDecimal(String.valueOf(extContract.getDesignFee())); - BigDecimal surveyFees = new BigDecimal(String.valueOf(extContract.getSurveyFees())); - BigDecimal testingFee = new BigDecimal(String.valueOf(extContract.getTestingFee())); - //BigDecimal other = new BigDecimal(extContract.getOtherFee()); - //return preAmount.add(designFee).add(surveyFees).add(testingFee).add(other); - return null; - } - - @Override - public BigDecimal getContractAmount(ExtContractSaveReqVO extContractSaveReqVO) { - //前期+设计+地勘+其他+检测 - BigDecimal preAmount = new BigDecimal(String.valueOf(extContractSaveReqVO.getPreAmount())); - BigDecimal designFee = new BigDecimal(String.valueOf(extContractSaveReqVO.getDesignFee())); - BigDecimal surveyFees = new BigDecimal(String.valueOf(extContractSaveReqVO.getSurveyFees())); - BigDecimal testingFee = new BigDecimal(String.valueOf(extContractSaveReqVO.getTestingFee())); - //BigDecimal other = new BigDecimal(extContractSaveReqVO.getOtherFee()); - return null; - } - - @Override - public ContractProcessInstanceRespVO getContractProcess(Long id) { - validateExtContractExists(id); - //去历史里面找 - ExtContractHistoryDO extContractHistoryDO = extContractHistoryMapper.selectOne("ext_contract_id", id); - if (extContractHistoryDO == null) { - throw exception(CONTRACT_NOT_EXISTS); - } - //拿到历史之后 找到process_instance_id 和 status - String processInstanceId = extContractHistoryDO.getProcessInstanceId(); - String processStatus = extContractHistoryDO.getProcessStatus(); - //与当前流程里的进行比较 - String status = String.valueOf(processInstanceApi.getProcessInstance(processInstanceId).getStatus()); - - //如果不相等 - if (!status.equals(processStatus)){ - //更新当前合同对应历史表里面的状态 - extContractHistoryDO.setProcessStatus(status); - extContractHistoryMapper.updateById(extContractHistoryDO); - } - //返回给前端必要的数据 当前流程里面对应的数据 - BpmProcessInstanceRespDTO processInstance = processInstanceApi.getProcessInstance(processInstanceId); - List tasks = processInstanceApi.getTask(processInstanceId); - List taskList = BeanUtils.toBean(tasks, BpmProcessInstanceRespDTO.Task.class); - processInstance.setTasks(taskList); - - return BeanUtils.toBean(processInstance, ContractProcessInstanceRespVO.class); - } - - @Override - public List getHistoryContractProcess(Long projectId) { - List contractHistoryList = extContractHistoryMapper.selectList("project_id", projectId); - List contractProcessInstanceRespVOList = new ArrayList<>(); - for (ExtContractHistoryDO contractHistory : contractHistoryList) { - Long id = contractHistory.getId(); - ContractProcessInstanceRespVO contractProcess = getContractProcess(id); - contractProcessInstanceRespVOList.add(contractProcess); - } - - return contractProcessInstanceRespVOList; + public LocalDateTime getLocalDateTime(Long contractId) { + List extContractDOS = extContractMapper.selectLocalDateTime(contractId); + return extContractDOS.get(0).getReminderTime(); } 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 a0279df8a..ad8896d20 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 @@ -1,20 +1,11 @@ package cn.iocoder.yudao.module.cms.service.extcontracthistory; -import cn.iocoder.yudao.module.cms.dal.dataobject.customerCompany.CustomerCompanyDO; -import cn.iocoder.yudao.module.cms.dal.mysql.customerCompany.CustomerCompanyMapper; -import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum; -import cn.iocoder.yudao.module.cms.enums.ContractStatusEnum; -import cn.iocoder.yudao.module.cms.enums.ContractTypeEnum; import cn.iocoder.yudao.module.cms.service.extContract.ExtContractService; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -41,14 +32,10 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService @Resource private ExtContractHistoryMapper extContractHistoryMapper; - @Resource - private ProjectApi projectApi; - @Resource private AdminUserApi adminUserApi; - @Resource - private CustomerCompanyMapper customerCompanyMapper; + @Resource private ExtContractService extContractService; @@ -61,7 +48,6 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService } validateExtContractHistoryExists(updateReqVO.getId()); - projectApi.validProjectExist(updateReqVO.getProjectId()); String userName = adminUserApi.getUser(loginUserId).getNickname(); if (userName == null) { throw exception(USER_NOT_EXISTS); @@ -88,43 +74,10 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService } Long projectId = extContractHistoryDO.getProjectId(); - if (projectApi.getProject(projectId) == null) { - throw exception(PROJECT_NOT_EXISTS); - } - - Long customerCompanyId = extContractHistoryDO.getCustomerCompanyId(); - ExtContractHistoryRespVO HistoryResp = BeanUtils.toBean(extContractHistoryDO, ExtContractHistoryRespVO.class); - ProjectRespDTO project = projectApi.getProject(projectId); - HistoryResp.setCode(project.getCode()); - ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId); - HistoryResp.setTrackingDep(projectDetail.getTrackingDepName()); - HistoryResp.setProjectManager(projectDetail.getProjectManagerName()); - - //用客户公司id查询 - CustomerCompanyDO customerCompanyDO = customerCompanyMapper.selectById(customerCompanyId); - String name = customerCompanyDO.getName(); - HistoryResp.setCustomerCompanyName(name); - // TODO 枚举优化 - - //合同总金额 - - BigDecimal contractAmount = extContractService.getContractAmountById(id); - HistoryResp.setAmount(contractAmount); - - //合同商议提示 // TODO 待优化 - HistoryResp.setExReminderTime(null); - - HistoryResp.setType(ContractTypeEnum.getNoByCode(HistoryResp.getType())); - HistoryResp.setStatus(ContractStatusEnum.getNoByCode(HistoryResp.getStatus())); - HistoryResp.setCountType(ContractStatusEnum.getNoByCode(HistoryResp.getCountType())); - HistoryResp.setSource(ContractStatusEnum.getNoByCode(HistoryResp.getSource())); - HistoryResp.setChargingStandard(ChargingStandardEnum.getNoByCode(HistoryResp.getChargingStandard())); - - - return HistoryResp; + return null; } @Override @@ -134,12 +87,6 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService throw exception(PARAM_NOT_EXISTS); } - Long projectId = pageReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } - PageResult extContractHistoryPageResult = extContractHistoryMapper.selectPage(pageReqVO); List pageResultList = extContractHistoryPageResult.getList(); List contractHistoryRespVOS = new ArrayList<>(); diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java index 9c3206044..3cd3c20cc 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.cms.service.outscontract; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractProcessInstanceRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractSaveReqVO; @@ -54,19 +53,5 @@ public interface OutsContractService { */ PageResult getOutsContractPage(OutsContractPageReqVO pageReqVO); - /** - * 查询流程 - * @param id 合同id - */ - ContractProcessInstanceRespVO getContractProcess(Long id); - - /** - * 查询历史外包合同流程 - * @param projectId 项目id - * @return - */ - List getHistoryContractProcess(Long projectId); - - } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java index 82d689002..301beadd6 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java @@ -4,9 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; -import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceRespDTO; -import cn.iocoder.yudao.module.bpm.api.task.dto.BpmTaskRespDTO; -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.outscontract.vo.OutsContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractRespVO; @@ -17,8 +14,6 @@ import cn.iocoder.yudao.module.cms.dal.mysql.outscontract.OutsContractMapper; import cn.iocoder.yudao.module.cms.dal.mysql.outscontracthistory.OutsContractHistoryMapper; import cn.iocoder.yudao.module.cms.enums.*; import cn.iocoder.yudao.module.cms.service.contract.ContractService; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -57,9 +52,6 @@ public class OutsContractServiceImpl implements OutsContractService { @Resource private ContractService contractService; - @Resource - private ProjectApi projectApi; - @Resource private AdminUserApi adminUserApi; @@ -87,7 +79,6 @@ public class OutsContractServiceImpl implements OutsContractService { OutsContractDO outsContractDO = BeanUtils.toBean(createReqVO, OutsContractDO.class); //校验 Long projectId = outsContractDO.getProjectId(); - projectApi.validProjectExist(projectId); //校验联表的字段是否和所联系的表内容相同 @@ -236,11 +227,6 @@ public class OutsContractServiceImpl implements OutsContractService { throw exception(PARAM_NOT_EXISTS); } - Long projectId = pageReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } PageResult outsContractDOPageResult = outsContractMapper.selectPage(pageReqVO); List outsContractDOList = outsContractDOPageResult.getList(); @@ -258,48 +244,6 @@ public class OutsContractServiceImpl implements OutsContractService { return pageResult; } - @Override - public ContractProcessInstanceRespVO getContractProcess(Long id) { - validateOutsContractExists(id); - //去历史里面找 - OutsContractHistoryDO outsContractHistory = outsContractHistoryMapper.selectOne("outs_contract_id", id); - if (outsContractHistory == null) { - throw exception(CONTRACT_NOT_EXISTS); - } - //拿到历史之后 找到process_instance_id 和 status - String processInstanceId = outsContractHistory.getProcessInstanceId(); - String processStatus = outsContractHistory.getProcessStatus(); - //与当前流程里的进行比较 - String status = String.valueOf(processInstanceApi.getProcessInstance(processInstanceId).getStatus()); - - //如果不相等 - if (!status.equals(processStatus)){ - //更新当前合同对应历史表里面的状态 - outsContractHistory.setProcessStatus(status); - outsContractHistoryMapper.updateById(outsContractHistory); - } - //返回给前端必要的数据 当前流程里面对应的数据 - BpmProcessInstanceRespDTO processInstance = processInstanceApi.getProcessInstance(processInstanceId); - List tasks = processInstanceApi.getTask(processInstanceId); - List taskList = BeanUtils.toBean(tasks, BpmProcessInstanceRespDTO.Task.class); - processInstance.setTasks(taskList); - - return BeanUtils.toBean(processInstance, ContractProcessInstanceRespVO.class); - } - - @Override - public List getHistoryContractProcess(Long projectId) { - List outsContracts= outsContractHistoryMapper.selectList("project_id", projectId); - List contractProcessInstanceRespVOList = new ArrayList<>(); - for (OutsContractHistoryDO outsContract : outsContracts) { - Long id = outsContract.getId(); - ContractProcessInstanceRespVO contractProcess = getContractProcess(id); - contractProcessInstanceRespVOList.add(contractProcess); - } - - return contractProcessInstanceRespVOList; - } - private void validateOutsContractExists(Long id) { if (outsContractMapper.selectById(id) == null) { diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java index 9923a2ddf..5d0095cfc 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java @@ -11,8 +11,6 @@ import cn.iocoder.yudao.module.cms.dal.mysql.outscontracthistory.OutsContractHis import cn.iocoder.yudao.module.cms.enums.CountTypeEnum; import cn.iocoder.yudao.module.cms.enums.OutsContractMajorEnum; import cn.iocoder.yudao.module.cms.service.contract.ContractService; -import cn.iocoder.yudao.module.pms.api.project.ProjectApi; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -22,7 +20,6 @@ import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.PROJECT_NOT_EXISTS; /** * 外包合同历史 Service 实现类 @@ -36,8 +33,6 @@ public class OutsContractHistoryServiceImpl implements OutsContractHistoryServic @Resource private OutsContractHistoryMapper outsContractHistoryMapper; - @Resource - private ProjectApi projectApi; @Resource private ContractService contractService; @@ -85,11 +80,6 @@ public class OutsContractHistoryServiceImpl implements OutsContractHistoryServic throw exception(PARAM_NOT_EXISTS); } - Long projectId = pageReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } PageResult outsContractHistoryPage = outsContractHistoryMapper.selectPage(pageReqVO); List outsContractDOList = outsContractHistoryPage.getList(); diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectApi.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectApi.java deleted file mode 100644 index aa9eeebe0..000000000 --- a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.iocoder.yudao.module.pms.api.project; - -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; - -public interface ProjectApi { - /** - * 获得项目部分信息 - */ - ProjectRespDTO getProject(Long projectId); - - /** - * 获得项目detail信息 - */ - ProjectDetailRespDTO getProjectDetailById(Long projectId); - - /** - * 判断项目是否存在 - * @param projectId - */ - void validProjectExist(Long projectId); - -} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectDetailRespDTO.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectDetailRespDTO.java deleted file mode 100644 index ac40a11f1..000000000 --- a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectDetailRespDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.iocoder.yudao.module.pms.api.project.dto; - -import lombok.Data; - -@Data -public class ProjectDetailRespDTO { - - /** - * 跟踪部门 - */ - private String trackingDepName; - /** - * 项目经理 - */ - private String projectManagerName; - - /** - * 客户公司 - */ - private String customerCompanyName; - - -} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectRespDTO.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectRespDTO.java deleted file mode 100644 index e9a96a1ca..000000000 --- a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/project/dto/ProjectRespDTO.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.iocoder.yudao.module.pms.api.project.dto; - -import lombok.Data; - -import java.math.BigDecimal; - -/** - * 项目基本信息 dto - */ -@Data -public class ProjectRespDTO{ - - - /** - * 项目编号 - */ - private String code; - - /** - * 出图公司 - */ - private String drawingCompany; - - /** - * 跟踪部门id - */ - private Long trackingDepId; - - /** - * 客户公司id - */ - private Long customerCompanyId; - - /** - * 项目经理id - */ - private Long projectManagerId; - - /** - * 预计合同金额 - */ - private BigDecimal contractAmount; - - - -} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleApi.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleApi.java new file mode 100644 index 000000000..904fdcdf0 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleApi.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.pms.api.projectschedule; + +import cn.iocoder.yudao.module.pms.api.projectschedule.dto.ProjectScheduleDetailDTO; + +public interface ProjectScheduleApi { + + /** + * 获得项目进度信息 + * @param projectId 项目id + * @return + */ + ProjectScheduleDetailDTO getProjectScheduleDetail(Long projectId); + + +} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/dto/ProjectScheduleDetailDTO.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/dto/ProjectScheduleDetailDTO.java new file mode 100644 index 000000000..c3b16a223 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/dto/ProjectScheduleDetailDTO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.pms.api.projectschedule.dto; + +import lombok.Data; + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ProjectScheduleDetailDTO { + + /** + * 项目负责人 + */ + private String projectManager; + +} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingApi.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingApi.java new file mode 100644 index 000000000..e58440cc2 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingApi.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.pms.api.projecttracking; + +import cn.iocoder.yudao.module.pms.api.projecttracking.dto.ProjectTrackingDetailDTO; + +public interface ProjectTrackingApi { + + /** + * 得到项目跟踪信息 + * @param projectId 项目id + * @return + */ + ProjectTrackingDetailDTO getProjectTracking(Long projectId); + + /** + * 判断项目是否存在 + * @param id + */ + void validateProjectExists(Long id); + + +} diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/dto/ProjectTrackingDetailDTO.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/dto/ProjectTrackingDetailDTO.java new file mode 100644 index 000000000..c38ba7ba4 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/dto/ProjectTrackingDetailDTO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.pms.api.projecttracking.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ProjectTrackingDetailDTO { + + /** + * 项目编号 + */ + private String code; + + /** + * 跟踪部门 + */ + private String trackingDep; + + + /** + * 出图公司 + */ + private String drawingCompany; + + /** + * 预计公司合同总金额 + */ + private BigDecimal expectedContractAmount; + +} diff --git a/yudao-module-pms/yudao-module-pms-biz/pom.xml b/yudao-module-pms/yudao-module-pms-biz/pom.xml index 66f320263..efce8f53b 100644 --- a/yudao-module-pms/yudao-module-pms-biz/pom.xml +++ b/yudao-module-pms/yudao-module-pms-biz/pom.xml @@ -63,12 +63,8 @@ cn.iocoder.boot yudao-spring-boot-starter-excel - - cn.iocoder.boot - yudao-module-cms-biz - 2.1.0-snapshot - compile - + + diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java deleted file mode 100644 index 66c159bca..000000000 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.iocoder.yudao.module.pms.api.project; - -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; -import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; -import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDO; -import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDetailDO; -import cn.iocoder.yudao.module.pms.dal.mysql.project.ProjectMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstants.PROJECT_NOT_EXISTS; - -@Service -@Validated -public class ProjectImpl implements ProjectApi { - - - @Resource - private ProjectMapper projectMapper; - - - @Override - public ProjectRespDTO getProject(Long projectId) { - ProjectDO projectDO = projectMapper.selectById(projectId); - return BeanUtils.toBean(projectDO, ProjectRespDTO.class); - } - - @Override - public ProjectDetailRespDTO getProjectDetailById(Long projectId) { - ProjectDetailDO projectMapperDetail = projectMapper.getDetailById(projectId); - return BeanUtils.toBean(projectMapperDetail, ProjectDetailRespDTO.class); - } - - @Override - public void validProjectExist(Long projectId) { - if (projectMapper.selectById(projectId) == null) { - throw exception(PROJECT_NOT_EXISTS); - } - } - -} diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleImpl.java new file mode 100644 index 000000000..3a60219fe --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projectschedule/ProjectScheduleImpl.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.pms.api.projectschedule; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.pms.api.projectschedule.dto.ProjectScheduleDetailDTO; +import cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule.ProjectScheduleDO; +import cn.iocoder.yudao.module.pms.service.projectschedule.ProjectScheduleService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + + + +@Service +@Validated +public class ProjectScheduleImpl implements ProjectScheduleApi { + + + @Resource + private ProjectScheduleService projectScheduleService; + + @Override + public ProjectScheduleDetailDTO getProjectScheduleDetail(Long projectId) { + ProjectScheduleDO projectScheduleDetail = projectScheduleService.getProjectScheduleDetail(projectId); + return BeanUtils.toBean(projectScheduleDetail, ProjectScheduleDetailDTO.class); + } + + +} diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingImpl.java new file mode 100644 index 000000000..f546b62e9 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/projecttracking/ProjectTrackingImpl.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.pms.api.projecttracking; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.pms.api.projecttracking.dto.ProjectTrackingDetailDTO; +import cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking.ProjectTrackingDetailDO; +import cn.iocoder.yudao.module.pms.service.projecttracking.ProjectTrackingService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + + +@Service +@Validated +public class ProjectTrackingImpl implements ProjectTrackingApi { + + @Resource + private ProjectTrackingService projectTrackingService; + + @Override + public ProjectTrackingDetailDTO getProjectTracking(Long id) { + ProjectTrackingDetailDO projectTrackingDetail = projectTrackingService.getProjectTrackingDetail(id); + return BeanUtils.toBean(projectTrackingDetail, ProjectTrackingDetailDTO.class); + } + + @Override + public void validateProjectExists(Long id) { + projectTrackingService.validateProjectExists(id); + } + +} diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectSchedulePageReqVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectSchedulePageReqVO.java index 9ca7d1d36..e18551231 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectSchedulePageReqVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectSchedulePageReqVO.java @@ -20,7 +20,7 @@ public class ProjectSchedulePageReqVO extends PageParam { private Long projectId; @Schema(description = "项目负责人") - private String projectLeader; + private String projectManager; @Schema(description = "主专业") private String major; diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleRespVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleRespVO.java index 2f1a3daa3..80313a09c 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleRespVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleRespVO.java @@ -23,7 +23,7 @@ public class ProjectScheduleRespVO { @Schema(description = "项目负责人", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("项目负责人") - private String projectLeader; + private String projectManager; @Schema(description = "主专业", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("主专业") diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleSaveReqVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleSaveReqVO.java index dd1226c6e..4c94311b2 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleSaveReqVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projectschedule/vo/ProjectScheduleSaveReqVO.java @@ -20,11 +20,9 @@ public class ProjectScheduleSaveReqVO { private Long projectId; @Schema(description = "项目负责人", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "项目负责人不能为空") - private String projectLeader; + private String projectManager; @Schema(description = "主专业", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "主专业不能为空") private String major; @Schema(description = "其他专业") @@ -34,34 +32,27 @@ public class ProjectScheduleSaveReqVO { private String minorUserIds; @Schema(description = "规模", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "规模不能为空") private String scale; @Schema(description = "项目概况", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "项目概况不能为空") private String survey; @Schema(description = "相关批复文件url", example = "https://www.iocoder.cn") private String replyFileUrl; @Schema(description = "当前阶段", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "当前阶段不能为空") private String stage; @Schema(description = "已完成的项目阶段", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "已完成的项目阶段不能为空") private String preStage; @Schema(description = "工作进展", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "工作进展不能为空") private String progress; @Schema(description = "外部合同商议时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "外部合同商议时间不能为空") private LocalDateTime contractNegotiationTime; @Schema(description = "已完成百分比", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "已完成百分比不能为空") private BigDecimal completed; @Schema(description = "截至本月累计完成百分比") @@ -91,26 +82,4 @@ public class ProjectScheduleSaveReqVO { @Schema(description = "最后编辑人") private String finalEditor; - @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "创建人不能为空") - private String creator; - - @Schema(description = "创建时间") - private LocalDateTime createTime; - - @Schema(description = "更新人", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "更新人不能为空") - private String updator; - - @Schema(description = "更新时间") - private LocalDateTime updateTime; - - @Schema(description = "是否删除", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否删除不能为空") - private Boolean deleted; - - @Schema(description = "租户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "租户id不能为空") - private Long tenantId; - } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingPageReqVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingPageReqVO.java index 36f648ee1..7eed57682 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingPageReqVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingPageReqVO.java @@ -38,16 +38,16 @@ public class ProjectTrackingPageReqVO extends PageParam { private BigDecimal projectAmount; @Schema(description = "预计公司合同总金额") - private BigDecimal companyContractAmount; + private BigDecimal expectedContractAmount; @Schema(description = "有效合同额") private BigDecimal effectiveContractAmount; @Schema(description = "建设方") - private BigDecimal constructionSide; + private String constructionSide; @Schema(description = "发包人") - private BigDecimal lettingPartyPeople; + private String drawingCompany; @Schema(description = "客户联系人") private String customerUser; diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingRespVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingRespVO.java index 999b3aaf4..11fa5b2ca 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingRespVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingRespVO.java @@ -50,7 +50,7 @@ public class ProjectTrackingRespVO { @Schema(description = "预计公司合同总金额") @ExcelProperty("预计公司合同总金额") - private BigDecimal companyContractAmount; + private BigDecimal expectedContractAmount; @Schema(description = "有效合同额") @ExcelProperty("有效合同额") @@ -58,11 +58,11 @@ public class ProjectTrackingRespVO { @Schema(description = "建设方") @ExcelProperty("建设方") - private BigDecimal constructionSide; + private String constructionSide; @Schema(description = "发包人") @ExcelProperty("发包人") - private BigDecimal lettingPartyPeople; + private BigDecimal drawingCompany; @Schema(description = "客户联系人") @ExcelProperty("客户联系人") diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingSaveReqVO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingSaveReqVO.java index 350e79d1e..6e8bb2a50 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingSaveReqVO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/projecttracking/vo/ProjectTrackingSaveReqVO.java @@ -2,10 +2,8 @@ package cn.iocoder.yudao.module.pms.controller.admin.projecttracking.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; import jakarta.validation.constraints.*; import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @Schema(description = "管理后台 - 项目跟踪信息新增/修改 Request VO") @@ -38,16 +36,16 @@ public class ProjectTrackingSaveReqVO { private BigDecimal projectAmount; @Schema(description = "预计公司合同总金额") - private BigDecimal companyContractAmount; + private BigDecimal expectedContractAmount; @Schema(description = "有效合同额") private BigDecimal effectiveContractAmount; @Schema(description = "建设方") - private BigDecimal constructionSide; + private String constructionSide; @Schema(description = "发包人") - private BigDecimal lettingPartyPeople; + private String drawingCompany; @Schema(description = "客户联系人") private String customerUser; diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDO.java index 103e197fa..d4c56590d 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDO.java @@ -1,17 +1,10 @@ package cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule; import lombok.*; -import java.util.*; + import java.time.LocalDateTime; import java.math.BigDecimal; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; + import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; @@ -42,7 +35,7 @@ public class ProjectScheduleDO extends BaseDO { /** * 项目负责人 */ - private String projectLeader; + private String projectManager; /** * 主专业 */ @@ -123,9 +116,5 @@ public class ProjectScheduleDO extends BaseDO { * 最后编辑人 */ private String finalEditor; - /** - * 更新人 - */ - private String updator; } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDetailDO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDetailDO.java new file mode 100644 index 000000000..0c16718e0 --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projectschedule/ProjectScheduleDetailDO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule; + +import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDO; +import lombok.Data; + + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ProjectScheduleDetailDO extends ProjectDO { + + /** + * 项目负责人 + */ + private String projectManager; + +} diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDO.java index c2cf28f89..13f65bcfd 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDO.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDO.java @@ -72,7 +72,7 @@ public class ProjectTrackingDO extends BaseDO { /** * 预计公司合同总金额 */ - private BigDecimal companyContractAmount; + private BigDecimal expectedContractAmount; /** * 有效合同额 */ @@ -80,11 +80,11 @@ public class ProjectTrackingDO extends BaseDO { /** * 建设方 */ - private BigDecimal constructionSide; + private String constructionSide; /** * 发包人 */ - private BigDecimal lettingPartyPeople; + private String drawingCompany; /** * 客户联系人 */ diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDetailDO.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDetailDO.java new file mode 100644 index 000000000..abaa87bea --- /dev/null +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/projecttracking/ProjectTrackingDetailDO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking; + +import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDO; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ProjectTrackingDetailDO extends ProjectDO { + + + + /** + * 项目编号 + */ + private String code; + + /** + * 跟踪部门 + */ + private String trackingDep; + + + /** + * 出图公司 + */ + private String drawingCompany; + + /** + * 预计公司合同总金额 + */ + private BigDecimal expectedContractAmount; + +} diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projectschedule/ProjectScheduleMapper.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projectschedule/ProjectScheduleMapper.java index 864b5fe62..e58405f85 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projectschedule/ProjectScheduleMapper.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projectschedule/ProjectScheduleMapper.java @@ -8,6 +8,8 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule.ProjectSchedul import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.pms.controller.admin.projectschedule.vo.*; +import java.util.List; + /** * 项目进度管理 Mapper * @@ -19,7 +21,6 @@ public interface ProjectScheduleMapper extends BaseMapperX { default PageResult selectPage(ProjectSchedulePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ProjectScheduleDO::getProjectId, reqVO.getProjectId()) - .eqIfPresent(ProjectScheduleDO::getProjectLeader, reqVO.getProjectLeader()) .eqIfPresent(ProjectScheduleDO::getMajor, reqVO.getMajor()) .eqIfPresent(ProjectScheduleDO::getMinorMajors, reqVO.getMinorMajors()) .eqIfPresent(ProjectScheduleDO::getMinorUserIds, reqVO.getMinorUserIds()) @@ -29,23 +30,17 @@ public interface ProjectScheduleMapper extends BaseMapperX { .eqIfPresent(ProjectScheduleDO::getStage, reqVO.getStage()) .eqIfPresent(ProjectScheduleDO::getPreStage, reqVO.getPreStage()) .eqIfPresent(ProjectScheduleDO::getProgress, reqVO.getProgress()) - .betweenIfPresent(ProjectScheduleDO::getContractNegotiationTime, reqVO.getContractNegotiationTime()) .eqIfPresent(ProjectScheduleDO::getCompleted, reqVO.getCompleted()) .eqIfPresent(ProjectScheduleDO::getAccumulatedCompletion, reqVO.getAccumulatedCompletion()) .eqIfPresent(ProjectScheduleDO::getNewlyIncreasedCompletion, reqVO.getNewlyIncreasedCompletion()) .eqIfPresent(ProjectScheduleDO::getFinishOutput, reqVO.getFinishOutput()) - .eqIfPresent(ProjectScheduleDO::getNewlyIncreasedOutput, reqVO.getNewlyIncreasedOutput()) - .eqIfPresent(ProjectScheduleDO::getAccumulatedOutput, reqVO.getAccumulatedOutput()) - .betweenIfPresent(ProjectScheduleDO::getCompletionTime, reqVO.getCompletionTime()) - .eqIfPresent(ProjectScheduleDO::getChoose, reqVO.getChoose()) - .eqIfPresent(ProjectScheduleDO::getCompletionFileUrl, reqVO.getCompletionFileUrl()) - .eqIfPresent(ProjectScheduleDO::getFinalEditor, reqVO.getFinalEditor()) - .eqIfPresent(ProjectScheduleDO::getCreator, reqVO.getCreator()) - .betweenIfPresent(ProjectScheduleDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(ProjectScheduleDO::getUpdator, reqVO.getUpdator()) - .betweenIfPresent(ProjectScheduleDO::getUpdateTime, reqVO.getUpdateTime()) - .eqIfPresent(ProjectScheduleDO::getDeleted, reqVO.getDeleted()) .orderByDesc(ProjectScheduleDO::getId)); } + default List selectOneManager(Long projectId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProjectScheduleDO::getProjectId,projectId) + .orderByDesc(ProjectScheduleDO::getCreateTime)); + } + } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projecttracking/ProjectTrackingMapper.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projecttracking/ProjectTrackingMapper.java index f3e3670d6..1ea0349aa 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projecttracking/ProjectTrackingMapper.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/projecttracking/ProjectTrackingMapper.java @@ -4,10 +4,13 @@ package cn.iocoder.yudao.module.pms.dal.mysql.projecttracking; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule.ProjectScheduleDO; import cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking.ProjectTrackingDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.pms.controller.admin.projecttracking.vo.*; +import java.util.List; + /** * 项目跟踪信息 Mapper * @@ -25,10 +28,8 @@ public interface ProjectTrackingMapper extends BaseMapperX { .eqIfPresent(ProjectTrackingDO::getCity, reqVO.getCity()) .eqIfPresent(ProjectTrackingDO::getProjectOverview, reqVO.getProjectOverview()) .eqIfPresent(ProjectTrackingDO::getProjectAmount, reqVO.getProjectAmount()) - .eqIfPresent(ProjectTrackingDO::getCompanyContractAmount, reqVO.getCompanyContractAmount()) .eqIfPresent(ProjectTrackingDO::getEffectiveContractAmount, reqVO.getEffectiveContractAmount()) .eqIfPresent(ProjectTrackingDO::getConstructionSide, reqVO.getConstructionSide()) - .eqIfPresent(ProjectTrackingDO::getLettingPartyPeople, reqVO.getLettingPartyPeople()) .eqIfPresent(ProjectTrackingDO::getCustomerUser, reqVO.getCustomerUser()) .eqIfPresent(ProjectTrackingDO::getCustomerPhone, reqVO.getCustomerPhone()) .eqIfPresent(ProjectTrackingDO::getCooperationCompany, reqVO.getCooperationCompany()) diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleService.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleService.java index 9a871b573..1482f0029 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleService.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleService.java @@ -50,4 +50,13 @@ public interface ProjectScheduleService { */ PageResult getProjectSchedulePage(ProjectSchedulePageReqVO pageReqVO); + /** + * 获得项目进度信息 + * @param projectId 项目id + * @return + */ + ProjectScheduleDO getProjectScheduleDetail(Long projectId); + + + } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleServiceImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleServiceImpl.java index 41093d74f..0314fa3f1 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleServiceImpl.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projectschedule/ProjectScheduleServiceImpl.java @@ -11,6 +11,8 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.pms.dal.mysql.projectschedule.ProjectScheduleMapper; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstants.*; @@ -68,4 +70,16 @@ public class ProjectScheduleServiceImpl implements ProjectScheduleService { return projectScheduleMapper.selectPage(pageReqVO); } + @Override + public ProjectScheduleDO getProjectScheduleDetail(Long projectId) { + List projectScheduleDOS = projectScheduleMapper.selectOneManager(projectId); + if (projectScheduleDOS == null || projectScheduleDOS.isEmpty()) { + throw exception(PROJECT_SCHEDULE_NOT_EXISTS); + } + + return projectScheduleDOS.get(0); + } + + + } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingService.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingService.java index 2b2541ae5..56b5d88d6 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingService.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingService.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.pms.service.projecttracking; import java.util.*; + +import cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking.ProjectTrackingDetailDO; import jakarta.validation.*; import cn.iocoder.yudao.module.pms.controller.admin.projecttracking.vo.*; import cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking.ProjectTrackingDO; @@ -52,4 +54,17 @@ public interface ProjectTrackingService { */ PageResult getProjectTrackingPage(ProjectTrackingPageReqVO pageReqVO); + /** + * 判断项目是否存在 + * @param id + */ + void validateProjectExists(Long id); + + /** + * 获得项目跟踪基础信息 + * @param id 项目id + * @return + */ + ProjectTrackingDetailDO getProjectTrackingDetail(Long id); + } \ No newline at end of file diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingServiceImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingServiceImpl.java index b0c464129..6bdb330b9 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingServiceImpl.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/projecttracking/ProjectTrackingServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.pms.service.projecttracking; +import cn.iocoder.yudao.module.pms.dal.dataobject.projecttracking.ProjectTrackingDetailDO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -71,4 +72,18 @@ public class ProjectTrackingServiceImpl implements ProjectTrackingService { return projectTrackingMapper.selectPage(pageReqVO); } + @Override + public void validateProjectExists(Long id) { + if (projectTrackingMapper.selectById(id) == null) { + throw exception(PROJECT_NOT_EXISTS); + } + } + + @Override + public ProjectTrackingDetailDO getProjectTrackingDetail(Long id) { + ProjectTrackingDO projectTrackingDO = projectTrackingMapper.selectById(id); + return BeanUtils.toBean(projectTrackingDO, ProjectTrackingDetailDO.class); + } + + } \ No newline at end of file