Sfoglia il codice sorgente

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

liujiankang 6 anni fa
parent
commit
581fb7cd71

+ 26 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -94,7 +94,31 @@ public class AwaitSendController {
                 temp.setSalesOrderItemList(salesOrderService.listSalesOrderItem(item));
             }
         }
-        return new ModelAndView("order/salesOrder/print_order").addObject("page", pagedResult).addObject("posts", salesOrderService.getLogisticsInfo(new LogisticsInfo()));
+
+        int errorOrderNum = 0;
+
+        // 聚合打单方式
+        Map<String, List<SalesOrder>> postMap = new HashMap<>();
+        if (pagedResult != null && pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
+            for (SalesOrder temp : pagedResult.getDataList()) {
+                LogisticsInfo info = new LogisticsInfo();
+                info.setLogisticsRstCode(temp.getSalesPostFirm());
+                List<LogisticsInfo> logisticsInfos = salesOrderService.getLogisticsInfo(info);
+                if (logisticsInfos == null || logisticsInfos.size() <= 0) {
+                    errorOrderNum ++;
+                    continue;
+                }
+                String key = logisticsInfos.get(0).getLogisticsName();
+                List<SalesOrder> list = postMap.get(key);
+                if (list == null) {
+                    list = new ArrayList<>();
+                    postMap.put(key, list);
+                }
+                list.add(temp);
+            }
+        }
+
+        return new ModelAndView("order/salesOrder/print_order").addObject("page", postMap).addObject("orderSize", pagedResult.getDataList().size()).addObject("errorOrderNum", errorOrderNum);
     }
 
     // 打单发货
@@ -199,7 +223,7 @@ public class AwaitSendController {
                 SalesOrder salesOrder = new SalesOrder();
                 salesOrder.setSalesPostFirm(post);
                 salesOrder.setSalesPostNum(code);
-                salesOrder.setSalesShippingStatus(2);
+                salesOrder.setSalesShippingStatus(1);
                 salesOrder.setSalesSendTime(new Date());
                 salesOrder.setSalesId(salesId);
                 salesOrderService.updateSalesOrder(salesOrder);

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

@@ -14,8 +14,10 @@
     <title>待发货订单列表</title>
 </head>
 <body style="margin-bottom: 30px">
-<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 仓库管理 <span class="c-gray en">&gt;</span> 待发货订单列表 <a class="btn btn-success radius" id="btn-refresh" style="float: right;line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
+
 <div class="page-container">
+    <pre style="font-size: 14px;margin-top: -1%;">待发货:EMS(300)  申通(500)</pre>
+
     <div class="text-c">
         <form action="${path}/admin/await_send/listAwaitSendOrder" method="POST" id="search-form">
             <select class="select" name="salesShippingStatus" id="salesShippingStatus" style="height: 31px;width: 150px">-->
@@ -134,7 +136,9 @@
 <script type="text/javascript">
     var LODOP=getLodop();
     $(function () {
-       $("#print-order-send").click(function() {
+        layer.tips('一次最多打印1000个订单', '#print-all-order');
+
+        $("#print-order-send").click(function() {
            var inputs = $(".salesid-input:checked");
            if (inputs == null || inputs.length <= 0) {
                layer.msg("未选中订单",{icon: 2,time:3000});
@@ -151,6 +155,7 @@
        });
 
        $("#print-all-order").click(function () {
+           layer.tips('一次最多打印1000个订单', '#print-all-order');
            window.location.href = '${path}/admin/await_send/printOrderUI';
        });
     });

+ 78 - 53
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/print_order.ftl

@@ -15,58 +15,69 @@
 </head>
 <body>
 <div class="page-container">
-    <div class="order-list">
 
+    <div class="order-list">
         <div>
-            本次共 <span style="color: red;">${(page.dataList?size)!"0"}</span> 个订单
+            本次共 <span style="color: red;">${(orderSize)!"0"}</span> 个订单&nbsp;&nbsp;未分配物流的订单数量: <span style="color: red;">${errorOrderNum}</span>
             <p style="margin-top: 5px;color: blue;">请设置好默认打印机:Windows开始菜单 >> 设备和打印机 >> 寻找到要打印的机器,将其设置为默认打印机</p>
         </div>
-        <div class="mt-20" style="height: 330px;overflow: auto;overflow-x: hidden;margin-bottom: 12px;border: 1px solid #ddd;">
-            <table class="table table-border table-bordered table-bg table-hover table-sort">
-                <thead>
-                <tr class="text-c">
-                    <th width="20">状态</th>
-                    <th width="70">订单编号</th>
-                    <th width="30">姓名</th>
-                    <th width="50">电话</th>
-                    <th width="100">收货地址</th>
-                    <th width="100">订单产品</th>
-                </tr>
-                </thead>
-                <tbody id="productHtml">
-                    <#if (page.dataList?size <= 0)>
-                        <tr class="text-c"><td colspan="12">暂无数据</td></tr>
-                    <#else>
-                        <#list page.dataList as o>
-                            <tr class="text-c wait-print-order" printState="1">
-                                <td>待处理</td>
-                                <td salesId="${o.salesId}">${(o.salesOrderId)!}</td>
-                                <td>${(o.salesAddressName)!}</td>
-                                <td>${(o.salesAddressTel)!}</td>
-                                <td>${(o.salesAddressInfo)!}</td>
-                                <td style="text-align: left;">
-                                    <#if o.salesOrderItemList ??>
-                                        <#list o.salesOrderItemList as d>
-                                            <span class="label label-success radius">${(d.itemProductName)!}(${(d.itemProductColor)!})*${(d.itemNum)!}</span>
-                                        </#list>
-                                    </#if>
-                                </td>
-                            </tr>
-                        </#list>
-                    </#if>
-                </tbody>
-            </table>
-        </div>
+        <div class="mt-20" style="height: 500px;overflow: auto;overflow-x: hidden;margin-bottom: 12px;border: 1px solid #ddd;">
 
-        <div class="formControls col-1 col-sm-1" style="width: 100%;">
-            <select class="select" id="all-post-select" style="margin-left: -15px;height: 31px;width: 150px">
-                <#list posts as d>
-                    <option value="${(d.logisticsRstCode)!}">${(d.logisticsName)!}</option>
+            <!-- 选项卡 头部 -->
+            <div id="tab_demo" class="HuiTab">
+                <div class="tabBar clearfix">
+                <#list page?keys as key>
+                    <span>${key}(${page[key]?size})</span>
                 </#list>
-            </select>
-            <select class="select" id="print-machine" style="height: 31px;width: 150px;display: none">
-            </select>
-            <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;" id="sub-post">开始打印</button>
+                </div>
+
+            <!-- 选项卡 内容 -->
+            <#assign x = 0>
+            <#list page?values as value>
+                <div class="tabCon">
+                    <table class="table table-border table-bordered table-bg table-hover table-sort">
+                        <thead>
+                        <tr class="text-c">
+                            <th width="20">状态</th>
+                            <th width="70">订单编号</th>
+                            <th width="30">姓名</th>
+                            <th width="50">电话</th>
+                            <th width="100">收货地址</th>
+                            <th width="100">订单产品</th>
+                        </tr>
+                        </thead>
+                        <tbody>
+                            <#if (value?size <= 0)>
+                            <tr class="text-c"><td colspan="12">暂无数据</td></tr>
+                            <#else>
+                                <#list value as o>
+                                <tr class="text-c ${x}-wait-print-order" printState="1">
+                                    <td>待处理</td>
+                                    <td salesId="${o.salesId}" post="${(o.salesPostFirm)!}">${(o.salesOrderId)!}</td>
+                                    <td>${(o.salesAddressName)!}</td>
+                                    <td>${(o.salesAddressTel)!}</td>
+                                    <td>${(o.salesAddressInfo)!}</td>
+                                    <td style="text-align: left;">
+                                        <#if o.salesOrderItemList ??>
+                                            <#list o.salesOrderItemList as d>
+                                                <span class="label label-success radius">${(d.itemProductName)!}(${(d.itemProductColor)!})*${(d.itemNum)!}</span>
+                                            </#list>
+                                        </#if>
+                                    </td>
+                                </tr>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+                <#assign x = x + 1>
+            </#list>
+
+            </div>
+        </div>
+
+        <div class="formControls col-1 col-sm-1" style="width: 100%;margin-left: -0.4%;">
+            <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;margin-left: -0.7%" id="sub-post">开始打印</button>
         </div>
 
         <div id="print-pageview-div" style="display: none"></div>
@@ -81,8 +92,11 @@
     // 选择打印设备
     var LODOP=getLodop();
     $(function () {
-        // 获取系统的打印机
-        setPrintMachine();
+        $.Huitab("#tab_demo .tabBar span","#tab_demo .tabCon","current","click","0");
+
+
+    // 获取系统的打印机
+        //setPrintMachine();
         function setPrintMachine() {
             var count = LODOP.GET_PRINTER_COUNT() - 1;
             for (var i = 0; i <= count; i++) {
@@ -93,8 +107,8 @@
         // 开始打印
         $("#sub-post").click(function() {
             LODOP.SELECT_PRINTER();
-
-            var orders = $(".wait-print-order");
+            var index = getCurrTab();
+            var orders = $("." + index + "-wait-print-order");
             if (orders == null || orders.length <= 0) {
                 layer.msg("未选中订单",{icon: 2,time:3000});
                 return;
@@ -104,7 +118,8 @@
         });
 
         function nextPrintOrder() {
-            var orders = $(".wait-print-order");
+            var index = getCurrTab();
+            var orders = $("." + index + "-wait-print-order");
             for(var i = 0; i < orders.length; i++) {
                 if ($(orders[i]).attr("printState") == "1") {
                     // 待打印
@@ -116,17 +131,18 @@
         function startPrint() {
             var order = nextPrintOrder();
             if (order == null || typeof(order) == undefined) {
-                alert("打印完成");
+                alert("打印完成,请切换快递公司继续打印");
                 return;
             }
             var $td = $(order.find("td")[1]);
             var orderId = $td.text().trim();
             var salesId = $td.attr("salesId");
+            var post = $td.attr("post");
             // 单个打印
             $.ajax({
                 type: "POST",
                 data: {
-                    "post":$("#all-post-select").val(),
+                    "post":post,
                     "orderId":orderId,
                     "salesId":salesId
                 },
@@ -158,6 +174,15 @@
             });
         }
     });
+
+    function getCurrTab() {
+        var spans = $(".tabBar").find("span");
+        for (var i = 0 ; i < spans.length; i++) {
+            if ($(spans[i]).attr("class").indexOf("current") != -1) {
+                return i;
+            }
+        }
+    }
 </script>
 </body>
 </html>