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 5020e224..66496516 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 @@ -3,6 +3,7 @@ package com.dxhy.order.consumer.modules.order.controller; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONException; +import com.dxhy.order.baseservice.module.base.service.BaseService; import com.dxhy.order.constant.ConfigureConstant; import com.dxhy.order.constant.OrderInfoContentEnum; import com.dxhy.order.constant.OrderInfoEnum; @@ -78,6 +79,9 @@ public class OrderInvoiceController { @Resource private OrderBzdhService bzdhService; + @Resource + private BaseService baseService; + /** * 异常订单直接开票接口 @@ -395,10 +399,11 @@ public class OrderInvoiceController { errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_QUERY_NULL.getMessage()).append("\r\n"); continue; } - if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { - errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_YWXT.getMessage()).append("\r\n"); - continue; - } + // 任务4516增加SAP推送的数据也能删除功能 +// if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { +// errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_YWXT.getMessage()).append("\r\n"); +// continue; +// } //判断订单来源是否为合并后或拆分后开票,如果为合并后拆分后开票数据不允许删除.产品提出规划,禅道bug45276 if (OrderInfoEnum.ORDER_TYPE_2.getKey().equals(orderProcessInfo.getDdlx()) || OrderInfoEnum.ORDER_TYPE_1.getKey().equals(orderProcessInfo.getDdlx())) { errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_MERGE.getMessage()).append("\r\n"); @@ -449,6 +454,11 @@ public class OrderInvoiceController { orderProcessInfo1.setBhzt(ConfigureConstant.STRING_1); orderProcessInfo1.setFpqqlsh(pageRequest.getFpqqlsh() + "-bh" ); } + if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { + // 删除SAP推送数据时修改流水号 + orderProcessInfo1.setFpqqlsh(baseService.getGenerateShotKey()); + orderProcessInfo1.setXtly(orderProcessInfo.getXtly()); + } int success = orderProcessService.updateOrderProcessInfoByProcessId(orderProcessInfo1, shList); if (success < 0) { errorMsgList.append(preStr).append("数据删除失败").append("\r\n"); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java index bcd1c274..ab5bd880 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java @@ -2,6 +2,7 @@ package com.dxhy.order.consumer.modules.order.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import com.dxhy.base.constant.OrderSeparationException; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.constant.ConfigureConstant; @@ -11,15 +12,14 @@ import com.dxhy.order.consumer.dao.OrderProcessInfoMapper; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountBO; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO; import com.dxhy.order.consumer.modules.order.service.OrderProcessService; +import com.dxhy.order.invoice.module.invoice.dao.OrderInfoMapper; import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService; -import com.dxhy.order.model.OrderInvoiceInfo; -import com.dxhy.order.model.OrderProcessInfo; -import com.dxhy.order.model.OrderProcessInfoExt; -import com.dxhy.order.model.PageUtils; +import com.dxhy.order.model.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -50,6 +50,9 @@ public class OrderProcessServiceImpl implements OrderProcessService { private OrderInvoiceInfoService orderInvoiceInfoService; @Resource private UserInfoService userInfoService; + + @Autowired + private OrderInfoMapper orderInfoMapper; @Override public OrderProcessInfo selectOrderProcessInfoByProcessId(String id, List shList) { @@ -128,6 +131,17 @@ public class OrderProcessServiceImpl implements OrderProcessService { @Override public int updateOrderProcessInfoByProcessId(OrderProcessInfo orderProcessInfo, List shList) { + if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())) { + OrderInfo orderInfo = orderInfoMapper.queryOrderInfoByProcessId(orderProcessInfo.getId()); + if (orderInfo == null) { + throw new RuntimeException("删除SAP推送单据,数据异常"); + } + orderInfo.setFpqqlsh(orderProcessInfo.getFpqqlsh()); + int rs = orderInfoMapper.updateOrderInfoByOrderId(orderInfo, null); + if (rs == 0) { + throw new RuntimeException("删除SAP推送单据,数据异常"); + } + } return orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfo, shList); } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java index 03fe7741..64acddf9 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java @@ -31,6 +31,8 @@ public interface OrderInfoMapper { */ OrderInfo selectOrderInfoByOrderId(@Param(value = "id") String id, @Param("shList") List shList); + OrderInfo queryOrderInfoByProcessId(@Param("processId") String processId); + /** * 根据发票请求流水号获取订单数据,主要用于查询数据是否存在. * diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml index 7ceca33a..8b83fe38 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml @@ -548,7 +548,7 @@ - + +