Parcourir la source

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

# Conflicts:
#	watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
liujiankang il y a 5 ans
Parent
commit
9ba1b6c4a7
26 fichiers modifiés avec 854 ajouts et 343 suppressions
  1. 19 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/fm/InventoryInfo.java
  2. 47 46
      watero-rst-core/src/main/java/com.iamberry.rst.core/fm/WarehouseInfo.java
  3. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/sys/Admin.java
  4. 1 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/InventoryService.java
  5. 14 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  6. 43 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderWarehouseService.java
  7. 2 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/InventoryServiceImpl.java
  8. 53 25
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  9. 1 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  10. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/InventoryMapper.java
  11. 9 15
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/inventoryMapper.xml
  12. 65 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderWarehouseServiceImpl.java
  13. 43 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/OrderWarehouseMapper.java
  14. 78 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/orderWarehouseMapper.xml
  15. 93 7
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  16. 32 15
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  17. 24 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/InventoryController.java
  18. 5 2
      watero-rst-web/src/main/resources/watero-rst-orm.xml
  19. 17 5
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/inventory_list.ftl
  20. 4 4
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/update_inventory.ftl
  21. 33 20
      watero-rst-web/src/main/webapp/WEB-INF/views/order/bacth/order_batch_list.ftl
  22. 143 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/choose_warehouse.ftl
  23. 51 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/error.ftl
  24. 32 107
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
  25. 33 91
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_sdorder_list.ftl
  26. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/order/statistics/sell_order_statistics.ftl

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

@@ -31,6 +31,9 @@ public class InventoryInfo implements Serializable{
     private Integer operationNum;//操作数量
     private Integer productTypeId;//产品类型id
 
+    private Integer warehouseId;//仓库ID
+    private String warehouseName;//仓库名称
+
     public Integer getInventoryId() {
         return inventoryId;
     }
@@ -198,4 +201,20 @@ public class InventoryInfo implements Serializable{
     public void setProductTypeId(Integer productTypeId) {
         this.productTypeId = productTypeId;
     }
+
+    public Integer getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(Integer warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getWarehouseName() {
+        return warehouseName;
+    }
+
+    public void setWarehouseName(String warehouseName) {
+        this.warehouseName = warehouseName;
+    }
 }

+ 47 - 46
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/WarehouseInfo.java

@@ -7,51 +7,52 @@ import java.util.Date;
  * 仓库表
  * Created by Administrator on 2018/7/11.
  */
+@Deprecated
 public class WarehouseInfo implements Serializable {
-    private static final long serialVersionUID = 8272776376340335251L;
-    private Integer warehouseId;
-    private Integer factoryId;//关联工厂id
-    private String warehouseName;//仓库名称
-    private String warehouseDesc;//仓库简介
-    private Date warehouseCreateDate;//创建时间
-
-    public Integer getWarehouseId() {
-        return warehouseId;
-    }
-
-    public void setWarehouseId(Integer warehouseId) {
-        this.warehouseId = warehouseId;
-    }
-
-    public Integer getFactoryId() {
-        return factoryId;
-    }
-
-    public void setFactoryId(Integer factoryId) {
-        this.factoryId = factoryId;
-    }
-
-    public String getWarehouseName() {
-        return warehouseName;
-    }
-
-    public void setWarehouseName(String warehouseName) {
-        this.warehouseName = warehouseName;
-    }
-
-    public String getWarehouseDesc() {
-        return warehouseDesc;
-    }
-
-    public void setWarehouseDesc(String warehouseDesc) {
-        this.warehouseDesc = warehouseDesc;
-    }
-
-    public Date getWarehouseCreateDate() {
-        return warehouseCreateDate;
-    }
-
-    public void setWarehouseCreateDate(Date warehouseCreateDate) {
-        this.warehouseCreateDate = warehouseCreateDate;
-    }
+//    private static final long serialVersionUID = 8272776376340335251L;
+//    private Integer warehouseId;
+//    private Integer factoryId;//关联工厂id
+//    private String warehouseName;//仓库名称
+//    private String warehouseDesc;//仓库简介
+//    private Date warehouseCreateDate;//创建时间
+//
+//    public Integer getWarehouseId() {
+//        return warehouseId;
+//    }
+//
+//    public void setWarehouseId(Integer warehouseId) {
+//        this.warehouseId = warehouseId;
+//    }
+//
+//    public Integer getFactoryId() {
+//        return factoryId;
+//    }
+//
+//    public void setFactoryId(Integer factoryId) {
+//        this.factoryId = factoryId;
+//    }
+//
+//    public String getWarehouseName() {
+//        return warehouseName;
+//    }
+//
+//    public void setWarehouseName(String warehouseName) {
+//        this.warehouseName = warehouseName;
+//    }
+//
+//    public String getWarehouseDesc() {
+//        return warehouseDesc;
+//    }
+//
+//    public void setWarehouseDesc(String warehouseDesc) {
+//        this.warehouseDesc = warehouseDesc;
+//    }
+//
+//    public Date getWarehouseCreateDate() {
+//        return warehouseCreateDate;
+//    }
+//
+//    public void setWarehouseCreateDate(Date warehouseCreateDate) {
+//        this.warehouseCreateDate = warehouseCreateDate;
+//    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/sys/Admin.java

@@ -59,6 +59,8 @@ public class Admin implements Serializable {
 
     private String adminOpenId;           // 管理员openid
 
+    private Integer warehouseId;           // 所属仓库Id
+
     public Integer getAdminManager() {
         return adminManager;
     }
@@ -210,6 +212,14 @@ public class Admin implements Serializable {
         return adminAccount.hashCode();
     }
 
+    public Integer getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(Integer warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
     /**
      * 重载equals,只计算loginName;
      */

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

@@ -26,7 +26,7 @@ public interface InventoryService {
      * @param inventoryProductBar
      * @return
      */
-    InventoryInfo getByInventoryByBar(String inventoryProductBar);
+    InventoryInfo getByInventoryByBar(String inventoryProductBar,Integer salesWarehouseId);
     /**
      * 新增
      */

+ 14 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -311,6 +311,20 @@ public interface SalesOrderService {
     Integer updateDeliver(SalesOrder salesOrder);
 
     /**
+     * 减少库存
+     * @param salesId
+     * @return
+     */
+    boolean updateInventory(Integer salesId,Integer salesWarehouseId);
+
+    /**
+     * 标记未出库时返还库存
+     * @param salesId
+     * @return
+     */
+    boolean returnInventory(Integer salesId,Integer salesWarehouseId);
+
+    /**
      * 获取出库数量
      * @param salesOrder
      * @return

+ 43 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderWarehouseService.java

@@ -0,0 +1,43 @@
+package com.iamberry.rst.faces.order;
+
+import com.iamberry.rst.core.order.OrderWarehouse;
+
+import java.util.List;
+
+/**
+ *  仓库接口
+ * @author xm
+ * @Date 2019-06-11
+ */
+public interface OrderWarehouseService {
+    /**
+     * 获取集合
+     * @param  orderWarehouse
+     * @return List
+     */
+    List<OrderWarehouse> getOrderWarehouseList(OrderWarehouse  orderWarehouse);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  orderWarehouse
+     */
+    OrderWarehouse  getOrderWarehouseById(Integer  id);
+    /**
+     * 增加数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    Integer  save(OrderWarehouse  orderWarehouse);
+    /**
+     * 修改数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    Integer  update(OrderWarehouse  orderWarehouse);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

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

@@ -40,8 +40,8 @@ public class InventoryServiceImpl implements InventoryService {
     }
 
     @Override
-    public InventoryInfo getByInventoryByBar(String inventoryProductBar) {
-        return inventoryMapper.getByInventoryByBar(inventoryProductBar);
+    public InventoryInfo getByInventoryByBar(String inventoryProductBar,Integer salesWarehouseId) {
+        return inventoryMapper.getByInventoryByBar(inventoryProductBar,salesWarehouseId);
     }
 
     @Override

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

@@ -109,8 +109,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         // 作废订单时需要返还库存
         if(salesOrder.getSalesStatus() != null && salesOrder.getSalesStatus() == 3){
             // 如果已出库则返还库存
-            if(salesOrderMapper.getSalesOrderById(salesOrder.getSalesId()).getSalesDeliver() == 2){
-                returnInventory(salesOrder.getSalesId());
+            SalesOrder so = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());
+            if(so.getSalesDeliver() == 2){
+                returnInventory(salesOrder.getSalesId(),so.getSalesWarehouseId());
             }
         }
         return 1;
@@ -918,8 +919,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     public Integer delSalesOrder(Integer id) {
         //查询出库状态判断是否需要返还库存
-        if(salesOrderMapper.getSalesOrderById(id).getSalesDeliver() == 2){
-            returnInventory(id);
+        SalesOrder so = salesOrderMapper.getSalesOrderById(id);
+        if(so.getSalesDeliver() == 2){
+            returnInventory(id,so.getSalesWarehouseId());
         }
         // 检查客诉是否使用订单,如果有使用订单,无法删除
         salesOrderMapper.delOrderItem(id);
@@ -1077,31 +1079,41 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     @Override
     public Integer updateDeliver(SalesOrder salesOrder) {
-            if(salesOrder.getSalesDeliver() == 2){//标记出库,修改库存
-                if(!updateInventory(salesOrder.getSalesId())){
-                    return 0;
-                }
+        if(salesOrder.getSalesDeliver() == 2){//标记出库,修改库存
+            if(!salesOrderService.updateInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
+                return 0;
             }
+        }
         if(salesOrder.getSalesDeliver() == 1){//标记未出库,修改库存
-            if(!returnInventory(salesOrder.getSalesId())){
+            if(!salesOrderService.returnInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
                 return 0;
             }
         }
-        return salesOrderMapper.updateDeliver(salesOrder);
+        Integer flag = salesOrderMapper.updateDeliver(salesOrder);
+        if(flag < 1){
+            throw new RuntimeException("出库失败,订单出库失败。");
+        }
+        return flag;
     }
+
     //减少库存
-    public boolean updateInventory(Integer salesId){
+    @Transactional
+    @Override
+    public boolean updateInventory(Integer salesId,Integer salesWarehouseId){
         SalesOrderItem salesOrderItem = new SalesOrderItem();
         salesOrderItem.setItemOrderId(salesId);
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for(SalesOrderItem item : listOrderitem){
-            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar());
+            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),salesWarehouseId);
             if(info != null){
                 if(info.getInventoryGoodProductNum() >= item.getItemNum()){
                     info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - item.getItemNum());
                     info.setInventoryRecentRecord(sdf.format(new Date())+"出库:"+item.getItemNum()+"件");
-                    inventoryMapper.updateById(info);
+                    Integer flag =  inventoryMapper.updateById(info);
+                    if(flag < 1){
+                        throw new RuntimeException("【出库】更新库存失败,库存修改失败。");
+                    }
                     //添加日志
                     InventoryLog inventoryLog = new InventoryLog();
                     inventoryLog.setLogProductName(info.getInventoryProductName());
@@ -1111,28 +1123,37 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     inventoryLog.setLogOperationType(2);
                     inventoryLog.setLogDesc(sdf.format(new Date())+"待发货标记出库:"+item.getItemNum()+"件");
                     inventoryLog.setLogQualityType(1);
-                    inventoryLog.setLogWarehouseId(1);
-                    inventoryLogMapper.insert(inventoryLog);
+                    inventoryLog.setLogWarehouseId(salesWarehouseId);
+                    flag = inventoryLogMapper.insert(inventoryLog);
+                    if(flag < 1){
+                        throw new RuntimeException("更新库存失败,增加库存记录失败。");
+                    }
                 }else{
-                    return false;
+                    throw new RuntimeException("更新库存失败,该产品库存不足。");
                 }
+            }else{
+                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认该仓库是否有该产品库存信息。");
             }
-
         }
         return true;
     }
     //标记未出库时返还库存
-    public boolean returnInventory(Integer salesId){
+    @Transactional
+    @Override
+    public boolean returnInventory(Integer salesId,Integer salesWarehouseId){
         SalesOrderItem salesOrderItem = new SalesOrderItem();
         salesOrderItem.setItemOrderId(salesId);
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for(SalesOrderItem item : listOrderitem){
-            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar());
+            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),salesWarehouseId);
             if(info != null){
                 info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + item.getItemNum());
                 info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存:"+item.getItemNum()+"件");
-                inventoryMapper.updateById(info);
+                Integer flag = inventoryMapper.updateById(info);
+                if(flag < 1){
+                    throw new RuntimeException("【返还库存】更新库存失败,库存修改失败。");
+                }
                 //添加日志
                 InventoryLog inventoryLog = new InventoryLog();
                 inventoryLog.setLogProductName(info.getInventoryProductName());
@@ -1142,8 +1163,13 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 inventoryLog.setLogOperationType(1);
                 inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存:"+item.getItemNum()+"件");
                 inventoryLog.setLogQualityType(1);
-                inventoryLog.setLogWarehouseId(1);
-                inventoryLogMapper.insert(inventoryLog);
+                inventoryLog.setLogWarehouseId(salesWarehouseId);
+                flag = inventoryLogMapper.insert(inventoryLog);
+                if(flag < 1){
+                    throw new RuntimeException("更新库存失败,增加库存记录失败。");
+                }
+            }else{
+                throw new RuntimeException("更新库存失败,未查询到库存信息,请确认该仓库是否有该产品库存信息。");
             }
 
         }
@@ -1201,10 +1227,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             orderCorrectItem.setOldNum(orderItem.getItemNum());
             if(orderItem.getItemNum().intValue() != salesOrderItem.getItemNum().intValue()){
                 //查询订单判断是否已出库
-                if(salesOrderMapper.getSalesOrderById(orderCorrectInfo.getItemOrderId()).getSalesDeliver() == 2){
+                SalesOrder so = salesOrderMapper.getSalesOrderById(orderCorrectInfo.getItemOrderId());
+                if(so.getSalesDeliver() == 2){
                     //返还库存
                     SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    InventoryInfo info = inventoryMapper.getByInventoryByBar(orderItem.getItemColorBar());
+                    InventoryInfo info = inventoryMapper.getByInventoryByBar(orderItem.getItemColorBar(),so.getSalesWarehouseId());
                     //添加日志
                     InventoryLog inventoryLog = new InventoryLog();
                     inventoryLog.setLogProductName(info.getInventoryProductName());
@@ -1252,7 +1279,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for(SalesOrderItem item : listOrderitem){
-            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar());
+            SalesOrder so = salesOrderMapper.getSalesOrderById(item.getItemOrderId());
+            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),so.getSalesWarehouseId());
             if(info != null){
                 info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + item.getItemNum());
                 info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废订单返还库存:"+item.getItemNum()+"件");

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

@@ -1321,6 +1321,7 @@
              sales_shipping_status,
              sales_status,
              sales_post_num,
+             sales_warehouse_id,
              ifnull(sales_deliver,0) AS  sales_deliver
         from tb_rst_sales_order_info t
         where sales_post_num = #{postNum}

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/InventoryMapper.java

@@ -19,7 +19,7 @@ public interface InventoryMapper {
      * @param inventoryProductBar
      * @return
      */
-    InventoryInfo getByInventoryByBar(String inventoryProductBar);
+    InventoryInfo getByInventoryByBar(String inventoryProductBar,Integer warehouseId);
     /**
      * 获取库存信息列表
      */

+ 9 - 15
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/inventoryMapper.xml

@@ -88,29 +88,21 @@
     pi.product_number,
     pi.product_abbreviation,
     pc.color_name,
-    imn.inventoryMomentumNum
+    ow.warehouse_name
     from
     tb_rst_fm_inventory fi
     LEFT jOIN tb_rst_product_color pc on fi.inventory_product_color_id  = pc.color_id
     LEFT jOIN tb_rst_product_info pi on pc.color_product_id  = pi.product_id
     LEFT jOIN tb_rst_product_type pt on pi.product_type  = pt.type_id
-    LEFT jOIN (SELECT
-    SUM(soi.item_num) as inventoryMomentumNum,
-    item_color_id as colorId
-    FROM
-    tb_rst_sales_order_info oi
-    LEFT JOIN tb_rst_sales_order_item soi on soi.item_order_id = oi.sales_id
+    LEFT jOIN tb_rst_order_warehouse ow on fi.warehouse_id  = ow.warehouse_id
 
-    WHERE
-    oi.sales_shipping_status IN (0,3,11)
-    AND  oi.sales_deliver = 1
-    AND  oi.sales_status IN (0,1,2)
-    GROUP BY soi.item_color_id
-    ) imn on imn.colorId  = pc.color_id
     <where>
       <if test="inventoryId != null and inventoryId != ''">
         fi.inventory_id = #{inventoryId}
       </if>
+      <if test="warehouseId != null">
+        fi.warehouse_id = #{warehouseId}
+      </if>
       <if test="inventoryProductName != null and inventoryProductName != ''">
         and fi.inventory_product_name like CONCAT('%',#{inventoryProductName},'%')
       </if>
@@ -168,9 +160,10 @@
     where inventory_id = #{inventoryId,jdbcType=INTEGER}
   </update>
 
-  <select id="getByInventoryByBar" resultMap="BaseResultMap" parameterType="java.lang.String" >
+  <select id="getByInventoryByBar" resultMap="BaseResultMap"  >
     select
     fi.inventory_id,
+    fi.warehouse_id,
     fi.inventory_product_name,
     fi.inventory_product_bar,
     fi.inventory_remaining_num,
@@ -202,7 +195,8 @@
     oi.sales_shipping_status IN (0,3,11)
     GROUP BY soi.item_color_id
     ) imn on imn.colorId  = pc.color_id
-    where fi.inventory_product_bar = #{inventoryProductBar}
+    where fi.inventory_product_bar = #{0}
+    AND  warehouse_id = #{1}
   </select>
 
   <insert id="insert" parameterType="InventoryInfo">

+ 65 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderWarehouseServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.rst.service.order;
+
+import com.iamberry.rst.core.order.OrderWarehouse;
+import com.iamberry.rst.faces.order.OrderWarehouseService;
+import com.iamberry.rst.service.order.mapper.OrderWarehouseMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author xm
+ * @Date 2019-06-11
+ */
+@Service
+public class OrderWarehouseServiceImpl  implements OrderWarehouseService {
+    @Autowired
+    private OrderWarehouseMapper orderWarehouseMapper;
+    /**
+     * 获取集合
+     * @param  orderWarehouse
+     * @return List
+     */
+    @Override
+    public List<OrderWarehouse> getOrderWarehouseList(OrderWarehouse  orderWarehouse){
+        return  orderWarehouseMapper.getOrderWarehouseList(orderWarehouse);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  orderWarehouse
+     */
+    @Override
+    public  OrderWarehouse  getOrderWarehouseById(Integer  id){
+        return  orderWarehouseMapper.getOrderWarehouseById(id);
+    }
+    /**
+     * 增加数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(OrderWarehouse  orderWarehouse){
+        return  orderWarehouseMapper.save(orderWarehouse);
+    }
+    /**
+     * 修改数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(OrderWarehouse  orderWarehouse){
+        return  orderWarehouseMapper.update(orderWarehouse);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  orderWarehouseMapper.delete(id);
+    }
+}

+ 43 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/OrderWarehouseMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.rst.service.order.mapper;
+
+import com.iamberry.rst.core.order.OrderWarehouse;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author xm
+ * @Date 2019-06-11
+ */
+public interface OrderWarehouseMapper {
+    /**
+     * 获取集合
+     * @param  orderWarehouse
+     * @return List
+     */
+    List<OrderWarehouse> getOrderWarehouseList(OrderWarehouse  orderWarehouse);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  orderWarehouse
+     */
+    OrderWarehouse  getOrderWarehouseById(Integer  id);
+    /**
+     * 增加数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    Integer  save(OrderWarehouse  orderWarehouse);
+    /**
+     * 修改数据
+     * @param  orderWarehouse
+     * @return Integer
+     */
+    Integer  update(OrderWarehouse  orderWarehouse);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 78 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/orderWarehouseMapper.xml

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.rst.service.order.mapper.OrderWarehouseMapper">
+    <resultMap  id="BaseResultMap" type="OrderWarehouse" >
+        <result    column="warehouse_id"    property="warehouseId" />
+        <result    column="warehouse_name"    property="warehouseName" />
+        <result    column="warehouse_state"    property="warehouseState" />
+        <result    column="warehouse_introduction"    property="warehouseIntroduction" />
+        <result    column="warehouse_create_time"    property="warehouseCreateTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.warehouse_id,
+        t.warehouse_name,
+        t.warehouse_state,
+        t.warehouse_introduction,
+        t.warehouse_create_time
+    </sql>
+    <select id="getOrderWarehouseList" resultMap="BaseResultMap" parameterType="OrderWarehouse" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_order_warehouse t
+        <where>
+            <if test="warehouseId != null ">
+                AND t.warehouse_id = #{warehouseId}
+            </if >
+            <if test="warehouseName != null and warehouseName != ''">
+                AND t.warehouse_name  like  CONCAT ('%',#{warehouseName},'%')
+            </if >
+            <if test="warehouseState != null ">
+                AND t.warehouse_state = #{warehouseState}
+            </if >
+        </where>
+    </select>
+    <select id="getOrderWarehouseById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_order_warehouse t
+        where t.warehouse_id= #{warehouseId}
+    </select>
+    <insert id="save" parameterType="OrderWarehouse" >
+        insert into
+        tb_rst_order_warehouse
+        (
+        warehouse_id,
+        warehouse_name,
+        warehouse_state,
+        warehouse_introduction
+        )
+        values
+        (
+        #{warehouseId},
+        #{warehouseName},
+        #{warehouseState},
+        #{warehouseIntroduction}
+        )
+    </insert>
+    <update id="update" parameterType="OrderWarehouse" >
+        update
+        tb_rst_order_warehouse
+        <set >
+            <if test="warehouseName != null and warehouseName != ''">
+                warehouse_name = #{warehouseName},
+            </if >
+            <if test="warehouseState != null ">
+                warehouse_state = #{warehouseState},
+            </if >
+            <if test="warehouseIntroduction != null and warehouseIntroduction != ''">
+                warehouse_introduction = #{warehouseIntroduction},
+            </if >
+        </set >
+        where warehouse_id= #{warehouseId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete FROM
+        tb_rst_order_warehouse
+        where warehouse_id=#{warehouseId}
+    </delete>
+</mapper>

+ 93 - 7
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -15,6 +15,7 @@ import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.order.OrderBatchService;
+import com.iamberry.rst.faces.order.OrderWarehouseService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.util.SmsConfig;
@@ -76,8 +77,6 @@ public class AdminSalesOrderController {
     private KuaiDi100 kuaidi100;
     @Autowired
     private SmsService smsService;
-    @Autowired
-    private ComplaintDetectInfoService complaintDetectInfoService;
     /**
      * 分页查询订单列表信息
      * @param request
@@ -209,12 +208,7 @@ public class AdminSalesOrderController {
         order.setSalesOrderItemList(itemList);
         //查询更正信息
         List<OrderCorrectInfo> listOrderCorrectInfo = salesOrderService.listOrderCorrectInfo(order.getSalesId());
-        //查询售后维修信息
-        ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
-        detectInfo.setDetectSalesId(order.getSalesId());
-        List<ComplaintDetectInfo> listDetectInfo = complaintDetectInfoService.listComplaintDetect(detectInfo);
         mv.addObject("listOrderCorrectInfo",listOrderCorrectInfo);
-        mv.addObject("listDetectInfo",listDetectInfo);
         mv.addObject("order",order);
         return mv;
     }
@@ -1043,6 +1037,98 @@ public class AdminSalesOrderController {
     }
 
     /**
+     * to 通知配货
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("/to_choose_warehouse")
+    @RequiresPermissions("salesOrder:distribution:salesOrder")
+    public ModelAndView toChooseWarehouse(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("order/salesOrder/choose_warehouse");
+        String type = request.getParameter("type");
+        String ids = request.getParameter("ids");
+        OrderWarehouse orderWarehouse = new OrderWarehouse();
+        orderWarehouse.setWarehouseState(1);
+        List<OrderWarehouse> orderWarehouseList = orderWarehouseService.getOrderWarehouseList(orderWarehouse);
+        mv.addObject("type",type);
+        mv.addObject("ids", ids);
+        mv.addObject("orderWarehouseList", orderWarehouseList);
+        return mv;
+    }
+
+
+    /**
+     * 通知配货
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/choose_warehouse")
+    @RequiresPermissions("salesOrder:distribution:salesOrder")
+    public ResponseJson chooseWarehouse(HttpServletRequest request,String ids,Integer warehouseId,String type) throws Exception {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        Integer flag = 0;
+        StringBuilder errorId = new StringBuilder();
+        if(warehouseId == null || ids == null || type == null || "".equals(type)){
+            return rj;
+        }
+       switch (type){
+           case "salesId":
+               String salesIdStrs[] = ids.split(",");
+               for (String salesIdStr:salesIdStrs) {
+                   Integer salesId = Integer.valueOf(salesIdStr);
+                   SalesOrder salesOrder = salesOrderService.getSalesOrderById(salesId);
+                   if(salesOrder == null || salesOrder.getSalesPostFirm() == null || salesOrder.getSalesPostFirm().isEmpty()){
+                       //检查订单是否已经有了配送方式,如果没有不允许通知配货
+                       errorId.append(salesOrder.getSalesDealCode()).append(",");
+                       continue;
+                   }
+                   SalesOrder newOrder = new SalesOrder();
+                   newOrder.setSalesId(salesId);
+                   newOrder.setSalesOrderId(salesOrder.getSalesDealCode());
+                   newOrder.setSalesShippingStatus(11);
+                   newOrder.setSalesWarehouseId(warehouseId);
+                   flag = salesOrderService.noticeDistribution(newOrder);
+                   if(flag < 1){
+                       errorId.append(salesOrder.getSalesDealCode()).append(",");
+                   }
+               }
+               break;
+           case "batchId":
+               SalesOrder salesOrder = new SalesOrder();
+               salesOrder.setSalesBatchId(ids);
+               List<SalesOrder> salesOrderList = salesOrderService.listSalesOrder(salesOrder);
+               for (SalesOrder so:salesOrderList) {
+                   if(so.getSalesStatus() == 1 && so.getSalesShippingStatus() == 0){  //salesStatus
+                       SalesOrder newOrder = new SalesOrder();
+                       newOrder.setSalesId(so.getSalesId());
+                       newOrder.setSalesOrderId(so.getSalesDealCode());
+                       newOrder.setSalesShippingStatus(11);
+                       newOrder.setSalesWarehouseId(warehouseId);
+                       flag = salesOrderService.noticeDistribution(newOrder);
+                       if(flag < 1){
+                           errorId.append(so.getSalesDealCode()).append(",");
+                       }
+                   }else{
+                       errorId.append(so.getSalesDealCode()).append(",");
+                   }
+               }
+               break;
+           default:
+               break;
+       }
+        if(errorId.length() > 0){
+            rj.setResultMsg(errorId.toString());
+            logger.info("通知配货失败订单id:"+errorId);
+            return rj;
+        }
+        rj = new ResponseJson(200, "修改成功", 200);
+        return rj;
+    }
+
+    /**
      * 通知配货
      * @param request
      * @return

+ 32 - 15
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -95,6 +95,7 @@ public class AwaitSendController {
         //查询当前登录人属于哪个仓库
         OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(admin.getAdminId());
         if(orderWarehouse == null){
+            mv = new ModelAndView("order/salesOrder/error");
             return mv;
         }
         salesOrder.setSalesWarehouseId(orderWarehouse.getWarehouseId());
@@ -545,6 +546,14 @@ public class AwaitSendController {
     @RequiresPermissions("salesOrder:deliver:deliverList")
     @RequestMapping(value = "/deliverList")
     public ModelAndView deliverList(HttpServletRequest request) {
+        // 分页获取订单信息(仓库只能查询已确认的订单)
+        Admin admin = AdminUtils.getLoginAdmin();
+        //查询当前登录人属于哪个仓库
+        OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(admin.getAdminId());
+        if(orderWarehouse == null){
+            ModelAndView mv = new ModelAndView("order/salesOrder/error");
+            return mv;
+        }
         ModelAndView mv = new ModelAndView("order/salesOrder/deliver_list");
         return mv;
     }
@@ -572,15 +581,26 @@ public class AwaitSendController {
     @RequestMapping("/deliver")
     public ResponseJson deliver(HttpServletRequest request, String postNum) {
         ResponseJson rj = ResponseJson.getFAILURE();
+
+        // 分页获取订单信息(仓库只能查询已确认的订单)
+        Admin admin = AdminUtils.getLoginAdmin();
+        //查询当前登录人属于哪个仓库
+        OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(admin.getAdminId());
+        if(orderWarehouse == null){
+            rj.setResultMsg("出货失败,权限不足,未分配所属仓库,无法查看,请联系管理员");
+            return rj;
+        }
+
         SalesOrder salesOrder = null;
         try{
             salesOrder = salesOrderService.getSalesOrderByPostNum(postNum);
         }catch (Exception e){
-            Integer flag = salesOrderService.updateDeliver(salesOrder);
-            if(flag < 1){
-                rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态是否为已发货。");
-                return rj;
-            }
+            e.printStackTrace();
+//            Integer flag = salesOrderService.updateDeliver(salesOrder);   //没验证,不允许直接直接执行修改库存和出库操作
+//            if(flag < 1){
+//                rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态是否为已发货。");
+//                return rj;
+//            }
             /*//修改库存信息
             if(updateInventory(salesOrder.getSalesId())){
                 rj = ResponseJson.getSUCCESS();
@@ -605,16 +625,12 @@ public class AwaitSendController {
             return rj;
         }
         salesOrder.setSalesDeliver(2);
-        /*if(updateInventory(salesOrder.getSalesId())){*/
-            Integer flag = salesOrderService.updateDeliver(salesOrder);
-            if(flag < 1){
-                rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态,产品库存是否充足。");
-                return rj;
-            }
-        /*}else{
-            rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态是否为已发货,产品库存是否充足。");
+        Integer flag = salesOrderService.updateDeliver(salesOrder);
+        if(flag < 1){
+            rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态,产品库存是否充足。");
             return rj;
-        }*/
+        }
+
         //查询出库的产品项
         List<SalesOrderItem> itemList = salesOrderService.selectSalesOrderItemList(salesOrder.getSalesId());
         rj = ResponseJson.getSUCCESS();
@@ -629,7 +645,8 @@ public class AwaitSendController {
         List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for(SalesOrderItem item : listOrderitem){
-            InventoryInfo info = inventoryService.getByInventoryByBar(item.getItemColorBar());
+            SalesOrder so = salesOrderService.getSalesOrderById(item.getItemOrderId());
+            InventoryInfo info = inventoryService.getByInventoryByBar(item.getItemColorBar(),so.getSalesWarehouseId());
             if(info != null){
                 if(info.getInventoryGoodProductNum() >= item.getItemNum()){
                     info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - item.getItemNum());

+ 24 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/InventoryController.java

@@ -3,15 +3,20 @@ package com.iamberry.rst.controllers.pts;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
 import com.iamberry.rst.core.fm.WarehouseInfo;
+import com.iamberry.rst.core.order.OrderWarehouse;
 import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.order.ProductType;
 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.InventoryLogService;
 import com.iamberry.rst.faces.cm.InventoryService;
+import com.iamberry.rst.faces.cm.SalesOrderService;
+import com.iamberry.rst.faces.order.OrderWarehouseService;
 import com.iamberry.rst.faces.product.ProductColorService;
 import com.iamberry.rst.faces.product.ProductService;
+import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -40,6 +45,10 @@ public class InventoryController {
     private ProductService productService;
     @Autowired
     private ProductColorService productColorService;
+    @Autowired
+    private OrderWarehouseService orderWarehouseService;
+    @Autowired
+    private SalesOrderService salesOrderService;
 
     /**
      * 查询库存列表信息
@@ -59,12 +68,26 @@ public class InventoryController {
                                             @RequestParam(value = "pageSize", defaultValue = "10", required = false) int pageSize,
                                             InventoryInfo inventoryInfo
     ) throws Exception {
+        // 分页获取订单信息(仓库只能查询已确认的订单)
+        Admin admin = AdminUtils.getLoginAdmin();
+        //查询当前登录人属于哪个仓库
+        OrderWarehouse ow = salesOrderService.selectAdminWarehouse(admin.getAdminId());
+        if(ow == null){
+            ModelAndView mv = new ModelAndView("order/salesOrder/error");
+            return mv;
+        }
+
         ModelAndView mv = new ModelAndView("cm/inventory/inventory_list");
         StringBuilder url = new StringBuilder("/admin/inventory/select_inventory_list?pageSize=" + pageSize);
         // 封装请求数据
         PageRequest<InventoryInfo> pageRequest = new PageRequest<>(inventoryInfo, pageNO, pageSize, pageTotal == null);
         // 查询库存列表
         PagedResult<InventoryInfo> result = inventoryService.listByInventoryId(pageRequest);
+
+        OrderWarehouse orderWarehouse = new OrderWarehouse();
+        List<OrderWarehouse> orderWarehouseList = orderWarehouseService.getOrderWarehouseList(orderWarehouse);
+        mv.addObject("orderWarehouseList",orderWarehouseList);
+
         ProductColor color = new ProductColor();
         List<ProductColor> productColorList = productService.listProduceColor(color);
         mv.addObject("productColorList",productColorList);
@@ -92,7 +115,7 @@ public class InventoryController {
      * @return
      * @throws Exception
      */
-    @RequiresPermissions("inventoryLog:select:inventoryLog")
+    @RequiresPermissions("inventory:select:inventory")
     @RequestMapping("/select_inventoryLog_list")
     public ModelAndView selectInventoryLogList(HttpServletRequest request,
                                                @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO,

+ 5 - 2
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -39,6 +39,8 @@
 		<typeAlias type="com.iamberry.rst.core.order.PostOrderNum" alias="PostOrderNum"/>
 		<typeAlias type="com.iamberry.rst.core.order.OrderCorrectInfo" alias="OrderCorrectInfo"/>
 		<typeAlias type="com.iamberry.rst.core.order.OrderCorrectItem" alias="OrderCorrectItem"/>
+		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouse" alias="OrderWarehouse"/>
+		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouseAdmin" alias="OrderWarehouseAdmin"/>
 
 		<typeAlias type="com.iamberry.rst.core.sms.SmsMessage" alias="SmsMessage"/>
 		<typeAlias type="com.iamberry.rst.core.sms.OrderMessage" alias="OrderMessage"/>
@@ -195,8 +197,8 @@
 
 		<typeAlias type="com.iamberry.wechat.core.entity.PaperBean" alias="PaperBean"/>
 
-		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouse" alias="OrderWarehouse"/>
-		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouseAdmin" alias="OrderWarehouseAdmin"/>
+
+
 		<typeAlias type="com.iamberry.rst.core.cm.PostageInfo" alias="PostageInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.SendbackInfo" alias="SendbackInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.SendbackItem" alias="SendbackItem"/>
@@ -295,6 +297,7 @@
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderBatchMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/provincesLogisticsMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/order/mapper/orderWarehouseMapper.xml"/>
 
 		<mapper resource="com/iamberry/rst/service/approval/mapper/applyPickItemMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/approval/mapper/applyPickMapper.xml"/>

+ 17 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/inventory_list.ftl

@@ -55,6 +55,16 @@
             <select id="productColorId" name="productColorId" class="select" style="width: 120px;">
 
             </select>-->
+
+            <select class="my-select" name="warehouseId" style="height: 30px;width: 150px">
+                <option value ="">选择仓库</option>
+            <#if (orderWarehouseList?size > 0)>
+                <#list orderWarehouseList as orderWarehouse>
+                    <option value ="${orderWarehouse.warehouseId!}" <#if warehouseId??><#if warehouseId == orderWarehouse.warehouseId>selected="selected"</#if></#if>>${orderWarehouse.warehouseName!}</option>
+                </#list>
+            </#if>
+            </select>
+
             <select class="my-select" name="productTypeId" style="height: 30px;width: 150px">
                     <option value ="">选择产品类型</option>
                 <#if (productTypeList?size > 0)>
@@ -73,15 +83,16 @@
         <table class="table table-border table-bordered table-bg table-hover table-sort">
             <thead>
             <tr class="text-c">
+                <th width="100">仓库</th>
                 <th width="100">产品类型</th>
                 <th width="100">产品名称</th>
                 <#--<th width="100">产品型号</th>-->
-                <th width="100">产品简称</th>
+                <#--<th width="100">产品简称</th>-->
                 <th width="100">产品颜色</th>
                 <th width="100">产品69码</th>
-                <th width="100">待发数量</th>
+                <#--<th width="100">待发数量</th>-->
                 <th width="100">良品数量</th>
-                <th width="100">维修机数量</th>
+                <th width="100">不良品数量</th>
                 <th width="100">最近记录</th>
                 <th width="100">操作</th>
             </tr>
@@ -90,13 +101,14 @@
             <#if (page.dataList?size > 0)>
                 <#list page.dataList as info>
                 <tr>
+                    <td class="text-c" width="100">${info.warehouseName!}</td>
                     <td class="text-c" width="100">${info.productTypeName!}</td>
                     <td class="text-c" width="100">${info.inventoryProductName!}</td>
                     <#--<td class="text-c" width="100">${info.productNumber!}</td>-->
-                    <td class="text-c" width="100">${info.productAbbreviation!}</td>
+                    <#--<td class="text-c" width="100">${info.productAbbreviation!}</td>-->
                     <td class="text-c" width="100">${info.productColorName!}</td>
                     <td class="text-c" width="100">${info.inventoryProductBar!}</td>
-                    <td class="text-c" width="100">${info.inventoryMomentumNum!}</td>
+                    <#--<td class="text-c" width="100">${info.inventoryMomentumNum!}</td>-->
                     <td class="text-c" width="100">${info.inventoryGoodProductNum!}</td>
                     <td class="text-c" width="100">${info.inventoryDefectiveProductNum!}</td>
                     <td class="text-c" width="100">${info.inventoryRecentRecord!}</td>

+ 4 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/update_inventory.ftl

@@ -34,12 +34,12 @@
             <div class="formControls col-12 col-sm-12">
                 <strong>寄回状态</strong>
                 <div class="radio-box">
-                    <input type="radio" id="tel-b1" name="operationType" value="1" <#if operationType == 1>checked</#if>>
-                    <label for="tel-b1">出库</label>
+                    <input type="radio" id="tel-ot-b1" name="operationType" value="1" <#if operationType == 1>checked</#if>>
+                    <label for="tel-ot-b1">出库</label>
                 </div>
                 <div class="radio-box">
-                    <input type="radio" id="tel-b2" name="operationType" value="2" <#if operationType == 2>checked</#if>>
-                    <label for="tel-b2">入库</label>
+                    <input type="radio" id="tel-ot-b2" name="operationType" value="2" <#if operationType == 2>checked</#if>>
+                    <label for="tel-ot-b2">入库</label>
                 </div>
             </div>
         </div>

+ 33 - 20
watero-rst-web/src/main/webapp/WEB-INF/views/order/bacth/order_batch_list.ftl

@@ -112,7 +112,7 @@
 </div>
 
 <div style="display: none">
-    <div id="warehouse">
+   <#-- <div id="warehouse">
         <div class="row cl"  style="width: 500px;height: 200px;margin-left: 35px;">
             <div style="background-color: #7f9db9;margin-left: 10px;width: 200px;height: 150px;float:left;margin-left: 60px;">
                 <div class="radio-box" style="margin: 10px">
@@ -129,7 +129,7 @@
                 </div>
             </div>
         </div>
-    </div>
+    </div>-->
 </div>
 <tfoot>
 <#include "/base/page_util.ftl">
@@ -191,29 +191,31 @@
      * 选择仓库
      */
     function chooseWarehouse(id) {
-        layer.open({
-            type: 1
-            , title: "选择仓库" //不显示标题栏
-            , closeBtn: false
-            , area: ['600px', '300px']
-            , shade: 0.8
-            , id: 'LAY_layuipro' //设定一个id,防止重复弹出
-            , btn: ['确认', '取消']
-            , btnAlign: 'c'
-            , moveType: 1 //拖拽模式,0或者1
-            , content: $('#warehouse').html()
-            ,yes: function(index){
-                var warehouseId = $('input:radio[name="warehouseId"]:checked').val();
-                noticeOfDist_order(id,warehouseId)
-            }
-        })
+        layer_show("通知配货","${path}/admin/salesOrder/to_choose_warehouse?type=batchId&ids="+id,700,400);
+//        layer.open({
+//            type: 1
+//            , title: "选择仓库" //不显示标题栏
+//            , closeBtn: false
+//            , area: ['600px', '300px']
+//            , shade: 0.8
+//            , id: 'LAY_layuipro' //设定一个id,防止重复弹出
+//            , btn: ['确认', '取消']
+//            , btnAlign: 'c'
+//            , moveType: 1 //拖拽模式,0或者1
+//            , content: $('#warehouse').html()
+//            ,yes: function(index){
+//                var warehouseId = $('input:radio[name="warehouseId"]:checked').val();
+//                noticeOfDist_order(id,warehouseId)
+//            }
+//        })
     }
 
     /**
      * 通知配货
      */
     function noticeOfDist_order(batchId,warehouseId){
-        $.ajax('${path}/admin/order_batch/noticeOfDist_order?dates=' + new Date().getTime(), {
+        <#--layer_show("拆分订单","${path}/admin/salesOrder/to_choose_warehouse?type=batchId&id="+batchId,700,400);-->
+       /* $.ajax('${path}/admin/order_batch/noticeOfDist_order?dates=' + new Date().getTime(), {
             data: {
                 "batchId":batchId,
                 "warehouseId":warehouseId
@@ -235,7 +237,18 @@
             error: function(xhr, type, errorThrown) {
                 layer.msg("通知配货失败,请重试!", {icon: 5, time: 3000});
             }
-        });
+        });*/
+    }
+
+    /**
+     * 通知配货-返回信息
+     */
+    function chooseWarehouseBack(data) {
+        if(data.resultCode == 200 && data.returnCode == 200){
+            location.reload();
+        }else{
+            layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+res.resultMsg, function(indexy){});
+        }
     }
 
     /*分配快递方式*/

+ 143 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/choose_warehouse.ftl

@@ -0,0 +1,143 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+<#include "/base/add_base.ftl">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 45%;height: 6px;width: 6px;border-radius: 6px;background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 150px;}
+        .all_down{text-decoration: underline;color: #f00;}
+
+        .my-title{font-weight: 500;padding-left: 15px;position: relative;}
+        .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
+        .my-input{padding: 5px 10px;width: 80%;border: 1px solid rgba(0,0,0,.1);}
+        .input-box{margin: 18px 0;}
+        .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
+        .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
+        .my-btn-edit{padding: 8px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin:0 10px;}
+        .my-btn-reset{padding: 10px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-submit{padding: 10px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .add-list>li{margin: 10px 0;}
+        .cp-list{list-style-type: none;margin: 0;padding: 0;}
+        .cp-list>li{position: relative;    cursor: pointer;clear: both;padding: 15px 0;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-11.png) right center no-repeat;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        select{border: 1px solid rgba(0,0,0,.1);border-radius: 5px;padding:6px 35px 6px 5px;height: 32px;-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-1.png) right center no-repeat !important;background-size:auto 100% !important;margin-right: 10px;width: 85px;}
+
+    </style>
+    <title>通知配货 - 订单管理 - RST</title>
+</head>
+<body>
+
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl" style="width: 450px;margin: 0 auto;">
+
+        <#if orderWarehouseList?? &&  (orderWarehouseList?size > 0) >
+            <#list orderWarehouseList as warehouse>
+                    <div class="input-box" style="margin-bottom: 35px;"><span class="input-dic"></span>
+                        <label>
+                            <input type="radio" style="margin-top: 0px;float:left;display: block;" name="warehouseId" value="${warehouse.warehouseId!''}" <#if warehouse_index = 0>checked</#if>>
+                            <span style="width: 400px;float:left;display: block;font-weight: bold;">${warehouse.warehouseName!''}</span>
+                            <div style="padding-left: 40px;width: 400px;">注:${warehouse.warehouseIntroduction!''}</div>
+                        </label>
+                    </div>
+            </#list>
+        </#if>
+
+        <div class="row cl" style="padding-top: 30px;">
+            <div class="col-3 col-sm-2 col-offset-3" style="float:left;">
+                <button class="btn btn-block btn-primary " type="button" onclick="chooseWarehouseById()">确认</button>
+            </div>
+            <div class="col-3 " style="float:left;">
+                <button class="btn btn-primary-outline btn-block" type="button" onclick="chooseWarehouseCancel()" >取消</button>
+            </div>
+        </div>
+    </div>
+</article>
+
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+
+<script>
+    function chooseWarehouseById(){
+        var type = "${type!""}";
+        var ids = "${ids!""}";
+        var warehouseId =  $("input[name='warehouseId']").val();
+
+        if(!isEmpty(warehouseId) || !isEmpty(ids)){
+            layer.msg("通知配货数据有误!", {icon: 5, time: 3000});
+        }
+
+        if(isEmpty(warehouseId)){
+            var index = layer.load(1, {
+                shade: [0.5,'#fff'] //0.1透明度的白色背景
+            });
+
+            $.ajax({
+                type:'POST',
+                url: '${path}/admin/salesOrder/choose_warehouse',
+                data:{
+                    "type" : type,  //salesId 标识id为传入订单id(数组)  batchId标识id为批次ID
+                    "ids" : ids,
+                    "warehouseId" : warehouseId
+                },
+                dataType: 'json',
+                success:function(res) {
+                    layer.close(index);
+                    parent.chooseWarehouseBack(res);
+                    parent.layer.close(parent.layer.getFrameIndex(window.name));
+                    return false;
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    layer.msg("通知配货失败!", {icon: 5, time: 3000});
+                    layer.close(index);
+                }
+            });
+        }else{
+            layer.msg("未选择仓库!", {icon: 5, time: 3000});
+        }
+    }
+
+    /**
+     * 取消弹窗
+     */
+    function chooseWarehouseCancel() {
+        parent.layer.close(parent.layer.getFrameIndex(window.name));
+    }
+</script>
+
+
+
+</body>
+</html>

+ 51 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/error.ftl

@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+    <link rel="Bookmark" href="/favicon.ico" >
+    <link rel="Shortcut Icon" href="/favicon.ico" />
+    <#include "/base/list_base.ftl">
+    <script type="text/javascript" src="//s.iamberry.com/js/LodopFuncs.js"></script>
+    <link href="${path}/common/lib/lightbox2/2.8.1/css/lightbox.css" rel="stylesheet" type="text/css" >
+    <title>错误页面</title>
+    <style>
+        *{padding: 0;margin: 0;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
+        .table-bg thead th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .my-order{border: 1px solid #50a2ea;
+            padding: 1px 25px;
+            height: 36px;
+            background-color: #fff;
+            color: #50a2ea;}
+        .my-select {
+            border: 1px solid rgba(0,0,0,.1);
+            padding: 6px 50px 6px 15px;
+            height: 34px;
+            -webkit-appearance: none;
+            appearance: none;
+            background: url(/common/images/pts/select-11.png) right center no-repeat;
+            background-size: auto 100%;
+        }
+        .label-default{background-color: #e6e6e6; color: #50a2ea;}
+        .radio-box input[type=radio]{position: relative;-webkit-appearance: none;appearance: none;cursor: pointer;width: 17px;height: 17px;border: 1px solid #333;border-radius: 50%;}
+        .radio-box input[type=radio]:focus {outline: none;}
+        .radio-box input[type=radio]:checked{background: #fff;}
+        .radio-box input[type=radio]:checked:after {content: '';position: absolute;width: 11px;height: 11px;left: 2px;top: 2px;background: #333;border-radius: 50%;}
+    </style>
+</head>
+<body style="margin-bottom: 30px">
+
+<div class="page-container">
+    <div class="text-c">
+        权限不足,未分配所属仓库,无法查看,请联系管理员!
+    </div>
+</div>
+
+</body>
+</html>

+ 32 - 107
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -51,9 +51,9 @@
         <form action="${path}/admin/salesOrder/list_order_page" method="post">
 
             <div style="position: relative;float: left;display: block;width: 110px;height: 30px;" id="addOrderDiv" >
-                <button type="button" style="height: 30px;top: 0px;" class="my-btn-search my-order" id="addOrderType" >录入订单</button>
-                <button type="button" style="height: 30px;top: 30px;display: none;" class="my-btn-search my-order" id="addOrderManual" onclick="toAddOrderManual();">手动录入</button>
-                <button type="button" style="height: 30px;top: 60px;display: none;" class="my-btn-search my-order" id="addOrderExcel" onclick="upFiles();">Excel导入</button>
+                <button type="button" style="height: 30px;top: 0px;cursor:pointer;" class="my-btn-search my-order" id="addOrderType" >&nbsp;录入订单</button>
+                <button type="button" style="height: 30px;top: 30px;display: none;cursor:pointer;" class="my-btn-search my-order" id="addOrderManual" onclick="toAddOrderManual();">&nbsp;手动录入</button>
+                <button type="button" style="height: 30px;top: 60px;display: none;cursor:pointer;" class="my-btn-search my-order" id="addOrderExcel" onclick="upFiles();">Excel导入</button>
             </div>
 
             <div style="width: 90%;margin-left: 10%;">
@@ -307,24 +307,7 @@
     </div>
 </div>
 <div style="display: none">
-<div id="warehouse">
-    <div class="row cl"  style="width: 500px;height: 200px;margin-left: 35px;">
-        <div style="background-color: #7f9db9;margin-left: 10px;width: 200px;height: 150px;float:left;margin-left: 60px;">
-            <div class="radio-box" style="margin: 10px">
-                <input  type="radio" id="warehouseId-1" name="warehouseId" value="1" checked>
-                <label for="warehouseId-1"><strong>正常销售仓库</strong></label><br>
-                <span>正常的销售订单,以及含有非优尼雅生产的产品订单</span>
-            </div>
-        </div>
-        <div class="radioDiv" style="background-color: #7f9db9;margin-left: 10px;width: 200px;height: 150px;float:left;">
-            <div class="radio-box" style="margin: 10px">
-                <input type="radio" id="warehouseId-2" name="warehouseId" value="2" >
-                <label for="warehouseId-2"><strong>售后订单仓库</strong></label><br>
-                <span>WaterO净水机产品维修,选择售后仓库</span>
-            </div>
-        </div>
-    </div>
-</div>
+
 </div>
 <tfoot>
 <#include "/base/page_util.ftl">
@@ -428,53 +411,37 @@
         <#--layer_show("拆分订单","${path}/admin/salesOrder/to_split_order?salesId="+orderSaleId,800,600);-->
     }
 
-    
-    function chooseWarehouse(id) {
-        layer.open({
-            type: 1
-            , title: "选择仓库" //不显示标题栏
-            , closeBtn: false
-            , area: ['600px', '300px']
-            , shade: 0.8
-            , id: 'LAY_layuipro' //设定一个id,防止重复弹出
-            , btn: ['确认', '取消']
-            , btnAlign: 'c'
-            , moveType: 1 //拖拽模式,0或者1
-            , content: $('#warehouse').html()
-            ,yes: function(index){
-                var warehouseId = $('input:radio[name="warehouseId"]:checked').val();
-                layer.close(index);
-                if(id == null){
-                    noticeDistribution(warehouseId);
+    /**
+     * 通知配货
+     */
+    function chooseWarehouse(salesOrderIds) {
+        if(!isEmpty(salesOrderIds)){
+            var salesOrderIds = "";
+            $(".sales_id:checked").each(function(){
+                var val = $(this).val();
+                if(isEmpty(salesOrderIds)){
+                    salesOrderIds += ","+val
                 }else{
-                    noticeOneOrderSend(id,warehouseId)
+                    salesOrderIds = val
                 }
-
-            }
-        })
+            })
+        }
+        if(isEmpty(salesOrderIds)){
+            layer_show("通知配货","${path}/admin/salesOrder/to_choose_warehouse?type=salesId&ids="+salesOrderIds,700,400);
+        }else{
+            layer.msg("未选择订单!", {icon: 5, time: 3000});
+        }
     }
-    /* 通知配货 */
-    function noticeOneOrderSend(id,warehouseId) {
-        $.ajax({
-            type:'POST',
-            url: '${path}/admin/salesOrder/notice_distribution',
-            data:{
-                "salesOrderIds" : id,
-                "warehouseId" : warehouseId
-            },
-            dataType: 'json',
-            success:function(res) {
-                if(res.resultCode == 200 && res.returnCode == 200){
-                    location.reload();
-                }else{
-                    layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+res.resultMsg, function(indexy){
-                        layer.close(indexy);
-                    });
-                    layer.close(index);
-                }
-                return false;
-            }
-        });
+
+    /**
+     * 通知配货-返回信息
+     */
+    function chooseWarehouseBack(data) {
+        if(data.resultCode == 200 && data.returnCode == 200){
+            location.reload();
+        }else{
+            layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+data.resultMsg, function(indexy){layer.close(indexy);});
+        }
     }
 
     /**
@@ -607,48 +574,6 @@
         }
 
         /**
-         *  通知配货
-         */
-        function noticeDistribution(warehouseId) {
-            var index = layer.load(1, {
-                shade: [0.5,'#fff'] //0.1透明度的白色背景
-            });
-
-            var salesOrderIds = "";
-            $(".sales_id:checked").each(function(){
-                var val = $(this).val();
-                if(isEmpty(salesOrderIds)){
-                    salesOrderIds += ","+val
-                }else{
-                    salesOrderIds = val
-                }
-            })
-
-            $.ajax({
-                type:'POST',
-                url: '${path}/admin/salesOrder/notice_distribution',
-                data:{
-                    "salesOrderIds" : salesOrderIds,
-                    "warehouseId" : warehouseId
-                },
-                dataType: 'json',
-                success:function(res) {
-                    if(res.resultCode == 200 && res.returnCode == 200){
-                       location.reload();
-                    }else{
-                        layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+res.resultMsg, function(indexy){
-                            layer.close(indexy);
-                        });
-                        layer.close(index);
-                    }
-                    return false;
-                }
-            });
-
-        }
-
-
-        /**
          * 批量确认订单
          */
         function confirmOrder(){

+ 33 - 91
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_sdorder_list.ftl

@@ -9,7 +9,7 @@
     <link rel="Bookmark" href="/favicon.ico" >
     <link rel="Shortcut Icon" href="/favicon.ico" />
     <#include "/base/list_base.ftl">
-    <title>订单列表</title>
+    <title>订单列表 - 上朵</title>
     <style>
         *{padding: 0;margin: 0;}
         .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
@@ -39,7 +39,7 @@
 </head>
 <body>
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
-    <span class="c-gray en">/</span> 订单管理
+    <span class="c-gray en">/</span> 上朵订单管理
     <span class="c-gray en">/</span> 订单列表
     <a class="btn radius r" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
@@ -50,9 +50,9 @@
         <form action="${path}/admin/salesOrder/list_order_page" method="post">
 
             <div style="position: relative;float: left;display: block;width: 110px;height: 30px;" id="addOrderDiv" >
-                <button type="button" style="height: 30px;top: 0px;" class="my-btn-search my-order" id="addOrderType" >录入订单</button>
-                <button type="button" style="height: 30px;top: 30px;display: none;" class="my-btn-search my-order" id="addOrderManual" onclick="toAddOrderManual();">手动录入</button>
-                <button type="button" style="height: 30px;top: 60px;display: none;" class="my-btn-search my-order" id="addOrderExcel" onclick="upFiles();">Excel导入</button>
+                <button type="button" style="height: 30px;top: 0px;cursor:pointer;" class="my-btn-search my-order" id="addOrderType" >录入订单</button>
+                <button type="button" style="height: 30px;top: 30px;display: none;cursor:pointer;" class="my-btn-search my-order" id="addOrderManual" onclick="toAddOrderManual();">手动录入</button>
+                <button type="button" style="height: 30px;top: 60px;display: none;cursor:pointer;" class="my-btn-search my-order" id="addOrderExcel" onclick="upFiles();">Excel导入</button>
             </div>
 
             <div style="width: 90%;margin-left: 10%;">
@@ -427,53 +427,37 @@
         <#--layer_show("拆分订单","${path}/admin/salesOrder/to_split_order?salesId="+orderSaleId,800,600);-->
     }
 
-    
-    function chooseWarehouse(id) {
-        layer.open({
-            type: 1
-            , title: "选择仓库" //不显示标题栏
-            , closeBtn: false
-            , area: ['600px', '300px']
-            , shade: 0.8
-            , id: 'LAY_layuipro' //设定一个id,防止重复弹出
-            , btn: ['确认', '取消']
-            , btnAlign: 'c'
-            , moveType: 1 //拖拽模式,0或者1
-            , content: $('#warehouse').html()
-            ,yes: function(index){
-                var warehouseId = $('input:radio[name="warehouseId"]:checked').val();
-                layer.close(index);
-                if(id == null){
-                    noticeDistribution(warehouseId);
+    /**
+     * 通知配货
+     */
+    function chooseWarehouse(salesOrderIds) {
+        if(!isEmpty(salesOrderIds)){
+            var salesOrderIds = "";
+            $(".sales_id:checked").each(function(){
+                var val = $(this).val();
+                if(isEmpty(salesOrderIds)){
+                    salesOrderIds += ","+val
                 }else{
-                    noticeOneOrderSend(id,warehouseId)
+                    salesOrderIds = val
                 }
-
-            }
-        })
+            })
+        }
+        if(isEmpty(salesOrderIds)){
+            layer_show("通知配货","${path}/admin/salesOrder/to_choose_warehouse?type=salesId&ids="+salesOrderIds,700,400);
+        }else{
+            layer.msg("未选择订单!", {icon: 5, time: 3000});
+        }
     }
-    /* 通知配货 */
-    function noticeOneOrderSend(id,warehouseId) {
-        $.ajax({
-            type:'POST',
-            url: '${path}/admin/salesOrder/notice_distribution',
-            data:{
-                "salesOrderIds" : id,
-                "warehouseId" : warehouseId
-            },
-            dataType: 'json',
-            success:function(res) {
-                if(res.resultCode == 200 && res.returnCode == 200){
-                    location.reload();
-                }else{
-                    layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+res.resultMsg, function(indexy){
-                        layer.close(indexy);
-                    });
-                    layer.close(index);
-                }
-                return false;
-            }
-        });
+
+    /**
+     * 通知配货-返回信息
+     */
+    function chooseWarehouseBack(data) {
+        if(data.resultCode == 200 && data.returnCode == 200){
+            location.reload();
+        }else{
+            layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+data.resultMsg, function(indexy){layer.close(indexy);});
+        }
     }
 
     /**
@@ -606,48 +590,6 @@
         }
 
         /**
-         *  通知配货
-         */
-        function noticeDistribution(warehouseId) {
-            var index = layer.load(1, {
-                shade: [0.5,'#fff'] //0.1透明度的白色背景
-            });
-
-            var salesOrderIds = "";
-            $(".sales_id:checked").each(function(){
-                var val = $(this).val();
-                if(isEmpty(salesOrderIds)){
-                    salesOrderIds += ","+val
-                }else{
-                    salesOrderIds = val
-                }
-            })
-
-            $.ajax({
-                type:'POST',
-                url: '${path}/admin/salesOrder/notice_distribution',
-                data:{
-                    "salesOrderIds" : salesOrderIds,
-                    "warehouseId" : warehouseId
-                },
-                dataType: 'json',
-                success:function(res) {
-                    if(res.resultCode == 200 && res.returnCode == 200){
-                       location.reload();
-                    }else{
-                        layer.alert("通知配货异常!请检查订单状态与物流公司,异常订单ID:"+res.resultMsg, function(indexy){
-                            layer.close(indexy);
-                        });
-                        layer.close(index);
-                    }
-                    return false;
-                }
-            });
-
-        }
-
-
-        /**
          * 批量确认订单
          */
         function confirmOrder(){

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/statistics/sell_order_statistics.ftl

@@ -25,7 +25,7 @@
 <body>
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">/</span> 订单管理
-    <span class="c-gray en">/</span> 订单统计
+    <span class="c-gray en">/</span> 销售统计
     <a class="btn radius r" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>