Browse Source

出库 入库 更新库存账失败数据回滚

lazhaoqian 3 years ago
parent
commit
16f2bb2d45

+ 13 - 6
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -1758,6 +1758,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             fBillstatus = 6L;
             reviewDate = new Date();
         }
+        Integer saveOrUpdate = null;
         Integer i = null;
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
         if (warehouseBills.getfBsdate() == null){
@@ -1813,9 +1814,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     if ("RK".equals(billsType)){
                         TWhgenleg tWhgenleg = this.anPinQueryTWhgenleg(warehouseBills, warehousebillsfees);
                         if (tWhgenleg == null){
-                            this.anPinInstalTWhgenleg(warehouseBills,warehousebillsfees,loginUser.getUser());
+                            saveOrUpdate = this.anPinInstalTWhgenleg(warehouseBills, warehousebillsfees, loginUser.getUser());
                         }else {
-                            this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
+                            saveOrUpdate = this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
                         }
                     }
                     if ("CK".equals(billsType)){
@@ -1828,7 +1829,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return AjaxResult.error(tFees.getfName()+"出库数量大于库存数,现有库存数量为"+tWhgenleg.getfGrossweightblc()+",库存不足");
                         }
-                        this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
+                        saveOrUpdate = this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
                     }
                 }
             }
@@ -1891,9 +1892,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     if ("RK".equals(billsType)){
                         TWhgenleg tWhgenleg = this.anPinQueryTWhgenleg(warehouseBills, warehousebillsfees);
                         if (tWhgenleg == null){
-                            this.anPinInstalTWhgenleg(warehouseBills,warehousebillsfees,loginUser.getUser());
+                            saveOrUpdate = this.anPinInstalTWhgenleg(warehouseBills,warehousebillsfees,loginUser.getUser());
                         }else {
-                            this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
+                            saveOrUpdate = this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
                         }
                     }
                     if ("CK".equals(billsType)){
@@ -1906,11 +1907,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return AjaxResult.error(tFees.getfName()+"出库数量大于库存数,现有库存数量为"+tWhgenleg.getfGrossweightblc()+",库存不足");
                         }
-                        this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
+                        saveOrUpdate = this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
                     }
                 }
             }
         }
+        if ("RK".equals(billsType) || "CK".equals(billsType)){
+            if (saveOrUpdate == null || saveOrUpdate <1){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("更新库存总账失败");
+            }
+        }
         if (isApprove) {
             AuditItems auditItems = new AuditItems();
             auditItems.setLevelId(0L);