From 4ee64cce490054ab956921b64c52787b5623c4a3 Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Thu, 15 Aug 2024 15:28:19 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BC=98=E5=8C=96=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extContract/ExtContractController.java | 11 +- .../extContract/vo/ExtContractPageReqVO.java | 10 -- .../extContract/vo/ExtContractRespVO.java | 13 ++- .../extContract/vo/ExtContractSaveReqVO.java | 33 +----- .../extcontract/ExtContractDetailDO.java | 21 +++- .../mysql/extContract/ExtContractMapper.java | 3 +- .../extContract/ExtContractService.java | 3 +- .../extContract/ExtContractServiceImpl.java | 80 +++++-------- .../outscontract/OutsContractServiceImpl.java | 110 +----------------- .../dto/ProjectScheduleDetailDTO.java | 7 ++ .../dto/ProjectTrackingDetailDTO.java | 6 + .../projectschedule/ProjectScheduleDO.java | 2 +- .../ProjectScheduleDetailDO.java | 6 + .../ProjectTrackingDetailDO.java | 5 + 14 files changed, 100 insertions(+), 210 deletions(-) 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 138657e67..656da8b34 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,8 +1,10 @@ package cn.iocoder.yudao.module.cms.controller.admin.extContract; +import cn.iocoder.yudao.framework.common.util.file.FileUtils; 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 cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDetailDO; import cn.iocoder.yudao.module.cms.service.extContract.ExtContractService; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; @@ -68,8 +70,13 @@ public class ExtContractController { @Parameter(name = "id", description = "外部合同编号", required = true) @PreAuthorize("@ss.hasPermission('cms-ext:ext-contract:query')") public CommonResult getExtContract(@RequestParam("id") Long id) { - ExtContractRespVO extContract = extContractService.getExtContract(id); - return success(extContract); + ExtContractDetailDO extContractDetailDO = extContractService.getContractDetail(id); + ExtContractRespVO extContractRespVO = new ExtContractRespVO(); + org.springframework.beans.BeanUtils.copyProperties(extContractDetailDO, extContractRespVO, "contractFileUrl", "reviewFileUrl"); + extContractRespVO.setReviewFileUrl(FileUtils.covertJSONStringToFile(extContractDetailDO.getReviewFileUrl())); + extContractRespVO.setContractFileUrl(FileUtils.covertJSONStringToFile(extContractDetailDO.getContractFileUrl())); + + return success(extContractRespVO); } @GetMapping("/page") diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractPageReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractPageReqVO.java index 757a6cf17..86c0809a3 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractPageReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractPageReqVO.java @@ -20,20 +20,10 @@ public class ExtContractPageReqVO extends PageParam { @Schema(description = "项目id", example = "30598") private Long projectId; - @Schema(description = "合同名称", example = "芋艿") - private String name; - @Schema(description = "合同类型", example = "1") @DictFormat(DictTypeConstants.CONTRACT_TYPE) private String type; - @Schema(description = "客户公司id", example = "25191") - private Long customerCompanyId; - - @Schema(description = "合同进展") - private String progress; - - @Schema(description = "状态", example = "2") @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/extContract/vo/ExtContractRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractRespVO.java index 424756dab..5657d0140 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractRespVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.controller.admin.extContract.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; import cn.iocoder.yudao.module.cms.enums.DictTypeConstants; @@ -7,6 +8,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; + import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 外部合同 Response VO") @@ -35,7 +38,7 @@ public class ExtContractRespVO { @Schema(description = "客户名称") @ExcelProperty("客户名称") - private String customerCompanyName; + private String constructionSide; @Schema(description = "主控部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产一部") @ExcelProperty("主控部门") @@ -116,9 +119,9 @@ public class ExtContractRespVO { @ExcelProperty("备注") private String remark; - @Schema(description = "合同附件url", example = "https://www.iocoder.cn") + @Schema(description = "合同附件url") @ExcelProperty("合同附件url") - private String contractFileUrl; + private List contractFileUrl; @Schema(description = "建安费") @ExcelProperty("建安费") @@ -154,9 +157,9 @@ public class ExtContractRespVO { @ExcelProperty("审定金额") private BigDecimal approvedAmount; - @Schema(description = "审核文件url", example = "https://www.iocoder.cn") + @Schema(description = "审核文件url") @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/vo/ExtContractSaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractSaveReqVO.java index 954b7600d..ef17a4c9a 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractSaveReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/vo/ExtContractSaveReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.controller.admin.extContract.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; import cn.iocoder.yudao.module.cms.enums.DictTypeConstants; @@ -9,6 +10,7 @@ import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 外部合同新增/修改 Request VO") @Data @@ -29,29 +31,6 @@ public class ExtContractSaveReqVO { - @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001") - @ExcelProperty("项目编号") - private String code; - - @Schema(description = "客户名称") - @ExcelProperty("客户名称") - private String customerCompanyName; - - @Schema(description = "主控部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产一部") - @ExcelProperty("主控部门") - private String trackingDep; - - @Schema(description = "项目负责人", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("项目负责人") - private String projectManager; - - @Schema(description = "外部合同商议提示时间") - @ExcelProperty("外部合同商议提示时间") - private LocalDateTime exReminderTime; - - - - @Schema(description = "合同名称", example = "赵六") @ExcelProperty("合同名称") @@ -116,9 +95,9 @@ public class ExtContractSaveReqVO { @ExcelProperty("备注") private String remark; - @Schema(description = "合同附件url", example = "https://www.iocoder.cn") + @Schema(description = "合同附件url") @ExcelProperty("合同附件url") - private String contractFileUrl; + private List contractFileUrl; @Schema(description = "建安费") @ExcelProperty("建安费") @@ -154,9 +133,9 @@ public class ExtContractSaveReqVO { @ExcelProperty("审定金额") private BigDecimal approvedAmount; - @Schema(description = "审核文件url", example = "https://www.iocoder.cn") + @Schema(description = "审核文件url") @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/dal/dataobject/extcontract/ExtContractDetailDO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/extcontract/ExtContractDetailDO.java index f5c24ae46..6a4247dfe 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/extcontract/ExtContractDetailDO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/extcontract/ExtContractDetailDO.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.cms.dal.dataobject.extcontract; -import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import lombok.Data; -import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -12,13 +10,30 @@ import java.time.LocalDateTime; * @date 2024/8/14 */ @Data -public class ExtContractDetailDO extends ContractDO { +public class ExtContractDetailDO extends ExtContractDO { /** * 项目编号 */ private String code; + /** + * 建设方 + */ + private String constructionSide; + /** + * 主控部门 + */ + private String trackingDep; + /** + * 项目负责人 + */ + private String projectManager; + + /** + * 外部合同商议提示 + */ + private LocalDateTime exReminderTime; } 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 1df293240..7f579e7ae 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 @@ -19,9 +19,8 @@ public interface ExtContractMapper extends BaseMapperX { default PageResult selectPage(ExtContractPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(ExtContractDO::getName, reqVO.getName()) + .eqIfPresent(ExtContractDO::getProjectId, reqVO.getProjectId()) .eqIfPresent(ExtContractDO::getType, reqVO.getType()) - .eqIfPresent(ExtContractDO::getProgress, reqVO.getProgress()) .eqIfPresent(ExtContractDO::getStatus, reqVO.getStatus()) .eqIfPresent(ExtContractDO::getContractId, reqVO.getContractId())); } 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 495fa9d78..801eb749e 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 @@ -4,6 +4,7 @@ package cn.iocoder.yudao.module.cms.service.extContract; 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 cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDetailDO; import jakarta.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -45,7 +46,7 @@ public interface ExtContractService { * @param id 编号 * @return 外部合同 */ - ExtContractRespVO getExtContract(Long id); + ExtContractDetailDO getContractDetail(Long id); /** * 获得外部合同分页 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 3216f1d44..cf221e868 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 @@ -1,16 +1,15 @@ package cn.iocoder.yudao.module.cms.service.extContract; - -import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; +import cn.hutool.core.bean.BeanUtil; 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 cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDO; +import cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDetailDO; import cn.iocoder.yudao.module.cms.dal.mysql.extContract.ExtContractMapper; -import cn.iocoder.yudao.module.cms.dal.mysql.extcontracthistory.ExtContractHistoryMapper; -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.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; @@ -24,7 +23,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.system.enums.ErrorCodeConstants.USER_NOT_EXISTS; /** * 外部合同 Service 实现类 @@ -41,6 +39,12 @@ public class ExtContractServiceImpl implements ExtContractService { @Resource private AdminUserApi adminUserApi; + @Resource + private ProjectTrackingApi projectTrackingApi; + + @Resource + private ProjectScheduleApi projectScheduleApi; + @@ -86,63 +90,39 @@ public class ExtContractServiceImpl implements ExtContractService { } @Override - public ExtContractRespVO getExtContract(Long id) { - //校验 - if (id == null) { - throw exception(EXT_CONTRACT_NOT_EXISTS); - } - + public ExtContractDetailDO getContractDetail(Long id) { + ExtContractDetailDO extContractDetailDO = new ExtContractDetailDO(); ExtContractDO extContractDO = extContractMapper.selectById(id); + //校验 if (extContractDO == null) { throw exception(EXT_CONTRACT_NOT_EXISTS); } Long projectId = extContractDO.getProjectId(); + projectTrackingApi.validateProjectExists(projectId); + ProjectScheduleDetailDTO projectScheduleDetail = projectScheduleApi.getProjectScheduleDetail(projectId); + ProjectTrackingDetailDTO projectTracking = projectTrackingApi.getProjectTracking(projectId); + BeanUtil.copyProperties(extContractDO, extContractDetailDO); + BeanUtil.copyProperties(projectTracking,extContractDetailDO); + BeanUtil.copyProperties(projectScheduleDetail,extContractDetailDO); - - //Long customerCompanyId = extContractDO.getCustomerCompanyId(); - ExtContractRespVO extContractRespVO = BeanUtils.toBean(extContractDO, ExtContractRespVO.class); - - //用客户公司id查询 - //CustomerCompanyDO customerCompanyDO = customerCompanyMapper.selectById(customerCompanyId); - //String name = customerCompanyDO.getName(); - //extContractRespVO.setCustomerCompanyName(name); - - - //合同总金额 - - - //合同商议提示 // TODO 待优化 - extContractRespVO.setExReminderTime(null); - - extContractRespVO.setType(ContractTypeEnum.getNoByCode(extContractRespVO.getType())); - extContractRespVO.setStatus(ContractStatusEnum.getNoByCode(extContractRespVO.getStatus())); - extContractRespVO.setCountType(ContractStatusEnum.getNoByCode(extContractRespVO.getCountType())); - extContractRespVO.setSource(ContractStatusEnum.getNoByCode(extContractRespVO.getSource())); - extContractRespVO.setChargingStandard(ChargingStandardEnum.getNoByCode(extContractRespVO.getChargingStandard())); - - - return extContractRespVO; + return extContractDetailDO; } @Override public PageResult getExtContractPage(ExtContractPageReqVO pageReqVO) { - if (pageReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } + PageResult extContractPage = extContractMapper.selectPage(pageReqVO); + List list = extContractPage.getList(); + List extContractDetailDOList = new ArrayList<>(); - PageResult extContractDOPageResult = extContractMapper.selectPage(pageReqVO); - List excontractDOList = extContractDOPageResult.getList(); - List extContractRespVOList = new ArrayList<>(); - - - for (ExtContractDO extContractDO : excontractDOList) { + for (ExtContractDO extContractDO : list) { Long id = extContractDO.getId(); - ExtContractRespVO extContractRespVO = getExtContract(id); - extContractRespVOList.add(extContractRespVO); + ExtContractDetailDO extContractDetailDO = getContractDetail(id); + extContractDetailDOList.add(extContractDetailDO); } + List respVOS = BeanUtils.toBean(extContractDetailDOList, ExtContractRespVO.class); PageResult pageResult = new PageResult<>(); - pageResult.setList(extContractRespVOList); + pageResult.setList(respVOS); return pageResult; } 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 301beadd6..a7277025a 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 @@ -3,15 +3,11 @@ package cn.iocoder.yudao.module.cms.service.outscontract; 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.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.dal.dataobject.outscontracthistory.OutsContractHistoryDO; 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.system.api.user.AdminUserApi; @@ -19,7 +15,6 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -58,106 +53,12 @@ public class OutsContractServiceImpl implements OutsContractService { @Resource private BpmProcessInstanceApi processInstanceApi; - @Resource - private OutsContractHistoryMapper outsContractHistoryMapper; @Override public Long createOutsContract(Long loginUserId,OutsContractSaveReqVO createReqVO) { - if (createReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } - if (loginUserId == null) { - throw exception(PARAM_NOT_EXISTS); - } - String userName = adminUserApi.getUser(loginUserId).getNickname(); - if (userName == null) { - throw exception(USER_NOT_EXISTS); - } - - OutsContractDO outsContractDO = BeanUtils.toBean(createReqVO, OutsContractDO.class); - //校验 - Long projectId = outsContractDO.getProjectId(); - - - //校验联表的字段是否和所联系的表内容相同 - ContractRespVO contract = contractService.getContract(createReqVO.getContractId()); - // 需要联表查询 - // 1.合同名称 √ - // 2.主控部门(跟踪部门) √ - // 3.项目经理 √ - // 4.签订合同总额 √ - - //todo 待提取 枚举优化 - String name = createReqVO.getName(); - String trackingDep = createReqVO.getTrackingDep(); - String projectManager = createReqVO.getProjectManager(); - BigDecimal outsAmount = createReqVO.getOutsAmount(); - - - if (!contract.getName().equals(name)){ - throw exception(PARAM_ERROR); - } - if (!contract.getTrackingDep().equals(trackingDep)){ - throw exception(PARAM_ERROR); - } - if (!contract.getProjectManager().equals(projectManager)){ - throw exception(PARAM_ERROR); - } - if (contract.getAmount().compareTo(outsAmount) != 0){ - throw exception(PARAM_ERROR); - } - - - - OutsContractRespVO outsContractRespVO = BeanUtils.toBean(outsContractDO, OutsContractRespVO.class); - outsContractDO.setCreator(userName); - outsContractDO.setUpdater(userName); - - - - //判断该合同是否已经存在,比较各个字段值是否完全一样 - //得到所有的合同?逐个比较? - - - List outsContractDOList = outsContractMapper.selectList("project_id", projectId); - List outsContractRespList = BeanUtils.toBean(outsContractDOList, OutsContractRespVO.class); - - for (OutsContractRespVO respVO : outsContractRespList) { - if (respVO.equals(outsContractRespVO)){ - throw exception(CONTRACT_ALREADY_EXISTS); - } - } - outsContractMapper.insert(outsContractDO); - - - Long outsContractDOId = outsContractDO.getId(); - OutsContractHistoryDO outsContractHistoryDO = BeanUtils.toBean(outsContractDO, OutsContractHistoryDO.class); - - - // 启动流程,同时写入历史合同 - if (createReqVO.getId() == null) { - String processInstanceId = processInstanceApi.createProcessInstance(loginUserId, - new BpmProcessInstanceCreateReqDTO() - .setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(outsContractDOId))); - - // 写入工作流编号 - outsContractHistoryDO.setProcessInstanceId(processInstanceId); - outsContractHistoryDO.setOutsContractId(outsContractDOId); - - Long count = outsContractHistoryMapper.selectCount("project_id", projectId); - if (count < 1) { - outsContractHistoryDO.setVersion(VERSION); - } else { - outsContractHistoryDO.setVersion(String.valueOf(count+1)); - } - - outsContractHistoryDO.setProcessStatus("0"); - outsContractHistoryMapper.insert(outsContractHistoryDO); - } - - return outsContractDO.getId(); + return null; } @Override @@ -166,10 +67,6 @@ public class OutsContractServiceImpl implements OutsContractService { validateOutsContractExists(updateReqVO.getId()); Long contractId = updateReqVO.getContractId(); - ContractRespVO contract = contractService.getContract(contractId); - if (contract == null) { - throw exception(CONTRACT_NOT_EXISTS); - } OutsContractDO outsContractDO = outsContractMapper.selectById(updateReqVO.getId()); if (!Objects.equals(updateReqVO.getProjectId(), outsContractDO.getProjectId())) { throw exception(PROJECT_NOT_EXISTS); @@ -207,12 +104,7 @@ public class OutsContractServiceImpl implements OutsContractService { OutsContractDO outsContractDO = outsContractMapper.selectById(id); OutsContractRespVO outsContractRespVO = BeanUtils.toBean(outsContractDO, OutsContractRespVO.class); Long contractId = outsContractDO.getContractId(); - ContractRespVO contract = contractService.getContract(contractId); - outsContractRespVO.setName(contract.getName()); - outsContractRespVO.setTrackingDep(contract.getTrackingDep()); - outsContractRespVO.setProjectManager(contract.getProjectManager()); - outsContractRespVO.setOutsAmount(contract.getAmount()); outsContractRespVO.setMajor(OutsContractMajorEnum.getNoByCode(outsContractRespVO.getMajor())); outsContractRespVO.setCountType(CountTypeEnum.getNoByCode(outsContractRespVO.getCountType())); 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 index c3b16a223..fb93563a5 100644 --- 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 @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.pms.api.projectschedule.dto; import lombok.Data; +import java.time.LocalDateTime; + /** * @author wyw * @description @@ -15,4 +17,9 @@ public class ProjectScheduleDetailDTO { */ private String projectManager; + /** + * 外部合同商议提示 + */ + private LocalDateTime exReminderTime; + } 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 index c38ba7ba4..ce3fd2f64 100644 --- 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 @@ -33,4 +33,10 @@ public class ProjectTrackingDetailDTO { */ private BigDecimal expectedContractAmount; + /** + * 建设方 + */ + private String constructionSide; + + } 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 d4c56590d..a20e5c276 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 @@ -75,7 +75,7 @@ public class ProjectScheduleDO extends BaseDO { /** * 外部合同商议时间 */ - private LocalDateTime contractNegotiationTime; + private LocalDateTime exReminderTime; /** * 已完成百分比 */ 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 index 0c16718e0..537bdab6a 100644 --- 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 @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.pms.dal.dataobject.projectschedule; import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDO; import lombok.Data; +import java.time.LocalDateTime; + /** * @author wyw @@ -17,4 +19,8 @@ public class ProjectScheduleDetailDO extends ProjectDO { */ private String projectManager; + /** + * 外部合同商议时间 + */ + private LocalDateTime exReminderTime; } 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 index abaa87bea..7d2daeb57 100644 --- 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 @@ -36,4 +36,9 @@ public class ProjectTrackingDetailDO extends ProjectDO { */ private BigDecimal expectedContractAmount; + /** + * 建设方 + */ + private String constructionSide; + }