根据系统合同编号获得合同详情口
This commit is contained in:
@@ -11,6 +11,8 @@ public class TableFieldConstants {
|
||||
public static final String ID = "ID";
|
||||
|
||||
/* 合同主信息表 */
|
||||
// 系统合同编号;自动生成,校验唯一
|
||||
public static final String BSE_CTRT_MAIN_SYS_CTRT_NUM = "SYS_CTRT_NUM";
|
||||
// 合同名称;与ERP(HTMC)对应,校验唯一
|
||||
public static final String BSE_CTRT_MAIN_CTRT_NAME = "CTRT_NAME";
|
||||
public static final String BSE_CTRT_MAIN_CTRT_NAME_LABEL = "合同名称";
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
||||
import com.zt.plat.module.contractorder.service.contract.ContractService;
|
||||
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.validation.Valid;
|
||||
@@ -71,13 +70,20 @@ public class ContractController implements BusinessControllerMarker {
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得合同详情")
|
||||
@Parameter(name = "id", description = "合同ID", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('base:contract:get')")
|
||||
public CommonResult<ContractRespVO> get(@RequestParam("id") Long id) {
|
||||
ContractRespVO contractRespVO = contractService.get(id);
|
||||
return success(contractRespVO);
|
||||
}
|
||||
|
||||
@GetMapping("/get/by-system-contract-number")
|
||||
@Operation(summary = "根据系统合同编号获得合同详情")
|
||||
@PreAuthorize("@ss.hasPermission('base:contract:get')")
|
||||
public CommonResult<ContractRespVO> getBySystemContractNumber(@RequestParam("systemContractNumber") String systemContractNumber) {
|
||||
ContractRespVO contractRespVO = contractService.getBySystemContractNumber(systemContractNumber);
|
||||
return success(contractRespVO);
|
||||
}
|
||||
|
||||
@PutMapping("update")
|
||||
@Operation(summary = "修改合同")
|
||||
@PreAuthorize("@ss.hasPermission('base:contract:update')")
|
||||
|
||||
@@ -111,4 +111,12 @@ public interface ContractService {
|
||||
* @return 删除结果
|
||||
*/
|
||||
List<JSONObject> delete(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据系统合同编号获得合同详情
|
||||
*
|
||||
* @param systemContractNumber 系统合同编号
|
||||
* @return 合同信息
|
||||
*/
|
||||
ContractRespVO getBySystemContractNumber(String systemContractNumber);
|
||||
}
|
||||
|
||||
@@ -368,6 +368,100 @@ public class ContractServiceImpl implements ContractService {
|
||||
return respVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ContractRespVO getBySystemContractNumber(String systemContractNumber) {
|
||||
// 返回结果
|
||||
ContractRespVO respVO = new ContractRespVO();
|
||||
|
||||
// 查询并设置合同主信息
|
||||
ContractMainDO contractMainDO = contractMainMapper.selectOne(TableFieldConstants.BSE_CTRT_MAIN_SYS_CTRT_NUM,systemContractNumber);
|
||||
if (contractMainDO == null) {
|
||||
throw exception(CONTRACT_NOT_EXISTS);
|
||||
}
|
||||
BeanUtils.copyProperties(contractMainDO, respVO);
|
||||
|
||||
// 查询并设置合同明细
|
||||
List<ContractDetailDO> detailDOS = contractDetailMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, contractMainDO.getId());
|
||||
if (detailDOS != null && !detailDOS.isEmpty()) {
|
||||
respVO.setDetail(BeanUtils.toBean(detailDOS, DetailRespVO.class));
|
||||
respVO.getDetail().forEach(detail -> {
|
||||
|
||||
// 查询并设置交货计划
|
||||
List<ContractPlanDO> planDOS = contractPlanMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_PLN_CTRT_DTL_ID, detail.getId());
|
||||
if (planDOS != null && !planDOS.isEmpty()) {
|
||||
detail.setPlans(BeanUtils.toBean(planDOS, PlanRespVO.class));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查询并设置价款结算条款
|
||||
List<ContractFormulaDO> formulaDOS = contractFormulaMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_ID, contractMainDO.getId());
|
||||
if (formulaDOS != null && !formulaDOS.isEmpty()) {
|
||||
respVO.setFormulas(BeanUtils.toBean(formulaDOS, FormulaRespVO.class));
|
||||
|
||||
respVO.getFormulas().forEach(formula -> {
|
||||
|
||||
// 查询并设置基础系数配置
|
||||
List<ContractCoefficientDO> coefficientDOS = contractCoefficientMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formula.getId());
|
||||
if (coefficientDOS != null && !coefficientDOS.isEmpty()) {
|
||||
formula.setCoefficients(BeanUtils.toBean(coefficientDOS, CoefficientRespVO.class));
|
||||
}
|
||||
// 查询并设置品位等级价配置
|
||||
List<ContractGradeDO> gradeDOS = contractGradeMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_GRD_FMU_ID, formula.getId());
|
||||
if (gradeDOS != null && !gradeDOS.isEmpty()) {
|
||||
formula.setGrades(BeanUtils.toBean(gradeDOS, GradeRespVO.class));
|
||||
}
|
||||
// 查询并设置调整价配置
|
||||
List<ContractDeductDO> deductDOS = contractDeductMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DDCT_FMU_ID, formula.getId());
|
||||
if (deductDOS != null && !deductDOS.isEmpty()) {
|
||||
formula.setDeducts(BeanUtils.toBean(deductDOS, DeductRespVO.class));
|
||||
}
|
||||
// 查询并设置市场价配置
|
||||
List<ContractPriceDO> priceDOS = contractPriceMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_PRC_FMU_ID, formula.getId());
|
||||
if (priceDOS != null && !priceDOS.isEmpty()) {
|
||||
formula.setPrices(BeanUtils.toBean(priceDOS, PriceRespVO.class));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查询并设置参数降级规则
|
||||
List<ContractDemoteDO> demoteDOS = contractDemoteMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DMOT_CTRT_ID, contractMainDO.getId());
|
||||
if (demoteDOS != null && !demoteDOS.isEmpty()) {
|
||||
respVO.setDemotes(BeanUtils.toBean(demoteDOS, DemoteRespVO.class));
|
||||
}
|
||||
|
||||
// 查询并设置品位不计价规则
|
||||
List<ContractNotDO> notDOS = contractNotMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_NT_CTRT_ID, contractMainDO.getId());
|
||||
if (notDOS != null && !notDOS.isEmpty()) {
|
||||
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
|
||||
}
|
||||
|
||||
// 查询并设置合同动态表单
|
||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = templateInstanceDataMapper
|
||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId());
|
||||
if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) {
|
||||
respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class));
|
||||
}
|
||||
|
||||
// 查询并设置合同动态条款
|
||||
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper
|
||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId());
|
||||
if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) {
|
||||
respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class));
|
||||
}
|
||||
|
||||
return respVO;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean update(ContractSaveReqVO reqVO) {
|
||||
|
||||
Reference in New Issue
Block a user