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,22 @@
package com.zt.plat.module.contractorder.api;
import com.zt.plat.module.contractorder.api.dto.ContractFormulaRespDTO;
import com.zt.plat.module.contractorder.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(name = ApiConstants.NAME)
@Tag(name = "RPC 服务 - 合同")
public interface ContractApi {
String PREFIX = ApiConstants.PREFIX + "/contract";
@GetMapping(PREFIX + "/formulas")
@Operation(summary = "通过合同编号获取对应的结算条款数据")
List<ContractFormulaRespDTO> getFormulas(@RequestParam("contractPaperNumber") String contractPaperNumber);
}

View File

@@ -0,0 +1,52 @@
package com.zt.plat.module.contractorder.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "RPC 服务 - 基础系数配置 Response DTO")
@Data
public class ContractCoefficientRespDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称")
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 = "是否省内")
@NotEmpty(message = "是否省内不能为空")
private String inState;
@Schema(description = "类型")
private String type;
}

View File

@@ -0,0 +1,50 @@
package com.zt.plat.module.contractorder.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "RPC 服务 - 调整价配置 Response DTO")
@Data
public class ContractDeductRespDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "物料编码;推送ERP")
private String materialNumber;
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "上限")
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 = "类型")
private String type;
@Schema(description = "是否省内")
private String inState;
@Schema(description = "调整价")
private BigDecimal gradeAmount;
}

View File

@@ -0,0 +1,56 @@
package com.zt.plat.module.contractorder.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "RPC 服务 - 价款结算条款 Response DTO")
@Data
public class ContractFormulaRespDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "合同主键")
private Long contractId;
@Schema(description = "公式类型;单价/总价/水扣款/加工费")
private String formulaType;
@Schema(description = "公式")
private String formulaCalculate;
@Schema(description = "编码公式")
private String numberFormula;
@Schema(description = "物料名称")
private String materialName;
@Schema(description = "物料编码")
private String materialNumber;
@Schema(description = "计算小数位")
private Long decimalPoint;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称")
private String elementName;
@Schema(description = "结算类型多条使用逗号分隔字典PRCH_STLM_TP")
private String settlementType;
// 基础系数配置
private List<ContractCoefficientRespDTO> coefficients;
// 品位等级价配置
private List<ContractGradeRespDTO> grades;
// 调整价配置
private List<ContractDeductRespDTO> deducts;
// 市场价配置
private List<ContractPriceRespDTO> prices;
}

View File

@@ -0,0 +1,62 @@
package com.zt.plat.module.contractorder.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "RPC 服务 - 品位等级价配置 Response DTO")
@Data
public class ContractGradeRespDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键")
private Long formulaId;
@Schema(description = "金属元素编码")
private String elementNumber;
@Schema(description = "金属元素缩写")
private String elementAbbreviation;
@Schema(description = "金属元素名称")
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 = "计价类型")
private String priceType;
@Schema(description = "是否省内")
private String inState;
@Schema(description = "等级单价")
private BigDecimal unitPrice;
}

View File

@@ -0,0 +1,54 @@
package com.zt.plat.module.contractorder.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "RPC 服务 - 市场价配置 Response DTO")
@Data
public class ContractPriceRespDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "配置主键")
private Long parameterId;
@Schema(description = "条款主键")
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 = "品种分类")
private String gradeType;
@Schema(description = "取价方式;区间价/固定价")
private String averageType;
@Schema(description = "网价小数位")
private BigDecimal decimalPoint;
}