From c5d64d9742f5af835cabb3c1f909318c8dfbe549 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 14:47:07 +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 --- .../order/model/page/RedInvoiceRespPo.java | 1 + .../invoice/dao/GsClientFindMapper.java | 9 +++++++ .../module/invoice/model/GsClient.java | 19 ++++++++++++++ .../impl/OrderInvoiceInfoServiceImpl.java | 25 ++++++++++++++++++- .../mybatis/mapper/GsClientFindMapper.xml | 22 ++++++++++++++++ 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/GsClientFindMapper.java create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/GsClient.java create mode 100644 order-management-invoice/src/main/resources/mybatis/mapper/GsClientFindMapper.xml diff --git a/order-management-common/src/main/java/com/dxhy/order/model/page/RedInvoiceRespPo.java b/order-management-common/src/main/java/com/dxhy/order/model/page/RedInvoiceRespPo.java index 1474641b..af362252 100644 --- a/order-management-common/src/main/java/com/dxhy/order/model/page/RedInvoiceRespPo.java +++ b/order-management-common/src/main/java/com/dxhy/order/model/page/RedInvoiceRespPo.java @@ -14,4 +14,5 @@ public class RedInvoiceRespPo { private String redFpqqlsh; private String redBzdh; private String xhfNsrsbh; + private String gsdm; } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/GsClientFindMapper.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/GsClientFindMapper.java new file mode 100644 index 00000000..0d4952bd --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/GsClientFindMapper.java @@ -0,0 +1,9 @@ +package com.dxhy.order.invoice.module.invoice.dao; + +import com.dxhy.order.invoice.module.invoice.model.GsClient; +import java.util.List; + +public interface GsClientFindMapper { ; + List selectByGsdm(String gsdm); + +} \ No newline at end of file diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/GsClient.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/GsClient.java new file mode 100644 index 00000000..56836904 --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/GsClient.java @@ -0,0 +1,19 @@ +package com.dxhy.order.invoice.module.invoice.model; + +import lombok.Data; + +import java.util.Date; + +@Data +public class GsClient { + private Integer id; + + private String gsdm; + + private String gsmc; + + private String client; + + private Date createTime; + +} \ No newline at end of file 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 c0e87ab3..026fb6fc 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 @@ -25,6 +25,7 @@ import com.dxhy.order.exception.OrderReceiveException; import com.dxhy.order.invoice.config.InvoiceConfig; 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.GsClient; 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; @@ -61,6 +62,7 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Maps; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Param; import org.apache.poi.xssf.streaming.SXSSFWorkbook; @@ -108,6 +110,9 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { private OrderInfoJdcMapper orderInfoJdcMapper; @Resource private OrderInfoEscMapper orderInfoEscMapper; + + @Resource + private GsClientFindMapper gsClientFindMapper; @Resource private HistoryDataPdfService historyDataPdfService; @Resource @@ -1521,6 +1526,22 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { } //todo 根据蓝字报账单调用SAP接口查询SAP状态,是否允许冲红 明慧开发 + //查询公司client + List gsClients = gsClientFindMapper.selectByGsdm(orderInvoiceData.getGsdm()); + if (ObjectUtils.isEmpty(gsClients)){ + return R.error("未查询到公司client"); + } + + try { + boolean bzhStatus = getBzhStatus(orderInvoiceData.getRedBzdh(), gsClients.get(0).getClient()); + + if (bzhStatus) { + return R.error("蓝字报账单状态不允许冲红"); + } + }catch (Exception e){ + log.error("{}获取蓝字报账单状态异常", LOGGER_MSG,e); + return R.error("未查询到订单"); + } List redItemInfoList = orderInvoiceData.getRedItemInfoList(); if(CollectionUtil.isNotEmpty(redItemInfoList)){ boolean b = redItemInfoList.stream().allMatch(redItemInfo -> StringUtils.isNotBlank(redItemInfo.getSpbm()) && ConfigureConstant.STRING_0.equals(redItemInfo.getZnfm())); @@ -1679,6 +1700,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { } redInvoiceRespPo.setRedFpqqlsh(orderInvoiceInfo.getFpqqlsh()); redInvoiceRespPo.setRedBzdh(orderProcessInfo.getBzdh()); + redInvoiceRespPo.setGsdm(orderProcessInfo.getGsdm()); return redInvoiceRespPo; } @@ -1759,7 +1781,8 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { String bzdzt = response.getString("BZDZT"); //校验状态 String bzdStatus = baseServiceConfig.getBzdStatus(); - if (StringUtils.isBlank(bzdh)||bzdStatus.contains(bzdzt)){ + String[] split = bzdStatus.split(","); + if (StringUtils.isNotBlank(bzdh)||Arrays.asList(split).contains(bzdzt)){ return false; } return true; diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/GsClientFindMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/GsClientFindMapper.xml new file mode 100644 index 00000000..5e86d1fd --- /dev/null +++ b/order-management-invoice/src/main/resources/mybatis/mapper/GsClientFindMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + id, gsdm, gsmc, client, create_time + + + + + \ No newline at end of file