feat: 发票推送接口完善

liufeilong 2 years ago committed by WangQi
parent a5857343ff
commit 31d3c53238
  1. 18
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java
  2. 57
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java

@ -1231,15 +1231,15 @@ public enum OrderInfoEnum {
/**
* 接口业务ID
* FI006 金税平台将金税开票信息返回SAP的接口(ERP-FI-INT-033)
* FI007 SAP销售结算信息传给金税系统(ERP-FI-INT-034)
* FI008 金税发票作废信息返回到SAP(ERP-FI-INT-041)
* FI010 销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046)
*/
INTERFACE_BUSINESS_ID_FPKJTS("FI006","发票开具回推"),
INTERFACE_BUSINESS_ID_FPKJ("FI007","发票开具"),
INTERFACE_BUSINESS_ID_FPZFTS("FI008","发票作废回推"),
INTERFACE_BUSINESS_ID_DDZTGX("FI010","订单状态更新"),
* FI006 FI843 金税平台将金税开票信息返回SAP的接口(ERP-FI-INT-033)
* FI007 FI840 SAP销售结算信息传给金税系统(ERP-FI-INT-034)
* FI008 FI844 金税发票作废信息返回到SAP(ERP-FI-INT-041)
* FI010 FI841 销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046)
*/
INTERFACE_BUSINESS_ID_FPKJTS("FI843","发票开具回推"),
INTERFACE_BUSINESS_ID_FPKJ("FI840","发票开具"),
INTERFACE_BUSINESS_ID_FPZFTS("FI844","发票作废回推"),
INTERFACE_BUSINESS_ID_DDZTGX("FI841","订单状态更新"),
;
/**

@ -28,6 +28,7 @@ import com.dxhy.order.consumer.openapi.protocol.po.EsOutput;
import com.dxhy.order.consumer.openapi.protocol.po.IsInput;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsMxSap;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsReqSap;
import com.dxhy.order.consumer.openapi.protocol.po.voidinvoicepush.sap.FpzftsReqSap;
import com.dxhy.order.consumer.openapi.protocol.v4.ResponseV4BO;
@ -38,7 +39,9 @@ import com.dxhy.order.consumer.openapi.protocol.v4.push.*;
import com.dxhy.order.consumer.openapi.protocol.v5.DxhyInterfaceResponse;
import com.dxhy.order.consumer.openapi.protocol.v5.invalid.ZffptsV5;
import com.dxhy.order.consumer.openapi.protocol.v5.invalid.ZffpxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpzxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdmxxxV5;
import com.dxhy.order.consumer.openapi.protocol.v6.order.QdTxxBO;
import com.dxhy.order.consumer.openapi.service.CommonDisposeService;
import com.dxhy.order.consumer.openapi.service.InterfaceServiceV5;
@ -65,6 +68,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -327,7 +331,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
boolean sendPushDelay = false;
String errorMsg = "";
//TODO lfl 系统来源待赋值
String xtly = "";
String xtly = "SAP";
try {
//查询多个推送地址
@ -864,9 +868,56 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
//发票开具推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content, DdfpzxxV5.class);
DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX();
List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX();
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
//TODO lfl 发票推送数据转换
List<FpkjtsMxSap> itemList = new ArrayList<>();
//主信息
fpkjtsReqSap.setZJSDH(ddfpxx.getDDH());
fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM());
fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM());
//TODO lfl 发票类型需要做转换
fpkjtsReqSap.setZFPLX(ddfpxx.getFPLXDM());
fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE());
fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE());
fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ());
fpkjtsReqSap.setZZBZ(ddfpxx.getBZ());
fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_1);//0-作废、1-正常
fpkjtsReqSap.setZKPRQ(ddfpxx.getKPRQ());
fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC());
fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC());
fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM());
fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH());
fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH());
fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH());
fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH());
fpkjtsReqSap.setZGSDM("");
fpkjtsReqSap.setZYWDJ("");
//明细信息
ddmxxx.stream().forEach(f -> {
FpkjtsMxSap detail = new FpkjtsMxSap();
detail.setZJSDH(ddfpxx.getDDH());
detail.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM());
detail.setZFPHH(f.getXH());
detail.setMATNR("");
detail.setZGGXH(f.getGGXH());
detail.setZSLDW(f.getDW());
detail.setZZSL(f.getSPSL());
detail.setZTAX(f.getSL());
detail.setZBHSJEY(f.getJE());
detail.setZZSEY(f.getSE());
detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString());
detail.setINVOICEDATE(ddfpxx.getKPRQ());
detail.setINVOICETYPE(ddfpxx.getFPLXDM());
detail.setZHWMC(f.getXMMC());
detail.setZSM("");
});
fpkjtsReqSap.setITITEM(itemList);
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey());

Loading…
Cancel
Save