Browse Source

feat:sap订单明细删除接口修改

fangxinjian 3 years ago
parent
commit
90a47236e5

+ 20 - 5
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageSapOrderItemServiceImpl.java

@@ -71,13 +71,28 @@ public class QrPackageSapOrderItemServiceImpl implements QrPackageSapOrderItemSe
     @Override
     public void batchDeletePackageSapOrderItem(BatchImportPackageSapOrderItemReq req) {
         List<BatchImportPackageSapOrderItemReq.BatchImportSapOrderItem> sapOrderItemList = req.getBatchImportSapOrderItemList();
-        for (BatchImportPackageSapOrderItemReq.BatchImportSapOrderItem sapOrderItem : sapOrderItemList) {
-            QrPackageSapOrderItem sapOrderItemInfo = getQrPackageSapOrderItemInfo(sapOrderItem.getSapOrderNo(), sapOrderItem.getSapMaterialId());
-            if (ObjectUtil.isNull(sapOrderItemInfo)) {
-                log.info("Sap物料订单明细订单号:{}sap物料id:{}不存在",sapOrderItem.getSapOrderNo(),sapOrderItem.getSapMaterialId());
+        for (BatchImportPackageSapOrderItemReq.BatchImportSapOrderItem itemReq : sapOrderItemList) {
+
+            //根据订单号和物料ID查询订单明细信息
+            QrPackageSapOrderItem sapOrderItem = getQrPackageSapOrderItemInfo(itemReq.getSapOrderNo(), itemReq.getSapMaterialId());
+            if (ObjectUtil.isNull(sapOrderItem)) {
+                log.info("Sap物料订单明细订单号:{}sap物料id:{}不存在",itemReq.getSapOrderNo(),itemReq.getSapMaterialId());
                 return;
             }
-            qrPackageSapOrderItemMapper.deleteById(sapOrderItemInfo.getId());
+
+            //获取需要删除的采购数量
+            long newPurchaseCount = itemReq.getPurchaseCount() == null ? 0 : itemReq.getPurchaseCount();
+            //获取当前的采购数量
+            long nowPurchaseCount = sapOrderItem.getPurchaseCount() == null ? 0 : sapOrderItem.getPurchaseCount();
+            long purchaseCount = nowPurchaseCount - newPurchaseCount;
+
+            //采购数量等于0的情况下 就删除此记录
+            if (purchaseCount == 0) {
+                qrPackageSapOrderItemMapper.deleteById(sapOrderItem.getId());
+            }
+
+            sapOrderItem.setPurchaseCount(purchaseCount);
+            qrPackageSapOrderItemMapper.updateById(sapOrderItem);
         }
 
     }