浏览代码

优化仓库选型:根据当前登陆人绑定的仓库,在签收时签收到对应仓库,然后在出库是根据当前出库进行出库。

xian 4 年之前
父节点
当前提交
15f1a01129

+ 15 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -1491,6 +1491,16 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             SalesOrder so = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());SalesOrderItem salesOrderItem = new SalesOrderItem();
             salesOrderItem.setItemOrderId(so.getSalesId());
             List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+            // 查询维修编号,并根据维修编号对应的处理结果判断是否从不良品中出库
+            List<ComplaintDetectInfo> listDetect  = complaintDetectInfoMapper.listComplaintDetectBySalesId(so.getSalesOrderId());
+            boolean isDefectiveProduct = false;
+            if (listDetect != null && !listDetect.isEmpty()) {
+                int result = listDetect.get(0).getState();
+                if (result == 32 || result == 36 || result == 37) {
+                    // 凡是(付费维修-维修完成)、(免费维修-维修完成)、(机器无故障,原机退回)都走不良品
+                    isDefectiveProduct = true;
+                }
+            }
             if(salesOrder.getSalesDeliver() == 2){
                 // 标记出库,修改库存
                 // 如果已出库则返还库存
@@ -1503,7 +1513,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     //类型1.采购 2.发货 3.次品
                     inventoryInfo2.setLogType(2);
                     //产品质量类型 1良品 2 不良品
-                    inventoryInfo2.setQualityType(1);
+                    if (isDefectiveProduct) {
+                        inventoryInfo2.setQualityType(2);
+                    } else {
+                        inventoryInfo2.setQualityType(1);
+                    }
                     inventoryInfo2.setInventoryRecentRecord("出库-订单号:"+ so.getSalesDealCode());
                     inventoryService.minusInventory(inventoryInfo2);
                 }

+ 3 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -759,6 +759,9 @@ public class AdminSalesOrderController {
         }
         // 获取选中的售后维修记录
         String[] detectIds = request.getParameterValues("detectId");
+        if (detectIds != null && detectIds.length > 1) {
+            return new ResponseJson(500, "维修机器,不允许选择两个以上的维修记录", 500);
+        }
         // 登陆的用户
         Admin admin = AdminUtils.getLoginAdmin();
         // 解析支付时间