浏览代码

凯和拆单修改

lazhaoqian 3 年之前
父节点
当前提交
68203db74f

+ 18 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -1042,6 +1042,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         TWarehousebillsCntr tWarehousebillsCntr = tWarehousebillsCntrMapper.selectTWarehousebillsCntrByPId(warehouseBills.getfId());
         int cntritemsfPid = tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
         if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
+            if (tWarehousebillsCntrs.size() > tWarehousebillsCntr.getfCntrcount()){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return  AjaxResult.error("箱信息中的箱量不能大于货物中的箱量");
+            }
             for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntrs) {
                 AjaxResult ajaxResult = this.judgeBoxPile(warehousebillsCntritems, tWarehousebillsCntr.getfCntrid());
                 String code = ajaxResult.get("code").toString();
@@ -1054,6 +1058,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
                 int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
             }
+        }else {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return  AjaxResult.error("箱信息不能为空");
         }
         map.put("warehouseBills", warehouseBills);
         map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
@@ -1119,13 +1126,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 String code = ajaxResult.get("code").toString();
                 if ("500".equals(code)) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.success("error", ajaxResult.get("msg").toString());
+                    return ajaxResult;
                 }
                 warehousebillsCntritems.setfPid(warehouseBills.getfId());
                 warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
                 warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
                 int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
             }
+        }else {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("箱信息不能为空");
         }
         TWarehousebillsCntr warehousebillsCntr = new TWarehousebillsCntr();
         warehousebillsCntr.setfPid(warehouseBills.getfId());
@@ -6072,6 +6082,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      */
     public AjaxResult judgeBoxPile(TWarehousebillsCntritems tWarehousebillsCntritems, Long fId) {
         //判断箱子是否存在
+        if (StringUtils.isEmpty(tWarehousebillsCntritems.getfCntrno())){
+            return AjaxResult.error("箱号不能为空");
+        }
         TCntrno tCntrno = tCntrnoMapper.selectTCnTrNoByfNo(tWarehousebillsCntritems.getfCntrno());
         if (tCntrno == null) {
             return AjaxResult.error("箱号" + tWarehousebillsCntritems.getfCntrno() + "不存在");
@@ -6499,6 +6512,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         TWarehousebillsCntr wareHouseBillsCnTr = tWarehousebillsCntrMapper.selectTWarehousebillsCntrByPId(orderId);
         //获取旧单信息 修改货物信息中的箱量
         TWarehousebillsCntr billsCnTr = tWarehousebillsCntrMapper.selectTWarehousebillsCntrByPId(selectOne.getfId());
+        if (wareHouseBillsCnTr.getfCntrcount() >= billsCnTr.getfCntrcount()){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("拆单数量不能超过或等于原单数量,现在原单数量为" + billsCnTr.getfCntrcount()+"个。");
+        }
         billsCnTr.setUpdateBy(SecurityUtils.getUsername());
         billsCnTr.setUpdateTime(new Date());
         billsCnTr.setfCntrcount(billsCnTr.getfCntrcount()-wareHouseBillsCnTr.getfCntrcount());