diff --git a/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java b/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java index 89c395d52..6f68ddb34 100644 --- a/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java +++ b/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java @@ -43,6 +43,8 @@ public interface ErrorCodeConstants { // ========== 外部合同信息 2_026_000_000 ========== ErrorCode EXT_CONTRACT_NOT_EXISTS = new ErrorCode(2_026_000_000, "外部合同不存在"); + ErrorCode EXT_CONTRACT_EXISTS = new ErrorCode(2_026_000_000, "外部合同已经存在"); + // ========== 历史外部合同信息 2_027_000_000 ========== ErrorCode EXT_CONTRACT_HISTORY_NOT_EXISTS = new ErrorCode(2_027_000_000, "历史外部合同不存在"); diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java deleted file mode 100644 index 351c2a581..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -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.outscontracthistory.vo.OutsContractHistoryPageReqVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryRespVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistorySaveReqVO; -import cn.iocoder.yudao.module.cms.service.outscontracthistory.OutsContractHistoryService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.Valid; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; -import java.util.List; - -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 外包合同历史") -@RestController -@RequestMapping("/cms/outs-contract-history") -@Validated -public class OutsContractHistoryController { - - @Resource - private OutsContractHistoryService outsContractHistoryService; - - @PutMapping("/update") - @Operation(summary = "更新外包合同历史") - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:update')") - public CommonResult updateOutsContractHistory(@Valid @RequestBody OutsContractHistorySaveReqVO updateReqVO) { - outsContractHistoryService.updateOutsContractHistory(updateReqVO); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得外包合同历史") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:query')") - public CommonResult getOutsContractHistory(@RequestParam("id") Long id) { - OutsContractHistoryRespVO outsContractHistory = outsContractHistoryService.getOutsContractHistory(id); - return success(outsContractHistory); - } - - @GetMapping("/page") - @Operation(summary = "获得外包合同历史分页") - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:query')") - public CommonResult> getOutsContractHistoryPage(@Valid OutsContractHistoryPageReqVO pageReqVO) { - PageResult pageResult = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO); - return success(pageResult); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出外包合同历史 Excel") - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportOutsContractHistoryExcel(@Valid OutsContractHistoryPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "外包合同历史.xls", "数据", OutsContractHistoryRespVO.class, - BeanUtils.toBean(list, OutsContractHistoryRespVO.class)); - } - -} \ 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/outscontracthistory/vo/OutsContractHistoryPageReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java deleted file mode 100644 index bcf6f6095..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo; - -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 外包合同历史分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class OutsContractHistoryPageReqVO extends PageParam { - - @Schema(description = "项目id", example = "31803") - private Long projectId; - - @Schema(description = "合同名称", example = "芋艿") - private String name; - - @Schema(description = "主合同id", example = "19949") - private Long contractId; - - @Schema(description = "类型", example = "1") - private String countType; - - @Schema(description = "专业") - private String major; - - @Schema(description = "流程状态", example = "2") - private String processStatus; - - @Schema(description = "外包合同id", example = "24736") - private Long outsContractId; - - @Schema(description = "版本") - private String version; - -} \ 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/outscontracthistory/vo/OutsContractHistoryRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java deleted file mode 100644 index 2dc6a5034..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo; - -import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; -import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 外包合同历史 Response VO") -@Data -@ExcelIgnoreUnannotated -public class OutsContractHistoryRespVO { - - @Schema(description = "合同名称", example = "张三") - @ExcelProperty("合同名称") - private String name; - - @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 BigDecimal outsAmount; - - - @Schema(description = "主合同id", example = "19949") - @ExcelProperty("主合同id") - private Long contractId; - - @Schema(description = "类型", example = "1") - @ExcelProperty(value = "类型", converter = DictConvert.class) - @DictFormat("contract_billing_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private String countType; - - @Schema(description = "合同金额") - @ExcelProperty("合同金额") - private BigDecimal amount; - - @Schema(description = "编号") - @ExcelProperty("编号") - private String code; - - @Schema(description = "专业") - @ExcelProperty(value = "专业", converter = DictConvert.class) - @DictFormat("major") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private String major; - - @Schema(description = "流程实体id", example = "32397") - @ExcelProperty("流程实体id") - private String processInstanceId; - - @Schema(description = "签订时间") - @ExcelProperty("签订时间") - private LocalDateTime signingTime; - - @Schema(description = "结算数") - @ExcelProperty("结算数") - private BigDecimal settlementAmount; - - @Schema(description = "合同文件url", example = "https://www.iocoder.cn") - @ExcelProperty("合同文件url") - private String contractFileUrl; - - @Schema(description = "流程状态", example = "2") - @ExcelProperty("流程状态") - private String processStatus; - - @Schema(description = "外包合同id", example = "24736") - @ExcelProperty("外包合同id") - private Long outsContractId; - - @Schema(description = "版本") - @ExcelProperty("版本") - private String version; - -} \ 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/outscontracthistory/vo/OutsContractHistorySaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java deleted file mode 100644 index 02157cf23..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java +++ /dev/null @@ -1,77 +0,0 @@ -package cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 外包合同历史新增/修改 Request VO") -@Data -public class OutsContractHistorySaveReqVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16040") - private Long id; - - @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31803") - @NotNull(message = "项目id不能为空") - private Long projectId; - - - @Schema(description = "合同名称", example = "张三") - @ExcelProperty("合同名称") - private String name; - - @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 BigDecimal outsAmount; - - - - @Schema(description = "主合同id", example = "19949") - private Long contractId; - - @Schema(description = "类型", example = "1") - private String countType; - - @Schema(description = "合同金额") - private BigDecimal amount; - - @Schema(description = "编号") - private String code; - - @Schema(description = "专业") - private String major; - - @Schema(description = "流程实体id", example = "32397") - private String processInstanceId; - - @Schema(description = "签订时间") - private LocalDateTime signingTime; - - @Schema(description = "结算数") - private BigDecimal settlementAmount; - - @Schema(description = "合同文件url", example = "https://www.iocoder.cn") - private String contractFileUrl; - - @Schema(description = "流程状态", example = "2") - private String processStatus; - - @Schema(description = "外包合同id", example = "24736") - private Long outsContractId; - - @Schema(description = "版本") - private String version; - -} \ 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/extcontract/ExtContractDetailDO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/extcontract/ExtContractDetailDO.java new file mode 100644 index 000000000..f5c24ae46 --- /dev/null +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/dataobject/extcontract/ExtContractDetailDO.java @@ -0,0 +1,24 @@ +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; + +/** + * @author wyw + * @description + * @date 2024/8/14 + */ +@Data +public class ExtContractDetailDO extends ContractDO { + /** + * 项目编号 + */ + private String code; + + + + +} diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java deleted file mode 100644 index 5bb1691a2..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.cms.dal.mysql.outscontracthistory; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryPageReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.outscontracthistory.OutsContractHistoryDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 外包合同历史 Mapper - * - * @author zqc - */ -@Mapper -public interface OutsContractHistoryMapper extends BaseMapperX { - - default PageResult selectPage(OutsContractHistoryPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(OutsContractHistoryDO::getProjectId, reqVO.getProjectId()) - .likeIfPresent(OutsContractHistoryDO::getName, reqVO.getName()) - .eqIfPresent(OutsContractHistoryDO::getContractId, reqVO.getContractId()) - .eqIfPresent(OutsContractHistoryDO::getCountType, reqVO.getCountType()) - .eqIfPresent(OutsContractHistoryDO::getMajor, reqVO.getMajor()) - .eqIfPresent(OutsContractHistoryDO::getProcessStatus, reqVO.getProcessStatus()) - .eqIfPresent(OutsContractHistoryDO::getOutsContractId, reqVO.getOutsContractId()) - .eqIfPresent(OutsContractHistoryDO::getVersion, reqVO.getVersion())); - } - -} \ 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 bd75f9b2b..3216f1d44 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,15 +1,11 @@ package cn.iocoder.yudao.module.cms.service.extContract; 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.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.extcontracthistory.ExtContractHistoryDO; -import cn.iocoder.yudao.module.cms.dal.mysql.customerCompany.CustomerCompanyMapper; 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; @@ -22,7 +18,6 @@ import org.springframework.validation.annotation.Validated; 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; @@ -40,138 +35,42 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_E @Validated public class ExtContractServiceImpl implements ExtContractService { - /** - * 外部合同立项审批流程定义 - */ - public static final String PROCESS_KEY = "ext_contract_init"; - - /** - * 版本 - */ - public static String VERSION = "1"; - @Resource private ExtContractMapper extContractMapper; - - @Resource - private CustomerCompanyMapper customerCompanyMapper; - @Resource private AdminUserApi adminUserApi; - @Resource - private BpmProcessInstanceApi processInstanceApi; - - @Resource - private ExtContractHistoryMapper extContractHistoryMapper; @Override public Long createExtContract(Long loginUserId, ExtContractSaveReqVO 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); + //校验,项目是否存在 + Long contractId = createReqVO.getContractId(); + String name = createReqVO.getName(); + String trimName = name.trim(); + List extContractList = extContractMapper.selectList("contract_id", contractId); + for (ExtContractDO extContractDO : extContractList) { + if (extContractDO.getName().equals(trimName)){ + throw exception(EXT_CONTRACT_EXISTS); + } } - ExtContractDO extContract = BeanUtils.toBean(createReqVO, ExtContractDO.class); - //校验 - Long projectId = extContract.getProjectId(); - - // 需要联表查询 - // 1.项目编号 pms_project 直接 √ - // 2.主控部门(跟踪部门) pms_project找到的是id 需要联表 √ - // 3.项目经理 pms_project找到的是id 需要联表 √ - // 4.客户公司名称 pms_project 联表 √ - // 5.合同总金额 √ - // 6.合同商议提示(和分包提示不一样)√ - - //todo 待提取 枚举优化 - String code = createReqVO.getCode(); - String trackingDep = createReqVO.getTrackingDep(); - String projectManager = createReqVO.getProjectManager(); - String customerCompanyName = createReqVO.getCustomerCompanyName(); - //LocalDateTime exReminderTime = createReqVO.getExReminderTime(); - BigDecimal amount = createReqVO.getAmount(); - - - - - - ExtContractDO extContractDO = BeanUtils.toBean(createReqVO, ExtContractDO.class); - ExtContractRespVO contractRespVO = BeanUtils.toBean(extContractDO, ExtContractRespVO.class); - extContractDO.setCreator(userName); - extContractDO.setUpdater(userName); - - - - //判断该合同是否已经存在,比较各个字段值是否完全一样 - //得到所有的合同?逐个比较? - - - List extContractList = extContractMapper.selectList("project_id",projectId); - List respVOList = BeanUtils.toBean(extContractList, ExtContractRespVO.class); - - for (ExtContractRespVO respVO : respVOList) { - if (respVO.equals(contractRespVO)){ - throw exception(CONTRACT_ALREADY_EXISTS); - } - } - extContractMapper.insert(extContractDO); - - - Long extContractId = extContractDO.getId(); - ExtContractHistoryDO extContractHistory = BeanUtils.toBean(extContractDO, ExtContractHistoryDO.class); - - - // 启动流程,同时写入历史合同 - if (createReqVO.getId() == null) { - String processInstanceId = processInstanceApi.createProcessInstance(loginUserId, - new BpmProcessInstanceCreateReqDTO() - .setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(extContractId))); - - // 写入工作流编号 - extContractHistory.setProcessInstanceId(processInstanceId); - extContractHistory.setExtContractId(extContractId); - - Long count = extContractHistoryMapper.selectCount("project_id", projectId); - if (count < 1) { - extContractHistory.setVersion(VERSION); - } else { - extContractHistory.setVersion(String.valueOf(count+1)); - } - - extContractHistory.setProcessStatus("0"); - extContractHistoryMapper.insert(extContractHistory); - } - - + extContract.setCreator(userName); + extContract.setUpdater(userName); + extContractMapper.insert(extContract); //返回 return extContract.getId(); } @Override public void updateExtContract(Long loginUserId, ExtContractSaveReqVO updateReqVO) { - //校验 - if (updateReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } validateExtContractExists(updateReqVO.getId()); String userName = adminUserApi.getUser(loginUserId).getNickname(); - if (userName == null) { - throw exception(USER_NOT_EXISTS); - } // 更新 ExtContractDO updateObj = BeanUtils.toBean(updateReqVO, ExtContractDO.class); updateObj.setUpdater(userName); @@ -186,14 +85,6 @@ public class ExtContractServiceImpl implements ExtContractService { extContractMapper.deleteById(id); } - - // 需要联表查询 - // 1.项目编号 pms_project 直接 √ - // 2.主控部门(跟踪部门) pms_project找到的是id 需要联表 √ - // 3.项目经理 pms_project找到的是id 需要联表 √ - // 4.客户公司名称 pms_project 联表 √ - // 5.合同总金额 √ - // 6.合同商议提示(和分包提示不一样)√ @Override public ExtContractRespVO getExtContract(Long id) { //校验 diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryService.java deleted file mode 100644 index 65d1b1900..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryService.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.iocoder.yudao.module.cms.service.outscontracthistory; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryPageReqVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryRespVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistorySaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.outscontracthistory.OutsContractHistoryDO; -import jakarta.validation.Valid; - -/** - * 外包合同历史 Service 接口 - * - * @author zqc - */ -public interface OutsContractHistoryService { - - /** - * 更新外包合同历史 - * - * @param updateReqVO 更新信息 - */ - void updateOutsContractHistory(@Valid OutsContractHistorySaveReqVO updateReqVO); - - - /** - * 获得外包合同历史 - * - * @param id 编号 - * @return 外包合同历史 - */ - OutsContractHistoryRespVO getOutsContractHistory(Long id); - - /** - * 获得外包合同历史分页 - * - * @param pageReqVO 分页查询 - * @return 外包合同历史分页 - */ - PageResult getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO); - -} \ 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/outscontracthistory/OutsContractHistoryServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java deleted file mode 100644 index 5d0095cfc..000000000 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -package cn.iocoder.yudao.module.cms.service.outscontracthistory; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractRespVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryPageReqVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryRespVO; -import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistorySaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.outscontracthistory.OutsContractHistoryDO; -import cn.iocoder.yudao.module.cms.dal.mysql.outscontracthistory.OutsContractHistoryMapper; -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 jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import java.util.ArrayList; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; - -/** - * 外包合同历史 Service 实现类 - * - * @author zqc - */ -@Service -@Validated -public class OutsContractHistoryServiceImpl implements OutsContractHistoryService { - - @Resource - private OutsContractHistoryMapper outsContractHistoryMapper; - - - @Resource - private ContractService contractService; - - @Override - public void updateOutsContractHistory(OutsContractHistorySaveReqVO updateReqVO) { - // 校验存在 - validateOutsContractHistoryExists(updateReqVO.getId()); - // 更新 - OutsContractHistoryDO updateObj = BeanUtils.toBean(updateReqVO, OutsContractHistoryDO.class); - outsContractHistoryMapper.updateById(updateObj); - } - - private void validateOutsContractHistoryExists(Long id) { - if (outsContractHistoryMapper.selectById(id) == null) { - throw exception(OUTS_CONTRACT_HISTORY_NOT_EXISTS); - } - } - - @Override - public OutsContractHistoryRespVO getOutsContractHistory(Long id) { - //校验 - if (id == null) { - throw exception(OUTS_CONTRACT_NOT_EXISTS); - } - OutsContractHistoryDO outsContractHistoryDO = outsContractHistoryMapper.selectById(id); - OutsContractHistoryRespVO outsContractHistoryResp = BeanUtils.toBean(outsContractHistoryDO, OutsContractHistoryRespVO.class); - Long contractId = outsContractHistoryResp.getContractId(); - ContractRespVO contract = contractService.getContract(contractId); - - outsContractHistoryResp.setName(contract.getName()); - outsContractHistoryResp.setTrackingDep(contract.getTrackingDep()); - outsContractHistoryResp.setProjectManager(contract.getProjectManager()); - outsContractHistoryResp.setOutsAmount(contract.getAmount()); - - outsContractHistoryResp.setMajor(OutsContractMajorEnum.getNoByCode(outsContractHistoryResp.getMajor())); - outsContractHistoryResp.setCountType(CountTypeEnum.getNoByCode(outsContractHistoryResp.getCountType())); - - return outsContractHistoryResp; - } - - @Override - public PageResult getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO) { - if (pageReqVO == null) { - throw exception(PARAM_NOT_EXISTS); - } - - - PageResult outsContractHistoryPage = outsContractHistoryMapper.selectPage(pageReqVO); - List outsContractDOList = outsContractHistoryPage.getList(); - List outsContractRespVOList = new ArrayList<>(); - - - for (OutsContractHistoryDO outsContractHistoryDO : outsContractDOList) { - Long id = outsContractHistoryDO.getId(); - OutsContractHistoryRespVO outsContractHistory = getOutsContractHistory(id); - outsContractRespVOList.add(outsContractHistory); - } - - PageResult pageResult = new PageResult<>(); - pageResult.setList(outsContractRespVOList); - return pageResult; - } - -} \ No newline at end of file