mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	[fix] 修复合同管理模块,增加校验
This commit is contained in:
		@@ -1,4 +1,5 @@
 | 
			
		||||
package cn.iocoder.yudao.module.cms.controller.admin.contract.vo;
 | 
			
		||||
import com.alibaba.excel.annotation.ExcelProperty;
 | 
			
		||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import jakarta.validation.constraints.*;
 | 
			
		||||
@@ -12,9 +13,37 @@ public class ContractSaveReqVO {
 | 
			
		||||
    @Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
 | 
			
		||||
    @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
 | 
			
		||||
    private Long projectId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001")
 | 
			
		||||
    @ExcelProperty("项目编号")
 | 
			
		||||
    private String code;
 | 
			
		||||
 | 
			
		||||
    @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 ReminderTime;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "暂定结算数")
 | 
			
		||||
    @ExcelProperty("暂定结算数")
 | 
			
		||||
    private BigDecimal provisionalSettlement;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "出图公司", requiredMode = Schema.RequiredMode.REQUIRED,example = "***设计院")
 | 
			
		||||
    @ExcelProperty("出图公司")
 | 
			
		||||
    private String drawingCompany;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "预计合同金额", requiredMode = Schema.RequiredMode.REQUIRED,example = "200.0000")
 | 
			
		||||
    @ExcelProperty("预计合同金额")
 | 
			
		||||
    private BigDecimal expectedContractAmount;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
 | 
			
		||||
    @NotEmpty(message = "合同名称不能为空")
 | 
			
		||||
    private String name;
 | 
			
		||||
 
 | 
			
		||||
@@ -45,15 +45,28 @@ public class ContractServiceImpl implements ContractService {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Long createContract(ContractSaveReqVO createReqVO) {
 | 
			
		||||
        // 插入
 | 
			
		||||
        ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class);
 | 
			
		||||
        contractMapper.insert(contract);
 | 
			
		||||
        Long projectId = createReqVO.getProjectId();
 | 
			
		||||
        if (projectId != null) {
 | 
			
		||||
            //进行更新
 | 
			
		||||
            updateContract(createReqVO);
 | 
			
		||||
        }else{
 | 
			
		||||
            //插入
 | 
			
		||||
            contractMapper.insert(contract);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 返回
 | 
			
		||||
        return contract.getId();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void updateContract(ContractSaveReqVO updateReqVO) {
 | 
			
		||||
        Long id = updateReqVO.getId();
 | 
			
		||||
        validateContractExists(id);
 | 
			
		||||
        Long projectId = updateReqVO.getProjectId();
 | 
			
		||||
        if (projectId == null){
 | 
			
		||||
            throw exception(CONTRACT_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
        // 更新
 | 
			
		||||
        ContractDO updateObj = BeanUtils.toBean(updateReqVO, ContractDO.class);
 | 
			
		||||
        contractMapper.updateById(updateObj);
 | 
			
		||||
@@ -67,17 +80,16 @@ public class ContractServiceImpl implements ContractService {
 | 
			
		||||
        contractMapper.deleteById(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void validateContractExists(Long projectId) {
 | 
			
		||||
        if (contractMapper.selectById(projectId) == null) {
 | 
			
		||||
            throw exception(CONTRACT_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public ContractRespVO getContract(Long id) {
 | 
			
		||||
 | 
			
		||||
        ContractDO contractDO = contractMapper.selectById(id);
 | 
			
		||||
        Long projectId = contractDO.getProjectId();
 | 
			
		||||
        //校验
 | 
			
		||||
        if (projectId == null){
 | 
			
		||||
            throw exception(PROJECT_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
        ContractRespVO contractRespVO = BeanUtils.toBean(contractDO, ContractRespVO.class);
 | 
			
		||||
 | 
			
		||||
//        需要联表查询
 | 
			
		||||
@@ -144,4 +156,11 @@ public class ContractServiceImpl implements ContractService {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private void validateContractExists(Long projectId) {
 | 
			
		||||
        if (contractMapper.selectById(projectId) == null) {
 | 
			
		||||
            throw exception(CONTRACT_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user