浏览代码

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

xian 4 年之前
父节点
当前提交
eda3d536a9

+ 102 - 48
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/ComplaintSignclosedInfo.java

@@ -16,60 +16,114 @@ import java.util.List;
  */
 public class ComplaintSignclosedInfo implements Serializable {
     private static final long serialVersionUID = 2416773719172770710L;
-    private Integer signclosedId;//id
-    private String signclosedLogistics;//寄回物流
-    private String signclosedLogisticsNumber;//物流单号
-    private String signclosedSendName;//寄件人姓名
-    private String signclosedSendTel;//寄件人电话
-    private String signclosedAddrProvinces;//寄件地址(省)id
-    private String signclosedAddrCity;//寄件地址(市)id
-    private String signclosedAddrArea;//寄件地址(区)id
+    //id
+    private Integer signclosedId;
+    //寄回物流
+    private String signclosedLogistics;
+    //物流单号
+    private String signclosedLogisticsNumber;
+    //寄件人姓名
+    private String signclosedSendName;
+    //寄件人电话
+    private String signclosedSendTel;
+    //寄件地址(省)id
+    private String signclosedAddrProvinces;
+    //寄件地址(市)id
+    private String signclosedAddrCity;
+    //寄件地址(区)id
+    private String signclosedAddrArea;
+    //签收时间
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
-    private Date signclosedDate;//签收时间
-    private Integer signclosedCustomerId;//客诉id
-    private String signclosedDesc;//备注
-    private Date signclosedCreateTime;//创建时间
-    private Date signclosedUpdateTime;//修改时间
-    private String signclosedCustomerDesc;//客服备注
-    private Integer isBinding;//是否绑定客诉
-    private Integer signclosedIsReceiving;//是否签收 1待签收 2已签收
-    private Integer signclosedCompanyId;//所属公司
-    private String customerIdDescribe;//客诉标题
-    private List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfoList = new ArrayList<AwaitingSignclosedProductInfo>();	//待签收实体类
-    private List<SignclosedProductInfo> signclosedProductInfoList = new ArrayList<SignclosedProductInfo>();	//签收实体类
-    private List<ComplaintSignclosedImg> signclosedImgInfoList = new ArrayList<ComplaintSignclosedImg>();	//签收实体类
-    private String describeHandleDesc;//处理描述
-    private String signclosedAddrProvincesName;//寄件地址(省)
-    private String signclosedAddrCityName;//寄件地址(市)
-    private String signclosedAddrAreaName;//寄件地址(区)
-    private Integer sendbackId;//客诉寄回id
-    private String signclosedLogisticsName;//物流公司名称
-    private String date;//日期查询
-    private Integer signclosedIsWhetherLess;//是否少件 1是2否
-    private Integer signclosedStoreId;//店铺id
-    private String signclosedStoreName;//店铺名称
-
-    private Integer adminId;//登录人id
-
+    private Date signclosedDate;
+    //客诉id
+    private Integer signclosedCustomerId;
+    //备注
+    private String signclosedDesc;
+    //创建时间
+    private Date signclosedCreateTime;
+    //修改时间
+    private Date signclosedUpdateTime;
+    //客服备注
+    private String signclosedCustomerDesc;
+    //是否绑定客诉
+    private Integer isBinding;
+    //是否签收 1待签收 2已签收
+    private Integer signclosedIsReceiving;
+    //所属公司
+    private Integer signclosedCompanyId;
+    //客诉标题
+    private String customerIdDescribe;
+    //待签收实体类
+    private List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfoList = new ArrayList<AwaitingSignclosedProductInfo>();
+    //签收实体类
+    private List<SignclosedProductInfo> signclosedProductInfoList = new ArrayList<SignclosedProductInfo>();
+    //签收实体类
+    private List<ComplaintSignclosedImg> signclosedImgInfoList = new ArrayList<ComplaintSignclosedImg>();
+    //处理描述
+    private String describeHandleDesc;
+    //寄件地址(省)
+    private String signclosedAddrProvincesName;
+    //寄件地址(市)
+    private String signclosedAddrCityName;
+    //寄件地址(区)
+    private String signclosedAddrAreaName;
+    //客诉寄回id
+    private Integer sendbackId;
+    //物流公司名称
+    private String signclosedLogisticsName;
+    //日期查询
+    private String date;
+    //是否少件 1是2否
+    private Integer signclosedIsWhetherLess;
+    //店铺id
+    private Integer signclosedStoreId;
+    //店铺名称
+    private String signclosedStoreName;
+    //登录人id
+    private Integer adminId;
+    //处理方式id
     private Integer detectNumber;
-    private Integer procMethodId;//处理方式id
-    private Integer procTypeId;//处理方式类型id
-    private String procMethodName;//处理方式名称
-    private String procTypeName;//处理方式类型名
-    private String detectProduction;//生产月份
-    private String detectFuselageBarcode;//机身条码
-    private String detectPhenomenon;//工厂检测现象
-    private String detectClassification;//故障分类
-    private String detectFailureCause;//故障原因
-    private String detectResults;//判定结果
-    private String detectPoint;//故障指向
-    private String detectNalysis;//原因分析
-    private String detectContent;//维修内容(维修记录)
-    private Integer detectIsRefurbishing;//是否翻新机1是 2否
+    //处理方式类型id
+    private Integer procMethodId;
+    //处理方式名称
+    private Integer procTypeId;
+    //处理方式类型名
+    private String procMethodName;
+    //生产月份
+    private String procTypeName;
+    //机身条码
+    private String detectProduction;
+    //工厂检测现象
+    private String detectFuselageBarcode;
+    //故障分类
+    private String detectPhenomenon;
+    //故障原因
+    private String detectClassification;
+    //判定结果
+    private String detectFailureCause;
+    //故障指向
+    private String detectResults;
+    //原因分析
+    private String detectPoint;
+    //维修内容(维修记录)
+    private String detectNalysis;
+    //是否翻新机1是 2否
+    private String detectContent;
+    private Integer detectIsRefurbishing;
     private String startTime;
     private String endTime;
     private Integer sendbackIsUse;
+    // 签收的仓库id
+    private Integer warehouseId;
+
+    public Integer getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(Integer warehouseId) {
+        this.warehouseId = warehouseId;
+    }
 
     public Integer getSignclosedId() {
         return signclosedId;

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

@@ -1478,7 +1478,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             InventoryInfo inventoryInfo1 = new InventoryInfo();
             inventoryInfo1.setInventoryDefectiveProductNum(1);
             inventoryInfo1.setInventoryProductColorId(cdinfo.getProductColorId());
-            inventoryInfo1.setWarehouseId(2);
+            inventoryInfo1.setWarehouseId(salesOrder.getSalesWarehouseId());
             //产品质量类型 1良品 2 不良品
             inventoryInfo1.setQualityType(2);
             inventoryInfo1.setInventoryRecentRecord("维修机器-原机返回(维修ID:" + cdinfo.getDetectNumber() + ")");

+ 4 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java

@@ -180,7 +180,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                 InventoryInfo inventoryInfo2 = new InventoryInfo();
                 inventoryInfo2.setInventoryDefectiveProductNum(spi.getProductNum());
                 inventoryInfo2.setInventoryProductBar(spi.getColorBar());
-                inventoryInfo2.setWarehouseId(2);
+                inventoryInfo2.setWarehouseId(record.getWarehouseId());
                 inventoryInfo2.setLogType(3);   //售后签收,都是次品
                 inventoryInfo2.setInventoryRecentRecord("售后签收产品(签收ID:"+spi.getSignclosedId()+")");
                 flag = inventoryService.addInventory(inventoryInfo2);
@@ -704,8 +704,9 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                 InventoryInfo inventoryInfo2 = new InventoryInfo();
                 inventoryInfo2.setInventoryDefectiveProductNum(spi.getProductNum());
                 inventoryInfo2.setInventoryProductBar(spi.getColorBar());
-                inventoryInfo2.setWarehouseId(2);
-                inventoryInfo2.setLogType(3);   //售后签收,都是次品
+                inventoryInfo2.setWarehouseId(record.getWarehouseId());
+                //售后签收,都是次品
+                inventoryInfo2.setLogType(3);
                 inventoryInfo2.setInventoryRecentRecord("售后签收产品(签收ID:"+spi.getSignclosedId()+")");
                 flag = inventoryService.addInventory(inventoryInfo2);
                 if(flag < 1){

+ 24 - 7
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.controllers.cm;
 
 import com.iamberry.rst.core.cm.CompanyInfo;
 import com.iamberry.rst.core.fm.*;
+import com.iamberry.rst.core.order.OrderWarehouse;
 import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
@@ -9,6 +10,7 @@ import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
 import com.iamberry.rst.faces.cm.InventoryService;
+import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.fm.AwaitingSignclosedProductInfoService;
 import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
@@ -17,6 +19,7 @@ import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.pts.MachineService;
 import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedProductInfoMapper;
+import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
@@ -59,6 +62,8 @@ public class AdminSignclosedController {
     private CompanyInfoService companyInfoService;
     @Autowired
     private InventoryService inventoryServiceImpl;
+    @Autowired
+    private SalesOrderService salesOrderService;
 
     /**
      * 跳转到添加签收记录页面
@@ -172,7 +177,6 @@ public class AdminSignclosedController {
             msg.setReturnCode(500);
             return msg;
         }
-
         if(orderItemString == null){
             msg.setResultCode(200);
             msg.setReturnCode(502);
@@ -185,6 +189,14 @@ public class AdminSignclosedController {
              msg.setReturnCode(503);
             return msg;
         }
+        // 查询当前登录人属于哪个仓库(谁登陆就签收到哪个仓库)
+        OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(AdminUtils.getLoginAdminId());
+        if(orderWarehouse == null){
+            msg.setResultCode(200);
+            msg.setReturnCode(503);
+            return msg;
+        }
+        signclosedInfo.setWarehouseId(orderWarehouse.getWarehouseId());
         //获取签收图片
         String[] componentsImgs = request.getParameterValues("componentsImg");
         String signclosedDate = request.getParameter("signclosed_date");
@@ -252,7 +264,6 @@ public class AdminSignclosedController {
             msg.setReturnCode(500);
             return msg;
         }
-
         if(orderItemString == null){
             msg.setResultCode(200);
             msg.setReturnCode(502);
@@ -260,11 +271,20 @@ public class AdminSignclosedController {
         }
         JSONArray jsonArray = JSONArray.fromObject(orderItemString);
         JSONObject jsonArray2  = jsonArray.getJSONObject(0);
-        if(jsonArray2.get("itemNum").equals("")){
+        if("".equals(jsonArray2.get("itemNum"))){
             msg.setResultCode(200);
             msg.setReturnCode(503);
             return msg;
         }
+        //查询当前登录人属于哪个仓库(谁登陆就签收到哪个仓库)
+        OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(AdminUtils.getLoginAdminId());
+        if(orderWarehouse == null){
+            msg.setResultCode(200);
+            msg.setReturnCode(503);
+            return msg;
+        }
+        signclosedInfo.setWarehouseId(orderWarehouse.getWarehouseId());
+
         //获取签收图片
         String[] componentsImgs = request.getParameterValues("componentsImg");
         String signclosedDate = request.getParameter("signclosed_date");
@@ -274,10 +294,7 @@ public class AdminSignclosedController {
         }
         signclosedInfo.setSignclosedCreateTime(new Date());
         signclosedInfo.setSignclosedIsReceiving(2);
-        boolean num = complaintSignclosedInfoService.updateSignclosedById(signclosedInfo,orderItemString,componentsImgs);
-
-
-        if (!num) {
+        if (!complaintSignclosedInfoService.updateSignclosedById(signclosedInfo,orderItemString,componentsImgs)) {
             msg.setResultCode(200);
             msg.setReturnCode(500);
         } else {

+ 4 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -789,6 +789,10 @@ public class AwaitSendController {
             rj.setResultMsg("出货失败,该物流单号("+postNum+")对应的订单已出库。");
             return rj;
         }
+        if (salesOrder.getSalesWarehouseId().intValue() != orderWarehouse.getWarehouseId()) {
+            rj.setResultMsg("出货失败,订单通知配货仓库和当前登陆人仓库不一致。");
+            return rj;
+        }
         salesOrder.setSalesDeliver(2);
         salesOrder.setSalesOldDeliver(1);
         Integer flag = 0;