Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
潘荣晟
2025-10-10 18:00:33 +08:00
72 changed files with 1080 additions and 952 deletions

View File

@@ -0,0 +1,25 @@
package com.zt.plat.module.contractorder.api;
import com.zt.plat.module.contractorder.api.dto.ContractFormulaRespDTO;
import com.zt.plat.module.contractorder.service.contract.ContractService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@Validated
@Slf4j
public class ContractApiImpl implements ContractApi {
@Resource
private ContractService contractService;
@Override
public List<ContractFormulaRespDTO> getFormulas(String contractPaperNumber) {
System.out.println("contract feign" + contractPaperNumber);
return List.of();
}
}

View File

@@ -18,6 +18,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Slf4j
@@ -38,9 +40,30 @@ public class ContractController implements BusinessControllerMarker {
return success(BeanUtils.toBean(pageResult, ContractRespVO.class));
}
@GetMapping("/nots")
@Operation(summary = "查询不计价规则列表")
@PreAuthorize("@ss.hasPermission('base:contract:query')")
public CommonResult<List<NotRespVO>> getNots(NotsQueryReqVO queryReqVO) {
return success(contractService.getNots(queryReqVO));
}
@GetMapping("/demotes")
@Operation(summary = "查询参数降级规则列表")
@PreAuthorize("@ss.hasPermission('base:contract:query')")
public CommonResult<List<DemoteRespVO>> getDemotes(DemotesQueryReqVO queryReqVO) {
return success(contractService.getDemotes(queryReqVO));
}
@GetMapping("/formulas")
@Operation(summary = "查询结算公式列表")
@PreAuthorize("@ss.hasPermission('base:contract:query')")
public CommonResult<List<FormulaRespVO>> getFormulas(FormulasQueryReqVO queryReqVO) {
return success(contractService.getFormulas(queryReqVO));
}
@PostMapping("/create")
@Operation(summary = "新增合同")
@PreAuthorize("@ss.hasPermission('system:contract:create')")
@PreAuthorize("@ss.hasPermission('base:contract:create')")
public CommonResult<JSONObject> create(@Valid @RequestBody ContractSaveReqVO reqVO) {
Long id = contractService.createContract(reqVO);
return success(new JSONObject().putOnce("id", id));
@@ -49,15 +72,15 @@ public class ContractController implements BusinessControllerMarker {
@GetMapping("/get")
@Operation(summary = "获得合同详情")
@Parameter(name = "id", description = "合同ID", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:contract:get')")
public CommonResult<ContractViewRespVO> get(@RequestParam("id") Long id) {
ContractViewRespVO contractViewRespVO = contractService.get(id);
return success(contractViewRespVO);
@PreAuthorize("@ss.hasPermission('base:contract:get')")
public CommonResult<ContractRespVO> get(@RequestParam("id") Long id) {
ContractRespVO contractRespVO = contractService.get(id);
return success(contractRespVO);
}
@PutMapping("update")
@Operation(summary = "修改合同")
@PreAuthorize("@ss.hasPermission('system:contract:update')")
@PreAuthorize("@ss.hasPermission('base:contract:update')")
public CommonResult<Boolean> update(@Valid @RequestBody ContractSaveReqVO reqVO) {
return success(contractService.update(reqVO));
}
@@ -66,7 +89,7 @@ public class ContractController implements BusinessControllerMarker {
@DeleteMapping("/delete")
@Operation(summary = "删除合同")
@Parameter(name = "ids", description = "合同ID集合", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:contract:delete')")
@PreAuthorize("@ss.hasPermission('base:contract:delete')")
public CommonResult<Boolean> delete(@RequestParam("ids") Long[] ids) {
return success(true);
}
@@ -74,34 +97,34 @@ public class ContractController implements BusinessControllerMarker {
// TODO
@PostMapping("/download")
@Operation(summary = "下载文件")
@PreAuthorize("@ss.hasPermission('system:contract:download')")
@PreAuthorize("@ss.hasPermission('base:contract:download')")
public void download() {
}
// TODO
@PostMapping("/preview")
@Operation(summary = "预览文件")
@PreAuthorize("@ss.hasPermission('system:contract:preview')")
@PreAuthorize("@ss.hasPermission('base:contract:preview')")
public void preview() {
}
// TODO
@PostMapping("/complete")
@Operation(summary = "完结")
@PreAuthorize("@ss.hasPermission('system:contract:complete')")
@PreAuthorize("@ss.hasPermission('base:contract:complete')")
public void complete() {
}
// TODO
@PostMapping("/archive")
@Operation(summary = "归档")
@PreAuthorize("@ss.hasPermission('system:contract:archive')")
@PreAuthorize("@ss.hasPermission('base:contract:archive')")
public void archive() {
}
@GetMapping("/submit/approval")
@Operation(summary = "合同提交审批")
@PreAuthorize("@ss.hasPermission('system:contract:approval')")
@PreAuthorize("@ss.hasPermission('base:contract:approval')")
public CommonResult<String> submitApproval(@RequestParam("id") Long id) {
return success(contractService.submitApproval(id));
}
@@ -109,22 +132,22 @@ public class ContractController implements BusinessControllerMarker {
// TODO
@PostMapping("/approval")
@Operation(summary = "合同审批")
@PreAuthorize("@ss.hasPermission('system:contract:approval')")
public CommonResult<String> approval(@Valid @RequestBody ContractApprovalReqVO reqVO) {
@PreAuthorize("@ss.hasPermission('base:contract:approval')")
public CommonResult<String> approval(@Valid @RequestBody ApprovalReqVO reqVO) {
return success(contractService.approval(reqVO));
}
// TODO
@PostMapping("/view/approval")
@Operation(summary = "查看审批")
@PreAuthorize("@ss.hasPermission('system:contract:approval')")
@PreAuthorize("@ss.hasPermission('base:contract:approval')")
public void viewApproval() {
}
// TODO
@PostMapping("/submit/erp")
@Operation(summary = "提交ERP")
@PreAuthorize("@ss.hasPermission('system:contract:erp')")
@PreAuthorize("@ss.hasPermission('base:contract:erp')")
public void submitErp() {
}
}

View File

@@ -7,7 +7,7 @@ import lombok.Data;
@Schema(description = "管理后台 - 合同审核请求对象 Request VO")
@Data
public class ContractApprovalReqVO {
public class ApprovalReqVO {
@Schema(description = "合同主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同主键ID不能为空")

View File

@@ -0,0 +1,43 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 基础系数配置 Response VO")
@Data
public class CoefficientRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "系数上限")
private BigDecimal coefficientUp;
@Schema(description = "系数下限")
private BigDecimal coefficientDown;
@Schema(description = "区间方式(字典STLM_RNG_WY)")
private String rangeWay;
@Schema(description = "是否省内")
private String inState;
@Schema(description = "类型")
private String type;
@Schema(description = "系数值")
private BigDecimal settlementCoefficient;
}

View File

@@ -1,23 +1,18 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 基础系数配置新增/修改 Request VO")
@Data
public class ContractCoefficientSaveReqVO {
public class CoefficientSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31657")
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "27478")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6534")
@NotNull(message = "配置主键不能为空")
private Long parameterId;
@Schema(description = "条款主键", example = "29652")
@Schema(description = "条款主键", example = "13898")
private Long formulaId;
@Schema(description = "金属元素编码")
@@ -29,25 +24,21 @@ public class ContractCoefficientSaveReqVO {
@Schema(description = "金属元素名称", example = "芋艿")
private String elementName;
@Schema(description = "系数值")
private String settlementCoefficient;
@Schema(description = "系数上限")
private BigDecimal coefficientUp;
@Schema(description = "系数下限")
private BigDecimal coefficientDown;
@Schema(description = "是否包含上限")
private String isInUp;
@Schema(description = "区间方式(字典STLM_RNG_WY)")
private String rangeWay;
@Schema(description = "是否包含下限")
private String isInDown;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
@Schema(description = "是否省内(字典ERP_CTRT_YN)")
private String inState;
@Schema(description = "类型", example = "1")
@Schema(description = "类型(字典STLM_COEF)", example = "1")
private String type;
@Schema(description = "系数值")
private BigDecimal settlementCoefficient;
}

View File

@@ -1,54 +0,0 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 调整价配置新增/修改 Request VO")
@Data
public class ContractDeductSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25312")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21114")
@NotNull(message = "配置主键不能为空")
private Long parameterId;
@Schema(description = "条款主键", example = "29909")
private Long formulaId;
@Schema(description = "物料编码;推送ERP")
private String materialNumber;
@Schema(description = "物料名称", example = "张三")
private String materialName;
@Schema(description = "上限", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "上限不能为空")
private BigDecimal gradeUp;
@Schema(description = "下限")
private BigDecimal gradeDown;
@Schema(description = "是否包含上限")
private String isInUp;
@Schema(description = "是否包含下限")
private String isInDown;
@Schema(description = "方式")
private String way;
@Schema(description = "类型", example = "1")
private String type;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "调整价")
private BigDecimal gradeAmount;
}

View File

@@ -1,215 +1,242 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 合同信息 Response VO")
@Schema(description = "管理后台 - 合同详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ContractRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2090")
@ExcelProperty("主键")
@Schema(description = "主键")
private Long id;
@Schema(description = "模板实例主键", example = "10196")
@ExcelProperty("模板实例主键")
@Schema(description = "模板实例主键")
private Long instanceId;
@Schema(description = "系统合同编号;自动生成,校验唯一")
@ExcelProperty("系统合同编号;自动生成,校验唯一")
private String systemContractNumber;
@Schema(description = "状态", example = "1")
@ExcelProperty("状态")
@Schema(description = "状态")
private String status;
@Schema(description = "合同名称;与ERP(HTMC)对应,校验唯一", example = "芋艿")
@ExcelProperty("合同名称;与ERP(HTMC)对应,校验唯一")
@Schema(description = "合同名称;与ERP(HTMC)对应,校验唯一")
private String contractName;
@Schema(description = "合同编号;与ERP(HTBH)对应,校验唯一")
@ExcelProperty("合同编号;与ERP(HTBH)对应,校验唯一")
private String contractPaperNumber;
@Schema(description = "是否虚拟合同;与ERP(SFXNHT)对应")
@ExcelProperty("是否虚拟合同;与ERP(SFXNHT)对应")
private String contractVirtual;
@Schema(description = "是否先款后货")
@ExcelProperty("是否先款后货")
private String hasPayable;
@Schema(description = "收支性质;与ERP(SZXZ)对应")
@ExcelProperty("收支性质;与ERP(SZXZ)对应")
private String direction;
@Schema(description = "合同类型", example = "1")
@ExcelProperty("合同类型")
@Schema(description = "合同类型")
private String contractType;
@Schema(description = "签署日期;与ERP(HTQDRQ)对应")
@ExcelProperty("签署日期;与ERP(HTQDRQ)对应")
private LocalDateTime signDate;
@Schema(description = "开始日期;与ERP(HTQSRQ)对应")
@ExcelProperty("开始日期;与ERP(HTQSRQ)对应")
private LocalDateTime startDate;
@Schema(description = "结束日期;与ERP(HTZZRQ)对应")
@ExcelProperty("结束日期;与ERP(HTZZRQ)对应")
private LocalDateTime endDate;
@Schema(description = "签署地")
@ExcelProperty("签署地")
private String signPlace;
@Schema(description = "甲方公司编号;如果是采购合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是销售合同手动选择且与ERP(WLDWBH)对应。")
@ExcelProperty("甲方公司编号;如果是采购合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是销售合同手动选择且与ERP(WLDWBH)对应。")
private String purchaseCompanyNumber;
@Schema(description = "甲方公司名称", example = "王五")
@ExcelProperty("甲方公司名称")
@Schema(description = "甲方公司名称")
private String purchaseCompanyName;
@Schema(description = "甲方地址")
@ExcelProperty("甲方地址")
private String purchaseAddress;
@Schema(description = "甲方法定代表人")
@ExcelProperty("甲方法定代表人")
private String purchaseLeader;
@Schema(description = "乙方公司编号;如果是销售合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是采购合同手动选择且与ERP(WLDWBH)对应。")
@ExcelProperty("乙方公司编号;如果是销售合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是采购合同手动选择且与ERP(WLDWBH)对应。")
private String salesCompanyNumber;
@Schema(description = "乙方公司名称", example = "王五")
@ExcelProperty("乙方公司名称")
@Schema(description = "乙方公司名称")
private String salesCompanyName;
@Schema(description = "乙方地址")
@ExcelProperty("乙方地址")
private String salesAddress;
@Schema(description = "乙方企业负责人")
@ExcelProperty("乙方企业负责人")
private String salesPurchaseLeader;
@Schema(description = "币种;与ERP(BZBH)对应")
@ExcelProperty("币种;与ERP(BZBH)对应")
private String currency;
@Schema(description = "原币金额;与ERP(HTYBZJE)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
@ExcelProperty("原币金额;与ERP(HTYBZJE)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
private BigDecimal cooAmount;
@Schema(description = "本币金额;与ERP(HTBWBZJE)对应")
@ExcelProperty("本币金额;与ERP(HTBWBZJE)对应")
private BigDecimal basicAmount;
@Schema(description = "是否有履约保证金;为是,则保证金必填。")
@ExcelProperty("是否有履约保证金;为是,则保证金必填。")
private String hasDeposit;
@Schema(description = "原币履约保证金;与ERP(LYBZJBGQYB)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
@ExcelProperty("原币履约保证金;与ERP(LYBZJBGQYB)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
private BigDecimal cooAmountDeposit;
@Schema(description = "本币履约保证金;与ERP(LYBZJBGQBWB)对应")
@ExcelProperty("本币履约保证金;与ERP(LYBZJBGQBWB)对应")
private BigDecimal basicAmountDeposit;
@Schema(description = "是否有预付款;与ERP(SFYYFK)对应")
@ExcelProperty("是否有预付款;与ERP(SFYYFK)对应")
private String hasPrepayment;
@Schema(description = "预付款比例;与ERP(YFKBL)对应")
@ExcelProperty("预付款比例;与ERP(YFKBL)对应")
private BigDecimal prepaymentRatio;
@Schema(description = "预付款金额;与ERP(YFKJE)对应")
@ExcelProperty("预付款金额;与ERP(YFKJE)对应")
private BigDecimal prepaymentAmount;
@Schema(description = "是否有质保金;与ERP(SFHZBJ)对应")
@ExcelProperty("是否有质保金;与ERP(SFHZBJ)对应")
private String hasQualityAmount;
@Schema(description = "质保金比例;与ERP(ZBJBL)对应")
@ExcelProperty("质保金比例;与ERP(ZBJBL)对应")
private BigDecimal qualityRatio;
@Schema(description = "质保金金额;与ERP(BZJJE)对应")
@ExcelProperty("质保金金额;与ERP(BZJJE)对应")
private BigDecimal qualityAmount;
@Schema(description = "补充协议类型;变更协议/增加条款", example = "1")
@ExcelProperty("补充协议类型;变更协议/增加条款")
@Schema(description = "补充协议类型;变更协议/增加条款")
private String replenishAgreementType;
@Schema(description = "备注;与ERP(BZXX)对应")
@ExcelProperty("备注;与ERP(BZXX)对应")
private String remark;
@Schema(description = "施工类型编号;与ERP(HTLXBH)对应,拓展信息")
@ExcelProperty("施工类型编号;与ERP(HTLXBH)对应,拓展信息")
private String constructionTypeNumber;
@Schema(description = "施工类型名称;与ERP(HTLXMC)对应,拓展信息", example = "张三")
@ExcelProperty("施工类型名称;与ERP(HTLXMC)对应,拓展信息")
@Schema(description = "施工类型名称;与ERP(HTLXMC)对应,拓展信息")
private String constructionTypeName;
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息")
@ExcelProperty("代理方;与ERP(ZLIFNR)对应,拓展信息")
private String agent;
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息")
@ExcelProperty("类别;与ERP(HTLB)对应,拓展信息")
private String category;
@Schema(description = "原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
@ExcelProperty("原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
private BigDecimal changeCooAmount;
@Schema(description = "本币金额-变更后;与ERP(BGHHTBWBZJE)对应,拓展信息")
@ExcelProperty("本币金额-变更后;与ERP(BGHHTBWBZJE)对应,拓展信息")
private BigDecimal changeBasicAmount;
@Schema(description = "原币履约保证金-变更后;与ERP(LYBZJBGHYB)对应,拓展信息")
@ExcelProperty("原币履约保证金-变更后;与ERP(LYBZJBGHYB)对应,拓展信息")
private BigDecimal changeCooAmountDeposit;
@Schema(description = "本币履约保证金-变更后;与ERP(LYBZJBGHBWB)对应,拓展信息")
@ExcelProperty("本币履约保证金-变更后;与ERP(LYBZJBGHBWB)对应,拓展信息")
private BigDecimal changeBasicAmountDeposit;
@Schema(description = "是否框架合同;与ERP(SFKJHT)对应,拓展信息")
@ExcelProperty("是否框架合同;与ERP(SFKJHT)对应,拓展信息")
private String isFramework;
@Schema(description = "境内/境外;与ERP(JNJW)对应,拓展信息")
@ExcelProperty("境内/境外;与ERP(JNJW)对应,拓展信息")
private String isDomestic;
@Schema(description = "建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")
@ExcelProperty("建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")
private String architectureServicePlace;
@Schema(description = "达到收款条件金额;与ERP(DDSKJE)对应拓展信息销售合同且类型为SAP02COSR必填")
@ExcelProperty("达到收款条件金额;与ERP(DDSKJE)对应拓展信息销售合同且类型为SAP02COSR必填")
private BigDecimal payeeConditionAmount;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "步骤")
@ExcelProperty("步骤")
private Integer step;
}
@Schema(description = "ERP请求状态")
private String erpStatus;
@Schema(description = "ERP请求失败原因")
private String cause;
@Schema(description = "流程实例编号")
private String processInstanceId;
@Schema(description = "审批意见")
private String reviewOpinion;
@Schema(description = "任务节点主键")
private String taskNodeId;
@Schema(description = "模板附件对象存储")
private String fileObject;
@Schema(description = "其它附件对象存储")
private String fileObjectOther;
@Schema(description = "交货地点")
private String deliveryAddress;
@Schema(description = "交货方式(字典:FRCST_ASN)")
private String deliveryWay;
@Schema(description = "甲方联系人")
private String purchaseHuman;
@Schema(description = "甲方电话")
private String purchaseTel;
@Schema(description = "甲方邮箱")
private String purchaseEmail;
@Schema(description = "甲方传真")
private String purchaseFax;
@Schema(description = "甲方联系地址")
private String purchaseContactAddress;
@Schema(description = "乙方联系人")
private String salesHuman;
@Schema(description = "乙方电话")
private String salesTel;
@Schema(description = "乙方邮箱")
private String salesEmail;
@Schema(description = "乙方传真")
private String salesFax;
@Schema(description = "乙方联系地址")
private String salesContactAddress;
// 物料信息
private List<DetailRespVO> detail;
// 合同动态表单
private List<TemplateInstanceDataRespVO> dynamicsFields;
// 合同动态条款
private List<TemplateInstanceItemRespVO> dynamicsItems;
// 价款结算条款
private List<FormulaRespVO> formulas;
// 参数降级规则
private List<DemoteRespVO> demotes;
// 品位不计价规则
private List<NotRespVO> nots;
}

View File

@@ -162,7 +162,7 @@ public class ContractSaveReqVO {
private String remark;
// 物料信息
private List<ContractDetailSaveReqVO> detail;
private List<DetailSaveReqVO> detail;
// 扩展信息
@Schema(description = "原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
@@ -219,11 +219,11 @@ public class ContractSaveReqVO {
private List<TemplateInstanceDataSaveReqVO> dynamicsFields;
// 价款结算条款
private List<ContractFormulaSaveReqVO> formulas;
private List<FormulaSaveReqVO> formulas;
// 参数降级规则
private List<ContractDemoteSaveReqVO> demotes;
private List<DemoteSaveReqVO> demotes;
// 品位不计价规则
private List<ContractNotSaveReqVO> nots;
private List<NotSaveReqVO> nots;
}

View File

@@ -1,51 +0,0 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 基础系数配置 Response VO")
@Data
public class ContractViewCoefficientRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31657")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6534")
private Long parameterId;
@Schema(description = "条款主键", example = "29652")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "芋艿")
private String elementName;
@Schema(description = "系数值")
private String settlementCoefficient;
@Schema(description = "系数上限")
private BigDecimal coefficientUp;
@Schema(description = "系数下限")
private BigDecimal coefficientDown;
@Schema(description = "是否包含上限")
private String isInUp;
@Schema(description = "是否包含下限")
private String isInDown;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "类型", example = "1")
private String type;
}

View File

@@ -1,54 +0,0 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 调整价配置 Response VO")
@Data
public class ContractViewDeductRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25312")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21114")
@NotNull(message = "配置主键不能为空")
private Long parameterId;
@Schema(description = "条款主键", example = "29909")
private Long formulaId;
@Schema(description = "物料编码;推送ERP")
private String materialNumber;
@Schema(description = "物料名称", example = "张三")
private String materialName;
@Schema(description = "上限", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "上限不能为空")
private BigDecimal gradeUp;
@Schema(description = "下限")
private BigDecimal gradeDown;
@Schema(description = "是否包含上限")
private String isInUp;
@Schema(description = "是否包含下限")
private String isInDown;
@Schema(description = "方式")
private String way;
@Schema(description = "类型", example = "1")
private String type;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "调整价")
private BigDecimal gradeAmount;
}

View File

@@ -1,312 +0,0 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 合同详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ContractViewRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2476")
@ExcelProperty("主键")
private Long id;
@Schema(description = "模板实例主键", example = "5352")
@ExcelProperty("模板实例主键")
private Long instanceId;
@Schema(description = "系统合同编号;自动生成,校验唯一")
@ExcelProperty("系统合同编号;自动生成,校验唯一")
private String systemContractNumber;
@Schema(description = "状态", example = "2")
@ExcelProperty("状态")
private String status;
@Schema(description = "合同名称;与ERP(HTMC)对应,校验唯一", example = "李四")
@ExcelProperty("合同名称;与ERP(HTMC)对应,校验唯一")
private String contractName;
@Schema(description = "合同编号;与ERP(HTBH)对应,校验唯一")
@ExcelProperty("合同编号;与ERP(HTBH)对应,校验唯一")
private String contractPaperNumber;
@Schema(description = "是否虚拟合同;与ERP(SFXNHT)对应")
@ExcelProperty("是否虚拟合同;与ERP(SFXNHT)对应")
private String contractVirtual;
@Schema(description = "是否先款后货")
@ExcelProperty("是否先款后货")
private String hasPayable;
@Schema(description = "收支性质;与ERP(SZXZ)对应")
@ExcelProperty("收支性质;与ERP(SZXZ)对应")
private String direction;
@Schema(description = "合同类型", example = "2")
@ExcelProperty("合同类型")
private String contractType;
@Schema(description = "签署日期;与ERP(HTQDRQ)对应")
@ExcelProperty("签署日期;与ERP(HTQDRQ)对应")
private LocalDateTime signDate;
@Schema(description = "开始日期;与ERP(HTQSRQ)对应")
@ExcelProperty("开始日期;与ERP(HTQSRQ)对应")
private LocalDateTime startDate;
@Schema(description = "结束日期;与ERP(HTZZRQ)对应")
@ExcelProperty("结束日期;与ERP(HTZZRQ)对应")
private LocalDateTime endDate;
@Schema(description = "签署地")
@ExcelProperty("签署地")
private String signPlace;
@Schema(description = "甲方公司编号;如果是采购合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是销售合同手动选择且与ERP(WLDWBH)对应。")
@ExcelProperty("甲方公司编号;如果是采购合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是销售合同手动选择且与ERP(WLDWBH)对应。")
private String purchaseCompanyNumber;
@Schema(description = "甲方公司名称", example = "芋艿")
@ExcelProperty("甲方公司名称")
private String purchaseCompanyName;
@Schema(description = "甲方地址")
@ExcelProperty("甲方地址")
private String purchaseAddress;
@Schema(description = "甲方法定代表人")
@ExcelProperty("甲方法定代表人")
private String purchaseLeader;
@Schema(description = "乙方公司编号;如果是销售合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是采购合同手动选择且与ERP(WLDWBH)对应。")
@ExcelProperty("乙方公司编号;如果是销售合同查询组织机构自动带出且与ERP(HTQDZTBH)对应如果是采购合同手动选择且与ERP(WLDWBH)对应。")
private String salesCompanyNumber;
@Schema(description = "乙方公司名称", example = "赵六")
@ExcelProperty("乙方公司名称")
private String salesCompanyName;
@Schema(description = "乙方地址")
@ExcelProperty("乙方地址")
private String salesAddress;
@Schema(description = "乙方企业负责人")
@ExcelProperty("乙方企业负责人")
private String salesPurchaseLeader;
@Schema(description = "币种;与ERP(BZBH)对应")
@ExcelProperty("币种;与ERP(BZBH)对应")
private String currency;
@Schema(description = "原币金额;与ERP(HTYBZJE)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
@ExcelProperty("原币金额;与ERP(HTYBZJE)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
private BigDecimal cooAmount;
@Schema(description = "本币金额;与ERP(HTBWBZJE)对应")
@ExcelProperty("本币金额;与ERP(HTBWBZJE)对应")
private BigDecimal basicAmount;
@Schema(description = "是否有履约保证金;为是,则保证金必填。")
@ExcelProperty("是否有履约保证金;为是,则保证金必填。")
private String hasDeposit;
@Schema(description = "原币履约保证金;与ERP(LYBZJBGQYB)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
@ExcelProperty("原币履约保证金;与ERP(LYBZJBGQYB)对应,币种不是人民币时,显示并手动填写,如果是人民币,隐藏且等于本币金额")
private BigDecimal cooAmountDeposit;
@Schema(description = "本币履约保证金;与ERP(LYBZJBGQBWB)对应")
@ExcelProperty("本币履约保证金;与ERP(LYBZJBGQBWB)对应")
private BigDecimal basicAmountDeposit;
@Schema(description = "是否有预付款;与ERP(SFYYFK)对应")
@ExcelProperty("是否有预付款;与ERP(SFYYFK)对应")
private String hasPrepayment;
@Schema(description = "预付款比例;与ERP(YFKBL)对应")
@ExcelProperty("预付款比例;与ERP(YFKBL)对应")
private BigDecimal prepaymentRatio;
@Schema(description = "预付款金额;与ERP(YFKJE)对应")
@ExcelProperty("预付款金额;与ERP(YFKJE)对应")
private BigDecimal prepaymentAmount;
@Schema(description = "是否有质保金;与ERP(SFHZBJ)对应")
@ExcelProperty("是否有质保金;与ERP(SFHZBJ)对应")
private String hasQualityAmount;
@Schema(description = "质保金比例;与ERP(ZBJBL)对应")
@ExcelProperty("质保金比例;与ERP(ZBJBL)对应")
private BigDecimal qualityRatio;
@Schema(description = "质保金金额;与ERP(BZJJE)对应")
@ExcelProperty("质保金金额;与ERP(BZJJE)对应")
private BigDecimal qualityAmount;
@Schema(description = "补充协议类型;变更协议/增加条款", example = "2")
@ExcelProperty("补充协议类型;变更协议/增加条款")
private String replenishAgreementType;
@Schema(description = "备注;与ERP(BZXX)对应")
@ExcelProperty("备注;与ERP(BZXX)对应")
private String remark;
@Schema(description = "施工类型编号;与ERP(HTLXBH)对应,拓展信息")
@ExcelProperty("施工类型编号;与ERP(HTLXBH)对应,拓展信息")
private String constructionTypeNumber;
@Schema(description = "施工类型名称;与ERP(HTLXMC)对应,拓展信息", example = "李四")
@ExcelProperty("施工类型名称;与ERP(HTLXMC)对应,拓展信息")
private String constructionTypeName;
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息")
@ExcelProperty("代理方;与ERP(ZLIFNR)对应,拓展信息")
private String agent;
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息")
@ExcelProperty("类别;与ERP(HTLB)对应,拓展信息")
private String category;
@Schema(description = "原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
@ExcelProperty("原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
private BigDecimal changeCooAmount;
@Schema(description = "本币金额-变更后;与ERP(BGHHTBWBZJE)对应,拓展信息")
@ExcelProperty("本币金额-变更后;与ERP(BGHHTBWBZJE)对应,拓展信息")
private BigDecimal changeBasicAmount;
@Schema(description = "原币履约保证金-变更后;与ERP(LYBZJBGHYB)对应,拓展信息")
@ExcelProperty("原币履约保证金-变更后;与ERP(LYBZJBGHYB)对应,拓展信息")
private BigDecimal changeCooAmountDeposit;
@Schema(description = "本币履约保证金-变更后;与ERP(LYBZJBGHBWB)对应,拓展信息")
@ExcelProperty("本币履约保证金-变更后;与ERP(LYBZJBGHBWB)对应,拓展信息")
private BigDecimal changeBasicAmountDeposit;
@Schema(description = "是否框架合同;与ERP(SFKJHT)对应,拓展信息")
@ExcelProperty("是否框架合同;与ERP(SFKJHT)对应,拓展信息")
private String isFramework;
@Schema(description = "境内/境外;与ERP(JNJW)对应,拓展信息")
@ExcelProperty("境内/境外;与ERP(JNJW)对应,拓展信息")
private String isDomestic;
@Schema(description = "建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")
@ExcelProperty("建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")
private String architectureServicePlace;
@Schema(description = "达到收款条件金额;与ERP(DDSKJE)对应拓展信息销售合同且类型为SAP02COSR必填")
@ExcelProperty("达到收款条件金额;与ERP(DDSKJE)对应拓展信息销售合同且类型为SAP02COSR必填")
private BigDecimal payeeConditionAmount;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "步骤")
@ExcelProperty("步骤")
private Integer step;
@Schema(description = "ERP请求状态", example = "1")
@ExcelProperty("ERP请求状态")
private String erpStatus;
@Schema(description = "ERP请求失败原因")
@ExcelProperty("ERP请求失败原因")
private String cause;
@Schema(description = "流程实例编号", example = "27511")
@ExcelProperty("流程实例编号")
private String processInstanceId;
@Schema(description = "审批意见")
@ExcelProperty("审批意见")
private String reviewOpinion;
@Schema(description = "任务节点主键", example = "26040")
@ExcelProperty("任务节点主键")
private String taskNodeId;
@Schema(description = "模板附件对象存储")
@ExcelProperty("模板附件对象存储")
private String fileObject;
@Schema(description = "其它附件对象存储")
@ExcelProperty("其它附件对象存储")
private String fileObjectOther;
@Schema(description = "交货地点")
@ExcelProperty("交货地点")
private String deliveryAddress;
@Schema(description = "交货方式(字典:FRCST_ASN)")
@ExcelProperty("交货方式(字典:FRCST_ASN)")
private String deliveryWay;
@Schema(description = "甲方联系人")
@ExcelProperty("甲方联系人")
private String purchaseHuman;
@Schema(description = "甲方电话")
@ExcelProperty("甲方电话")
private String purchaseTel;
@Schema(description = "甲方邮箱")
@ExcelProperty("甲方邮箱")
private String purchaseEmail;
@Schema(description = "甲方传真")
@ExcelProperty("甲方传真")
private String purchaseFax;
@Schema(description = "甲方联系地址")
@ExcelProperty("甲方联系地址")
private String purchaseContactAddress;
@Schema(description = "乙方联系人")
@ExcelProperty("乙方联系人")
private String salesHuman;
@Schema(description = "乙方电话")
@ExcelProperty("乙方电话")
private String salesTel;
@Schema(description = "乙方邮箱")
@ExcelProperty("乙方邮箱")
private String salesEmail;
@Schema(description = "乙方传真")
@ExcelProperty("乙方传真")
private String salesFax;
@Schema(description = "乙方联系地址")
@ExcelProperty("乙方联系地址")
private String salesContactAddress;
// 物料信息
private List<ContractViewDetailRespVO> detail;
// 合同动态表单
private List<TemplateInstanceDataRespVO> dynamicsFields;
// 合同动态条款
private List<TemplateInstanceItemRespVO> dynamicsItems;
// 价款结算条款
private List<ContractViewFormulaRespVO> formulas;
// 参数降级规则
private List<ContractViewDemoteRespVO> demotes;
// 品位不计价配置
private List<ContractViewNotRespVO> nots;
}

View File

@@ -0,0 +1,29 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 调整价配置 Response VO")
@Data
public class DeductRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "数据项类型(字典:GRD_CFG_TP)")
private String configType;
@Schema(description = "是否省内")
private String inState;
@Schema(description = "调整价")
private BigDecimal gradeAmount;
@Schema(description = "创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,26 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 调整价配置新增/修改 Request VO")
@Data
public class DeductSaveReqVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "数据项类型(字典:GRD_CFG_TP)")
private String configType;
@Schema(description = "是否省内")
private String inState;
@Schema(description = "调整价")
private BigDecimal gradeAmount;
}

View File

@@ -1,7 +1,6 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -11,49 +10,44 @@ import java.time.LocalDateTime;
@Schema(description = "管理后台 - 参数降级规则 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ContractViewDemoteRespVO {
public class DemoteRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31818")
@ExcelProperty("主键")
@Schema(description = "主键")
private Long id;
@Schema(description = "合同主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14971")
@ExcelProperty("合同主键")
@Schema(description = "合同主键")
private Long contractId;
@Schema(description = "金属元素编码")
@ExcelProperty("金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
@ExcelProperty("金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "王五")
@ExcelProperty("金属元素名称")
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "上限")
@ExcelProperty("上限")
private BigDecimal gradeUp;
@Schema(description = "区间方式(字典STLM_RNG_WY)")
@ExcelProperty("区间方式(字典STLM_RNG_WY)")
private String rangeWay;
@Schema(description = "下限")
@ExcelProperty("下限")
private BigDecimal gradeDown;
@Schema(description = "降级后物料名称", example = "李四")
@ExcelProperty("降级后物料名称")
@Schema(description = "降级后物料名称")
private String materialName;
@Schema(description = "降级后物料编码")
@ExcelProperty("降级后物料编码")
private String materialNumber;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
}

View File

@@ -8,7 +8,7 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 参数降级规则新增/修改 Request VO")
@Data
public class ContractDemoteSaveReqVO {
public class DemoteSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31818")
private Long id;

View File

@@ -0,0 +1,18 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 查询参数降级规则列表 Request VO")
@Data
public class DemotesQueryReqVO {
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "金属元素")
private String elementName;
}

View File

@@ -8,34 +8,34 @@ import java.util.List;
@Schema(description = "管理后台 - 合同明细 Response VO")
@Data
public class ContractViewDetailRespVO {
public class DetailRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "物料名称", example = "物料名称")
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "物料编码", example = "物料编码")
@Schema(description = "物料编码")
private String materialNumber;
@Schema(description = "数量")
private BigDecimal quantity;
@Schema(description = "计量单位", example = "")
@Schema(description = "计量单位")
private String unit;
@Schema(description = "含税单价", example = "28579")
@Schema(description = "含税单价")
private BigDecimal inTaxUnitPrice;
@Schema(description = "金属元素缩写", example = "金属元素缩写")
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "金属元素名称")
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "金属元素编码", example = "金属元素编码")
@Schema(description = "金属元素编码")
private String elementNumber;
// 交货计划
private List<ContractViewPlanRespVO> plans;
private List<PlanRespVO> plans;
}

View File

@@ -8,7 +8,7 @@ import java.util.List;
@Schema(description = "管理后台 - 合同明细新增/修改 Request VO")
@Data
public class ContractDetailSaveReqVO {
public class DetailSaveReqVO {
@Schema(description = "主键")
private Long id;
@@ -41,5 +41,5 @@ public class ContractDetailSaveReqVO {
private String elementNumber;
// 交货计划
private List<ContractPlanSaveReqVO> plans;
private List<PlanSaveReqVO> plans;
}

View File

@@ -7,14 +7,14 @@ import java.util.List;
@Schema(description = "管理后台 - 价款结算条款 Response VO")
@Data
public class ContractViewFormulaRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22933")
public class FormulaRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "合同主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9162")
@Schema(description = "合同主键")
private Long contractId;
@Schema(description = "公式类型;单价/总价/水扣款/加工费", example = "1")
@Schema(description = "公式类型;单价/总价/水扣款/加工费")
private String formulaType;
@Schema(description = "公式")
@@ -23,7 +23,7 @@ public class ContractViewFormulaRespVO {
@Schema(description = "编码公式")
private String numberFormula;
@Schema(description = "物料名称", example = "赵六")
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "物料编码")
@@ -38,18 +38,24 @@ public class ContractViewFormulaRespVO {
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "赵六")
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "结算类型多条使用逗号分隔字典PRCH_STLM_TP", example = "1")
@Schema(description = "结算类型多条使用逗号分隔字典PRCH_STLM_TP")
private String settlementType;
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
// 基础系数配置
private List<ContractViewCoefficientRespVO> coefficients;
private List<CoefficientRespVO> coefficients;
// 品位等级价配置
private List<ContractViewGradeRespVO> grades;
private List<GradeRespVO> grades;
// 调整价配置
private List<ContractViewDeductRespVO> deducts;
private List<DeductRespVO> deducts;
// 市场价配置
private List<ContractViewPriceRespVO> prices;
private List<PriceRespVO> prices;
}

View File

@@ -8,7 +8,7 @@ import java.util.List;
@Schema(description = "管理后台 - 价款结算条款新增/修改 Request VO")
@Data
public class ContractFormulaSaveReqVO {
public class FormulaSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22933")
private Long id;
@@ -48,11 +48,11 @@ public class ContractFormulaSaveReqVO {
private String settlementType;
// 基础系数配置
private List<ContractCoefficientSaveReqVO> coefficients;
private List<CoefficientSaveReqVO> coefficients;
// 品位等级价配置
private List<ContractGradeSaveReqVO> grades;
private List<GradeSaveReqVO> grades;
// 调整价配置
private List<ContractDeductSaveReqVO> deducts;
private List<DeductSaveReqVO> deducts;
// 市场价配置
private List<ContractPriceSaveReqVO> prices;
private List<PriceSaveReqVO> prices;
}

View File

@@ -0,0 +1,18 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 查询结算公式列表 Request VO")
@Data
public class FormulasQueryReqVO {
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "金属元素")
private String elementName;
}

View File

@@ -8,14 +8,14 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 品位等级价配置 Response VO")
@Data
public class ContractViewGradeRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15414")
public class GradeRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键", example = "16734")
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键", example = "15344")
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "金属元素编码")
@@ -24,7 +24,7 @@ public class ContractViewGradeRespVO {
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "芋艿")
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "品位单位")
@@ -51,13 +51,13 @@ public class ContractViewGradeRespVO {
@Schema(description = "不足系数值按比例计算")
private String useCoefficient;
@Schema(description = "计价类型", example = "2")
@Schema(description = "计价类型")
private String priceType;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "是否省内")
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "等级单价", example = "26237")
@Schema(description = "等级单价")
private BigDecimal unitPrice;
}

View File

@@ -7,7 +7,7 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 品位等级价配置新增/修改 Request VO")
@Data
public class ContractGradeSaveReqVO {
public class GradeSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15414")
private Long id;

View File

@@ -1,7 +1,6 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -11,49 +10,44 @@ import java.time.LocalDateTime;
@Schema(description = "管理后台 - 品位不计价规则 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ContractViewNotRespVO {
public class NotRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "18545")
@ExcelProperty("主键")
@Schema(description = "主键")
private Long id;
@Schema(description = "合同主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "5333")
@ExcelProperty("合同主键")
@Schema(description = "合同主键")
private Long contractId;
@Schema(description = "金属元素编码")
@ExcelProperty("金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
@ExcelProperty("金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "王五")
@ExcelProperty("金属元素名称")
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "上限")
@ExcelProperty("上限")
private BigDecimal gradeUp;
@Schema(description = "下限")
@ExcelProperty("下限")
private BigDecimal gradeDown;
@Schema(description = "区间方式(字典STLM_RNG_WY)")
@ExcelProperty("区间方式(字典STLM_RNG_WY)")
private String rangeWay;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "物料名称", example = "芋艿")
@ExcelProperty("物料名称")
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "物料编码")
@ExcelProperty("物料编码")
private String materialNumber;
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
}

View File

@@ -8,7 +8,7 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 品位不计价规则新增/修改 Request VO")
@Data
public class ContractNotSaveReqVO {
public class NotSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "18545")
private Long id;

View File

@@ -0,0 +1,18 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 查询不计价规则列表 Request VO")
@Data
public class NotsQueryReqVO {
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同编码")
private String contractPaperNumber;
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "金属元素")
private String elementName;
}

View File

@@ -7,14 +7,14 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 交货计划 Response VO")
@Data
public class ContractViewPlanRespVO {
public class PlanRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "交货年份", example = "2025")
@Schema(description = "交货年份")
private Long contractDeliveryYear;
@Schema(description = "交货月份", example = "9")
@Schema(description = "交货月份")
private Long contractPlanDeliveryMonth;
@Schema(description = "计划交货数量")

View File

@@ -7,7 +7,7 @@ import java.math.BigDecimal;
@Schema(description = "管理后台 - 交货计划条款新增/修改 Request VO")
@Data
public class ContractPlanSaveReqVO {
public class PlanSaveReqVO {
@Schema(description = "主键")
private Long id;

View File

@@ -8,14 +8,14 @@ import java.time.LocalDateTime;
@Schema(description = "管理后台 - 市场价配置新 Response VO")
@Data
public class ContractViewPriceRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13654")
public class PriceRespVO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键", example = "1590")
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键", example = "24677")
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "市场价")
@@ -42,10 +42,10 @@ public class ContractViewPriceRespVO {
@Schema(description = "价格品种元素的明细分类")
private String priceGrade;
@Schema(description = "品种分类", example = "1")
@Schema(description = "品种分类")
private String gradeType;
@Schema(description = "取价方式;区间价/固定价", example = "2")
@Schema(description = "取价方式;区间价/固定价")
private String averageType;
@Schema(description = "网价小数位")

View File

@@ -7,7 +7,7 @@ import java.time.LocalDateTime;
@Schema(description = "管理后台 - 市场价配置新增/修改 Request VO")
@Data
public class ContractPriceSaveReqVO {
public class PriceSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13654")
private Long id;

View File

@@ -29,11 +29,6 @@ public class ContractCoefficientDO extends BusinessBaseDO {
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 配置主键
*/
@TableField("PRM_ID")
private Long parameterId;
/**
* 条款主键
*/
@@ -54,11 +49,6 @@ public class ContractCoefficientDO extends BusinessBaseDO {
*/
@TableField("ELEM_NAME")
private String elementName;
/**
* 系数值
*/
@TableField("STLM_COEF")
private String settlementCoefficient;
/**
* 系数上限
*/
@@ -70,23 +60,23 @@ public class ContractCoefficientDO extends BusinessBaseDO {
@TableField("COEF_DOWN")
private BigDecimal coefficientDown;
/**
* 是否包含上限
* 区间方式(字典STLM_RNG_WY)
*/
@TableField("IS_IN_UP")
private String isInUp;
@TableField("RNG_WY")
private String rangeWay;
/**
* 是否包含下限
*/
@TableField("IS_IN_DOWN")
private String isInDown;
/**
* 是否省内
* 是否省内(字典ERP_CTRT_YN)
*/
@TableField("IN_STA")
private String inState;
/**
* 类型
* 类型(字典STLM_COEF)
*/
@TableField("TP")
private String type;
/**
* 系数值
*/
@TableField("STLM_COEF")
private BigDecimal settlementCoefficient;
}

View File

@@ -29,56 +29,16 @@ public class ContractDeductDO extends BusinessBaseDO {
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 配置主键
*/
@TableField("PRM_ID")
private Long parameterId;
/**
* 条款主键
*/
@TableField("FMU_ID")
private Long formulaId;
/**
* 物料编码;推送ERP
* 数据项类型(字典:GRD_CFG_TP)
*/
@TableField("MTRL_NUM")
private String materialNumber;
/**
* 物料名称
*/
@TableField("MTRL_NAME")
private String materialName;
/**
* 上限
*/
@TableField("GRD_UP")
private BigDecimal gradeUp;
/**
* 下限
*/
@TableField("GRD_DOWN")
private BigDecimal gradeDown;
/**
* 是否包含上限
*/
@TableField("IS_IN_UP")
private String isInUp;
/**
* 是否包含下限
*/
@TableField("IS_IN_DOWN")
private String isInDown;
/**
* 方式
*/
@TableField("WY")
private String way;
/**
* 类型
*/
@TableField("TP")
private String type;
@TableField("CFG_TP")
private String configType;
/**
* 是否省内
*/

View File

@@ -1,8 +1,12 @@
package com.zt.plat.module.contractorder.dal.mysql.contract;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.DemoteRespVO;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractDemoteDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 参数降级规则 Mapper
@@ -12,4 +16,26 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ContractDemoteMapper extends BaseMapperX<ContractDemoteDO> {
@Select({
"<script>",
"select *",
", (select ctrt_name from BSE_CTRT_MAIN where id = ctrt_id) contractName",
", (select ctrt_ppr_num from BSE_CTRT_MAIN where id = ctrt_id) contractPaperNumber",
"from bse_ctrt_dmot",
"where 1 = 1",
"<if test= \"contractIds != null and contractIds.size() > 0\">",
"and ctrt_id in",
"<foreach collection = 'contractIds' item = 'contractId' open='(' separator = ',' close = ')'>",
"#{contractId}",
"</foreach>",
"</if>",
"<if test= \"materialName != null and materialName != ''\">",
"and mtrl_name like concat('%',#{materialName},'%')",
"</if>",
"<if test= \"elementName != null and elementName != ''\">",
"and mtrl_num like concat('%',#{elementName},'%')",
"</if>",
"</script>"
})
List<DemoteRespVO> selectDemotes(List<Long> contractIds, String materialName, String elementName);
}

View File

@@ -1,8 +1,12 @@
package com.zt.plat.module.contractorder.dal.mysql.contract;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.FormulaRespVO;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractFormulaDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 价款结算条款 Mapper
@@ -12,4 +16,26 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ContractFormulaMapper extends BaseMapperX<ContractFormulaDO> {
@Select({
"<script>",
"select *",
", (select ctrt_name from BSE_CTRT_MAIN where id = ctrt_id) contractName",
", (select ctrt_ppr_num from BSE_CTRT_MAIN where id = ctrt_id) contractPaperNumber",
"from bse_ctrt_fmu",
"where 1 = 1",
"<if test= \"contractIds != null and contractIds.size() > 0\">",
"and ctrt_id in",
"<foreach collection = 'contractIds' item = 'contractId' open='(' separator = ',' close = ')'>",
"#{contractId}",
"</foreach>",
"</if>",
"<if test= \"materialName != null and materialName != ''\">",
"and mtrl_name like concat('%',#{materialName},'%')",
"</if>",
"<if test= \"elementName != null and elementName != ''\">",
"and mtrl_num like concat('%',#{elementName},'%')",
"</if>",
"</script>"
})
List<FormulaRespVO> selectFormulas(List<Long> contractIds, String materialName, String elementName);
}

View File

@@ -1,8 +1,12 @@
package com.zt.plat.module.contractorder.dal.mysql.contract;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.NotRespVO;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractNotDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 品位不计价配置 Mapper
@@ -11,4 +15,27 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ContractNotMapper extends BaseMapperX<ContractNotDO> {
@Select({
"<script>",
"select *",
", (select ctrt_name from BSE_CTRT_MAIN where id = ctrt_id) contractName",
", (select ctrt_ppr_num from BSE_CTRT_MAIN where id = ctrt_id) contractPaperNumber",
"from bse_ctrt_nt",
"where 1 = 1",
"<if test= \"contractIds != null and contractIds.size() > 0\">",
"and ctrt_id in",
"<foreach collection = 'contractIds' item = 'contractId' open='(' separator = ',' close = ')'>",
"#{contractId}",
"</foreach>",
"</if>",
"<if test= \"materialName != null and materialName != ''\">",
"and mtrl_name like concat('%',#{materialName},'%')",
"</if>",
"<if test= \"elementName != null and elementName != ''\">",
"and elem_name like concat('%',#{elementName},'%')",
"</if>",
"</script>"
})
List<NotRespVO> selectNots(List<Long> contractIds, String materialName, String elementName);
}

View File

@@ -1,13 +1,12 @@
package com.zt.plat.module.contractorder.service.contract;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.ContractApprovalReqVO;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.ContractPageReqVO;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.ContractSaveReqVO;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.ContractViewRespVO;
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* 后台合同编制 Service 接口
*
@@ -37,7 +36,7 @@ public interface ContractService {
* @param id 合同ID
* @return 合同信息
*/
ContractViewRespVO get(Long id);
ContractRespVO get(Long id);
/**
* 修改合同
@@ -51,9 +50,39 @@ public interface ContractService {
* 合同提交审批
*
* @param id 合同ID
* @return 审批结果
* @return 提交审批结果
*/
String submitApproval(Long id);
String approval(@Valid ContractApprovalReqVO reqVO);
/**
* 合同审批
*
* @param reqVO 审批信息
* @return 审批结果
*/
String approval(@Valid ApprovalReqVO reqVO);
/**
* 查询不计价规则列表
*
* @param queryReqVO 查询参数
* @return 不计价规则列表
*/
List<NotRespVO> getNots(NotsQueryReqVO queryReqVO);
/**
* 查询参数降级规则列表
*
* @param queryReqVO 查询参数
* @return 参数降级规则列表
*/
List<DemoteRespVO> getDemotes(DemotesQueryReqVO queryReqVO);
/**
* 查询结算公式列表
*
* @param queryReqVO 查询参数
* @return 结算公式列表
*/
List<FormulaRespVO> getFormulas(FormulasQueryReqVO queryReqVO);
}

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.contractorder.service.contract;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
@@ -40,6 +41,7 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.*;
@@ -268,10 +270,10 @@ public class ContractServiceImpl implements ContractService {
}
@Override
public ContractViewRespVO get(Long id) {
public ContractRespVO get(Long id) {
// 返回结果
ContractViewRespVO respVO = new ContractViewRespVO();
ContractRespVO respVO = new ContractRespVO();
// 查询并设置合同主信息
ContractMainDO contractMainDO = contractMainMapper.selectById(id);
@@ -284,14 +286,14 @@ public class ContractServiceImpl implements ContractService {
List<ContractDetailDO> detailDOS = contractDetailMapper
.selectList(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, contractMainDO.getId());
if (detailDOS != null && !detailDOS.isEmpty()) {
respVO.setDetail(BeanUtils.toBean(detailDOS, ContractViewDetailRespVO.class));
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, ContractViewPlanRespVO.class));
detail.setPlans(BeanUtils.toBean(planDOS, PlanRespVO.class));
}
});
}
@@ -300,7 +302,7 @@ public class ContractServiceImpl implements ContractService {
List<ContractFormulaDO> formulaDOS = contractFormulaMapper
.selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_ID, contractMainDO.getId());
if (formulaDOS != null && !formulaDOS.isEmpty()) {
respVO.setFormulas(BeanUtils.toBean(formulaDOS, ContractViewFormulaRespVO.class));
respVO.setFormulas(BeanUtils.toBean(formulaDOS, FormulaRespVO.class));
respVO.getFormulas().forEach(formula -> {
@@ -308,25 +310,25 @@ public class ContractServiceImpl implements ContractService {
List<ContractCoefficientDO> coefficientDOS = contractCoefficientMapper
.selectList(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formula.getId());
if (coefficientDOS != null && !coefficientDOS.isEmpty()) {
formula.setCoefficients(BeanUtils.toBean(coefficientDOS, ContractViewCoefficientRespVO.class));
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, ContractViewGradeRespVO.class));
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, ContractViewDeductRespVO.class));
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, ContractViewPriceRespVO.class));
formula.setPrices(BeanUtils.toBean(priceDOS, PriceRespVO.class));
}
});
}
@@ -335,14 +337,14 @@ public class ContractServiceImpl implements ContractService {
List<ContractDemoteDO> demoteDOS = contractDemoteMapper
.selectList(TableFieldConstants.BSE_CTRT_DMOT_CTRT_ID, contractMainDO.getId());
if (demoteDOS != null && !demoteDOS.isEmpty()) {
respVO.setDemotes(BeanUtils.toBean(demoteDOS, ContractViewDemoteRespVO.class));
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, ContractViewNotRespVO.class));
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
}
// 查询并设置合同动态表单
@@ -651,7 +653,7 @@ public class ContractServiceImpl implements ContractService {
}
@Override
public String approval(ContractApprovalReqVO reqVO) {
public String approval(ApprovalReqVO reqVO) {
// 合同主键ID
Long id = reqVO.getId();
@@ -682,12 +684,55 @@ public class ContractServiceImpl implements ContractService {
return "";
}
private List<Long> getContractIds(String contractName, String contractPaperNumber) {
List<Long> contractIds = new ArrayList<>();
List<ContractMainDO> contractMainDOS = contractMainMapper.selectList(new LambdaQueryWrapperX<ContractMainDO>()
.likeIfPresent(ContractMainDO::getContractName, contractName)
.likeIfPresent(ContractMainDO::getContractPaperNumber, contractPaperNumber));
if (CollectionUtils.isNotEmpty(contractMainDOS)) {
contractIds = contractMainDOS.stream()
.map(contractMainDO -> contractMainDO.getId())
.collect(Collectors.toList());
}
return contractIds;
}
@Override
public List<NotRespVO> getNots(NotsQueryReqVO queryReqVO) {
// 查合同ID集合
List<Long> contractIds = new ArrayList<>();
if (StringUtils.isNotEmpty(queryReqVO.getContractName()) || StringUtils.isNotEmpty(queryReqVO.getContractPaperNumber())) {
contractIds = getContractIds(queryReqVO.getContractName(), queryReqVO.getContractPaperNumber());
}
return contractNotMapper.selectNots(contractIds, queryReqVO.getMaterialName(), queryReqVO.getElementName());
}
@Override
public List<DemoteRespVO> getDemotes(DemotesQueryReqVO queryReqVO) {
// 查合同ID集合
List<Long> contractIds = new ArrayList<>();
if (StringUtils.isNotEmpty(queryReqVO.getContractName()) || StringUtils.isNotEmpty(queryReqVO.getContractPaperNumber())) {
contractIds = getContractIds(queryReqVO.getContractName(), queryReqVO.getContractPaperNumber());
}
return contractDemoteMapper.selectDemotes(contractIds, queryReqVO.getMaterialName(), queryReqVO.getElementName());
}
@Override
public List<FormulaRespVO> getFormulas(FormulasQueryReqVO queryReqVO) {
// 查合同ID集合
List<Long> contractIds = new ArrayList<>();
if (StringUtils.isNotEmpty(queryReqVO.getContractName()) || StringUtils.isNotEmpty(queryReqVO.getContractPaperNumber())) {
contractIds = getContractIds(queryReqVO.getContractName(), queryReqVO.getContractPaperNumber());
}
return contractFormulaMapper.selectFormulas(contractIds, queryReqVO.getMaterialName(), queryReqVO.getElementName());
}
/**
* 校验合同内容
*
* @param contract 合同数据
*/
private void verifyContract(ContractViewRespVO contract) {
private void verifyContract(ContractRespVO contract) {
/* 合同基本信息 */
// 甲方公司编号不能为空