mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	[fix] 优化外包合同管理功能
This commit is contained in:
		| @@ -8,10 +8,13 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; | ||||
|  * @date 2024/7/3 | ||||
|  */ | ||||
| public interface ErrorCodeConstants { | ||||
|     ErrorCode CUSTOMER_COMPANY_NOT_EXISTS = new ErrorCode(1_020_000_000, "客户公司管理不存在"); | ||||
|  | ||||
|     ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(2_024_000_000, "合同不存在"); | ||||
|  | ||||
|     ErrorCode CONTRACT_NAME_NOT_EXISTS = new ErrorCode(2_024_001_000, "合同名称不存在"); | ||||
|  | ||||
|  | ||||
|  | ||||
|     ErrorCode CONTRACT_HISTORY_NOT_EXISTS = new ErrorCode(2_025_000_000, "历史合同不存在"); | ||||
|  | ||||
|  | ||||
| @@ -31,6 +34,9 @@ public interface ErrorCodeConstants { | ||||
|     // ========== 外包合同关联 2_023_000_000 ========== | ||||
|     ErrorCode CONTRACT_OUTS_NOT_EXISTS = new ErrorCode(2_023_000_000, "外包合同关联不存在"); | ||||
|  | ||||
|  | ||||
|     ErrorCode CUSTOMER_COMPANY_NOT_EXISTS = new ErrorCode(1_020_000_000, "客户公司管理不存在"); | ||||
|  | ||||
|     ErrorCode PROJECT_NOT_EXISTS = new ErrorCode(1_021_000_000, "项目信息不存在"); | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -6,6 +6,7 @@ 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.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; | ||||
| @@ -73,8 +74,8 @@ public class OutsContractController { | ||||
|     @Operation(summary = "获得外包合同分页") | ||||
|     @PreAuthorize("@ss.hasPermission('cms:outs-contract:query')") | ||||
|     public CommonResult<PageResult<OutsContractRespVO>> getOutsContractPage(@Valid OutsContractPageReqVO pageReqVO) { | ||||
|         PageResult<OutsContractDO> pageResult = outsContractService.getOutsContractPage(pageReqVO); | ||||
|         return success(BeanUtils.toBean(pageResult, OutsContractRespVO.class)); | ||||
|         PageResult<OutsContractRespVO> pageResult = outsContractService.getOutsContractPage(pageReqVO); | ||||
|         return success(pageResult); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/export-excel") | ||||
| @@ -84,7 +85,7 @@ public class OutsContractController { | ||||
|     public void exportOutsContractExcel(@Valid OutsContractPageReqVO pageReqVO, | ||||
|               HttpServletResponse response) throws IOException { | ||||
|         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||||
|         List<OutsContractDO> list = outsContractService.getOutsContractPage(pageReqVO).getList(); | ||||
|         List<OutsContractRespVO> list = outsContractService.getOutsContractPage(pageReqVO).getList(); | ||||
|         // 导出 Excel | ||||
|         ExcelUtils.write(response, "外包合同.xls", "数据", OutsContractRespVO.class, | ||||
|                         BeanUtils.toBean(list, OutsContractRespVO.class)); | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| 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.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; | ||||
| @@ -52,6 +53,6 @@ public interface OutsContractService { | ||||
|      * @param pageReqVO 分页查询 | ||||
|      * @return 外包合同分页 | ||||
|      */ | ||||
|     PageResult<OutsContractDO> getOutsContractPage(OutsContractPageReqVO pageReqVO); | ||||
|     PageResult<OutsContractRespVO> getOutsContractPage(OutsContractPageReqVO pageReqVO); | ||||
|  | ||||
| } | ||||
| @@ -6,6 +6,7 @@ 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.contract.ContractDO; | ||||
| import cn.iocoder.yudao.module.cms.dal.dataobject.outscontract.OutsContractDO; | ||||
| import cn.iocoder.yudao.module.cms.dal.mysql.outscontract.OutsContractMapper; | ||||
| import cn.iocoder.yudao.module.cms.service.contract.ContractService; | ||||
| @@ -15,6 +16,7 @@ import jakarta.annotation.Resource; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import java.util.Objects; | ||||
|  | ||||
| @@ -56,6 +58,12 @@ public class OutsContractServiceImpl implements OutsContractService { | ||||
|             throw exception(PROJECT_NOT_EXISTS); | ||||
|         } | ||||
|  | ||||
|         //合同名称错误 | ||||
|         if (!Objects.equals(createReqVO.getName(), contract.getName())) { | ||||
|             throw exception(CONTRACT_NAME_NOT_EXISTS); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         outsContractMapper.insert(outsContract); | ||||
|         return outsContract.getId(); | ||||
|     } | ||||
| @@ -113,8 +121,25 @@ public class OutsContractServiceImpl implements OutsContractService { | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public PageResult<OutsContractDO> getOutsContractPage(OutsContractPageReqVO pageReqVO) { | ||||
|         return outsContractMapper.selectPage(pageReqVO); | ||||
|     public PageResult<OutsContractRespVO> getOutsContractPage(OutsContractPageReqVO pageReqVO) { | ||||
|         Long projectId = pageReqVO.getProjectId(); | ||||
|         ProjectRespDTO project = projectApi.getProject(projectId); | ||||
|         if (project == null) { | ||||
|             throw exception(PROJECT_NOT_EXISTS); | ||||
|         } | ||||
|         PageResult<OutsContractDO> outsContractDOPageResult = outsContractMapper.selectPage(pageReqVO); | ||||
|         List<OutsContractDO> outsContractDOList = outsContractDOPageResult.getList(); | ||||
|         List<OutsContractRespVO> outsContractRespVOList = new ArrayList<>(); | ||||
|  | ||||
|  | ||||
|         for (OutsContractDO outsContractDO : outsContractDOList) { | ||||
|             Long id = outsContractDO.getId(); | ||||
|             OutsContractRespVO outsContract = getOutsContract(id); | ||||
|             outsContractRespVOList.add(outsContract); | ||||
|         } | ||||
|         PageResult<OutsContractRespVO> pageResult = new PageResult<>(); | ||||
|         pageResult.setList(outsContractRespVOList); | ||||
|         return pageResult; | ||||
|     } | ||||
|  | ||||
|     private void validateOutsContractExists(Long id) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 wyw
					wyw