Browse Source

订单中心开发,批次增加代发货数量,待审核数量

wangxiaoming 6 years ago
parent
commit
ea3d4d37ac

+ 41 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderBatch.java

@@ -27,10 +27,18 @@ public class OrderBatch  implements  Serializable{
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date batchCreateTime;
 
+    //是否有需要确认的订单   0:有   1:没有
+    private Integer isBatchOrderConfirm;
     //订单数量
     private Integer batchOrderNum;
+    //待审核数量
+    private Integer pendingReviewNum;
+    //待发货数量
+    private Integer pendingDeliveredNum;
+    //已发货数量
+    private Integer shippedNum;
 
-    private Integer isBatchOrderConfirm;   //是否有需要确认的订单   0:有   1:没有
+    private Integer salesAdminId;   //录入人id
 
     public String getBatchId(){
         return batchId;
@@ -95,4 +103,36 @@ public class OrderBatch  implements  Serializable{
     public void setIsBatchOrderConfirm(Integer isBatchOrderConfirm) {
         this.isBatchOrderConfirm = isBatchOrderConfirm;
     }
+
+    public Integer getSalesAdminId() {
+        return salesAdminId;
+    }
+
+    public void setSalesAdminId(Integer salesAdminId) {
+        this.salesAdminId = salesAdminId;
+    }
+
+    public Integer getPendingReviewNum() {
+        return pendingReviewNum;
+    }
+
+    public void setPendingReviewNum(Integer pendingReviewNum) {
+        this.pendingReviewNum = pendingReviewNum;
+    }
+
+    public Integer getPendingDeliveredNum() {
+        return pendingDeliveredNum;
+    }
+
+    public void setPendingDeliveredNum(Integer pendingDeliveredNum) {
+        this.pendingDeliveredNum = pendingDeliveredNum;
+    }
+
+    public Integer getShippedNum() {
+        return shippedNum;
+    }
+
+    public void setShippedNum(Integer shippedNum) {
+        this.shippedNum = shippedNum;
+    }
 }

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

@@ -108,6 +108,12 @@
       <if test="endDate != null and endDate != ''">
         AND sales_create_time <![CDATA[<=]]> #{endDate}
       </if>
+      <if test="salesAdminId != null ">
+         AND sales_admin_id = #{salesAdminId}
+      </if>
+      <if test="salesAddType != null ">
+         AND sales_add_type = #{salesAddType}
+      </if>
       <if test="salesIds != null and salesIds != ''">
         AND sales_id IN
         <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">
@@ -712,12 +718,12 @@
       SELECT
           t.sales_id,
           t.sales_status,
+          t.sales_shipping_status,
           si.store_name
       FROM
           tb_rst_sales_order_info t
       LEFT JOIN tb_rst_store_info si ON t.sales_store_id = si.store_id
       WHERE t.sales_batch_id = #{salesBatchId}
-      GROUP BY t.sales_store_id
   </select>
 
   <!-- 按照批次查询订单项,并下载,订单列表主要按照订单项来排列 -->

+ 21 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderBatchServiceImpl.java

@@ -11,6 +11,7 @@ import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashSet;
 import java.util.List;
 
 /**
@@ -42,16 +43,33 @@ public class OrderBatchServiceImpl  implements OrderBatchService {
         List<OrderBatch> list = orderBatchMapper.getOrderBatchList(orderBatch);
         for (OrderBatch ob : list){
             List<SalesOrder> salesOrderList = salesOrderMapper.getOrderStoreName(ob.getBatchId());
-            Integer flag = 1;   //是否有需要确认的订单   0:有   1:没有
-            StringBuffer sb = new StringBuffer();
+            //是否有需要确认的订单   0:有   1:没有
+            Integer flag = 1;
+            //待审核数量  , 代发货 , 已发货
+            Integer pendingReviewNum = 0,pendingDeliveredNum=0,shippedNum=0;
+            HashSet store = new HashSet();
             for (SalesOrder so: salesOrderList) {
-                sb.append( sb.length()<1?so.getStoreName():(","+so.getStoreName()));
+                store.add(so.getStoreName());
                 if(so.getSalesStatus() == null || so.getSalesStatus() == 0){
                     flag = 0;
+                    pendingReviewNum++;
+                }
+                if(so.getSalesShippingStatus() == null || so.getSalesShippingStatus() == 0 ){
+                    pendingDeliveredNum ++;
+                }else if(so.getSalesShippingStatus() == 1){
+                    shippedNum++;
                 }
             }
+
+            StringBuffer sb = new StringBuffer();
+            for(Object s : store){
+                sb.append( sb.length()<1?s:(","+s));
+            }
             ob.setBatchChannel(sb.toString());
             ob.setIsBatchOrderConfirm(flag);
+            ob.setPendingReviewNum(pendingReviewNum);
+            ob.setPendingDeliveredNum(pendingDeliveredNum);
+            ob.setShippedNum(shippedNum);
         }
         return PageUtil.getPage(list);
     }

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

@@ -24,6 +24,9 @@
         from tb_rst_order_batch t
         LEFT JOIN tb_rst_sales_order_info soi ON t.batch_id = soi.sales_batch_id
         <where>
+            <if test="salesAdminId != null and salesAdminId != ''">
+                AND soi.sales_admin_id = #{salesAdminId}
+            </if >
             <if test="batchId != null and batchId != ''">
                 AND t.batch_id  like  CONCAT ('%',#{batchId},'%')
             </if >

+ 8 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderBatchController.java

@@ -3,8 +3,10 @@ package com.iamberry.rst.controllers.order;
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.order.OrderBatch;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.order.OrderBatchService;
+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;
@@ -39,6 +41,12 @@ public class AdminOrderBatchController {
                                          @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
         ModelAndView mv = new ModelAndView("order/bacth/order_batch_list");
 
+        Admin admin = AdminUtils.getLoginAdmin();
+        Integer identity = admin.getAdminDept();
+        if(identity == 2){
+            orderBatch.setSalesAdminId(admin.getAdminId());
+        }
+
         PagedResult<OrderBatch> pagedResult = orderBatchService.listOrderBatchPage(pageNO, pageSize, orderBatch, totalNum == 0);
         if (totalNum != 0){
             pagedResult.setTotal(totalNum);

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

@@ -84,6 +84,13 @@ public class AdminSalesOrderController {
                                         @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
                                         @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) throws Exception {
         ModelAndView mv = new ModelAndView("order/salesOrder/sales_order_list");
+
+        Admin admin = AdminUtils.getLoginAdmin();
+        Integer identity = admin.getAdminDept();
+        if(identity == 2){
+            salesOrder.setSalesAdminId(admin.getAdminId());
+        }
+
         //分页获取订单信息
         PagedResult<SalesOrder> pagedResult = salesOrderService.listSalesOrderPage(pageNO, pageSize, salesOrder,totalNum == 0);
         if (totalNum != 0) {
@@ -97,6 +104,7 @@ public class AdminSalesOrderController {
                 .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
 
         mv.addObject("listStoreInfo",listStoreInfo);
+        mv.addObject("identity",identity);
         return mv;
     }
 

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

@@ -52,8 +52,11 @@
         <thead>
         <tr class="text-c">
             <th width="100">批次编号</th>
-            <th width="50">订单数量</th>
             <th width="80">店铺</th>
+            <th width="50">订单数量</th>
+            <th width="50">待审核数量</th>
+            <th width="50">代发货数量</th>
+            <th width="50">已发货数量</th>
             <#--<th width="100">Excel下载</th>-->
             <#--<th width="80">交易号下载</th>-->
             <th width="80">创建时间</th>
@@ -65,10 +68,12 @@
                     <#list page.dataList as batch>
                         <tr class="text-c">
                             <td>${batch.batchId!''}</td>
-                            <td><a href="javascript:void(0)" style="color: #00E;" title="点击转到订单页面,查询该批次的所有订单" onclick="to_order_list('${batch.batchId!''}')">${batch.batchOrderNum!'0'}</a></td>
                             <td>${batch.batchChannel!''}</td>
-                            <#--<td>${batch.batchExcelPath!''}</td>-->
-                            <#--<td>${batch.batchTxtPath!''}</td>-->
+                            <td><a href="javascript:void(0)" style="color: #00E;" title="点击转到订单页面,查询该批次的所有订单" onclick="to_order_list('${batch.batchId!''}',1)">${batch.batchOrderNum!'0'}</a></td>
+                            <td><a href="javascript:void(0)" style="color: #00E;" title="点击转到订单页面,查询该批次的所有订单" onclick="to_order_list('${batch.batchId!''}',2)">${batch.pendingReviewNum!'0'}</a></td>
+                            <td><a href="javascript:void(0)" style="color: #00E;" title="点击转到订单页面,查询该批次的所有订单" onclick="to_order_list('${batch.batchId!''}',3)">${batch.pendingDeliveredNum!'0'}</a></td>
+                            <td><a href="javascript:void(0)" style="color: #00E;" title="点击转到订单页面,查询该批次的所有订单" onclick="to_order_list('${batch.batchId!''}',4)">${batch.shippedNum!'0'}</a></td>
+
                             <td>${(batch.batchCreateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
                             <td>
                                 <a style="text-decoration:none;color: #00E;" href="javascript:void(0);" title="下载该批次的所有订单的物流信息" onclick="download_order('${batch.batchId!''}')">
@@ -100,8 +105,24 @@
      *跳转到客诉列表页面
      * @param employee
      */
-    function to_order_list(batchId) {
-        window.location.href= "${path}/admin/salesOrder/list_order_page?salesBatchId="+batchId;
+    function to_order_list(batchId,type) {
+        switch (type){
+            case 1:
+                window.location.href= "${path}/admin/salesOrder/list_order_page?salesBatchId="+batchId;
+                break;
+            case 2: //待审核数量
+                window.location.href= "${path}/admin/salesOrder/list_order_page?salesBatchId="+batchId + "&salesStatus=0";
+                break;
+            case 3: //代发货数量
+                window.location.href= "${path}/admin/salesOrder/list_order_page?salesBatchId="+batchId + "&salesShippingStatus=0";
+                break;
+            case 4: //已发货数量
+                window.location.href= "${path}/admin/salesOrder/list_order_page?salesBatchId="+batchId + "&salesShippingStatus=1";
+                break;
+            default:
+            break;
+        }
+
     }
 
     /**

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

@@ -76,7 +76,6 @@
                 </div>
             </div>
 
-            <#if admin.adminDept == 3 || admin.adminDept == 1>
                 <div class="row cl sales_channel" id="" style="">
                     <label class="form-label col-1 col-sm-1">销售渠道:</label>
                     <div class="formControls col-2 col-sm-2" style="">
@@ -92,7 +91,6 @@
                     </span>
                     </div>
                 </div>
-            </#if>
 
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1">用户信息:</label>

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

@@ -42,11 +42,13 @@
                     <button type="button" style="top: 72px;display: none;" class="my-btn-search my-order" id="addOrderExcel" onclick="upFiles();">Excel导入</button>
                 </div>
 
-                <select class="my-select" name="salesIsDownload" id="salesIsDownload" style="height: 36px;width: 120px;margin: 0px;margin-bottom: 10px;">
-                    <option value ="">导出状态</option>
-                    <option value ="2" <#if salesOrder.salesIsDownload??><#if salesOrder.salesIsDownload == 2 >selected="selected"</#if></#if>>已导出</option>
-                    <option value ="1" <#if salesOrder.salesIsDownload??><#if salesOrder.salesIsDownload == 1 >selected="selected"</#if></#if>>未导出</option>
-                </select>
+                <#if identity != 2>
+                    <select class="my-select" name="salesIsDownload" id="salesIsDownload" style="height: 36px;width: 120px;margin: 0px;margin-bottom: 10px;">
+                        <option value ="">导出状态</option>
+                        <option value ="2" <#if salesOrder.salesIsDownload??><#if salesOrder.salesIsDownload == 2 >selected="selected"</#if></#if>>已导出</option>
+                        <option value ="1" <#if salesOrder.salesIsDownload??><#if salesOrder.salesIsDownload == 1 >selected="selected"</#if></#if>>未导出</option>
+                    </select>
+                </#if>
 
                 <select class="my-select" name="salesShippingStatus" id="salesShippingStatus" style="height: 36px;width: 120px;margin: 0px;margin-bottom: 10px;">
                     <option value ="">发货状态</option>

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

@@ -99,7 +99,6 @@
                 </div>
             </div>
 
-            <#if admin.adminDept == 3 || admin.adminDept == 1>
                 <div class="row cl sales_channel" id="" style="">
                     <label class="form-label col-1 col-sm-1">销售渠道:</label>
                     <div class="formControls col-2 col-sm-2" style="">
@@ -115,7 +114,6 @@
                     </span>
                     </div>
                 </div>
-            </#if>
 
 
             <div class="row cl" id="" style="">