From e1f4ee980fd6dc5f99fbdf169dc3318153397925 Mon Sep 17 00:00:00 2001 From: gaorl Date: Tue, 9 May 2023 21:27:02 +0800 Subject: [PATCH] =?UTF-8?q?feature=EF=BC=9A=E8=AE=A2=E5=8D=95=E9=A9=B3?= =?UTF-8?q?=E5=9B=9E=E6=8E=A5=E5=8F=A3=E5=B7=B2=E5=BC=80=E5=85=B7=E7=9A=84?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E5=85=A8=E9=83=A8=E5=86=B2=E7=BA=A2=E6=88=96?= =?UTF-8?q?=E8=80=85=E4=BD=9C=E5=BA=9F=EF=BC=8C=E5=85=81=E8=AE=B8=E9=A9=B3?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/model/page/PageRequestVO.java | 2 + .../service/impl/OrderInfoServiceImpl.java | 8 ++++ .../service/impl/InterfaceServiceImplV6.java | 23 +++++++-- .../invoice/dao/OrderInvoiceInfoMapper.java | 4 ++ .../service/OrderInvoiceInfoService.java | 2 + .../impl/OrderInvoiceInfoServiceImpl.java | 6 +++ .../mybatis/mapper/OrderInvoiceInfoMapper.xml | 47 +++++++++++++++++++ 7 files changed, 89 insertions(+), 3 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageRequestVO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageRequestVO.java index b55a2241..92baa686 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageRequestVO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageRequestVO.java @@ -40,4 +40,6 @@ public class PageRequestVO implements Serializable { * 销方税号,非数组 */ private String xhfNsrsbh; + + private String issuedSign; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index f978e628..d9819fa8 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -1718,6 +1718,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { preStr = "第" + (i + 1) + "行:"; } String orderInfoId = pageRequest.getOrderInfoId(); + String issuedSign = pageRequest.getIssuedSign(); List shList = Arrays.asList(pageRequest.getXhfNsrsbh()); int i1 = new Random().nextInt(100); OrderProcessInfo orderProcessInfo = new OrderProcessInfo(); @@ -1727,6 +1728,13 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderProcessInfo.setFpqqlsh(pageRequest.getFpqqlsh() + "-bh" + i1); orderProcessInfo.setDdqqpch(pageRequest.getFpqqlsh() + "-bh" + i1); orderProcessInfo.setUpdateTime(new Date()); + if(ConfigureConstant.STRING_0.equals(issuedSign)){ + OrderInvoiceInfo orderInvoiceInfo = new OrderInvoiceInfo(); + orderInvoiceInfo.setOrderInfoId(orderInfoId); + orderInvoiceInfo.setFpqqlsh(pageRequest.getFpqqlsh() + "-bh"+ i1); + orderProcessInfo.setOrderStatus(ConfigureConstant.STRING_0); + orderInvoiceInfoMapper.updateOrderInvoiceInfoByOrderId(orderInvoiceInfo,null); + } int success = orderProcessService.updateOrderProcessInfoByProcessId(orderProcessInfo, shList); OrderInfo orderInfo = new OrderInfo(); orderInfo.setId(orderInfoId); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV6.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV6.java index 5ee41817..bb9c7c6d 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV6.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV6.java @@ -28,6 +28,7 @@ import com.dxhy.order.consumer.openapi.service.AllocateInvoiceInterfaceServiceV3 import com.dxhy.order.consumer.openapi.service.CommonDisposeService; import com.dxhy.order.consumer.openapi.service.InterfaceServiceV6; import com.dxhy.order.invoice.config.InvoiceConfig; +import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService; import com.dxhy.order.invoice.utils.HttpInvoiceRequestUtilQd; import com.dxhy.order.model.InterfaceRequestData; import com.dxhy.order.model.OrderProcessInfo; @@ -75,6 +76,8 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 { @Resource private OrderProcessInfoMapper orderProcessInfoMapper; @Resource + private OrderInvoiceInfoService orderInvoiceInfoService; + @Resource private OrderInfoService orderInfoService; @Override @@ -159,20 +162,34 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 { // return poCommonResponseParam; // } List collect1 = orderProcessInfos.stream().filter(t -> "3".equals(t.getDdly())).collect(Collectors.toList()); - if(orderProcessInfos.isEmpty()){ + if(collect1.isEmpty()){ esOutput.setZMESSAGE("此账单为非接口数据,不允许驳回"); poCommonResponseParam.setES_OUTPUT(esOutput); return poCommonResponseParam; } - List pageRequestList = collect1.stream().filter(t -> "0,1,3".contains(t.getDdzt())).map(t->{ + List collect = collect1.stream().map(t -> t.getOrderInfoId()).collect(Collectors.toList()); + + //需要查找哪些是开具成功作废或者冲红,哪些是未开订单 + List invalidList = orderInvoiceInfoService.countInoviceInfo(collect); +// if(invalidList == null || invalidList.isEmpty() || invalidList.size() != collect.size()){ +// esOutput.setZMESSAGE("账单号已在开具发票或开具中,不允许驳回"); +// poCommonResponseParam.setES_OUTPUT(esOutput); +// return poCommonResponseParam; +// } + + List pageRequestList = collect1.stream().filter(t -> "0,1,3,5,7".contains(t.getDdzt())).map(t->{ PageRequestVO pageRequestVO = new PageRequestVO(); pageRequestVO.setOrderProcessId(t.getId()); pageRequestVO.setOrderInfoId(t.getOrderInfoId()); pageRequestVO.setXhfNsrsbh(t.getXhfNsrsbh()); pageRequestVO.setFpqqlsh(t.getFpqqlsh()); + if(invalidList != null && !invalidList.isEmpty() && invalidList.contains(t.getOrderInfoId())){ + pageRequestVO.setIssuedSign("0"); + } return pageRequestVO; }).collect(Collectors.toList()); - if(pageRequestList.size() != collect1.size()){ + List collect2 = collect1.stream().filter(t -> "5,7".contains(t.getDdzt())).collect(Collectors.toList()); + if(invalidList.size() != collect2.size() || pageRequestList.size() != collect1.size()){ esOutput.setZMESSAGE("账单号已在发票系统处理,不允许驳回"); poCommonResponseParam.setES_OUTPUT(esOutput); return poCommonResponseParam; diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java index 6a8b2a95..dc992668 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java @@ -84,6 +84,8 @@ public interface OrderInvoiceInfoMapper { */ List selectVehicleInvoiceList(@Param("map") Map map, @Param("shList") List shList); + int updateOrderInvoiceInfoByOrderId(@Param("orderInvoiceInfo") OrderInvoiceInfo record, @Param("shList") List shList); + /** * 根据条件查询发票和红票 * @@ -242,4 +244,6 @@ public interface OrderInvoiceInfoMapper { @Param("endTime") Date endTime, @Param("shList") List shList, @Param("entList") List entList); + + List countInoviceInfo(@Param("orderInfoIds")List orderInfoIds); } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java index 55197271..68c1d53d 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java @@ -282,5 +282,7 @@ public interface OrderInvoiceInfoService { void processDataAfterInvoice(RabbitMqCommonInvoice rabbitMqCommonInvoice); String signInvoicePrint(String excelFile, List ids) throws Exception; + + List countInoviceInfo(@Param("orderInfoIds")List orderInfoIds); } 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 81e2abab..04de7d46 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 @@ -51,6 +51,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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.joda.time.DateTime; import org.joda.time.Duration; @@ -1485,5 +1486,10 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { return orderInvoiceInfoMapper.findInvoiceCountAmount(paramMap); } + @Override + public List countInoviceInfo(@Param("orderInfoIds")List orderInfoIds){ + return orderInvoiceInfoMapper.countInoviceInfo(orderInfoIds); + } + } diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml index 93020615..c26cc2f9 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml @@ -2202,4 +2202,51 @@ or oii.ent_id is null) + + + + update order_invoice_info + + + fpqqlsh = #{orderInvoiceInfo.fpqqlsh,jdbcType=VARCHAR}, + + + update_time = #{orderInvoiceInfo.updateTime,jdbcType=TIMESTAMP}, + + + + + + and order_info_id = #{orderInvoiceInfo.orderInfoId,jdbcType=VARCHAR} + + + and xhf_nsrsbh = '' + + + and xhf_nsrsbh = + + #{item} + + + + and xhf_nsrsbh in + + #{item} + + + +