合同编制保存

This commit is contained in:
guojunyun
2025-09-24 14:21:29 +08:00
parent 02f65c4f74
commit 5937f38e83
26 changed files with 1187 additions and 86 deletions

View File

@@ -126,6 +126,12 @@
<artifactId>zt-spring-boot-starter-biz-business</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-base-server</artifactId>
<version>3.0.35</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

View File

@@ -0,0 +1,53 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
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 {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31657")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6534")
@NotNull(message = "配置主键不能为空")
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

@@ -0,0 +1,54 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
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

@@ -10,36 +10,36 @@ import java.util.List;
@Data
public class ContractDetailSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32609")
@Schema(description = "主键")
private Long id;
@Schema(description = "合同主信息主键", example = "13595")
private Long contractMainId;
@Schema(description = "物料名称", example = "张三")
@Schema(description = "物料名称", example = "物料名称")
private String materialName;
@Schema(description = "物料编码")
@Schema(description = "物料编码", example = "物料编码")
private String materialNumber;
@Schema(description = "数量")
private BigDecimal quantity;
@Schema(description = "计量单位")
@Schema(description = "计量单位", example = "")
private String unit;
@Schema(description = "含税单价", example = "28579")
private BigDecimal inTaxUnitPrice;
@Schema(description = "金属元素缩写")
@Schema(description = "金属元素缩写", example = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "赵六")
@Schema(description = "金属元素名称", example = "金属元素名称")
private String elementName;
@Schema(description = "金属元素编码")
@Schema(description = "金属元素编码", example = "金属元素编码")
private String elementNumber;
// 交货计划
private List<ContractPlanSaveReqVO> plans;
// 价款结算条款
private List<ContractFormulaSaveReqVO> formulas;
}

View File

@@ -0,0 +1,57 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 价款结算条款新增/修改 Request VO")
@Data
public class ContractFormulaSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "28539")
private Long id;
@Schema(description = "合同明细主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8181")
@NotNull(message = "合同明细主键不能为空")
private Long contractDetailId;
@Schema(description = "公式类型;单价/总价/水扣款/加工费", example = "UNIT_PRICE")
private String formulaType;
@Schema(description = "公式")
private String formulaCalculate;
@Schema(description = "编码公式")
private String numberFormula;
@Schema(description = "物料名称", example = "物料名称")
private String materialName;
@Schema(description = "物料编码")
private String materialNumber;
@Schema(description = "计算小数位")
private Long decimal;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "金属元素名称")
private String elementName;
// 基础系数配置
private List<ContractCoefficientSaveReqVO> coefficients;
// 品位等级价配置
private List<ContractGradeSaveReqVO> grades;
// 调整价配置
private List<ContractDeductSaveReqVO> deducts;
// 市场价配置
private List<ContractPriceSaveReqVO> prices;
// 品位不计价配置
private List<ContractNotSaveReqVO> nots;
}

View File

@@ -0,0 +1,63 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 品位等级价配置新增/修改 Request VO")
@Data
public class ContractGradeSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15414")
private Long id;
@Schema(description = "配置主键", example = "16734")
private Long parameterId;
@Schema(description = "条款主键", example = "15344")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "芋艿")
private String elementName;
@Schema(description = "品位单位")
private String gradeUnit;
@Schema(description = "品位上限")
private BigDecimal gradeUp;
@Schema(description = "品位下限")
private BigDecimal gradeDown;
@Schema(description = "是否包含上限;包含则是大于等于,不包含则是大于")
private String isInUp;
@Schema(description = "是否包含下限;包含则是小于等于,不包含则是小于")
private String isInDown;
@Schema(description = "默认计价品位;计价方式为加时,默认为为下限,计价方式为减时,默认为为上限,可手动填写")
private BigDecimal gradeDefault;
@Schema(description = "系数;计价类型为阶梯价使用,标识没上升多少系数进行加款还是减款")
private BigDecimal settlementCoefficient;
@Schema(description = "不足系数值按比例计算")
private String useCoefficient;
@Schema(description = "计价类型", example = "2")
private String priceType;
@Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "等级单价", example = "26237")
private BigDecimal unitPrice;
}

View File

@@ -0,0 +1,48 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
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 ContractNotSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21132")
private Long id;
@Schema(description = "配置主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "3781")
@NotNull(message = "配置主键不能为空")
private Long parameterId;
@Schema(description = "条款主键", example = "5722")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称", example = "张三")
private String elementName;
@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 = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否省内不能为空")
private String inState;
}

View File

@@ -4,30 +4,26 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 交货计划条款新增/修改 Request VO")
@Data
public class ContractPlanSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "27474")
@Schema(description = "主键")
private Long id;
@Schema(description = "合同明细主键", example = "32763")
private Long contractDetailId;
@Schema(description = "交货年份", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "交货年份", example = "2025")
private Long contractDeliveryYear;
@Schema(description = "交货月份")
@Schema(description = "交货月份", example = "9")
private Long contractPlanDeliveryMonth;
@Schema(description = "计划交货数量", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "计划交货数量")
private BigDecimal contractPlanDeliveryQuantity;
@Schema(description = "交货开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime contractDeliveryStartDate;
@Schema(description = "交货开始日期")
private String contractDeliveryStartDate;
@Schema(description = "交货结束日期", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime contractDeliveryEndDate;
@Schema(description = "交货结束日期")
private String contractDeliveryEndDate;
}

View File

@@ -0,0 +1,53 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.preparaton;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 市场价配置新增/修改 Request VO")
@Data
public class ContractPriceSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13654")
private Long id;
@Schema(description = "配置主键", example = "1590")
private Long parameterId;
@Schema(description = "条款主键", example = "24677")
private Long formulaId;
@Schema(description = "市场价")
private BigDecimal value;
@Schema(description = "计算方式;均价/高位价/地位价")
private String calculateWay;
@Schema(description = "数据来源网价代码;数据字典")
private String dataOrigin;
@Schema(description = "计价开始日期")
private LocalDateTime calculateStartDate;
@Schema(description = "计价截止日期")
private LocalDateTime calculateEndDate;
@Schema(description = "包含开始日期")
private String inStartDate;
@Schema(description = "包含结束日期")
private String inEndDate;
@Schema(description = "价格品种元素的明细分类")
private String priceGrade;
@Schema(description = "品种分类", example = "1")
private String gradeType;
@Schema(description = "取价方式;区间价/固定价", example = "2")
private String averageType;
@Schema(description = "网价小数位")
private BigDecimal decimal;
}

View File

@@ -167,7 +167,7 @@ public class ContractRespVO {
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息")
@ExcelProperty("代理方;与ERP(ZLIFNR)对应,拓展信息")
private String zlifnr;
private String agent;
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息")
@ExcelProperty("类别;与ERP(HTLB)对应,拓展信息")
@@ -195,7 +195,7 @@ public class ContractRespVO {
@Schema(description = "境内/境外;与ERP(JNJW)对应,拓展信息")
@ExcelProperty("境内/境外;与ERP(JNJW)对应,拓展信息")
private String jnjw;
private String isDomestic;
@Schema(description = "建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")
@ExcelProperty("建筑服务发生地;与ERP(JZFWFSD)对应拓展信息销售合同且类型为SAP02COSR必填")

Some files were not shown because too many files have changed in this diff Show More