Browse Source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java
liujiankang 5 years ago
parent
commit
9ca67a95c9
17 changed files with 519 additions and 85 deletions
  1. 2 0
      watero-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java
  2. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java
  3. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/fm/InventoryInfo.java
  4. 17 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/InventoryService.java
  5. 1 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/fm/ComplaintDetectInfoService.java
  6. 232 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/InventoryServiceImpl.java
  7. 50 13
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  8. 3 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  9. 94 12
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java
  10. 68 31
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java
  11. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintDetectInfoMapper.java
  12. 8 24
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml
  13. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductColorMapper.java
  14. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productColorMapper.xml
  15. 4 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  16. 1 3
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl
  17. 3 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/inventoryLog_list.ftl

+ 2 - 0
watero-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java

@@ -252,6 +252,8 @@ public class ResultInfo {
 	public static String LISTISTARTED = "https://s.iamberry.com/rst/approval/pro_order_list_index.html?type=1";
 	/** 	仓库列表url 	*/
 	public static String LISTWAREHOUSE = "https://s.iamberry.com/rst/approval/pro_order_list_index.html?type=3";
+	/** 	售后流程-业务员确认处理方式地址url 	*/
+	public static String DETECT_MSG = "https://s.iamberry.com/rst/detect/detect_msg.html?detectId=";
 
 
 	/** 	RST模板消息 end 	*/

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java

@@ -32,6 +32,7 @@ public class SalesOrderItem implements Serializable {
 
     private Integer colorIsMachine; //是否是水机 1:水机 2;其它产品
 
+    private String salesOrderId;            //订单号
     private String salesDealCode;   //交易号
     private Integer itemReturnNum;   //退货数量
 
@@ -194,4 +195,12 @@ public class SalesOrderItem implements Serializable {
     public void setItemReturnNum(Integer itemReturnNum) {
         this.itemReturnNum = itemReturnNum;
     }
+
+    public String getSalesOrderId() {
+        return salesOrderId;
+    }
+
+    public void setSalesOrderId(String salesOrderId) {
+        this.salesOrderId = salesOrderId;
+    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/InventoryInfo.java

@@ -34,6 +34,8 @@ public class InventoryInfo implements Serializable{
     private Integer warehouseId;//仓库ID
     private String warehouseName;//仓库名称
 
+    private Integer logType;//类型1.采购 2.发货 3.次品
+
     public Integer getInventoryId() {
         return inventoryId;
     }
@@ -217,4 +219,12 @@ public class InventoryInfo implements Serializable{
     public void setWarehouseName(String warehouseName) {
         this.warehouseName = warehouseName;
     }
+
+    public Integer getLogType() {
+        return logType;
+    }
+
+    public void setLogType(Integer logType) {
+        this.logType = logType;
+    }
 }

+ 17 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/InventoryService.java

@@ -3,6 +3,8 @@ import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 
+import java.util.List;
+
 /**
  * Created by Administrator on 2018/8/15.
  */
@@ -31,4 +33,19 @@ public interface InventoryService {
      * 新增
      */
     Integer insert(InventoryInfo inventoryInfo);
+
+    /**
+     * 增加库存
+     * @param
+     * @return
+     */
+    Integer addInventory(InventoryInfo inventoryInfo);
+
+    /**
+     * 减去库存
+     * @param
+     * @return
+     */
+    Integer minusInventory(InventoryInfo inventoryInfo);
+
 }

+ 1 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/fm/ComplaintDetectInfoService.java

@@ -26,6 +26,7 @@ public interface ComplaintDetectInfoService {
      * @return
      */
     int updateDetectQc(ComplaintDetectInfo record);
+
     /**
      * 修改单个待维修内容
      * @return

+ 232 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/InventoryServiceImpl.java

@@ -2,15 +2,26 @@ package com.iamberry.rst.service.cm;
 
 
 import com.github.pagehelper.PageHelper;
+import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.fm.InventoryInfo;
+import com.iamberry.rst.core.fm.InventoryLog;
+import com.iamberry.rst.core.order.OrderWarehouse;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.cm.InventoryService;
+import com.iamberry.rst.service.fm.mapper.InventoryLogMapper;
 import com.iamberry.rst.service.fm.mapper.InventoryMapper;
+import com.iamberry.rst.service.order.mapper.OrderWarehouseMapper;
+import com.iamberry.rst.service.product.mapper.ProductColorMapper;
 import com.iamberry.rst.util.PageUtil;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -18,8 +29,17 @@ import java.util.List;
  */
 @Service
 public class InventoryServiceImpl implements InventoryService {
+
+    private static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
     @Autowired
     private InventoryMapper inventoryMapper;
+    @Autowired
+    private InventoryLogMapper inventoryLogMapper;
+    @Autowired
+    private OrderWarehouseMapper orderWarehouseMapper;
+    @Autowired
+    private ProductColorMapper productColorMapper;
 
     @Override
     public InventoryInfo getByInventoryId(Integer inventoryId) {
@@ -48,4 +68,216 @@ public class InventoryServiceImpl implements InventoryService {
     public Integer insert(InventoryInfo inventoryInfo) {
         return inventoryMapper.insert(inventoryInfo);
     }
+
+    @Transactional
+    @Override
+    public Integer addInventory(InventoryInfo invent) {
+        Integer flag = 0;
+        if(invent.getWarehouseId() == null){
+            throw new RuntimeException("【出库】更新库存失败,出库仓库ID。");
+        }
+        if(invent.getInventoryProductBar() == null && invent.getInventoryProductColorId() == null){
+            throw new RuntimeException("【出库】更新库存失败,出库需要产品SKU或颜色ID。");
+        }else{
+            ProductColor productColor = null;
+            if(!StringUtils.isEmpty(invent.getInventoryProductBar())){
+                productColor = productColorMapper.getProductColorByBar(invent.getInventoryProductBar());
+            }else{
+                productColor = productColorMapper.getProductColorById(invent.getInventoryProductColorId());
+            }
+            if(productColor != null){
+                invent.setInventoryProductBar(productColor.getColorBar());
+            }else{
+                throw new RuntimeException("【出库】更新库存失败,产品SKU或颜色ID出错。");
+            }
+        }
+
+        OrderWarehouse orderWarehouse = orderWarehouseMapper.getOrderWarehouseById(invent.getWarehouseId());
+        if(orderWarehouse == null){
+            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
+        }
+        String warehouseName = orderWarehouse.getWarehouseName();
+        InventoryInfo info = inventoryMapper.getByInventoryByBar(invent.getInventoryProductBar(),invent.getWarehouseId());
+        if(info != null){
+            boolean isNumUpadate = false;
+            Integer logType = 0;
+            Integer num = 0;    //数量
+            Integer logQualityType=0;//1.良品 2不良品
+            InventoryInfo newInent = new InventoryInfo();
+            newInent.setInventoryId(info.getInventoryId());
+
+            String record = "";
+            if(!StringUtils.isEmpty(invent.getInventoryRecentRecord())){
+                record = invent.getInventoryRecentRecord();
+            }
+            //日志记录与 库存最后记录保持一致
+            String logRecord = "";
+
+            //inventoryGoodProductNum;//良品数量
+            if(invent.getInventoryGoodProductNum() != null && invent.getInventoryGoodProductNum() != 0 ){
+                logRecord = sdf.format(new Date())+"[良品]入库"+invent.getInventoryGoodProductNum()+"件,"+record;
+                newInent.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + invent.getInventoryGoodProductNum());
+                newInent.setInventoryRecentRecord(logRecord);
+                isNumUpadate = true;
+                num = invent.getInventoryGoodProductNum();
+                logQualityType = 1;
+            }else if(invent.getInventoryDefectiveProductNum() != null && invent.getInventoryDefectiveProductNum() != 0 ){
+                //inventoryDefectiveProductNum;//不良品数量
+                logRecord = sdf.format(new Date())+"[不良品]入库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
+                newInent.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum() + invent.getInventoryDefectiveProductNum());
+                newInent.setInventoryRecentRecord(logRecord);
+                isNumUpadate = true;
+                num = invent.getInventoryDefectiveProductNum();
+                logQualityType = 2;
+            }
+//            else if(invent.getInventoryRemainingNum() != null && invent.getInventoryRemainingNum() != 0 ){
+//                //  inventoryRemainingNum;//库存剩余数量
+//                    newInent.setInventoryRemainingNum(info.getInventoryRemainingNum() - invent.getInventoryRemainingNum());
+//                    info.setInventoryRecentRecord(sdf.format(new Date())+"[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
+//                    isNumUpadate = true;
+//                    num = invent.getInventoryRemainingNum();
+//            }
+            if(isNumUpadate && logQualityType != 0 && num != 0){
+                flag =  inventoryMapper.updateById(newInent);
+                if(flag < 1){
+                    throw new RuntimeException("【入库】更新库存失败,库存修改失败。");
+                }
+                InventoryLog inventoryLog = new InventoryLog();
+                inventoryLog.setLogProductName(info.getInventoryProductName());
+                inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                inventoryLog.setLogRemainingNum(num);
+                if(invent.getLogType() != null && invent.getLogType()!=0){
+                    inventoryLog.setLogType(invent.getLogType()); //类型1.采购 2.发货 3.次品
+                }else{
+                    inventoryLog.setLogType(1); //类型1.采购 2.发货 3.次品
+                }
+                inventoryLog.setLogOperationType(1);    //增加
+                inventoryLog.setLogDesc(logRecord);
+                inventoryLog.setLogQualityType(logQualityType);
+                inventoryLog.setLogWarehouseId(invent.getWarehouseId());
+                flag = inventoryLogMapper.insert(inventoryLog);
+                if(flag < 1){
+                    throw new RuntimeException("【入库】更新库存失败,增加库存记录失败。");
+                }
+            }else{
+                throw new RuntimeException("【入库】更新库存失败,数量未变动或数据出错。");
+            }
+        }else{
+            throw new RuntimeException("【入库】更新库存失败,未查询到库存信息,请确认“"+ warehouseName +"”是否有该产品["+ invent.getInventoryProductBar()+ "]的库存信息。");
+        }
+        return flag;
+    }
+
+    @Transactional
+    @Override
+    public Integer minusInventory(InventoryInfo invent) {
+        Integer flag = 0;
+        if(invent.getWarehouseId() == null){
+            throw new RuntimeException("【出库】更新库存失败,出库仓库ID。");
+        }
+        if(invent.getInventoryProductBar() == null && invent.getInventoryProductColorId() == null){
+            throw new RuntimeException("【出库】更新库存失败,出库需要产品SKU或颜色ID。");
+        }else{
+            ProductColor productColor = null;
+            if(!StringUtils.isEmpty(invent.getInventoryProductBar())){
+                productColor = productColorMapper.getProductColorByBar(invent.getInventoryProductBar());
+            }else{
+                productColor = productColorMapper.getProductColorById(invent.getInventoryProductColorId());
+            }
+            if(productColor != null){
+                invent.setInventoryProductBar(productColor.getColorBar());
+            }else{
+                throw new RuntimeException("【出库】更新库存失败,产品SKU或颜色ID出错。");
+            }
+        }
+
+        OrderWarehouse orderWarehouse = orderWarehouseMapper.getOrderWarehouseById(invent.getWarehouseId());
+        if(orderWarehouse == null){
+            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
+        }
+        String warehouseName = orderWarehouse.getWarehouseName();
+        InventoryInfo info = inventoryMapper.getByInventoryByBar(invent.getInventoryProductBar(),invent.getWarehouseId());
+        if(info != null){
+            boolean isNumUpadate = false;
+            Integer logType = 0;
+            Integer num = 0;    //数量
+            Integer logQualityType=0;//1.良品 2不良品
+            InventoryInfo newInent = new InventoryInfo();
+            newInent.setInventoryId(info.getInventoryId());
+
+            String record = "";
+            if(!StringUtils.isEmpty(invent.getInventoryRecentRecord())){
+                record = invent.getInventoryRecentRecord();
+            }
+
+            //日志记录与 库存最后记录保持一致
+            String logRecord = "";
+
+            //inventoryGoodProductNum;//良品数量
+            if(invent.getInventoryGoodProductNum() != null && invent.getInventoryGoodProductNum() != 0 ){
+                if(info.getInventoryGoodProductNum() > invent.getInventoryGoodProductNum()){
+                    logRecord = sdf.format(new Date())+"[良品]出库"+invent.getInventoryGoodProductNum()+"件,"+record;
+                    newInent.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - invent.getInventoryGoodProductNum());
+                    newInent.setInventoryRecentRecord(logRecord);
+                    isNumUpadate = true;
+                    num = invent.getInventoryGoodProductNum();
+                    logQualityType = 1;
+                }else{
+                    throw new RuntimeException("【出库】更新库存失败,"+ warehouseName +"["+ info.getInventoryProductName()+ "("+ info.getProductColorName() +")" +"][良品数量]库存不足。");
+                }
+            }else if(invent.getInventoryDefectiveProductNum() != null && invent.getInventoryDefectiveProductNum() != 0 ){
+                //inventoryDefectiveProductNum;//不良品数量
+                if(info.getInventoryDefectiveProductNum() > invent.getInventoryDefectiveProductNum()){
+                    logRecord = sdf.format(new Date())+"[不良品]出库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
+                    newInent.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum() - invent.getInventoryDefectiveProductNum());
+                    newInent.setInventoryRecentRecord(logRecord);
+                    isNumUpadate = true;
+                    num = invent.getInventoryDefectiveProductNum();
+                    logQualityType = 2;
+                }else{
+                    throw new RuntimeException("【出库】更新库存失败,"+ warehouseName +"["+ info.getInventoryProductName()+ "("+ info.getProductColorName() +")" +"][不良品]库存不足。");
+                }
+            }
+//            else if(invent.getInventoryRemainingNum() != null && invent.getInventoryRemainingNum() != 0 ){
+//                //  inventoryRemainingNum;//库存剩余数量
+//                if(info.getInventoryRemainingNum() > invent.getInventoryRemainingNum()){
+//                    newInent.setInventoryRemainingNum(info.getInventoryRemainingNum() - invent.getInventoryRemainingNum());
+//                    info.setInventoryRecentRecord(sdf.format(new Date())+"[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
+//                    isNumUpadate = true;
+//                    num = invent.getInventoryRemainingNum();
+//                }else{
+//                    throw new RuntimeException("【出库】更新库存失败,"+ warehouseName +"["+ info.getInventoryProductName()+ "("+ info.getProductColorName() +")" +"][剩余数量]库存不足。");
+//                }
+//            }
+            if(isNumUpadate && logQualityType != 0){
+                flag =  inventoryMapper.updateById(newInent);
+                if(flag < 1){
+                    throw new RuntimeException("【出库】更新库存失败,库存修改失败。");
+                }
+                InventoryLog inventoryLog = new InventoryLog();
+                inventoryLog.setLogProductName(info.getInventoryProductName());
+                inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                inventoryLog.setLogRemainingNum(num);
+                if(invent.getLogType() != null && invent.getLogType()!=0){
+                    inventoryLog.setLogType(invent.getLogType()); //类型1.采购 2.发货 3.次品
+                }else{
+                    inventoryLog.setLogType(1); //类型1.采购 2.发货 3.次品
+                }
+                inventoryLog.setLogOperationType(2);    //减去
+                inventoryLog.setLogDesc(logRecord);
+                inventoryLog.setLogQualityType(logQualityType);
+                inventoryLog.setLogWarehouseId(invent.getWarehouseId());
+                flag = inventoryLogMapper.insert(inventoryLog);
+                if(flag < 1){
+                    throw new RuntimeException("【出库】更新库存失败,增加库存记录失败。");
+                }
+            }else{
+                throw new RuntimeException("【出库】更新库存失败,数量未变动或数据出错。");
+            }
+        }else{
+            throw new RuntimeException("【出库】更新库存失败,未查询到库存信息,请确认“"+ warehouseName +"”是否有该产品["+ invent.getInventoryProductBar()+ "]的库存信息。");
+        }
+        return flag;
+    }
+
 }

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

@@ -16,6 +16,7 @@ import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.core.sys.SysConfig;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.address.AddressService;
+import com.iamberry.rst.faces.cm.InventoryService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
@@ -83,6 +84,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     private ComplaintDetectInfoMapper complaintDetectInfoMapper;
     @Autowired
     private OrderWarehouseService orderWarehouseService;
+    @Autowired
+    private InventoryService inventoryService;
 
     @Override
     public Integer addSalesOrder(SalesOrder salesOrder) {
@@ -123,15 +126,14 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     @Override
     public Integer updateOrderInfo(SalesOrder salesOrder) {
-        int flag = 0;
         //删除订单项
-        flag = salesOrderMapper.delOrderItem(salesOrder.getSalesId());
+        int flag = salesOrderMapper.delOrderItem(salesOrder.getSalesId());
         if (flag <= 0) {
             throw new RuntimeException("删除订单项失败!");
         }
 
         //修改订单
-        salesOrderMapper.updateSalesOrder(salesOrder);
+        flag = salesOrderMapper.updateSalesOrder(salesOrder);
         if (flag <= 0) {
             throw new RuntimeException("修改订单失败!");
         }
@@ -141,6 +143,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         if (flag <= 0) {
             throw new RuntimeException("增加订单项失败!");
         }
+        // 更新Redis缓存
+        Map<String,String> map = System.getenv();
+        String name = map.get("COMPUTERNAME");
+        if ("iZ94klno8qrZ".equalsIgnoreCase(name)) {
+            name = "RST_";
+        } else {
+            name = "adv_";
+        }
+        RedisUtils.del(name + "ORDER_ITEM_" + salesOrder.getSalesId());
         return flag;
     }
 
@@ -275,6 +286,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return salesOrder;
     }
 
+    @Override
     public void parseOrder(SalesOrder oginerOrder, List<SalesOrder> listOrder) {
         // 订单项拆分完成,直接返回
         if (oginerOrder.getSalesOrderItemList().size() <= 0) {
@@ -451,6 +463,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             if(listSalesOrder.size() > 0){
                 for (int i = 0;i<listSalesOrder.size();i++){
                     listSalesOrder.get(i).setSalesDealCode(listSalesOrder.get(i).getSalesDealCode()+"-"+(i+1));
+                    listSalesOrder.get(i).setSalesOrderId(listSalesOrder.get(i).getSalesOrderId()+"-"+(i+1));
                     listSalesOrder.get(i).setSalesMainOrderId(mainOrder.getSalesId());
                     listSalesOrder.get(i).setSalesId(null);
                     orderNum = salesOrderMapper.addSalesOrder(listSalesOrder.get(i));
@@ -1103,15 +1116,39 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             throw new RuntimeException("出库失败,订单出库失败。");
         }
 
-        if(salesOrder.getSalesDeliver() == 2){//标记出库,修改库存
-            if(!salesOrderService.updateInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
-                throw new RuntimeException("出库失败,【出库】库存修改失败。");
+        boolean isMachineRetuen = false; //是否原机退回
+        ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();
+        complaintDetectInfo.setSalesOrderId(salesOrder.getSalesOrderId());
+        List<ComplaintDetectInfo> complaintDetectInfoList = complaintDetectInfoMapper.listComplaintDetectByOrderId(complaintDetectInfo);
+        if(complaintDetectInfoList != null && complaintDetectInfoList.size() > 0) {
+            ComplaintDetectInfo cdinfo = complaintDetectInfoList.get(0);
+            if (5 == cdinfo.getDetectProcessingResults()) { //detectProcessingResults
+                isMachineRetuen = true;
             }
         }
 
-        if(salesOrder.getSalesDeliver() == 1){//标记未出库,修改库存
-            if(!salesOrderService.returnInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
-                throw new RuntimeException("出库失败,【返还库存】库存修改失败。");
+        if(isMachineRetuen){
+            //减去售后仓库不良品
+            ComplaintDetectInfo cdinfo = complaintDetectInfoList.get(0);
+            InventoryInfo inventoryInfo1 = new InventoryInfo();
+            inventoryInfo1.setInventoryDefectiveProductNum(1);
+            inventoryInfo1.setInventoryProductColorId(cdinfo.getProductColorId());
+            inventoryInfo1.setWarehouseId(2);
+            inventoryInfo1.setInventoryRecentRecord("维修机器-原机返回(维修ID:" + cdinfo.getDetectNumber() + ")");
+            flag = inventoryService.minusInventory(inventoryInfo1);
+            if (flag < 1) {
+                throw new RuntimeException("出库失败。维修库存调整失败");
+            }
+        }else{  //正常库存出库(包含正常销售与售后)
+            if(salesOrder.getSalesDeliver() == 2){//标记出库,修改库存
+                if(!salesOrderService.updateInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
+                    throw new RuntimeException("出库失败,【出库】库存修改失败。");
+                }
+            }
+            if(salesOrder.getSalesDeliver() == 1){//标记未出库,修改库存
+                if(!salesOrderService.returnInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
+                    throw new RuntimeException("出库失败,【返还库存】库存修改失败。");
+                }
             }
         }
         return flag;
@@ -1136,7 +1173,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             if(info != null){
                 if(info.getInventoryGoodProductNum() >= item.getItemNum()){
                     info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - item.getItemNum());
-                    info.setInventoryRecentRecord(sdf.format(new Date())+"出库:"+item.getItemNum()+"件,订单号:"+item.getItemOrderId());
+                    info.setInventoryRecentRecord(sdf.format(new Date())+"出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
                     Integer flag =  inventoryMapper.updateById(info);
                     if(flag < 1){
                         throw new RuntimeException("【出库】更新库存失败,库存修改失败。");
@@ -1148,7 +1185,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     inventoryLog.setLogRemainingNum(item.getItemNum());
                     inventoryLog.setLogType(2);
                     inventoryLog.setLogOperationType(2);
-                    inventoryLog.setLogDesc(sdf.format(new Date())+"待发货标记出库:"+item.getItemNum()+"件,订单号:"+item.getItemOrderId());
+                    inventoryLog.setLogDesc(sdf.format(new Date())+"待发货标记出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
                     inventoryLog.setLogQualityType(1);
                     inventoryLog.setLogWarehouseId(salesWarehouseId);
                     flag = inventoryLogMapper.insert(inventoryLog);
@@ -1182,7 +1219,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),salesWarehouseId);
             if(info != null){
                 info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + item.getItemNum());
-                info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存:"+item.getItemNum()+"件,订单号:"+item.getItemOrderId());
+                info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
                 Integer flag = inventoryMapper.updateById(info);
                 if(flag < 1){
                     throw new RuntimeException("【返还库存】更新库存失败,库存修改失败。");
@@ -1194,7 +1231,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 inventoryLog.setLogRemainingNum(item.getItemNum());
                 inventoryLog.setLogType(1);
                 inventoryLog.setLogOperationType(1);
-                inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存:"+item.getItemNum()+"件,订单号:"+item.getItemOrderId());
+                inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
                 inventoryLog.setLogQualityType(1);
                 inventoryLog.setLogWarehouseId(salesWarehouseId);
                 flag = inventoryLogMapper.insert(inventoryLog);

+ 3 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -488,11 +488,13 @@
             pc.color_abbreviation,
             pc.color_is_weight,
             pc.color_is_machine,
-            item_return_num
+            item_return_num,
+            oi.sales_orderId
         FROM
             tb_rst_sales_order_item
       LEFT JOIN tb_rst_product_info pi ON tb_rst_sales_order_item.item_product_id = pi.product_id
       LEFT JOIN tb_rst_product_color pc ON tb_rst_sales_order_item.item_color_id = pc.color_id
+      LEFT JOIN tb_rst_sales_order_info oi ON tb_rst_sales_order_item.item_order_id = oi.sales_id
       <where>
           <if test="itemOrderId !=null and itemOrderId !=''">
               AND item_order_id = #{itemOrderId}

+ 94 - 12
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java

@@ -4,10 +4,14 @@ package com.iamberry.rst.service.fm;
 import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.cm.CmRelation;
 import com.iamberry.rst.core.cm.ProcMethod;
+import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.fm.*;
+import com.iamberry.rst.core.order.OrderWarehouse;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.faces.cm.InventoryService;
+import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.service.cm.mapper.CustomerInfoMapper;
@@ -27,6 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -44,7 +49,9 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
     @Autowired
     private SmsService smsService;
     @Autowired
-    private SysMapper sysMapper;
+    private SalesOrderService salesOrderService;
+    @Autowired
+    private InventoryService inventoryService;
 
     @Override
     public ComplaintDetectInfo getDetectById(Integer detectId) {
@@ -164,13 +171,68 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
     @Override
     @Transactional
     public int updateDetectQc(ComplaintDetectInfo record) {
+        ComplaintDetectInfo comdi = complaintDetectInfoMapper.getDetectByIdFast(record.getDetectId());
+        if(comdi == null){
+            throw new RuntimeException("查询维修记录失败");
+        }
+        if(comdi.getMaintenanceResults() != null && comdi.getMaintenanceResults() == 1){
+            throw new RuntimeException("该机器已通过QC检测");
+        }
+
+        Integer flag = 0;
         //添加日志
         QcInfo qcInfo = new  QcInfo();
         qcInfo.setDetectId(record.getDetectId());
         qcInfo.setQcIsThrough(record.getMaintenanceResults());
         qcInfo.setQcInfoDesc(record.getQcDesc());
-        complaintDetectInfoMapper.addQcInfo(qcInfo);
-        return complaintDetectInfoMapper.updateDetectById(record);
+        flag = complaintDetectInfoMapper.addQcInfo(qcInfo);
+        if(flag < 1){
+            throw new RuntimeException("添加QC检测记录失败");
+        }
+        flag = complaintDetectInfoMapper.updateDetectById(record);
+        if(flag < 1){
+            throw new RuntimeException("修改QC检测状态");
+        }
+
+        if(record.getMaintenanceResults() == 1){ //maintenanceResults
+            //判断是否为维修
+            ComplaintDetectInfo cdi = complaintDetectInfoMapper.getDetectById(record.getDetectId());
+            if(cdi.getProcTypeId() == 3){    //3: 维修
+                //减去售后仓库不良品
+                InventoryInfo inventoryInfo1 = new InventoryInfo();
+                inventoryInfo1.setInventoryDefectiveProductNum(1);
+                inventoryInfo1.setInventoryProductColorId(cdi.getProductColorId());
+                inventoryInfo1.setWarehouseId(2);
+                inventoryInfo1.setInventoryRecentRecord("维修机器完成,从售后不良品仓转入售后良品仓(维修ID:"+record.getDetectNumber()+")");
+                inventoryService.minusInventory(inventoryInfo1);
+
+                //增加售后仓库的良品
+                InventoryInfo inventoryInfo2 = new InventoryInfo();
+                inventoryInfo2.setInventoryGoodProductNum(1);
+                inventoryInfo2.setInventoryProductColorId(cdi.getProductColorId());
+                inventoryInfo2.setWarehouseId(2);
+                inventoryInfo2.setInventoryRecentRecord("维修机器完成,从售后不良品仓转入售后良品仓(维修ID:"+record.getDetectNumber()+")");
+                inventoryService.addInventory(inventoryInfo2);
+
+            }else{  //退货等
+                //减去售后仓库不良品
+                InventoryInfo inventoryInfo1 = new InventoryInfo();
+                inventoryInfo1.setInventoryDefectiveProductNum(1);
+                inventoryInfo1.setInventoryProductColorId(cdi.getProductColorId());
+                inventoryInfo1.setWarehouseId(2);
+                inventoryInfo1.setInventoryRecentRecord("退货/换货,从售后不良品仓转入正常销售良品仓(维修ID:"+record.getDetectNumber()+")");
+                inventoryService.minusInventory(inventoryInfo1);
+
+                //增加销售仓库的良品
+                InventoryInfo inventoryInfo2 = new InventoryInfo();
+                inventoryInfo2.setInventoryGoodProductNum(1);
+                inventoryInfo2.setInventoryProductColorId(cdi.getProductColorId());
+                inventoryInfo2.setWarehouseId(1);
+                inventoryInfo2.setInventoryRecentRecord("退货/换货,从售后不良品仓转入正常销售良品仓(维修ID:"+record.getDetectNumber()+")");
+                inventoryService.addInventory(inventoryInfo2);
+            }
+        }
+        return flag;
     }
     @Transactional
     @Override
@@ -666,17 +728,37 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
     }
 
     @Override
+    @Transactional
     public Integer updatePrint(ComplaintDetectInfo detectInfo) {
-        /*ComplaintDetectInfo cdi = complaintDetectInfoMapper.getDetectByIdFast(detectInfo.getDetectId());
-        if(!Objects.equals(cdi.getDetectState(), detectInfo.getDetectState())){ //修改状态时判断状态,来调整库存
-            switch (detectInfo.getDetectState()){    //detectState
-                case 23:
-                    break;
-                default:
-                    break;
+        ComplaintDetectInfo cdi = complaintDetectInfoMapper.getDetectByIdFast(detectInfo.getDetectId());
+        if(cdi == null){
+            return 0;
+        }
+        Integer flag = complaintDetectInfoMapper.updateDetectById(detectInfo);
+        if(flag < 1){
+            return flag;
+        }
+
+        if(detectInfo.getDetectState() != null && detectInfo.getDetectState() != 0){
+            if(!Objects.equals(cdi.getDetectState(), detectInfo.getDetectState())){ //修改状态时判断状态,来调整库存
+                switch (detectInfo.getDetectState()){    //detectState
+                    case 23:    //报废完成-减少不良品数量
+                        InventoryInfo inventoryInfo2 = new InventoryInfo();
+                        inventoryInfo2.setInventoryDefectiveProductNum(1);
+                        inventoryInfo2.setInventoryProductColorId(cdi.getProductColorId());
+                        inventoryInfo2.setWarehouseId(2);
+                        inventoryInfo2.setInventoryRecentRecord("产品报废(维修ID:"+detectInfo.getDetectNumber()+")");
+                        flag = inventoryService.minusInventory(inventoryInfo2);
+                        if(flag < 1){
+                            throw new RuntimeException("签收失败,更新库存失败。");
+                        }
+                        break;
+                    default:
+                        break;
+                }
             }
-        }*/
-        return complaintDetectInfoMapper.updateDetectById(detectInfo);
+        }
+        return flag;
     }
 
     @Override

+ 68 - 31
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java

@@ -10,6 +10,7 @@ import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.faces.cm.InventoryService;
 import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.service.cm.mapper.*;
@@ -53,6 +54,9 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     @Autowired
     private SmsService smsService;
 
+    @Autowired
+    private InventoryService inventoryService;
+
     @Override
     @Transactional
     public Integer insert(ComplaintSignclosedInfo record,
@@ -97,9 +101,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
 
             }
         }
-        if(num < 1){
-            return msg;//新增签收失败
-        }else{
+        if(num > 0){
             if(orderItemString != null){
                 JSONArray jsonArray = JSONArray.fromObject(orderItemString);
                 List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
@@ -152,34 +154,6 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                 }
             }
 
-            if(msg == 1 || msg == 3){
-                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(signclosedId);
-                for (SignclosedProductInfo spi:signclosedProductInfoList) {
-                    InventoryInfo info = inventoryMapper.getByInventoryByBar(spi.getColorBar(),2);
-                    info.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum()+spi.getProductNum());
-                    info.setInventoryRecentRecord(sdf.format(new Date())+"不良品入库:"+ spi.getProductNum() + "件");
-                    flag =  inventoryMapper.updateById(info);
-                    if(flag < 1){
-                        throw new RuntimeException("更新库存失败,更新库存失败。");
-                    }
-
-                    //添加日志
-                    InventoryLog inventoryLog = new InventoryLog();
-                    inventoryLog.setLogProductName(info.getInventoryProductName());
-                    inventoryLog.setLogProductBar(info.getInventoryProductBar());
-                    inventoryLog.setLogRemainingNum(spi.getProductNum());
-                    inventoryLog.setLogType(3);
-                    inventoryLog.setLogOperationType(2);
-                    inventoryLog.setLogDesc(sdf.format(new Date())+"不良品入库:"+spi.getProductNum()+"件");
-                    inventoryLog.setLogQualityType(2);
-                    inventoryLog.setLogWarehouseId(2);
-                    flag = inventoryLogMapper.insert(inventoryLog);
-                    if(flag < 1){
-                        throw new RuntimeException("更新库存失败,增加库存记录失败。");
-                    }
-                }
-            }
             //添加签收图片
             if(componentsImgs != null) {
                 if (componentsImgs.length > 0) {
@@ -198,6 +172,24 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                 throw new RuntimeException("------------关联客诉出错------------");
             }
         }
+
+        // 代签收 - >  已签收  需要入库到售后仓库
+        if(msg==1 || msg == 3){
+            List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(signclosedId);
+            for (SignclosedProductInfo spi:signclosedProductInfoList) {
+                //增加售后仓库的良品
+                InventoryInfo inventoryInfo2 = new InventoryInfo();
+                inventoryInfo2.setInventoryDefectiveProductNum(spi.getProductNum());
+                inventoryInfo2.setInventoryProductBar(spi.getColorBar());
+                inventoryInfo2.setWarehouseId(2);
+                inventoryInfo2.setLogType(3);   //售后签收,都是次品
+                inventoryInfo2.setInventoryRecentRecord("售后签收产品(签收ID:"+spi.getSignclosedId()+")");
+                flag = inventoryService.addInventory(inventoryInfo2);
+                if(flag < 1){
+                    throw new RuntimeException("签收失败,更新库存失败。");
+                }
+            }
+        }
         return msg;
     }
 
@@ -611,6 +603,51 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
             sendbackInfo.setSendbackLogisticsNo(signclosedInfo.getSignclosedLogisticsNumber());
             sendbackInfo.setSendbackSignTime(signclosedInfo.getSignclosedDate());
             customerInfoMapper.updateSendbackInfo(sendbackInfo);
+
+            Integer flag = 0;
+            // 代签收 - >  已签收  需要入库到售后仓库
+            List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(record.getSignclosedId());
+            for (SignclosedProductInfo spi:signclosedProductInfoList) {
+                //增加售后仓库的良品
+                InventoryInfo inventoryInfo2 = new InventoryInfo();
+                inventoryInfo2.setInventoryDefectiveProductNum(spi.getProductNum());
+                inventoryInfo2.setInventoryProductBar(spi.getColorBar());
+                inventoryInfo2.setWarehouseId(2);
+                inventoryInfo2.setLogType(3);   //售后签收,都是次品
+                inventoryInfo2.setInventoryRecentRecord("售后签收产品(签收ID:"+spi.getSignclosedId()+")");
+                flag = inventoryService.addInventory(inventoryInfo2);
+                if(flag < 1){
+                    throw new RuntimeException("签收失败,更新库存失败。");
+                }
+            }
+
+            // 代签收 - >  已签收  需要入库到售后仓库
+//            Integer flag = 0;
+//            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(record.getSignclosedId());
+//            for (SignclosedProductInfo spi:signclosedProductInfoList) {
+//                InventoryInfo info = inventoryMapper.getByInventoryByBar(spi.getColorBar(),2);
+//                info.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum()+spi.getProductNum());
+//                info.setInventoryRecentRecord(sdf.format(new Date())+"不良品入库:"+ spi.getProductNum() + "件");
+//                flag =  inventoryMapper.updateById(info);
+//                if(flag < 1){
+//                    throw new RuntimeException("更新库存失败,更新库存失败。");
+//                }
+//                //添加日志
+//                InventoryLog inventoryLog = new InventoryLog();
+//                inventoryLog.setLogProductName(info.getInventoryProductName());
+//                inventoryLog.setLogProductBar(info.getInventoryProductBar());
+//                inventoryLog.setLogRemainingNum(spi.getProductNum());
+//                inventoryLog.setLogType(3);
+//                inventoryLog.setLogOperationType(1);
+//                inventoryLog.setLogDesc(sdf.format(new Date())+"不良品入库:"+spi.getProductNum()+"件");
+//                inventoryLog.setLogQualityType(2);
+//                inventoryLog.setLogWarehouseId(2);    //售后仓库
+//                flag = inventoryLogMapper.insert(inventoryLog);
+//                if(flag < 1){
+//                    throw new RuntimeException("更新库存失败,增加库存记录失败。");
+//                }
+//            }
         }
         //关联客诉/判断是否生成客诉信息
         try {

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintDetectInfoMapper.java

@@ -189,4 +189,9 @@ public interface ComplaintDetectInfoMapper {
     List<ComplaintDetectInfo> listCompleteCutNotice();
 
 
+    /**
+     * 根据订单id查询维修状态
+     * @return
+     */
+    List<ComplaintDetectInfo> listComplaintDetectByOrderId(ComplaintDetectInfo complaintDetectInfo);
 }

+ 8 - 24
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml

@@ -91,30 +91,7 @@
 
   <select id="getDetectByIdFast" resultType="ComplaintDetectInfo" parameterType="java.lang.Integer" >
     select
-      detect_id detectId,
-      detect_product_number detectProductNumber,
-      detect_state detectState,
-      cd.customer_id customerId,
-      detect_phenomenon detectPhenomenon,
-      detect_classification detectClassification,
-      detect_failure_cause detectFailureCause,
-      detect_results detectResults,
-      detect_point detectPoint,
-      detect_nalysis detectNalysis,
-      detect_content detectContent,
-      detect_desc detectDesc,
-      detect_date detectDate,
-      detect_create_time detectCreateTime,
-      detect_update_time detectUpdateTime,
-      detect_offer detectOffer,
-      detect_renovation detectRenovation,
-      detect_processing_results detectProcessingResults,
-      detect_production detectProduction,
-      detect_fuselage_barcode detectFuselageBarcode,
-      detect_film_type detectFilmType,
-      detect_float_type detectFloatType,
-      detect_version_number detectVersionNumber,
-      detect_is_refurbishing detectIsRefurbishing
+      cd.*
     from tb_rst_complaint_detect cd
     where detect_id = #{detectId,jdbcType=INTEGER}
   </select>
@@ -334,6 +311,13 @@
       ORDER BY cd.detect_create_time DESC
   </select>
 
+  <select id="listComplaintDetectByOrderId" resultType="ComplaintDetectInfo" parameterType="ComplaintDetectInfo" >
+    select
+      cd.*
+    from tb_rst_complaint_detect cd
+    WHERE cd.sales_orderId  = #{salesOrderId}
+  </select>
+
   <update id="updateDetectById" parameterType="ComplaintDetectInfo" >
     update tb_rst_complaint_detect
     <set >

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductColorMapper.java

@@ -23,6 +23,12 @@ public interface ProductColorMapper {
      */
     ProductColor  getProductColorById(Integer  id);
     /**
+     * 查询单条数据
+     * @param  bar
+     * @return  productColor
+     */
+    ProductColor  getProductColorByBar(String  bar);
+    /**
      * 增加数据
      * @param  productColor
      * @return Integer

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productColorMapper.xml

@@ -62,6 +62,12 @@
         from tb_rst_product_color t
         where t.color_id= #{colorId}
     </select>
+    <select id="getProductColorByBar" resultMap="BaseResultMap" parameterType="String" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_product_color t
+        where t.color_bar= #{colorBar}
+    </select>
     <insert id="save" parameterType="ProductColor" >
         insert into
         tb_rst_product_color

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

@@ -590,6 +590,10 @@ public class AwaitSendController {
             rj.setResultMsg("出货失败,权限不足,未分配所属仓库,无法查看,请联系管理员");
             return rj;
         }
+        if(postNum == null || "".equals(postNum)){
+            rj.setResultMsg("出货失败,请输入物流单号");
+            return rj;
+        }
 
         SalesOrder salesOrder = null;
         try{

+ 1 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl

@@ -483,8 +483,6 @@
 <script type="text/javascript" src="https://s.iamberry.com/js/LodopFuncs_v_5_0.js"></script>
 <script type="text/javascript" src="${path}/common/lib/jquery.PrintArea/jquery.PrintArea.js"></script>
 <script type="text/javascript">
-    var LODOP=getLodop();
-
     function to_detectState(state) {
         window.location.href= "${path}/admin/detect/select_detect_list?state="+state;
     }
@@ -765,7 +763,7 @@
         });
     }
     //修改状态
-    function  updateScrap(detectId,state) {
+    function   updateScrap(detectId,state) {
             $.ajax({
                 cache: true,
                 type: "POST",

+ 3 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/inventoryLog_list.ftl

@@ -55,6 +55,9 @@
 
     <div class="text-c">
         <form name="form1" action="${path}/admin/inventory/select_inventoryLog_list" method="post">
+            <input type="hidden" name="logProductBar" value="${inventoryInfo.inventoryProductBar!''}">
+            <input type="hidden" name="logWarehouseId" value="${inventoryInfo.warehouseId!''}">
+
         <#--<input class="my-input" style="width: 70px;" type="text" name="signclosedCustomerId" value="${signclosedCustomerId!}" placeholder="客诉编号"/>
         <input class="my-input" style="width: 70px;" type="text" name="signclosedSendName" value="${signclosedSendName!}" placeholder="寄件人姓名"/>
         <input class="my-input" style="width: 70px;" type="text" name="signclosedSendTel" value="${signclosedSendTel!}" placeholder="寄件人电话号码"/>
@@ -81,7 +84,6 @@
             </#list>
         </#if>
         </select>-->
-            <input type="hidden" value="${logProductBar!''}" name="logProductBar">
         <button style="cursor:pointer;" type="submit" class="my-btn-search">搜索</button>
         </form>
     </div>