From d9441949e2c303c33fe458f69ea31e831cd335df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Fri, 1 Dec 2023 10:58:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=8A=A5?= =?UTF-8?q?=E8=B4=A6=E5=8D=95=E5=8F=B7=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baseservice/config/BaseServiceConfig.java | 3 + .../module/invoice/model/po/EsOutput.java | 32 ++++++++++ .../module/invoice/model/po/IsInput.java | 59 +++++++++++++++++++ .../model/po/PoCommonRequestParam.java | 20 +++++++ .../model/po/PoCommonResponseParam.java | 16 +++++ .../impl/OrderInvoiceInfoServiceImpl.java | 34 +++++++++++ 6 files changed, 164 insertions(+) create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/EsOutput.java create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/IsInput.java create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonRequestParam.java create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonResponseParam.java diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/BaseServiceConfig.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/BaseServiceConfig.java index 9c8e7fed..c2a6acce 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/BaseServiceConfig.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/BaseServiceConfig.java @@ -300,6 +300,9 @@ public class BaseServiceConfig{ @Value("${order.push.po.userName:}") private String poUserName; + @Value("${order.push.po.bzdStatus:}") + private String bzdStatus; + /** * 调用山能PO password */ diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/EsOutput.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/EsOutput.java new file mode 100644 index 00000000..1d4c7375 --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/EsOutput.java @@ -0,0 +1,32 @@ +package com.dxhy.order.invoice.module.invoice.model.po; + +import lombok.Data; + +/** + * @Description: PO输出参数 + * @Author liufeilong + * @Date 2023-02-06 + **/ +@Data +public class EsOutput { + /** + * 外围系统数据唯一标识 + */ + private String BSKEY; + /** + * SAP数据唯一标识 + */ + private String SAPKEY; + /** + * 数据处理标识(S:成功,E:失败) + */ + private String ZTYPE; + /** + * 数据处理描述 + */ + private String ZMESSAGE; + /** + * 业务报文 + */ + private String ZDATA; +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/IsInput.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/IsInput.java new file mode 100644 index 00000000..96cacd46 --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/IsInput.java @@ -0,0 +1,59 @@ +package com.dxhy.order.invoice.module.invoice.model.po; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: PO输入参数 + * @Author liufeilong + * @Date 2023-02-06 + **/ +@Data +public class IsInput implements Serializable { + /** + * 外围系统 + */ + private String SYSID; + /** + * 接口业务ID + */ + private String IFYWID; + /** + * 外围系统数据唯一标识 + */ + private String BSKEY; + /** + * SAP数据唯一标识 + */ + private String SAPKEY; + /** + * 组织机构代码 + */ + private String ZORG; + /** + * SAP模块编码(OA用) + */ + private String ZFILED1; + /** + * 预留字段 + */ + private String ZFILED2; + /** + * 预留字段 + */ + private String ZFILED3; + /** + * 预留字段 + */ + private String ZFILED4; + /** + * SAP Client + */ + private String ZFILED5; + /** + * 业务参数 + */ + private String ZDATA; + +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonRequestParam.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonRequestParam.java new file mode 100644 index 00000000..2760afca --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonRequestParam.java @@ -0,0 +1,20 @@ +package com.dxhy.order.invoice.module.invoice.model.po; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: PO接口公共请求参数 + * @Author liufeilong + * @Date 2023-02-06 + **/ +@Data +public class PoCommonRequestParam implements Serializable { + /** + * IsInput + */ + @JSONField(name = "IS_INPUT") + private IsInput IS_INPUT; +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonResponseParam.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonResponseParam.java new file mode 100644 index 00000000..331c4a38 --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/po/PoCommonResponseParam.java @@ -0,0 +1,16 @@ +package com.dxhy.order.invoice.module.invoice.model.po; + +import lombok.Data; + +/** + * @Description: PO接口公共响应参数 + * @Author liufeilong + * @Date 2023-02-06 + **/ +@Data +public class PoCommonResponseParam { + /** + * ES_OUTPUT + */ + private EsOutput ES_OUTPUT; +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java index 3e36feb8..c0e87ab3 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java @@ -27,6 +27,9 @@ import com.dxhy.order.invoice.module.invoice.dao.*; import com.dxhy.order.invoice.module.invoice.model.FileDownLoad; import com.dxhy.order.invoice.module.invoice.model.bo.QueryCountInvoiceBO; import com.dxhy.order.invoice.module.invoice.model.excel.*; +import com.dxhy.order.invoice.module.invoice.model.po.IsInput; +import com.dxhy.order.invoice.module.invoice.model.po.PoCommonRequestParam; +import com.dxhy.order.invoice.module.invoice.model.po.PoCommonResponseParam; import com.dxhy.order.invoice.module.invoice.model.vo.*; import com.dxhy.order.invoice.module.invoice.service.EmailService; import com.dxhy.order.invoice.module.invoice.service.HistoryDataPdfService; @@ -61,6 +64,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Param; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.xmlbeans.impl.jam.xml.TunnelledException; import org.joda.time.DateTime; import org.joda.time.Duration; import org.springframework.beans.BeanUtils; @@ -1732,5 +1736,35 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { return R.ok(); } + public boolean getBzhStatus(String bzdh,String clint){ + //拼凑报文 + IsInput isInput = new IsInput(); + isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); + isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_GSCLIENT.getKey()); + isInput.setBSKEY(UUID.randomUUID().toString().replace("-", "")); + isInput.setZORG(""); + isInput.setZFILED5(clint); + Map data = new HashMap<>(); + data.put("ZBZDH",bzdh); + isInput.setZDATA(JsonUtils.getInstance().toJsonString(data)); + PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); + poCommonRequestParam.setIS_INPUT(isInput); + String param = JsonUtils.getInstance().toJsonString(poCommonRequestParam); + log.info("{}获取报账单号状态入参:{}",LOGGER_MSG,param); + String result = HttpUtils.sendPo(baseServiceConfig.getPoUrl(), param,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + log.info("{}获取报账单号状态出参:{}",LOGGER_MSG,result); + PoCommonResponseParam poCommonResponseParam = JSONObject.parseObject(result, PoCommonResponseParam.class); + String zdata = poCommonResponseParam.getES_OUTPUT().getZDATA(); + JSONObject response = JSONObject.parseObject(zdata); + String bzdzt = response.getString("BZDZT"); + //校验状态 + String bzdStatus = baseServiceConfig.getBzdStatus(); + if (StringUtils.isBlank(bzdh)||bzdStatus.contains(bzdzt)){ + return false; + } + return true; + } + + }