From 6a4ddb94fbb7efb2fffef2435d0b842a1c43a28c Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Fri, 9 Jun 2023 08:56:42 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=84=E5=88=B6?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E8=87=AA=E5=8A=A8=E6=8B=86=E5=88=86=E6=88=90?= =?UTF-8?q?=E5=93=81=E6=B2=B9=E5=92=8C=E9=9D=9E=E6=88=90=E5=93=81=E6=B2=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 72 +++++++++++++++---- 1 file changed, 60 insertions(+), 12 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 1b85ab18..e5ee1342 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -46,11 +46,14 @@ import com.dxhy.order.utils.JsonUtils; import com.dxhy.order.utils.NsrsbhUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; @@ -132,6 +135,9 @@ public class InvoiceServiceImpl implements InvoiceService { @Resource private TaxClassCodeMapper taxClassCodeMapper; + private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#0000"); + private static final String CF = "cf"; + @Override @Transactional @@ -139,41 +145,85 @@ public class InvoiceServiceImpl implements InvoiceService { List pageInvoiceItemList = pageInvoiceReq.getPageInvoiceItemList(); //查询数据列表 List commonOrderInfos = orderInfoService.batchQueryOrderInfoByOrderIdsAndNsrsbh(pageInvoiceItemList); + List commonOrderInfoList=new ArrayList(); //购方是否为空、税编是否为空校验、成品油校验 for(CommonOrderInfo commonOrderInfo:commonOrderInfos){ if(StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfNsrsbh()) || StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfMc()) ){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!"); } - String cpy = ""; +// String cpy = ""; String kcp = baseServiceConfig.getKcp(); boolean kcpMark = kcp.contains(commonOrderInfo.getOrderItemInfo().get(0).getSpbm()); + List cpyOrderItems = new ArrayList(); + List nocpyOrderItems = new ArrayList(); for(OrderItemInfo orderItemInfo: commonOrderInfo.getOrderItemInfo()){ if(StrUtil.isBlank(orderItemInfo.getSpbm())){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"第"+orderItemInfo.getSphxh()+"行商品税编为空,请补全!"); }else { TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(orderItemInfo.getSpbm()); - if(StrUtil.isNotBlank(cpy)){ - if(!cpy.equals(taxClassCodeEntity.getCpy())){ - return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"成品油和非成品油税编不能混开,请做手动拆分处理!"); - } +// if(StrUtil.isNotBlank(cpy)){ +// if(!cpy.equals(taxClassCodeEntity.getCpy())){ +// return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"成品油和非成品油税编不能混开,请做手动拆分处理!"); +// } +// }else { +// cpy = taxClassCodeEntity.getCpy(); +// } +// + if(ConfigureConstant.STRING_Y.equals(taxClassCodeEntity.getCpy())){ + //成品油明细 + cpyOrderItems.add(orderItemInfo); }else { - cpy = taxClassCodeEntity.getCpy(); + //非成品油明细 + nocpyOrderItems.add(orderItemInfo); } + if(kcp.contains(orderItemInfo.getSpbm()) != kcpMark){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"矿产品与非矿产品税编不能混开,请做手动拆分处理!"); } } } - if(ConfigureConstant.STRING_Y.equals(cpy) && commonOrderInfo.getOrderItemInfo().size()>ConfigureConstant.INT_8){ + if(CollectionUtils.isEmpty(cpyOrderItems)||CollectionUtils.isEmpty(nocpyOrderItems)){ + commonOrderInfo.setOrderItemInfo(CollectionUtils.isEmpty(cpyOrderItems)?nocpyOrderItems:nocpyOrderItems); + commonOrderInfoList.add(commonOrderInfo); + }else { + //成品油和非成品油混合 + OrderInfo cpyOrderInfo = new OrderInfo(); + BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyOrderInfo); + cpyOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + cpyOrderInfo.setHjse(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + cpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(1)); + CommonOrderInfo cpyCommonOrderInfo = new CommonOrderInfo(); + BeanUtils.copyProperties(commonOrderInfo,cpyCommonOrderInfo); + cpyCommonOrderInfo.setOrderItemInfo(cpyOrderItems); + cpyCommonOrderInfo.setOrderInfo(cpyOrderInfo); + commonOrderInfoList.add(cpyCommonOrderInfo); + + + OrderInfo nocpyOrderInfo = new OrderInfo(); + BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyOrderInfo); + nocpyOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + nocpyOrderInfo.setHjse(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + nocpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(2)); + CommonOrderInfo nocpyCommonOrderInfo = new CommonOrderInfo(); + BeanUtils.copyProperties(commonOrderInfo,nocpyCommonOrderInfo); + nocpyCommonOrderInfo.setOrderItemInfo(nocpyOrderItems); + nocpyCommonOrderInfo.setOrderInfo(nocpyOrderInfo); + commonOrderInfoList.add(nocpyCommonOrderInfo); + + } + if(cpyOrderItems.size()>ConfigureConstant.INT_8){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); } +// if(ConfigureConstant.STRING_Y.equals(cpy) && commonOrderInfo.getOrderItemInfo().size()>ConfigureConstant.INT_8){ +// return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); +// } } //客户冻结状态校验、确认智能赋码、单价误差校验 List> consumerList = new ArrayList<>(); List> confirmList = new ArrayList<>(); List> djOverflowList = new ArrayList<>(); - for (CommonOrderInfo commonOrderInfo : commonOrderInfos) { + for (CommonOrderInfo commonOrderInfo : commonOrderInfoList) { OrderInfo orderInfo = commonOrderInfo.getOrderInfo(); List orderItemInfoList = commonOrderInfo.getOrderItemInfo(); BuyerEntity buyerEntity = null; @@ -203,6 +253,7 @@ public class InvoiceServiceImpl implements InvoiceService { confirmList.add(map); } }); + // 订单超限额拆分 String terminalCode = simsBackService.getTerminalCode(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), commonOrderInfo.getOrderInfo().getEntId()); List originalCommonOrderInfo = new ArrayList<>(); @@ -252,7 +303,7 @@ public class InvoiceServiceImpl implements InvoiceService { }else if(djOverflowList.size() > 0){ return R.error(ConfigureConstant.STRING_9003, "以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList); }else { - for (CommonOrderInfo f : commonOrderInfos) { + for (CommonOrderInfo f : commonOrderInfoList) { TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(f.getOrderItemInfo().get(0).getSpbm()); if(ObjectUtil.isNotNull(taxClassCodeEntity) && ConfigureConstant.STRING_Y.equals(taxClassCodeEntity.getCpy())){ f.getOrderInfo().setQdBz(OrderInfoEnum.QDBZ_CODE_4.getKey()); @@ -286,10 +337,7 @@ public class InvoiceServiceImpl implements InvoiceService { OrderProcessInfo processInfo = orderProcessService.selectOrderProcessInfoByProcessId(s.getOrderInfo().getProcessId(),null); processInfo.setYzfp(ConfigureConstant.STRING_1); orderProcessService.updateOrderProcessInfoByProcessId(processInfo, null); -// }); - } else { - continue; } } return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); From 6ee11546d9843f67234e3fd8755632fd4f0d920e Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Fri, 9 Jun 2023 09:34:39 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index e5ee1342..c382e3ed 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -186,6 +186,8 @@ public class InvoiceServiceImpl implements InvoiceService { commonOrderInfo.setOrderItemInfo(CollectionUtils.isEmpty(cpyOrderItems)?nocpyOrderItems:nocpyOrderItems); commonOrderInfoList.add(commonOrderInfo); }else { + log.info("cpyOrderItems》》》》》》》》"+cpyOrderItems); + log.info("nocpyOrderItems》》》》》》》》"+nocpyOrderItems); //成品油和非成品油混合 OrderInfo cpyOrderInfo = new OrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyOrderInfo); From bf3e247f17b1d61a6369dd730c94c6d4fa67bbf2 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Fri, 9 Jun 2023 09:43:22 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index c382e3ed..36896fa1 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -186,8 +186,8 @@ public class InvoiceServiceImpl implements InvoiceService { commonOrderInfo.setOrderItemInfo(CollectionUtils.isEmpty(cpyOrderItems)?nocpyOrderItems:nocpyOrderItems); commonOrderInfoList.add(commonOrderInfo); }else { - log.info("cpyOrderItems》》》》》》》》"+cpyOrderItems); - log.info("nocpyOrderItems》》》》》》》》"+nocpyOrderItems); + log.info("cpyOrderItems》》》》》》》》"+JSON.toJSONString(cpyOrderItems)); + log.info("nocpyOrderItems》》》》》》》》"+JSON.toJSONString(nocpyOrderItems)); //成品油和非成品油混合 OrderInfo cpyOrderInfo = new OrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyOrderInfo); From 1e7f4fa3b7ce460eb4a26cadfe75eaf6c3d43601 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Fri, 9 Jun 2023 10:09:32 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 36896fa1..053da0e2 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -145,6 +145,7 @@ public class InvoiceServiceImpl implements InvoiceService { List pageInvoiceItemList = pageInvoiceReq.getPageInvoiceItemList(); //查询数据列表 List commonOrderInfos = orderInfoService.batchQueryOrderInfoByOrderIdsAndNsrsbh(pageInvoiceItemList); + log.info("commonOrderInfos---->batch query order info"+JSON.toJSONString(commonOrderInfos)); List commonOrderInfoList=new ArrayList(); //购方是否为空、税编是否为空校验、成品油校验 for(CommonOrderInfo commonOrderInfo:commonOrderInfos){ @@ -191,7 +192,7 @@ public class InvoiceServiceImpl implements InvoiceService { //成品油和非成品油混合 OrderInfo cpyOrderInfo = new OrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyOrderInfo); - cpyOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + cpyOrderInfo.setHjbhsje(cpyOrderItems.stream().map(m->new BigDecimal(m.getXmje())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); cpyOrderInfo.setHjse(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); cpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(1)); CommonOrderInfo cpyCommonOrderInfo = new CommonOrderInfo(); @@ -203,7 +204,7 @@ public class InvoiceServiceImpl implements InvoiceService { OrderInfo nocpyOrderInfo = new OrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyOrderInfo); - nocpyOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + nocpyOrderInfo.setHjbhsje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getXmje())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); nocpyOrderInfo.setHjse(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); nocpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(2)); CommonOrderInfo nocpyCommonOrderInfo = new CommonOrderInfo(); From 1ec9780df5106fbcbc94e0a462e8bf85ec2a995b Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Mon, 12 Jun 2023 08:28:40 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=93=81?= =?UTF-8?q?=E6=B2=B9=E5=92=8C=E9=9D=9E=E6=88=90=E5=93=81=E6=B2=B9=E6=B7=B7?= =?UTF-8?q?=E5=90=88=E9=A2=84=E5=88=B6=E5=8F=91=E7=A5=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 98 +++++++++++-------- 1 file changed, 58 insertions(+), 40 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 053da0e2..a824225c 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -22,6 +22,9 @@ import com.dxhy.order.baseservice.module.thirdservice.redis.service.RedisService import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.constant.*; +import com.dxhy.order.consumer.model.page.PageCommonOrderInfo; +import com.dxhy.order.consumer.model.page.PageOrderInfo; +import com.dxhy.order.consumer.model.page.PageOrderItemInfo; import com.dxhy.order.consumer.modules.manager.service.InvoiceService; import com.dxhy.order.consumer.modules.order.model.PageInvoiceItem; import com.dxhy.order.consumer.modules.order.model.PageInvoiceReq; @@ -135,8 +138,8 @@ public class InvoiceServiceImpl implements InvoiceService { @Resource private TaxClassCodeMapper taxClassCodeMapper; - private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#0000"); - private static final String CF = "cf"; + @Resource + private OrderSplitService orderSplitService; @Override @@ -146,13 +149,15 @@ public class InvoiceServiceImpl implements InvoiceService { //查询数据列表 List commonOrderInfos = orderInfoService.batchQueryOrderInfoByOrderIdsAndNsrsbh(pageInvoiceItemList); log.info("commonOrderInfos---->batch query order info"+JSON.toJSONString(commonOrderInfos)); + //存储成品油和非成品油不是混开的结算单 List commonOrderInfoList=new ArrayList(); + //存储成品油和非成品油混开的结算单 + List mixCommonOrderInfoList=new ArrayList<>(); //购方是否为空、税编是否为空校验、成品油校验 for(CommonOrderInfo commonOrderInfo:commonOrderInfos){ if(StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfNsrsbh()) || StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfMc()) ){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!"); } -// String cpy = ""; String kcp = baseServiceConfig.getKcp(); boolean kcpMark = kcp.contains(commonOrderInfo.getOrderItemInfo().get(0).getSpbm()); List cpyOrderItems = new ArrayList(); @@ -162,14 +167,6 @@ public class InvoiceServiceImpl implements InvoiceService { return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"第"+orderItemInfo.getSphxh()+"行商品税编为空,请补全!"); }else { TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(orderItemInfo.getSpbm()); -// if(StrUtil.isNotBlank(cpy)){ -// if(!cpy.equals(taxClassCodeEntity.getCpy())){ -// return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"成品油和非成品油税编不能混开,请做手动拆分处理!"); -// } -// }else { -// cpy = taxClassCodeEntity.getCpy(); -// } -// if(ConfigureConstant.STRING_Y.equals(taxClassCodeEntity.getCpy())){ //成品油明细 cpyOrderItems.add(orderItemInfo); @@ -187,41 +184,58 @@ public class InvoiceServiceImpl implements InvoiceService { commonOrderInfo.setOrderItemInfo(CollectionUtils.isEmpty(cpyOrderItems)?nocpyOrderItems:nocpyOrderItems); commonOrderInfoList.add(commonOrderInfo); }else { + //封装成品油 + PageCommonOrderInfo cpyPageCommonOrderInfo = new PageCommonOrderInfo(); + //拼接自动按照明细行拆分所需要的数据 log.info("cpyOrderItems》》》》》》》》"+JSON.toJSONString(cpyOrderItems)); log.info("nocpyOrderItems》》》》》》》》"+JSON.toJSONString(nocpyOrderItems)); //成品油和非成品油混合 - OrderInfo cpyOrderInfo = new OrderInfo(); - BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyOrderInfo); - cpyOrderInfo.setHjbhsje(cpyOrderItems.stream().map(m->new BigDecimal(m.getXmje())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - cpyOrderInfo.setHjse(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - cpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(1)); - CommonOrderInfo cpyCommonOrderInfo = new CommonOrderInfo(); - BeanUtils.copyProperties(commonOrderInfo,cpyCommonOrderInfo); - cpyCommonOrderInfo.setOrderItemInfo(cpyOrderItems); - cpyCommonOrderInfo.setOrderInfo(cpyOrderInfo); - commonOrderInfoList.add(cpyCommonOrderInfo); - - - OrderInfo nocpyOrderInfo = new OrderInfo(); - BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyOrderInfo); - nocpyOrderInfo.setHjbhsje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getXmje())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - nocpyOrderInfo.setHjse(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - nocpyOrderInfo.setDdh(commonOrderInfo.getOrderInfo().getDdh() + CF + DECIMAL_FORMAT.format(2)); - CommonOrderInfo nocpyCommonOrderInfo = new CommonOrderInfo(); - BeanUtils.copyProperties(commonOrderInfo,nocpyCommonOrderInfo); - nocpyCommonOrderInfo.setOrderItemInfo(nocpyOrderItems); - nocpyCommonOrderInfo.setOrderInfo(nocpyOrderInfo); - commonOrderInfoList.add(nocpyCommonOrderInfo); + PageOrderInfo cpyPageOrderInfo = new PageOrderInfo(); + BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyPageOrderInfo); + cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + List cpyOrderItemInfo = new ArrayList(); + for (OrderItemInfo cpyOrderItem : cpyOrderItems) { + PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); + BeanUtils.copyProperties(cpyOrderItem,cpyOrderItemInfo); + cpyOrderItemInfo.add(pageOrderItemInfo); + } + cpyPageCommonOrderInfo.setOrderInfo(cpyPageOrderInfo); + cpyPageCommonOrderInfo.setOrderItemInfo(cpyOrderItemInfo); + mixCommonOrderInfoList.add(cpyPageCommonOrderInfo); + //封装非成品油 + PageCommonOrderInfo nocpyPageCommonOrderInfo = new PageCommonOrderInfo(); + //成品油和非成品油混合 + PageOrderInfo nocpyPageOrderInfo = new PageOrderInfo(); + BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyPageOrderInfo); + nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + List nocpyOrderItemInfo = new ArrayList(); + for (OrderItemInfo nocpyOrderItem : nocpyOrderItems) { + PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); + BeanUtils.copyProperties(nocpyOrderItem,nocpyOrderItemInfo); + nocpyOrderItemInfo.add(pageOrderItemInfo); + } + nocpyPageCommonOrderInfo.setOrderInfo(nocpyPageOrderInfo); + nocpyPageCommonOrderInfo.setOrderItemInfo(nocpyOrderItemInfo); + mixCommonOrderInfoList.add(nocpyPageCommonOrderInfo); } if(cpyOrderItems.size()>ConfigureConstant.INT_8){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); } -// if(ConfigureConstant.STRING_Y.equals(cpy) && commonOrderInfo.getOrderItemInfo().size()>ConfigureConstant.INT_8){ -// return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); -// } } + //如果是混开的 走明细拆分 + if(!CollectionUtils.isEmpty(mixCommonOrderInfoList)){ + try { + orderSplitService.saveOrderSplitOrder(mixCommonOrderInfoList); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + //如果不是混开的 走原来的逻辑 + if(CollectionUtils.isEmpty(commonOrderInfoList)){ + return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); + } //客户冻结状态校验、确认智能赋码、单价误差校验 List> consumerList = new ArrayList<>(); List> confirmList = new ArrayList<>(); @@ -294,17 +308,21 @@ public class InvoiceServiceImpl implements InvoiceService { } } else { log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size()); - R.error("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); +// R.error("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); + throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); } }); }); } if(consumerList.size()>0){ - return R.error(ConfigureConstant.STRING_9001, "以下结算单中客户的状态为“冻结”状态,不能进行开票。",consumerList); +// return R.error(ConfigureConstant.STRING_9001, "以下结算单中客户的状态为“冻结”状态,不能进行开票。",consumerList); + throw new RuntimeException(String.format("以下结算单中%s客户的状态为“冻结”状态,不能进行开票。",consumerList)); }else if((StrUtil.isBlank(pageInvoiceReq.getConfirmZnfm()) || !ConfigureConstant.STRING_0.equals(pageInvoiceReq.getConfirmZnfm())) && confirmList.size()>0){ - return R.error(ConfigureConstant.STRING_9002,"请确认以下物料税收分类编码是否准确",confirmList); +// return R.error(ConfigureConstant.STRING_9002,"请确认以下物料税收分类编码是否准确",confirmList); + throw new RuntimeException(String.format("请确认以下物料税收分类编码是否准确",confirmList)); }else if(djOverflowList.size() > 0){ - return R.error(ConfigureConstant.STRING_9003, "以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList); +// return R.error(ConfigureConstant.STRING_9003, "以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList); + throw new RuntimeException(String.format("以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList)); }else { for (CommonOrderInfo f : commonOrderInfoList) { TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(f.getOrderItemInfo().get(0).getSpbm()); From 0bdf819f0262885c118de3e48cf0022a4e0cee4e Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Mon, 12 Jun 2023 08:52:09 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E5=90=88=E8=AE=A1=E9=87=91=E9=A2=9D=E4=B8=BA=E4=BB=B7=E7=A8=8E?= =?UTF-8?q?=E7=9A=84=E5=90=88=E8=AE=A1=E7=9B=B8=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index a824225c..636bbe4a 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -192,8 +192,7 @@ public class InvoiceServiceImpl implements InvoiceService { //成品油和非成品油混合 PageOrderInfo cpyPageOrderInfo = new PageOrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyPageOrderInfo); - cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - List cpyOrderItemInfo = new ArrayList(); + cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List cpyOrderItemInfo = new ArrayList(); for (OrderItemInfo cpyOrderItem : cpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); BeanUtils.copyProperties(cpyOrderItem,cpyOrderItemInfo); @@ -207,8 +206,7 @@ public class InvoiceServiceImpl implements InvoiceService { //成品油和非成品油混合 PageOrderInfo nocpyPageOrderInfo = new PageOrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyPageOrderInfo); - nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getJshj())).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); - List nocpyOrderItemInfo = new ArrayList(); + nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List nocpyOrderItemInfo = new ArrayList(); for (OrderItemInfo nocpyOrderItem : nocpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); BeanUtils.copyProperties(nocpyOrderItem,nocpyOrderItemInfo); From b893957fe1ee14b10b0fc6934b34ac16d4815afd Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Mon, 12 Jun 2023 09:35:48 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B5=8B=E5=80=BC?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 636bbe4a..9b2b1a46 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -195,7 +195,7 @@ public class InvoiceServiceImpl implements InvoiceService { cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List cpyOrderItemInfo = new ArrayList(); for (OrderItemInfo cpyOrderItem : cpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); - BeanUtils.copyProperties(cpyOrderItem,cpyOrderItemInfo); + BeanUtils.copyProperties(cpyOrderItem,pageOrderItemInfo); cpyOrderItemInfo.add(pageOrderItemInfo); } cpyPageCommonOrderInfo.setOrderInfo(cpyPageOrderInfo); @@ -209,7 +209,7 @@ public class InvoiceServiceImpl implements InvoiceService { nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List nocpyOrderItemInfo = new ArrayList(); for (OrderItemInfo nocpyOrderItem : nocpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); - BeanUtils.copyProperties(nocpyOrderItem,nocpyOrderItemInfo); + BeanUtils.copyProperties(nocpyOrderItem,pageOrderItemInfo); nocpyOrderItemInfo.add(pageOrderItemInfo); } nocpyPageCommonOrderInfo.setOrderInfo(nocpyPageOrderInfo); From 38314a527f1f3bf56953fa06f0a2f1a277345c5c Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Mon, 12 Jun 2023 09:38:53 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 9b2b1a46..e34cc222 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -192,7 +192,8 @@ public class InvoiceServiceImpl implements InvoiceService { //成品油和非成品油混合 PageOrderInfo cpyPageOrderInfo = new PageOrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyPageOrderInfo); - cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List cpyOrderItemInfo = new ArrayList(); + cpyPageOrderInfo.setKphjje(cpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + List cpyOrderItemInfo = new ArrayList(); for (OrderItemInfo cpyOrderItem : cpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); BeanUtils.copyProperties(cpyOrderItem,pageOrderItemInfo); @@ -206,7 +207,8 @@ public class InvoiceServiceImpl implements InvoiceService { //成品油和非成品油混合 PageOrderInfo nocpyPageOrderInfo = new PageOrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),nocpyPageOrderInfo); - nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); List nocpyOrderItemInfo = new ArrayList(); + nocpyPageOrderInfo.setKphjje(nocpyOrderItems.stream().map(m->new BigDecimal(m.getSe()).add(new BigDecimal(m.getXmje()))).reduce(BigDecimal.ZERO, BigDecimal::add).toString()); + List nocpyOrderItemInfo = new ArrayList(); for (OrderItemInfo nocpyOrderItem : nocpyOrderItems) { PageOrderItemInfo pageOrderItemInfo = new PageOrderItemInfo(); BeanUtils.copyProperties(nocpyOrderItem,pageOrderItemInfo); From 4e127b6ca4edfb2352e0ad80e461e020b7f3cded Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Mon, 12 Jun 2023 16:05:52 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=8D=95=E4=B8=80=E8=B5=B7=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=A2=84=E5=88=B6=E5=8F=91=E7=A5=A8=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/service/impl/InvoiceServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index e34cc222..bacf1dc8 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -152,9 +152,10 @@ public class InvoiceServiceImpl implements InvoiceService { //存储成品油和非成品油不是混开的结算单 List commonOrderInfoList=new ArrayList(); //存储成品油和非成品油混开的结算单 - List mixCommonOrderInfoList=new ArrayList<>(); + List> lists=new ArrayList<>(); //购方是否为空、税编是否为空校验、成品油校验 for(CommonOrderInfo commonOrderInfo:commonOrderInfos){ + List mixCommonOrderInfoList=new ArrayList<>(); if(StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfNsrsbh()) || StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfMc()) ){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!"); } @@ -222,12 +223,15 @@ public class InvoiceServiceImpl implements InvoiceService { if(cpyOrderItems.size()>ConfigureConstant.INT_8){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); } + lists.add(mixCommonOrderInfoList); } //如果是混开的 走明细拆分 - if(!CollectionUtils.isEmpty(mixCommonOrderInfoList)){ + if(!CollectionUtils.isEmpty(lists)){ try { - orderSplitService.saveOrderSplitOrder(mixCommonOrderInfoList); + for (List list : lists) { + orderSplitService.saveOrderSplitOrder(list); + } } catch (Exception e) { throw new RuntimeException(e.getMessage()); } From ef36ca712a0679027ddcb02ba2fcd6de66bb9137 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Tue, 13 Jun 2023 08:40:57 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=EF=BC=8C=E6=B5=8B=E8=AF=95=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index bacf1dc8..7c00b704 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -236,6 +236,11 @@ public class InvoiceServiceImpl implements InvoiceService { throw new RuntimeException(e.getMessage()); } } + List collected = commonOrderInfos.stream().map(v -> v.getOrderInfo().getDdh()).collect(Collectors.toList()); + + if(collected.contains("700000")){ + throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细____"); + } //如果不是混开的 走原来的逻辑 if(CollectionUtils.isEmpty(commonOrderInfoList)){ return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); @@ -365,6 +370,9 @@ public class InvoiceServiceImpl implements InvoiceService { }); } } + if(collected.contains("800000")){ + throw new RuntimeException("以下订单自动拆分时单价超过设定范围,请手动拆分_____"); + } return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); } } From 7ebb69ff3927b9f03277cc8191217602adb81d88 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Tue, 13 Jun 2023 08:55:42 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=EF=BC=8C=E6=B5=8B=E8=AF=95=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 7c00b704..c3b1b268 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -238,7 +238,7 @@ public class InvoiceServiceImpl implements InvoiceService { } List collected = commonOrderInfos.stream().map(v -> v.getOrderInfo().getDdh()).collect(Collectors.toList()); - if(collected.contains("700000")){ + if(collected.stream().filter(s -> s.startsWith("700000")).count() >0){ throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细____"); } //如果不是混开的 走原来的逻辑 @@ -370,7 +370,7 @@ public class InvoiceServiceImpl implements InvoiceService { }); } } - if(collected.contains("800000")){ + if(collected.stream().filter(s -> s.startsWith("800000")).count() >0){ throw new RuntimeException("以下订单自动拆分时单价超过设定范围,请手动拆分_____"); } return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); From 300c70e0c39c587184f9eca3b4e4c47420340655 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Tue, 13 Jun 2023 09:31:03 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/service/impl/InvoiceServiceImpl.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index c3b1b268..99169ef1 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -187,9 +187,6 @@ public class InvoiceServiceImpl implements InvoiceService { }else { //封装成品油 PageCommonOrderInfo cpyPageCommonOrderInfo = new PageCommonOrderInfo(); - //拼接自动按照明细行拆分所需要的数据 - log.info("cpyOrderItems》》》》》》》》"+JSON.toJSONString(cpyOrderItems)); - log.info("nocpyOrderItems》》》》》》》》"+JSON.toJSONString(nocpyOrderItems)); //成品油和非成品油混合 PageOrderInfo cpyPageOrderInfo = new PageOrderInfo(); BeanUtils.copyProperties(commonOrderInfo.getOrderInfo(),cpyPageOrderInfo); @@ -236,11 +233,6 @@ public class InvoiceServiceImpl implements InvoiceService { throw new RuntimeException(e.getMessage()); } } - List collected = commonOrderInfos.stream().map(v -> v.getOrderInfo().getDdh()).collect(Collectors.toList()); - - if(collected.stream().filter(s -> s.startsWith("700000")).count() >0){ - throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细____"); - } //如果不是混开的 走原来的逻辑 if(CollectionUtils.isEmpty(commonOrderInfoList)){ return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); @@ -317,20 +309,16 @@ public class InvoiceServiceImpl implements InvoiceService { } } else { log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size()); -// R.error("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); } }); }); } if(consumerList.size()>0){ -// return R.error(ConfigureConstant.STRING_9001, "以下结算单中客户的状态为“冻结”状态,不能进行开票。",consumerList); throw new RuntimeException(String.format("以下结算单中%s客户的状态为“冻结”状态,不能进行开票。",consumerList)); }else if((StrUtil.isBlank(pageInvoiceReq.getConfirmZnfm()) || !ConfigureConstant.STRING_0.equals(pageInvoiceReq.getConfirmZnfm())) && confirmList.size()>0){ -// return R.error(ConfigureConstant.STRING_9002,"请确认以下物料税收分类编码是否准确",confirmList); throw new RuntimeException(String.format("请确认以下物料税收分类编码是否准确",confirmList)); }else if(djOverflowList.size() > 0){ -// return R.error(ConfigureConstant.STRING_9003, "以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList); throw new RuntimeException(String.format("以下订单自动拆分时单价超过设定范围,请手动拆分",djOverflowList)); }else { for (CommonOrderInfo f : commonOrderInfoList) { @@ -370,9 +358,6 @@ public class InvoiceServiceImpl implements InvoiceService { }); } } - if(collected.stream().filter(s -> s.startsWith("800000")).count() >0){ - throw new RuntimeException("以下订单自动拆分时单价超过设定范围,请手动拆分_____"); - } return R.ok("生成预制发票成功,请到【发票处理中心】页面查看"); } } From 4b8a269b0c7197fafbb53a640c2998b28b93ab66 Mon Sep 17 00:00:00 2001 From: wangrangrang Date: Tue, 13 Jun 2023 14:03:21 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=8E=89=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=E7=9A=84=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/manager/service/impl/InvoiceServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 99169ef1..d4550cd6 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -220,7 +220,9 @@ public class InvoiceServiceImpl implements InvoiceService { if(cpyOrderItems.size()>ConfigureConstant.INT_8){ return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"是成品油发票,明细行数不能超过8行,请先进行手动拆分!"); } - lists.add(mixCommonOrderInfoList); + if(!CollectionUtils.isEmpty(mixCommonOrderInfoList)){ + lists.add(mixCommonOrderInfoList); + } } //如果是混开的 走明细拆分