Просмотр исходного кода

增加已出库订单不允许改仓库

fubin 2 лет назад
Родитель
Сommit
87616af4fb
1 измененных файлов с 18 добавлено и 10 удалено
  1. 18 10
      src/main/java/com/dk/mdm/service/sale/OrderService.java

+ 18 - 10
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -171,10 +171,10 @@ public class OrderService extends BaseService<Order> {
 
         // 收款明细
         List<RecPayResponse> recPayList = recPayMapper.selectByCond(new RecPayQuery().setBiznisId(id));
-        if(recPayList != null && recPayList.size() > 0){
+        if (recPayList != null && recPayList.size() > 0) {
             List<RecPayItemResponse> receiptItem = recPayItemMapper.selectByCond(new RecPayItemQuery().setRpId(recPayList.get(0).getRpId()));
             result.put("receiptItem", receiptItem);
-        }else{
+        } else {
             result.put("receiptItem", new ArrayList<RecPayResponse>());
         }
         return ResponseResultUtil.success(result);
@@ -363,10 +363,18 @@ public class OrderService extends BaseService<Order> {
         List<OrderItemVO> editOrderItemVOList = orderVO.getItemList().stream().filter(it -> it.getItemId() != null).collect(Collectors.toList());
         for (OrderItemVO orderItemVO : editOrderItemVOList) {
             orderItemForUpdate = orderItemMapper.selectByIdForUpdate(orderItemVO.getItemId());
+            // 出库数量
+            BigDecimal outintOrOutQty = orderItemForUpdate.getOutingQty().add(orderItemForUpdate.getOutQty());
             // 商品数量不能小于(出库中数量+已出库数量)
-            if (orderItemVO.getItemQty().compareTo(orderItemForUpdate.getOutingQty().add(orderItemForUpdate.getOutQty())) == -1) {
+            if (orderItemVO.getItemQty().compareTo(outintOrOutQty) == -1) {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_OUTQTY.getMessage());
             }
+            // 如果出库数量不是0,则不能改仓库
+            if (outintOrOutQty.compareTo(BigDecimal.ZERO) != 0) {
+                if (!orderItemForUpdate.getWhId().equals(orderItemVO.getWhId())) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORDER_ISOUT.getMessage());
+                }
+            }
             OrderItem orderItem = orderItemConvert.convertToPo(orderItemVO);
             orderItemService.updateByUuid(orderItem);
         }
@@ -413,7 +421,7 @@ public class OrderService extends BaseService<Order> {
         List<String> macList = new ArrayList<>();
         // 收款明细
         RecPay recPayForUpdate = recPayMapper.selectByBiznisIdForUpdate(orderVO.getOrderId());
-        if(recPayForUpdate != null){
+        if (recPayForUpdate != null) {
             // 将之前的明细全部删除
             List<RecPayItem> recPayItemOriginalList = recPayItemMapper.selectByZIdForUpdate(recPayForUpdate.getRpId());
             for (RecPayItem recPayItem : recPayItemOriginalList) {
@@ -440,7 +448,7 @@ public class OrderService extends BaseService<Order> {
             }).get();
 
             RecPay recPay = null;
-            if(recPayForUpdate == null){
+            if (recPayForUpdate == null) {
                 recPay = new RecPay();
                 // 获取单号
                 Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.RECPAY.getName(), false);
@@ -452,7 +460,7 @@ public class OrderService extends BaseService<Order> {
 
                 recPay.setSumAmtRec(itemSum.getAmtRec());
                 recPayMapper.insert(recPay);
-            }else{
+            } else {
                 // 更新收款总额
                 RecPay recPayUpdate = new RecPay();
                 recPayUpdate.setSumAmtRec(itemSum.getAmtRec()).setRpId(recPayForUpdate.getRpId());
@@ -494,7 +502,7 @@ public class OrderService extends BaseService<Order> {
                 }
             }
         }
-        if(recPayForUpdate != null) {
+        if (recPayForUpdate != null) {
             // 更新总账表的锁定金额
             accountService.updateReceiptLock(recPayForUpdate.getObjectId());
         }
@@ -535,7 +543,7 @@ public class OrderService extends BaseService<Order> {
         List<String> macList = new ArrayList<>();
         // 收款明细
         RecPay recPayForUpdate = recPayMapper.selectByBiznisIdForUpdate(id);
-        if(recPayForUpdate != null){
+        if (recPayForUpdate != null) {
             // 将之前的明细全部删除
             List<RecPayItem> recPayItemOriginalList = recPayItemMapper.selectByZIdForUpdate(recPayForUpdate.getRpId());
             for (RecPayItem recPayItem : recPayItemOriginalList) {
@@ -583,10 +591,10 @@ public class OrderService extends BaseService<Order> {
 
         // 收款明细
         List<RecPayResponse> recPayList = recPayMapper.selectByCond(new RecPayQuery().setBiznisId(id));
-        if(recPayList != null && recPayList.size() > 0){
+        if (recPayList != null && recPayList.size() > 0) {
             List<RecPayItemResponse> receiptItem = recPayItemMapper.selectByCond(new RecPayItemQuery().setRpId(recPayList.get(0).getRpId()));
             dataInfo.put("receiptItem", receiptItem);
-        }else{
+        } else {
             dataInfo.put("receiptItem", new ArrayList<RecPayResponse>());
         }
         return ResponseResultUtil.success(dataInfo);