diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/ErpSubmit083ReqDTO.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/ErpSubmit083ReqDTO.java new file mode 100644 index 00000000..e6009093 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/ErpSubmit083ReqDTO.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.erp.api.dto.dto083; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * ERP 083 接口请求参数 DTO + * + * @author wsh + */ +@Schema(description = "ERP 083 接口请求参数DTO") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ErpSubmit083ReqDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @Schema(description = "083 接口请求参数Head对象") + private Head083 head; + + @Schema(description = "083 接口请求参数税码列表对象") + private List taxTab; + + @Schema(description = "083 接口请求参数物料列表对象") + private List matTab; +} diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/Head083.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/Head083.java new file mode 100644 index 00000000..e83dba19 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/Head083.java @@ -0,0 +1,110 @@ +package com.zt.plat.module.erp.api.dto.dto083; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * ERP 083 接口请求参数 - Head 对象 + * + * @author wsh + */ +@Schema(description = "ERP 083 接口请求参数 - Head 对象") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Head083 implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 标识: 记帐发票 + * 固定值 "X" + */ + @Schema(description = "标识: 记帐发票", example = "X") + private String invoiceInd; + + /** + * 凭证中的凭证日期 + * 格式: YYYYMMDD + */ + @Schema(description = "凭证中的凭证日期", example = "20250318") + private String docDate; + + /** + * 凭证中的过账日期 + * 格式: YYYYMMDD + */ + @Schema(description = "凭证中的过账日期", example = "20250318") + private String pstngDate; + + /** + * 公司代码 + * 来源: PurchaseOrderDO.cpNum + */ + @Schema(description = "公司代码", example = "3000") + private String compCode; + + /** + * 供应商 + * 来源: PurchaseOrderDO.supplierNumber(客商编码) + */ + @Schema(description = "供应商", example = "0000003133") + private String diffInv; + + /** + * 货币码 + * 来源: PurchaseOrderDO.currencyNumber(货币码) + */ + @Schema(description = "货币码", example = "CNY") + private String currency; + + /** + * 汇率 + * 来源: PurchaseOrderDO.exchangeRate(汇率) + */ + @Schema(description = "汇率", example = "6.5") + private BigDecimal exchRate; + + /** + * 付款条件 + * 不赋值 + */ + @Schema(description = "付款条件") + private String pmnttrms; + + /** + * 付款基准日期 + * 格式: YYYYMMDD + */ + @Schema(description = "付款基准日期", example = "20250318") + private String blineDate; + + /** + * 凭证抬头文本 + * 格式: 转X月进口矿最终QP-订单号 + */ + @Schema(description = "凭证抬头文本", example = "转3月进口矿最终QP-GF24J0118037") + private String headerTxt; + + /** + * 外部单据号 + * 不填 + */ + @Schema(description = "外部单据号") + private String refDocNo; + + /** + * 分配字段 + * 格式: 采购订单号/行号 + * 来源: PurchaseOrderDO.orderSAPNumber(订单号) + */ + @Schema(description = "分配字段", example = "3200014147/2") + private String allocNmbr; +} diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/MatList083.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/MatList083.java new file mode 100644 index 00000000..6a8d5fa6 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/MatList083.java @@ -0,0 +1,74 @@ +package com.zt.plat.module.erp.api.dto.dto083; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * ERP 083 接口请求参数 - 物料列表对象 + * + * @author wsh + */ +@Schema(description = "ERP 083 接口请求参数 - 物料列表对象") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MatList083 implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 发票行号 + * 默认 1 + */ + @Schema(description = "发票行号", example = "1") + private Long invoiceDocItem; + + /** + * 物料号 + * 来源: QpSettlementDO.materialNumber(物料编码) + */ + @Schema(description = "物料号", example = "000000000000224778") + private String material; + + /** + * 订单中的收货工厂编码 + */ + @Schema(description = "工厂(评估范围)") + private String valArea; + + /** + * 金额 + * 可输入负数 + * 来源: QpSettlementDO.differenceRmbAmount(差额人民币) + */ + @Schema(description = "金额", example = "2405348.12") + private BigDecimal itemAmount; + + /** + * 数量 + * 来源: QpSettlementDO.metalWeight(金属量) + */ + @Schema(description = "数量", example = "2276.491") + private BigDecimal quantity; + + /** + * 计量单位 + * 来源: QpSettlementDO.metalUnit(金属量单位) + */ + @Schema(description = "计量单位", example = "TON") + private String baseUom; + + /** + * 税码 + * 固定值 "J0" + */ + @Schema(description = "税码", example = "J0") + private String taxCode; +} diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/TaxList083.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/TaxList083.java new file mode 100644 index 00000000..cd9db671 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto083/TaxList083.java @@ -0,0 +1,39 @@ +package com.zt.plat.module.erp.api.dto.dto083; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * ERP 083 接口请求参数 - 税码列表对象 + * + * @author wsh + */ +@Schema(description = "ERP 083 接口请求参数 - 税码列表对象") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaxList083 implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 税码 + * 固定值 "J0" + */ + @Schema(description = "税码", example = "J0") + private String taxCode; + + /** + * 税额 + * 固定值 "0" + */ + @Schema(description = "税额", example = "0") + private BigDecimal taxAmount; +} diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto084/ErpSubmit084ReqDTO.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto084/ErpSubmit084ReqDTO.java new file mode 100644 index 00000000..dce63ba0 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/dto084/ErpSubmit084ReqDTO.java @@ -0,0 +1,46 @@ +package com.zt.plat.module.erp.api.dto.dto084; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * ERP 084 接口请求参数 DTO (冲销接口) + * + * @author wsh + */ +@Schema(description = "ERP 084 接口请求参数DTO(冲销接口)") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ErpSubmit084ReqDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 要冲销的发票号 + * 来源: QP结算表中的inv_doc_no + */ + @Schema(description = "要冲销的发票号", example = "0100005678") + private String invoicedocnumber; + + /** + * 要冲销的发票年度 + * 来源: QP结算表中的fisc_year + */ + @Schema(description = "要冲销的发票年度", example = "2025") + private String fiscalyear; + + /** + * 冲销过账日期 + * 格式: YYYYMMDD + * 来源: 当前日期 + */ + @Schema(description = "冲销过账日期", example = "20250130") + private String postingdate; +}