瀏覽代碼

出库管理

wangxiaoming 5 年之前
父節點
當前提交
122a85ce67

+ 18 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -19,6 +19,7 @@ import com.iamberry.rst.faces.address.AddressService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
+import com.iamberry.rst.faces.order.OrderWarehouseService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.service.cm.mapper.FittingsInfoMapper;
 import com.iamberry.rst.service.cm.mapper.SalesOrderMapper;
@@ -80,6 +81,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     private InventoryLogMapper inventoryLogMapper;
     @Autowired
     private ComplaintDetectInfoMapper complaintDetectInfoMapper;
+    @Autowired
+    private OrderWarehouseService orderWarehouseService;
 
     @Override
     public Integer addSalesOrder(SalesOrder salesOrder) {
@@ -1100,6 +1103,12 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     @Override
     public boolean updateInventory(Integer salesId,Integer salesWarehouseId){
+        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
+        if(orderWarehouse == null){
+            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
+        }
+        String warehouseName = orderWarehouse.getWarehouseName();
+
         SalesOrderItem salesOrderItem = new SalesOrderItem();
         salesOrderItem.setItemOrderId(salesId);
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
@@ -1129,10 +1138,10 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                         throw new RuntimeException("更新库存失败,增加库存记录失败。");
                     }
                 }else{
-                    throw new RuntimeException("更新库存失败,["+ info.getInventoryProductName()+ "("+ info.getProductColorName() +")" +"]库存不足。");
+                    throw new RuntimeException("更新库存失败,"+ warehouseName +"["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存不足。");
                 }
             }else{
-                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认该仓库是否有该产品库存信息。");
+                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认“"+ warehouseName +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
             }
         }
         return true;
@@ -1141,6 +1150,12 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     @Override
     public boolean returnInventory(Integer salesId,Integer salesWarehouseId){
+        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
+        if(orderWarehouse == null){
+            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
+        }
+        String warehouseName = orderWarehouse.getWarehouseName();
+
         SalesOrderItem salesOrderItem = new SalesOrderItem();
         salesOrderItem.setItemOrderId(salesId);
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
@@ -1169,7 +1184,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     throw new RuntimeException("更新库存失败,增加库存记录失败。");
                 }
             }else{
-                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认该仓库是否有该产品库存信息。");
+                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认“"+ warehouseName +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
             }
 
         }

+ 7 - 6
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -596,11 +596,6 @@ public class AwaitSendController {
             salesOrder = salesOrderService.getSalesOrderByPostNum(postNum);
         }catch (Exception e){
             e.printStackTrace();
-//            Integer flag = salesOrderService.updateDeliver(salesOrder);   //没验证,不允许直接直接执行修改库存和出库操作
-//            if(flag < 1){
-//                rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态是否为已发货。");
-//                return rj;
-//            }
             /*//修改库存信息
             if(updateInventory(salesOrder.getSalesId())){
                 rj = ResponseJson.getSUCCESS();
@@ -817,7 +812,13 @@ public class AwaitSendController {
         }
 
         salesOrder.setSalesDeliver(type);
-        Integer flag = salesOrderService.updateDeliver(salesOrder);
+        Integer flag = 0;
+        try{
+            flag = salesOrderService.updateDeliver(salesOrder);
+        }catch (Exception e){
+            rj.setResultMsg("出货失败;</br>原因:"+e.getMessage());
+            return rj;
+        }
 
         if(flag < 1){
             rj.setResultMsg("出货失败,请检查该订单的发货状态及产品库存是否充足。");