diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/ResponseStatusEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/ResponseStatusEnum.java new file mode 100644 index 00000000..efda43dd --- /dev/null +++ b/order-management-common/src/main/java/com/dxhy/order/constant/ResponseStatusEnum.java @@ -0,0 +1,26 @@ +package com.dxhy.order.constant; + +/** + * 通用code定义 + */ +public enum ResponseStatusEnum { + + INTERNAL_SERVER_ERROR("9999", "系统异常请联系管理员"); + + private String key; + private String value; + + ResponseStatusEnum(String key, String value) { + this.key = key; + this.value = value; + } + + + public String getKey() { + return this.key; + } + + public String getValue() { + return this.value; + } +} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java index 3b2b5165..8926b375 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java @@ -53,6 +53,8 @@ public interface OrderProcessInfoMapper { List queryOrderProcessInfoByBzdh(@Param("bzdh") String bzdh, @Param("shList")List shList); + List queryOrderProcessInfoByBzdhs(@Param("bzdhs") List bzdhs, @Param("shList")List shList); + /** * 根据批次号查询订单处理表数据 * 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 2d1f59fd..003c0018 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 @@ -462,7 +462,7 @@ public class OrderInfoController { try { return orderInfoService.ratioConversion(Arrays.asList(orderInfoIds.split(",")), rate, xhfNsrsbh, originUnit, newUnit); } catch (Exception e) { - return R.error("系统异常,请联系管理员"); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); } } @@ -482,8 +482,8 @@ public class OrderInfoController { try { return orderInfoService.updateOrderItem(orderInfoId,entId,itemList); } catch (Exception e) { - log.error(e.getMessage()); - return R.error("系统异常"); + log.error("订单更新物料异常{}",e); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); } } @@ -497,8 +497,8 @@ public class OrderInfoController { try { return orderInfoService.sycnCommodity(param); } catch (Exception e) { - log.error("同步公司物料库失败,失败原因:{}",e.getMessage()); - return R.error("系统异常,请联系管理员"); + log.error("同步公司物料库失败,失败原因:{}",e); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); } } @@ -518,8 +518,8 @@ public class OrderInfoController { try { return orderInfoService.mergeOrderItem(entId,orderInfoId,itemList); } catch (Exception e) { - log.error(e.getMessage()); - return R.error("系统异常"); + log.error("单笔订单明细合并{}",e); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); } } @@ -533,9 +533,26 @@ public class OrderInfoController { try { return orderInfoService.batchMegerOrderItem(jsonObjects); } catch (Exception e) { - log.error(e.getMessage()); - return R.error("系统异常"); + log.error("批量订单明细合并异常,{}",e); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); } } + @ApiOperation(value = "发票开具、作废、冲红", notes = "发票开具、作废、冲红前检查通报账单其他订单") + @PostMapping("/checkInvoiceSync") + @SysLog(operation = "发票开具、作废、冲红", operationDesc = "发票开具、作废、冲红前检查通报账单其他订单", key = "发票开具、作废、冲红") + public R checkInvoiceSync(@RequestParam String operation,@RequestParam String nsrsbh,@RequestParam String param){ + log.info("山能商旅校验是否存在同报账单订单请求参数{}",operation); + + if(StringUtils.isBlank(operation)||StringUtils.isBlank(param)){ + return R.error("请求参数有误"); + } + + try { + return orderInfoService.checkInvoiceSync(operation,nsrsbh,param); + } catch (Exception e) { + log.error("山能商旅校验是否存在同报账单订单异常{}",e); + return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue()); + } + } } 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 35a61a6c..1312877d 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 @@ -246,4 +246,6 @@ public interface OrderInfoService { * @return */ Boolean checkInvoiceRemarksFlag(String entId,String ghfId); + + R checkInvoiceSync(String operation,String nsrsbh,String param); } 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 5ff39aaa..470d9ad6 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 @@ -2109,6 +2109,41 @@ public class OrderInfoServiceImpl implements OrderInfoService { return Boolean.TRUE; } + /** + * + * @param operation 0 开票,1 作废 、2冲红 + * @param params:发票请求流水号集合信息表编号 + * @return + */ + @Override + public R checkInvoiceSync(String operation,String nsrsbh,String params){ + switch (operation){ + case "0": + //根据报账单号查询未开发票数,且有效 param:发票请求流水号集合 + List orderProcessInfos = orderProcessInfoMapper.queryOrderProcessInfoByBzdhs(Arrays.asList(params), Arrays.asList(nsrsbh)); + //按照报账单分组统计 + Map> collect = orderProcessInfos.stream().collect(Collectors.groupingBy(t -> t.getBzdh())); + Map> collect1 = Arrays.stream(params.split(",")).collect(Collectors.groupingBy(t -> t)); + StringBuffer sb = new StringBuffer(); + for (String s : collect1.keySet()) { + if(collect1.get(s).size() != collect.get(s).size()){ + sb.append("报账单号:").append(s).append("存在多笔未开订单,"); + } + } + break; + case "1": + //根据报账单号查询未作废发票数,且有效 param:发票请求流水号集合 + break; + case "2": + //根据信息表编号查询到原发票号码的报账单 查询此报账单号是否存在多笔发票 param:信息表编号集合 + break; + + } + + + return R.ok(); + } + private void completeCommodityMessageBySpid(OrderItemInfo item, CommodityCodeEntity commodity) { //商品编码 item.setSpbm(commodity.getSpbm()); diff --git a/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml b/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml index c054f8d5..3c047bfe 100644 --- a/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml +++ b/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml @@ -149,6 +149,7 @@ FROM order_process_info op + inner join order_invoice_info oii on oii.order_info_id = op.order_info_id WHERE bzdh = #{bzdh,jdbcType=VARCHAR} @@ -168,6 +169,42 @@ and order_status = '0' + and oii.zf_bz = '0' + + +