diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/NewOrderExcel.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/NewOrderExcel.java index f05653e6..bfcbae2b 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/NewOrderExcel.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/NewOrderExcel.java @@ -12,9 +12,13 @@ import lombok.Setter; @Getter public class NewOrderExcel { /** - * 订单号 + * 结算单号 */ private String ddh; + /** + * 报账单号 + */ + private String bzdh; /** * 发票种类代码(发票类型) */ @@ -135,6 +139,10 @@ public class NewOrderExcel { * 自行编码(自行商品编码) */ private String zxbm; + /** + * 矿别 + */ + private String kb; /** * 备注 */ diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/utils/ExcelUtils.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/utils/ExcelUtils.java index 918dd831..e16ddd96 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/utils/ExcelUtils.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/utils/ExcelUtils.java @@ -392,6 +392,7 @@ public class ExcelUtils { orderItemInfo.setFphxz(OrderInfoEnum.FPHXZ_CODE_0.getKey()); } orderItemInfo.setZxbm(orderExcel.getZxbm()); + orderItemInfo.setKb(orderExcel.getKb()); return orderItemInfo; } diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java index b89d00d0..5d2266fa 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java @@ -160,7 +160,7 @@ public enum OrderInfoContentEnum { ORDER_MERGE_FPLX_DIFFERENT_ERROR("9608", "所选订单发票类型不一致,不允许合并"), ORDER_MERGE_SKSB_DIFFERENT_ERROR("9608", "所选订单税控设备类型不一致,不允许合并"), - ORDER_MERGE_DDH_DIFFERENT_ERROR("9608", "所选结算单号不一致,不允许合并"), + ORDER_MERGE_DDH_DIFFERENT_ERROR("96081", "所选结算单号不一致,不允许合并"), ORDER_MERGE_GFXX_DIFFERENT_ERROR("9609", "所选订单购方信息不一致,不允许合并"), diff --git a/order-management-common/src/main/java/com/dxhy/order/model/OrderInfo.java b/order-management-common/src/main/java/com/dxhy/order/model/OrderInfo.java index e36be8d5..43676ad1 100644 --- a/order-management-common/src/main/java/com/dxhy/order/model/OrderInfo.java +++ b/order-management-common/src/main/java/com/dxhy/order/model/OrderInfo.java @@ -401,4 +401,9 @@ public class OrderInfo implements Serializable { */ private String sksbCode; + /** + * 报账单号 + */ + private String bzdh; + } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/InvoiceService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/InvoiceService.java index 6cdfb64b..cf43dfe2 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/InvoiceService.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/InvoiceService.java @@ -18,6 +18,12 @@ import java.util.Map; */ public interface InvoiceService { + /** + * 生成预制发票 + * @param pageInvoiceReq + * @return + */ + R preInvoice(PageInvoiceReq pageInvoiceReq); /** * 根据id查询数据开票 * 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 ef51631c..16fd1c3b 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 @@ -114,6 +114,44 @@ public class InvoiceServiceImpl implements InvoiceService { private TaxSpecialPolicyUtil taxSpecialPolicyUtil; + @Override + public R preInvoice(PageInvoiceReq pageInvoiceReq) { + List pageInvoiceItemList = pageInvoiceReq.getPageInvoiceItemList(); + //查询数据列表 + List commonOrderInfos = orderInfoService.batchQueryOrderInfoByOrderIdsAndNsrsbh(pageInvoiceItemList); + commonOrderInfos.stream().forEach(f -> { + String terminalCode = simsBackService.getTerminalCode(f.getOrderInfo().getXhfNsrsbh(), f.getOrderInfo().getEntId()); + List originalCommonOrderInfo = new ArrayList<>(); + originalCommonOrderInfo.add(f); + List orderSplit = new ArrayList<>(); + // 订单超限额拆分 + try { + orderSplit = generateReadyOpenOrderService.orderSplit(originalCommonOrderInfo, terminalCode, pageInvoiceReq.getUserId()); + log.info("{},{}生成预制发票拆分结果:{}",LOGGER_MSG,f.getOrderInfo().getDdh(),JsonUtils.getInstance().toJsonString(orderSplit)); + } catch (OrderSplitException e) { + log.error("{}生成预制发票拆分异常:",LOGGER_MSG,e); + } + if(orderSplit.size() == 1){ + OrderProcessInfo processInfo = f.getProcessInfo(); + processInfo.setYzfp(ConfigureConstant.STRING_1); + orderProcessService.updateOrderProcessInfoByProcessId(processInfo,null); + }else if(orderSplit.size() > 1){ + List commonOrderInfoSaveResults = new ArrayList<>(); + try { + commonOrderInfoSaveResults = generateReadyOpenOrderService.saveOrderSplitInfo(orderSplit); + } catch (OrderReceiveException e) { + log.error("{}生成预制发票拆分后保存异常:",LOGGER_MSG,e); + } + commonOrderInfoSaveResults.stream().forEach(s -> { + OrderProcessInfo processInfo = s.getProcessInfo(); + processInfo.setYzfp(ConfigureConstant.STRING_1); + orderProcessService.updateOrderProcessInfoByProcessId(processInfo,null); + }); + } + }); + return R.ok("生成预制发票成功,请到开票处理页面查看"); + } + @Override public R batchInvoiceById(PageInvoiceReq pageInvoiceReq) { diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java index 8b3a4c7a..1a30eaef 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java @@ -131,6 +131,21 @@ public class OrderInvoiceController { } } + /** + * 生成预制发票(非拆分场景) + * @param pageInvoiceReq + * @return + */ + @PostMapping("/preInvoice") + public R preInvoice(@RequestBody PageInvoiceReq pageInvoiceReq) { + try { + return invoiceService.preInvoice(pageInvoiceReq); + } catch (Exception e) { + log.error("{}生成预制发票异常e:{}", LOGGER_MSG, e); + return R.error().put(OrderManagementConstant.MESSAGE, e.getMessage()); + } + } + /** * 订单编辑后开票 * 优税小助手调用 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderExcelReadServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderExcelReadServiceImpl.java index 2820fe09..35a19485 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderExcelReadServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderExcelReadServiceImpl.java @@ -1902,6 +1902,7 @@ public class OrderExcelReadServiceImpl implements OrderExcelReadService { processInfo.setDdlx(OrderInfoEnum.ORDER_TYPE_0.getKey()); processInfo.setDdly(OrderInfoEnum.ORDER_SOURCE_0.getKey()); processInfo.setDdzt(OrderInfoEnum.ORDER_STATUS_0.getKey()); + processInfo.setBzdh(newOrderExcel.getBzdh()); orderExcel2CommonOrderInfo.setProcessInfo(processInfo); orderExcel2CommonOrderInfo.getOrderInfo().setDdlx(OrderInfoEnum.ORDER_SOURCE_0.getKey()); orderExcel2CommonOrderInfo.setNum(i); 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 6680c270..24d85111 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 @@ -520,6 +520,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { oldOrderProcessInfo.setCheckTime(new Date()); } + oldOrderProcessInfo.setBzdh(orderInfo.getBzdh()); /** * 编辑后数据做下税分离,做订单校验,通过后再进行保存入库 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java index 5b2f949c..da644225 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java @@ -3487,6 +3487,7 @@ public class BeanTransitionUtils { ddtxxBO.setBZDH(req.getZBZDH()); ddtxxBO.setXTLY(isinput.getSYSID()); ddtxxBO.setGSDM(req.getBUKRS()); + ddtxxBO.setENTID(deptEntity.getDeptId()); ddtxxBO.setBHZT(ConfigureConstant.STRING_0); ddtxxBO.setYGXM(req.getPENAM()); ddtxxBO.setKPPZH(req.getZKPPZH()); diff --git a/order-management-consumer/src/main/resources/download/NcpImportExcel.xlsx b/order-management-consumer/src/main/resources/download/NcpImportExcel.xlsx index ea0422fd..299925ca 100644 Binary files a/order-management-consumer/src/main/resources/download/NcpImportExcel.xlsx and b/order-management-consumer/src/main/resources/download/NcpImportExcel.xlsx differ diff --git a/order-management-consumer/src/main/resources/download/OrderExcel.xlsx b/order-management-consumer/src/main/resources/download/OrderExcel.xlsx index 8aa2e296..1ab45574 100644 Binary files a/order-management-consumer/src/main/resources/download/OrderExcel.xlsx and b/order-management-consumer/src/main/resources/download/OrderExcel.xlsx differ diff --git a/order-management-consumer/src/main/resources/download/QdfpImportExcel.xlsx b/order-management-consumer/src/main/resources/download/QdfpImportExcel.xlsx index bafb173c..fd7b6bac 100644 Binary files a/order-management-consumer/src/main/resources/download/QdfpImportExcel.xlsx and b/order-management-consumer/src/main/resources/download/QdfpImportExcel.xlsx differ