diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java index ab8f3584..248d7113 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java @@ -238,7 +238,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { //推送票池 try { - if (StringUtils.isNotBlank(commonTsMqData.getFpTsMqData().getFpdm()) && StringUtils.isNotBlank(commonTsMqData.getFpTsMqData().getFphm())) { + if (StringUtils.isNotBlank(commonTsMqData.getFpTsMqData().getFphm())) { pushTicketPoolService.pushTicketPool(commonTsMqData.getFpTsMqData().getFpdm(), commonTsMqData.getFpTsMqData().getFphm(), commonTsMqData.getNsrsbh()); } @@ -259,7 +259,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { } //推送票池 try { - if (StringUtils.isNotBlank(commonTsMqData.getZfTsMqData().getFpdm()) && StringUtils.isNotBlank(commonTsMqData.getZfTsMqData().getFphm())) { + if (StringUtils.isNotBlank(commonTsMqData.getZfTsMqData().getFphm())) { pushTicketPoolService.pushTicketPool(commonTsMqData.getZfTsMqData().getFpdm(), commonTsMqData.getZfTsMqData().getFphm(), commonTsMqData.getNsrsbh()); } @@ -1452,7 +1452,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ()); fpkjtsReqSap.setZHSJE(ddfpxx.getJSHJ()); fpkjtsReqSap.setZZBZ(ddfpxx.getBZ()); - fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_0);//0-正常、1-作废 + fpkjtsReqSap.setZFPZT(ddfpxx.getZFBZ());//0-正常、1-作废 String formatKprq = ""; try { Date date = (Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ddfpxx.getKPRQ()); @@ -1481,6 +1481,14 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { fpkjtsReqSap.setZYWDJ(ddfpxx.getBillNum()); fpkjtsReqSap.setIMGID(ddfpxx.getDocuId()); fpkjtsReqSap.setZBZDH(ddfpxx.getBillNum()); +// String zfbz = ddfpxx.getZFBZ(); +// String chbz = ddfpxx.getCHBZ(); +// fpkjtsReqSap.setZFPZT(); + if(StringUtils.isNotBlank(ddfpxx.getYFPHM())){ + fpkjtsReqSap.setZYFPDM(ddfpxx.getYFPDM()); + fpkjtsReqSap.setZYFPHM(ddfpxx.getYFPHM()); + fpkjtsReqSap.setZHZXXB(StringUtils.isNotBlank(ddfpxx.getHZXXBBH())?ddfpxx.getHZXXBBH():""); + } if(OrderInfoEnum.SYS_SOURCE_DSXT01.getKey().equals(ddfpxx.getXtly()) || OrderInfoEnum.SYS_SOURCE_DSXT02.getKey().equals(ddfpxx.getXtly())){ fpkjtsReqSap.setPDFZJL(ddfpxx.getPDFZJL()); @@ -1595,7 +1603,13 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { log.info("{}推送接口orderProcessInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderProcessInfo)); if(OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(orderProcessInfo.getXtly())){ List orderProcessInfos = orderProcessService.queryOrderProcessInfoByBzdh(orderProcessInfo.getBzdh(), shList); - int count = (int)orderProcessInfos.stream().filter(t -> OrderInfoEnum.ORDER_STATUS_5.getKey().equals(t.getDdzt())).count(); + int count = (int)orderProcessInfos.stream().filter(t ->{ + if(new BigDecimal(orderProcessInfo.getKphjje()).compareTo(BigDecimal.ZERO) > 0){ + return OrderInfoEnum.ORDER_STATUS_5.getKey().equals(t.getDdzt()); + }else{ + return OrderInfoEnum.ORDER_STATUS_7.getKey().equals(t.getDdzt()); + } + }).count(); if(orderProcessInfos.size() != count){ return null; } @@ -1904,7 +1918,11 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { resultToyxVo.setBuyerName(orderInvoiceInfo.getGhfMc()); resultToyxVo.setSellerName(orderInvoiceInfo.getXhfMc()); String terminalCode = orderInvoiceInfo.getSksbdm(); - if(OrderInfoEnum.ORDER_INVOICE_TYPE_51.getValue().equals(orderInvoiceInfo.getFpzlDm()) || OrderInfoEnum.ORDER_INVOICE_TYPE_52.getValue().equals(orderInvoiceInfo.getFpzlDm())){ + if(OrderInfoEnum.ORDER_INVOICE_TYPE_51.getValue().equals(orderInvoiceInfo.getFpzlDm()) + || OrderInfoEnum.ORDER_INVOICE_TYPE_52.getValue().equals(orderInvoiceInfo.getFpzlDm()) + || OrderInfoEnum.ORDER_INVOICE_TYPE_01.getValue().equals(orderInvoiceInfo.getFpzlDm()) + || OrderInfoEnum.ORDER_INVOICE_TYPE_02.getValue().equals(orderInvoiceInfo.getFpzlDm()) + ){ OrderInfo orderInfo = orderInfoService.selectOrderInfoByOrderId(orderProcessInfo.getOrderInfoId(), shList); List fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,""); if (ObjectUtil.isNotEmpty(fileDownLoadList)) { diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java index 865d9ba3..a0894341 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java @@ -166,12 +166,15 @@ public class OrderInfoController { @PostMapping("/updateBillNumber") @ApiOperation(value = "发票列表", notes = "发票列表修改报账单号") @SysLog(operation = "发票列表", operationDesc = "发票列表修改报账单号", key = "订单发票管理") - public R updateBillNumber(@RequestParam("bzdh") String bzdh, @RequestParam("orderInfoId") String orderInfoId) { + public R updateBillNumber(@RequestParam("bzdh") String bzdh, + @RequestParam("orderInfoId") String orderInfoId, + @RequestParam("fpqqlsh")String fpqqlsh, + @RequestParam("xhfNsrsbh")String xhfNsrsbh) { if(StringUtils.isBlank(bzdh)||StringUtils.isBlank(orderInfoId)){ return R.error("请求参数有误"); } try { - int i = orderInfoService.updateBillNumber(bzdh, orderInfoId); + int i = orderInfoService.updateBillNumber(bzdh, orderInfoId,fpqqlsh,xhfNsrsbh); if(i > 0){ return R.ok(); } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java index c366bf0b..35a61a6c 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java @@ -222,7 +222,7 @@ public interface OrderInfoService { R ratioConversion(List orderInfoIds,String ratio,String xhfNsrsbh,String originUnit,String newUnit); - int updateBillNumber(String bzdh,String orderInfoId); + int updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh); @Transactional R logicalDeleteByOrderInfoId(List pageRequestList); 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 46adad4d..5ff39aaa 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 @@ -31,6 +31,7 @@ import com.dxhy.order.consumer.dao.OrderProcessInfoMapper; import com.dxhy.order.consumer.model.OderDetailInfo; import com.dxhy.order.consumer.model.PageOrderExt; import com.dxhy.order.consumer.model.page.PageRequestVO; +import com.dxhy.order.consumer.modules.manager.service.InvoiceDataService; import com.dxhy.order.consumer.modules.order.model.PageInvoiceItem; import com.dxhy.order.consumer.modules.order.model.PageKySlReq; import com.dxhy.order.consumer.modules.order.model.PageKySlRsp; @@ -188,6 +189,9 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Resource private OrderMergeService orderMergeService; + @Resource + private InvoiceDataService invoiceDataService; + DecimalFormat format = new DecimalFormat("#.###"); @Override @@ -1743,11 +1747,18 @@ public class OrderInfoServiceImpl implements OrderInfoService { } @Override - public int updateBillNumber(String bzdh,String orderInfoId){ + public int updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh){ OrderProcessInfo orderProcessInfo = new OrderProcessInfo(); orderProcessInfo.setBzdh(bzdh); orderProcessInfo.setOrderInfoId(orderInfoId); - return orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo,null); + int i = orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo, null); + if(i > 0) { + Map map = new HashMap(); + map.put("ddqqlsh",""); + map.put("xhfNsrsbh",""); + invoiceDataService.manualPushInvoice(Arrays.asList(map)); + } + return i; } @Override diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/ticketpool/service/impl/PushTicketPoolServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/ticketpool/service/impl/PushTicketPoolServiceImpl.java index d1262ac0..b2dbd139 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/ticketpool/service/impl/PushTicketPoolServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/ticketpool/service/impl/PushTicketPoolServiceImpl.java @@ -85,10 +85,10 @@ public class PushTicketPoolServiceImpl implements PushTicketPoolService { OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoMapper.selectOrderInvoiceInfo(orderInvoiceInfo1, shList); log.info("{}推送接口orderInvoiceInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInvoiceInfo)); - if (ObjectUtil.isEmpty(orderInvoiceInfo) || !OrderInfoEnum.INVOICE_STATUS_2.getKey().equals(orderInvoiceInfo.getKpzt())) { - log.warn("{}发票数据不存在,或者发票状态不是开票中,数据不进行推送", LOGGER_MSG); - return R.ok(); - } +// if (ObjectUtil.isEmpty(orderInvoiceInfo) || !OrderInfoEnum.INVOICE_STATUS_2.getKey().equals(orderInvoiceInfo.getKpzt())) { +// log.warn("{}发票数据不存在,或者发票状态不是开票中,数据不进行推送", LOGGER_MSG); +// return R.ok(); +// } if (ConfigureConstant.STRING_Y.equals(openApiConfig.configPushTicketPoolStatus())) { 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 6070171e..c0379279 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 @@ -17,10 +17,7 @@ import com.dxhy.order.baseservice.openapi.protocol.qd.PageXfxx; import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxBO; import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxtbReqBO; import com.dxhy.order.baseservice.utils.BaseServiceBeanTransitionUtils; -import com.dxhy.order.constant.ConfigureConstant; -import com.dxhy.order.constant.ConfigurerInfo; -import com.dxhy.order.constant.OrderInfoContentEnum; -import com.dxhy.order.constant.OrderInfoEnum; +import com.dxhy.order.constant.*; import com.dxhy.order.consumer.openapi.protocol.Response; import com.dxhy.order.consumer.openapi.protocol.cpy.*; import com.dxhy.order.consumer.openapi.protocol.invoice.DeprecateInvoicesRspBO; @@ -3697,13 +3694,6 @@ public class BeanTransitionUtils { return ddpcxxReqBO; } - public static void main(String[] args) { - String reqStr = "{\"IS_INPUT\":{\"SYSID\":\"S4\",\"IFYWID\":\"FI883\",\"BSKEY\":\" JS221122110412000031\",\"SAPKEY\":\"GXA3802307200005\",\"ZFILED5\":300,\"ZDATA\":\"{\\\"ZBZDH\\\":\\\"GXA3802307200005\\\",\\\"ZJSDH\\\":\\\" JS221122110412000031\\\",\\\"ZSNYX\\\":\\\"X\\\",\\\"ZKPLX\\\":\\\"\\\",\\\"ZFPLX\\\":\\\"10\\\",\\\"BUKRS\\\":\\\"A380\\\",\\\"ZGFBH\\\":\\\"0000609000\\\",\\\"ZBHSJE\\\":0,\\\"ZZSE\\\":0,\\\"ZHSJE\\\":0,\\\"ZZBZ\\\":\\\"\\\",\\\"ZSKRXM\\\":\\\"\\\",\\\"ZFHRXM\\\":\\\"\\\",\\\"ZKPRXM\\\":\\\"\\\",\\\"ZSFHZ\\\":\\\"0\\\",\\\"PENAM\\\":\\\"\\\",\\\"ZKPPZH\\\":\\\"\\\",\\\"ZGZRQ\\\":\\\"0000-00-00\\\",\\\"IT_ITEM\\\":[{\\\"ZBZDH\\\":\\\"GXA3802307200005\\\",\\\"ZBZDHH\\\":0,\\\"ZSFZKH\\\":\\\"1\\\",\\\"MATNR\\\":\\\"836408369879195648\\\",\\\"ZSLDW\\\":\\\"\\\",\\\"ZZSL\\\":0,\\\"ZTAX\\\":6.00,\\\"ZZDJ\\\":0,\\\"ZBHSJE\\\":124.53,\\\"ZZSE\\\":7.47,\\\"ZHSJE\\\":132.00,\\\"ZCPMC\\\":\\\"\\\",\\\"CHARG\\\":\\\"\\\",\\\"KTYPE\\\":\\\"\\\"},{\\\"ZBZDH\\\":\\\"GXA3802307200005\\\",\\\"ZBZDHH\\\":0,\\\"ZSFZKH\\\":\\\"1\\\",\\\"MATNR\\\":\\\"836408252287688704\\\",\\\"ZSLDW\\\":\\\"\\\",\\\"ZZSL\\\":0,\\\"ZTAX\\\":6.00,\\\"ZZDJ\\\":0,\\\"ZBHSJE\\\":22.64,\\\"ZZSE\\\":1.36,\\\"ZHSJE\\\":24.00,\\\"ZCPMC\\\":\\\"\\\",\\\"CHARG\\\":\\\"\\\",\\\"KTYPE\\\":\\\"\\\"}]}\"}}"; - PoCommonRequestParam poCommonRequestParam = JSONObject.parseObject(reqStr, PoCommonRequestParam.class); - DdpcxxReqBO ddpcxxReqBO = BeanTransitionUtils.transitionPoKpReq(poCommonRequestParam, new DeptEntity()); - System.out.println(ddpcxxReqBO); - } - /** * @Description: 将标准开票响应参数转换成PO接口开票响应参数 * @Param: [ddpcxxRspV5] diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java index 7efe1d05..a6fb6b37 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java @@ -111,9 +111,9 @@ public class BeanTransitionV5Utils { ddfpxxV5.setDDH(orderInfo.getDdh()); ddfpxxV5.setDDSJ(DateUtil.formatDateTime(orderInfo.getDdrq())); //初始化为未作废 - ddfpxxV5.setZFBZ(OrderInfoEnum.INVALID_INVOICE_0.getKey()); + ddfpxxV5.setZFBZ(orderInvoiceInfo.getZfBz()); //初始化为未冲红 - ddfpxxV5.setCHBZ(OrderInfoEnum.INTERFACE_RED_INVOICE_0.getKey()); + ddfpxxV5.setCHBZ(orderInvoiceInfo.getChBz()); // TODO: 2018/9/21 后期考虑添加订单类型和订单状态等数据. if (ObjectUtil.isNotNull(orderInvoiceInfo)) { 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 ffbe8e45..94d06e5f 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 @@ -1097,6 +1097,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { //开票成功后并且是红票需要更新对应蓝票状态,冲红标志和剩余可冲红金额 if (hzfp) { + //全电冲红后修改蓝字的冲红标志 dealRedInvoice(orderInvoiceInfo.getFpqqlsh(), rabbitMqCommonInvoice.getKpzt(), shList); }