新增通过消费订单明细id获取明细
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package com.zt.plat.module.erp.api;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.erp.api.dto.ErpInvoiceticketSubmitReqDTO;
|
||||
import com.zt.plat.module.erp.api.dto.ErpInvoiceticketSubmitRespDTO;
|
||||
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
|
||||
import com.zt.plat.module.erp.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@FeignClient(name = ApiConstants.NAME)
|
||||
@Tag(name = "RPC 服务 - ERP")
|
||||
public interface InvoiceticketApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/invoiceticket";
|
||||
|
||||
@PostMapping(PREFIX + "/submit")
|
||||
@Operation(summary = "erp数据提交")
|
||||
CommonResult<ErpInvoiceticketSubmitRespDTO> submitDataToErp(@Valid @RequestBody ErpInvoiceticketSubmitReqDTO reqDTO);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.zt.plat.module.erp.api.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Schema(description = "管理后台 - 发票相关操作 Request VO")
|
||||
public class ErpInvoiceticketSubmitReqDTO {
|
||||
@Schema(description = "id,用作bskey", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String id;
|
||||
|
||||
@Schema(description = "发票类型;RE-采购发票,RV-销售发票", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "发票类型不能为空")
|
||||
@Size(min = 2, max = 2, message = "发票类型必须为2位字符")
|
||||
@Pattern(regexp = "^(RE|RV)$", message = "发票类型仅支持RE(采购发票)、RV(销售发票)")
|
||||
private String vouchertype;
|
||||
|
||||
@Schema(description = "发票编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "发票编号不能为空")
|
||||
@Size(min = 1, max = 10, message = "发票编号长度不能超过10位")
|
||||
private String voucherno;
|
||||
|
||||
@Schema(description = "会计年度;发票类型为RE(采购发票)时必填,格式为4位数字(如2025)")
|
||||
@Pattern(regexp = "^\\d{4}$", message = "会计年度必须为4位数字(如2025)")
|
||||
private String voucheryear;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.zt.plat.module.erp.api.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Schema(description = "管理后台 - 发票相关操作 响应 VO")
|
||||
public class ErpInvoiceticketSubmitRespDTO {
|
||||
@Schema(description = "发票过账日期;格式为YYYYMMDD(如20251106)")
|
||||
private String postDate;
|
||||
|
||||
@Schema(description = "业务单据号;长度20位字符")
|
||||
private String settlementsCode;
|
||||
|
||||
@Schema(description = "状态码;详见《发票状态》表;长度1位字符")
|
||||
private String state;
|
||||
|
||||
@Schema(description = "消息文本;生单失败、驳回、过账失败等状态时返回共享端和SAP消息")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "会计凭证编号;已生成会计凭证的情况下返回;长度10位字符")
|
||||
private String refDoc;
|
||||
|
||||
@Schema(description = "冲销凭证号;状态为已冲销时返回;长度10位字符")
|
||||
private String revDoc;
|
||||
|
||||
@Schema(description = "冲销凭证会计年度;仅RE发票(采购发票)且状态为已冲销时返回;4位数字")
|
||||
private String revYear;
|
||||
|
||||
@Schema(description = "冲销凭证过账日期;状态为已冲销时返回;格式为YYYYMMDD(如20251106)")
|
||||
private String revDate;
|
||||
|
||||
@Schema(description = "采购发票过账差异明细;仅RE发票(采购发票)且状态为3时返回")
|
||||
private List<CallBackSettlementDetail> callBackSettlementDetails;
|
||||
|
||||
/**
|
||||
* 采购发票过账差异明细子项
|
||||
*/
|
||||
@Schema(description = "采购发票过账差异明细子项")
|
||||
@Data
|
||||
public static class CallBackSettlementDetail {
|
||||
|
||||
@Schema(description = "工厂编号")
|
||||
private String factoryCode;
|
||||
|
||||
@Schema(description = "物料编号")
|
||||
private String materialCode;
|
||||
|
||||
@Schema(description = "物料凭证号")
|
||||
private String matDoc;
|
||||
|
||||
@Schema(description = "物料描述")
|
||||
private String materialDesc;
|
||||
|
||||
@Schema(description = "差异金额")
|
||||
private BigDecimal differenceAmount;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user