소스 검색

5. 工厂生产管理

liujiankang 5 년 전
부모
커밋
00212cfa44

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

@@ -1865,6 +1865,9 @@
             <if test="salesReturnGoods != null and salesReturnGoods == 2">
                 AND  oi.item_return_num <![CDATA[>]]> 0
             </if>
+            <if test="salesPostNum !=null and salesPostNum !=''">
+                AND tt.sales_post_num = #{salesPostNum}
+            </if>
         </where>
         GROUP BY tt.sales_id
         ORDER BY tt.sales_id DESC
@@ -2384,7 +2387,7 @@
         AND sales_send_time > #{checkStartDate} AND  sales_send_time &lt; NOW()
         AND sales_warehouse_id = #{warehouseId}
         GROUP BY oi.sales_post_firm
-        ORDER BY num descfet
+        ORDER BY num desc
     </select>
 
     <!--订单跟踪添加和查询-->

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

@@ -2334,4 +2334,25 @@ public class AdminSalesOrderController {
         rj = new ResponseJson(500, "修改失败", 500);
         return rj;
     }
+
+    /**
+     * 根据物流单号获取订单
+     *
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/getSalesOrderByPostNum")
+    public ResponseJson getsalesOrderByPostNum(HttpServletRequest request,String salesPostNum) throws Exception {
+        ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
+        SalesOrder salesOrder = new SalesOrder();
+        salesOrder.setSalesPostNum(salesPostNum);
+        List<SalesOrder> listOrder = salesOrderService.salesOrderListAndItem(salesOrder);
+        if(listOrder.size() > 0){
+            rj.addResponseKeyValue("salesOrder",listOrder.get(0));
+        }else{
+            rj = ResponseJson.getFAILURE();
+        }
+        return rj;
+    }
 }

+ 9 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -503,7 +503,7 @@ public class AwaitSendController {
     @ResponseBody
     @RequestMapping("/rePrintOrder")
     @RequiresPermissions("order:listAwaitSendOrder")
-    public ResponseJson rePrintOrder(@RequestParam("orderId") String orderId,
+    public ResponseJson rePrintOrder(@RequestParam("orderId") String orderId,@RequestParam("salesId") String salesId,
                                      HttpServletRequest request) throws IOException {
         String filePath = request.getServletContext().getRealPath("/common/send_order");
         filePath = filePath + File.separator + orderId + ".txt";
@@ -517,9 +517,15 @@ public class AwaitSendController {
         }
         reader.close();
 
-        return ResponseJson.getSUCCESS().addResponseKeyValue("json", stringBuilder.toString());
-    }
+        //查询是否是子母单
+        boolean isSub = false;
+        List<SalesOrder> orders = salesOrderService.listSublistCount(Integer.valueOf(salesId));
+        if(orders != null && orders.size() > 0){
+            isSub = true;
+        }
 
+        return ResponseJson.getSUCCESS().addResponseKeyValue("json", stringBuilder.toString()).addResponseKeyValue("isSub",isSub);
+    }
 
     /**
      * 跳转到手动发货页面

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

@@ -75,14 +75,17 @@
             <select name="smallClassId" id="smallClassId" class="chosen3" style="width: 43px;">
 
             </select>
-            <select id="questionId" name="questionId" class="chosen" style="width: 93%;">
+            <select id="questionId" name="questionId" class="chosen"  onchange="problemDescription()" style="width: 93%;">
                 <option value="">请选择客户问题</option>
                     <#if (listComplaintQuestionInfo?size > 0)>
                         <#list listComplaintQuestionInfo as info>
-                                <option value="${info.questionId!""}">${info.questionName!""}</option>
+                                <option value="${info.questionId!""}"  tag-id="${info.questionProfile!""}">${info.questionName!""}</option>
                         </#list>
                     </#if>
             </select>
+            <div style="display: none;" id="questionProfileDiv">
+                <input class="my-input" type="text"   name="questionProfile" id="questionProfile"  style="width: 93%;"/>
+            </div>
         </div>
     </div>
     <div class="input-box">
@@ -164,6 +167,12 @@
 </article>
 <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
 <script type="text/javascript">
+    function problemDescription() {
+        var getvalue = $("#questionId").find("option:selected").attr("tag-id");
+        $("#questionProfile").val(getvalue);
+    }
+
+
     /**
      * 客诉处理方式回显 state
      */
@@ -442,7 +451,7 @@
                 if (data.returnCode == 200) {
                     for(var i=0;i<data.returnMsg.complaintQuestionInfoList.length;i++){
                         var complaintQuestion= data.returnMsg.complaintQuestionInfoList[i];
-                        html += '<option value="'+ complaintQuestion.questionId +'">'+ complaintQuestion.questionName +'</option>';
+                        html += '<option value="'+ complaintQuestion.questionId +'"  tag-id="'+complaintQuestion.questionProfile+'" >'+ complaintQuestion.questionName +'</option>';
                     }
                 }else{
                     html = '';

+ 210 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/postage/postage_list.ftl

@@ -241,7 +241,102 @@
     </div>
 </div>
 
+<div  style="padding: 0px;margin: 0px;display: none;" >
+    <div id="printlist" style="">
+        <ul style=" height: 460px;margin-left: 20px;margin-right: 20px;">
+            <li style="font-size: 22px;height: 25px;display: block;text-align: center;font-weight: bold;margin-top: 15px">商品换货退货退款审批</li>
+            <li style="font-size: 12px;height: 30px;display: block;text-align: left;margin-top: 15px">深圳爱贝源科技有限公司&nbsp;&nbsp;&nbsp;&nbsp;申请日期:<span id="applyTime"></span></li>
+            <table class="table table-border table-bg table-bordered" style="border: 1px solid #000;border-collapse: collapse;text-align: left;">
+                <thead>
+                <tr>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;width: 3.5cm;">审批编码</td>
+                    <td id="postageCoding" colspan="15" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                </tr>
+
+                <tr>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">申请人</td>
+                    <td  id="applicantPeople" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15"></td>
+                </tr>
 
+                <tr>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">客诉编号</td>
+                    <td  id="postageCustomerId" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15"></td>
+                </tr>
+                <tr>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;h">申请人部门</td>
+                    <td id="applicantDepa" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15"></td>
+                </tr>
+                <#--<tr style="font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">-->
+                <tr class="text-c">
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">客户成交入口</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">售后类型</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">销售时间及退换货原因</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">交易号</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">客户名称</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">联系电话</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">快递公司</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">详细地址</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">快递单号</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">快递费用承担方</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">退回商品名称/型号</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">销售员</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">数量(台)</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">退款金额</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">退款账户</td>
+                </tr>
+                <tr>
+                    <td  style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">客户明细1</td>
+                    <td id="postinfo1" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo2" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo3" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo4" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo5" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo6" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo7" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo8" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo9" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo10" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo11" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo12" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo13" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo14" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="postinfo15" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                </tr>
+                <tr>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="totalNum" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td id="totalAmount" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;"></td>
+                </tr>
+                <tr style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                    <td rowspan="2" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">审批人</td>
+                    <td id="customerApproval" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15"></td>
+                </tr>
+                <tr style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                    <td id="financialApproval" style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15"></td>
+                </tr>
+                <tr style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;">抄送人</td>
+                    <td style="font-size: 0.75rem;padding:0.5rem 0;text-indent: 0.5rem; color: #333;border: 1px solid #000;border-collapse: collapse;background-color: #fff;" colspan="15">沈秋梅</td>
+                </tr>
+            </table>
+            <li style="font-size: 12px;height: 30px;display: block;text-align: left;margin-top: 15px">打印时间:<span id="printTime"></span>&nbsp;&nbsp;&nbsp;&nbsp;打印人:<span id="printPeople"></span></li>
+        </ul>
+    </div>
+</div>
 
 <tfoot>
 <#include "/base/page_util.ftl">
@@ -278,7 +373,122 @@
         });
     }
 
+    /**
+     * 打印
+     */
+    function printPostage(postageId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"postageId":postageId},
+            url: "${path}" + "/admin/postage/print_postage",
+            async: true,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var salesOrder = data.returnMsg.salesOrder;
+                    var procMethod = data.returnMsg.procMethod;
+                    var admin = data.returnMsg.admin;
+                    var postage = data.returnMsg.postage;
+                    var itemList = data.returnMsg.itemList;
+                    var loginAdmin = data.returnMsg.loginAdmin;
+                    var product = "";
+                    var productNum = 0;
+                    for(var i=0;i<itemList.length;i++){
+                        product += itemList[i].itemProductName +"("+itemList[i].itemProductColor+");"
+                        productNum += itemList[i].itemNum;
+                    }
+                    var postageCreateTime = formatDate(new Date(postage.postageCreateTime),"yyyy-MM-dd");
+                    var account = "";
+                    if(postage.postagePayType === 3){
+                        account = "银行卡"+"("+postage.postagePayWhere+")"+postage.postageAlipay+" "+postage.postageAlipayName;
+                    }else if(postage.postagePayType === 2){
+                        account = "微信"+postage.postageAlipay+" "+postage.postageAlipayName;
+                    }else if(postage.postagePayType === 1){
+                        account = "支付宝"+postage.postageAlipay+" "+postage.postageAlipayName;
+                    }
 
+                    $("#applyTime").html(postageCreateTime);
+                    $("#postageCoding").html(postage.postageCoding);
+                    $("#postageCustomerId").html(postage.customerId);
+                    $("#applicantPeople").html(admin.adminName);
+                    $("#applicantDepa").html(admin.departName);
+                    $("#postinfo1").html(salesOrder.companyName);
+                    $("#postinfo2").html(procMethod.procTypeName);
+                    $("#postinfo3").html(salesOrder.salesPayTime+postage.questionTitle);
+                    $("#postinfo4").html(salesOrder.salesDealCode);
+                    $("#postinfo5").html(postage.postageClientName);
+                    $("#postinfo6").html(postage.postageClientTel);
+                    $("#postinfo7").html(salesOrder.salesPostFirmName);
+                    $("#postinfo8").html(salesOrder.salesAddressInfo);
+                    $("#postinfo9").html(salesOrder.salesPostNum);
+                    $("#postinfo10").html("爱贝源");
+                    $("#postinfo11").html(product);
+                    $("#postinfo12").html(salesOrder.storeName);
+                    $("#postinfo13").html(productNum);
+                    $("#postinfo14").html(postage.postageAmount /100);
+                    $("#postinfo15").html(account);
+
+                    var postageAuthorityLogList = postage.postageAuthorityLogList;
+                    var customerApproval = "";
+                    var customerApprovalTime = "";
+                    var financialApproval = "";
+                    var financialApprovalTime = "";
+                    for(var i=0;i<postageAuthorityLogList.length;i++){
+                        var log = postageAuthorityLogList[i];
+                        if(log.authorityLogType === 2){
+                            customerApproval = log.adminName;
+                            customerApprovalTime = formatDate(new Date(log.authorityLogCreateTime),"yyyy-MM-dd HH:mm:ss");
+                        }
+                        if(log.authorityLogType === 3){
+                            financialApproval = log.adminName;
+                            financialApprovalTime = formatDate(new Date(log.authorityLogCreateTime),"yyyy-MM-dd HH:mm:ss");
+                        }
+
+                    }
+                    $("#customerApproval").html(customerApproval + "  已同意" +"   "+customerApprovalTime);
+                    $("#financialApproval").html(financialApproval + "  已同意" +"   "+financialApprovalTime);
+                    $("#printTime").html(formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"));
+                    $("#printPeople").html(loginAdmin.adminName);
+                    $("#totalNum").html("总数量:"+productNum);
+                    $("#totalAmount").html("总退款金额(元):"+postage.postageAmount /100 + "("+swapper(postage.postageAmount /100));
+
+                    //修改打印状态
+                    updateprint(postageId);
+                    $("#printlist").printArea();
+                } else {
+                    layer.msg(data.resultMsg,{icon: 5,time:3000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+    function updateprint(postageId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"postageId":postageId},
+            url: "${path}/admin/postage/updatePostagePrint",
+            async: false,
+            success: function(data){
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        });
+    }
+    function swapper(n) {
+        if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
+            return "数据非法";
+        var unit = "千百拾亿千百拾万千百拾元角分", str = "";
+        n += "00";
+        var p = n.indexOf('.');
+        if (p >= 0)
+            n = n.substring(0, p) + n.substr(p+1, 2);
+        unit = unit.substr(unit.length - n.length);
+        for (var i=0; i < n.length; i++)
+            str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
+        return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
+    }
 
 </script>
 </body>

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

@@ -209,7 +209,7 @@
                     <#if o.salesShippingStatus == 11>
                         <a title="打单发货" href="javascript:window.location.href='${path}/admin/await_send/printOrderUI?orderId=${o.salesId}'" class="ml-5" style="text-decoration:none;display:inline">打单发货</a><br>
                     <#else>
-                        <a title="重新打单" href="javascript:re_print_order('${(o.salesOrderId)!}')" class="ml-5" style="text-decoration:none;display:inline">重新打单</a><br>
+                        <a title="重新打单" href="javascript:re_print_order('${(o.salesOrderId)!}','${o.salesId}')" class="ml-5" style="text-decoration:none;display:inline">重新打单</a><br>
                     </#if>
                     <#if o.salesShippingStatus == 11>
                         <a class="ml-5" style="text-decoration:none;display:inline" href="javascript:void(0);" title="手动发货"onclick="distribution_postFirm('手动发货','${path}/admin/await_send/to_manual_delivery?salesId=${o.salesId}','570','450');">手动发货</a><br>
@@ -249,8 +249,55 @@
     </div>
 
 </div>
+
+<div id="selectTodo2" class="menu_dropdown bk_2" style="display:none">
+    <#--<table id="subOrderUl">
+        <tr style="margin-top: 1px;width: 200px;margin-left: 10px;">
+                <td>主订单号:<span id="mainOrderNo" style="">837463626</span></td>
+        </tr>
+    </table>-->
+
+
+    <table class="table table-border table-bg table-bordered">
+        <thead>
+        <tr class="text-c">
+            <th width="16"></th>
+            <th width="50">快递单号</th>
+            <th width="60">产品信息</th>
+            <th width="72">收件人姓名/电话</th>
+        </tr>
+        </thead>
+        <tbody id="subOrderUl">
+                <#--<tr class="text-c order_tr">
+                    <td><input type="checkbox" class="sales_id" value="" ></td>
+                    <td></td>
+                    <td></td>
+                    <td></td>
+                </tr>-->
+        </tbody>
+    </table>
+    <input type="hidden" value="" id="orderId">
+    <input type="hidden" value="" id="salesId">
+
+    <button type="button" onclick="subPrint();" class="btn" style="float: left;display: block;background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 37px;margin-left: 220px;margin-top: 20px;" id="print-order-send"> 打印 </button>
+</div>
 <#include "/base/page_util.ftl">
 <script type="text/javascript">
+    function toDoShow3(){
+        //页面层
+        layer.open({
+            type: 1,
+            title: '请选择需要重新打印的订单:',
+            shade: false,
+            /*offset: 'rb',*/ //不设置 默认水平居中
+            /*closeBtn: 0, 是否展示关闭按钮*/
+
+            area: ['500px', '430px'], //宽高
+            content: $("#selectTodo2").html()
+        });
+    }
+
+
     $(function () {
         $("#print-order-send").click(function() {
             var inputs = $(".salesid-input:checked");
@@ -290,7 +337,20 @@
         });
     });
 
-    function re_print_order(orderId) {
+
+    //子母单重新打印
+    function  subPrint() {
+        var subs =[];
+        $(".sub_index:checked").each(function(){
+            subs.push($(this).val());
+        });
+        var mains = $(".main_index:checked").val();
+        if ((subs == null || subs.length <= 0) && (mains == null || mains.length <= 0)) {
+            layer.msg("未选中订单",{icon: 2,time:3000});
+            return;
+        }
+        layer.closeAll();
+        $("#subOrderUl").html('');
         var LODOP=getLodop();
         // 选择打印设备,注意:选择打印机时,需要区别IE类浏览器和非IE浏览器
         var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
@@ -299,104 +359,347 @@
             $.ajax({
                 type: "POST",
                 data: {
-                    "orderId":orderId
+                    "orderId":$("#orderId").val(),
+                    "salesId":$("#salesId").val()
                 },
                 async: true,
                 url: "${path}/admin/await_send/rePrintOrder",
                 success: function(data){
-                    // 请求成功
                     var res = $.parseJSON(data.returnMsg.json);
                     if (data.resultMsg && res.Success) {
-                        var html = res.PrintTemplate;
-                        $("#temp-print-order").html(html);
-                        LODOP.PRINT_INIT('打印订单' + orderId);
-                        LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
-                        LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
-                        LODOP.SELECT_PRINTER(true);
-                        // 注意,选择打印机后,需要更改打印机事件,否则无法执行回调
+                            if(mains != null){
+                                var html = res.PrintTemplate;
+                                $("#temp-print-order").html(html);
+                                LODOP.PRINT_INIT('打印订单' + orderId);
+                                LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
+                                LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
+                                LODOP.SELECT_PRINTER(true);
+                            }else{
+                                //打印子订单
+                                var SubPrintTemplates = res.SubPrintTemplates;
+                                var sus = new Array()
+                                for (var i = 0; i < subs.length; i++) {
+                                        sus[i] = SubPrintTemplates[subs[i]]
+                                }
+                                if(sus != null){
+                                    sus.map(function (item,index,ary ) {
+                                           $("#temp-print-order").html(item);
+                                            var subPrintTemplate = $("#temp-print-order").html();
+                                            suPrint(subPrintTemplate);
+                                    });
+                                }
+                                layer.msg("打印成功",{icon: 6,time:3000});
+                            }
+                            // 注意,选择打印机后,需要更改打印机事件,否则无法执行回调
                         var spans = $("span");
-                        for (var i = 0; i < spans.length; i++) {
-                            if ($(spans[i]).text() === "打印份数:") {
-                                $(spans[i]).parent().next()[0].onclick = function () {
-                                    CLODOP.SelectBox.clickOK(false);
-                                    layer.msg("打印成功",{icon: 6,time:3000});
-
-
+                        if(subs != null && subs.length > 0){
+                            for (var i = 0; i < spans.length; i++) {
+                                if ($(spans[i]).text() === "打印份数:") {
+                                    $(spans[i]).parent().next()[0].onclick = function () {
+                                        CLODOP.SelectBox.clickOK(false);
+                                        layer.msg("打印成功",{icon: 6,time:3000});
+                                        //打印子订单
+                                        var SubPrintTemplates = res.SubPrintTemplates;
+                                        var sus = new Array()
+                                        for (var i = 0; i < subs.length; i++) {
+                                            sus[i] = SubPrintTemplates[subs[i]]
+                                        }
+                                        if(sus != null){
+                                            sus.map(function (item,index,ary ) {
+                                                $("#temp-print-order").html(item);
+                                                var subPrintTemplate = $("#temp-print-order").html();
+                                                suPrint(subPrintTemplate);
+                                            });
+                                        }
+                                    };
+                                }
+                            }
+                        }
 
-                                    //打印子订单
+                    }
+                }
+            });
+        } else {
+            // IE浏览器
+            /*var printIndex = LODOP.SELECT_PRINTER();
+            // 如果返回-1表示不打印
+            if (printIndex!==-1) {*/
+                $.ajax({
+                    type: "POST",
+                    data: {
+                        "orderId":$("#orderId").val(),
+                        "salesId":$("#salesId").val()
+                    },
+                    async: true,
+                    url: "${path}/admin/await_send/rePrintOrder",
+                    success: function(data) {
+                        // 请求成功
+                        var res = $.parseJSON(data.returnMsg.json);
+                        var flag = true;
+                        if (data.resultMsg && res.Success) {
+                            if (mains != null) {
+                                var html = res.PrintTemplate;
+                                $("#temp-print-order").html(html);
+                                LODOP.PRINT_INIT('打印订单' + orderId);
+                                LODOP.SET_PRINT_PAGESIZE(0, 0, 0, "");
+                                LODOP.ADD_PRINT_HTM("0mm", "0mm", "100%", "100%", $("#temp-print-order").html());
+                                flag = LODOP.PRINT();
+                            }else{
+                                //打印子订单
+                                var SubPrintTemplates = res.SubPrintTemplates;
+                                var sus = new Array()
+                                for (var i = 0; i < subs.length; i++) {
+                                    sus[i] = SubPrintTemplates[subs[i]]
+                                }
+                                if(sus != null){
+                                    sus.map(function (item,index,ary ) {
+                                        $("#temp-print-order").html(item);
+                                        var subPrintTemplate = $("#temp-print-order").html();
+                                        suPrint(subPrintTemplate);
+                                    });
+                                }
+                                return;
+                            }
+                            if (flag) {
+                                layer.msg("打印成功", {icon: 6, time: 3000});
+                                //打印子订单
+                                if(subs != null && subs.length > 0) {
                                     var SubPrintTemplates = res.SubPrintTemplates;
-                                    var SubOrders = res.SubOrders;
-                                    if(SubPrintTemplates != null){
-                                        SubPrintTemplates.map(function (item,index,ary ) {
-                                            console.log(item);
+                                    var sus = new Array()
+                                    for (var i = 0; i < subs.length; i++) {
+                                        sus[i] = SubPrintTemplates[subs[i]]
+                                    }
+                                    if(sus != null){
+                                        sus.map(function (item,index,ary ) {
                                             $("#temp-print-order").html(item);
                                             var subPrintTemplate = $("#temp-print-order").html();
-                                            var orderid = SubOrders[i];
-
                                             suPrint(subPrintTemplate);
                                         });
                                     }
+                                }
+                            }
+                        }
+                    }
+                });
+            /*}*/
+        }
+    }
 
+    var salesOrder  = null;
+    var product = "";
+    function  getSaleOrder(salesPostNum) {
+        $.ajax({
+            "type" : "post",
+            data: {
+                "salesPostNum":salesPostNum
+            },
+            "url" : "${path}/admin/salesOrder/getSalesOrderByPostNum",
+            async:false,
+            "success" : function(data) {
+                if(data.returnCode == 200){
+                    salesOrder = data.returnMsg.salesOrder;
+                }
+            },
+            "error":function(data){
+            }
+        });
+    }
 
-
-                                };
+    function re_print_order(orderId,salesId) {
+        $("#orderId").val(orderId);
+        $("#salesId").val(salesId);
+        var LODOP=getLodop();
+        // 选择打印设备,注意:选择打印机时,需要区别IE类浏览器和非IE浏览器
+        var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
+        if (!isIE) {
+            // 非IE类浏览器
+            $.ajax({
+                type: "POST",
+                data: {
+                    "orderId":orderId,
+                    "salesId":salesId
+                },
+                async: true,
+                url: "${path}/admin/await_send/rePrintOrder",
+                success: function(data){
+                    var res = $.parseJSON(data.returnMsg.json);
+                    if (data.resultMsg && res.Success) {
+                    // 请求成功
+                    if(data.returnMsg.isSub){
+                        $("#subOrderUl").html('');
+                        var SubOrders = res.SubOrders;
+                        var LogisticCode = res.Order.LogisticCode;
+                        //查询主订单
+                        getSaleOrder(LogisticCode);
+                        if(salesOrder != null){
+                            for(var i=0;i<salesOrder.salesOrderItemList.length;i++){
+                                product += salesOrder.salesOrderItemList[i].itemProductName +"("+ salesOrder.salesOrderItemList[i].itemProductColor +"*"+ salesOrder.salesOrderItemList[i].itemNum+")<br>"
+                            }
+                            $("#subOrderUl").append('<tr class="text-c order_tr">' +
+                                    '<td><input type="checkbox" class="main_index" value="0" ></td>' +
+                                    '<td>'+LogisticCode+'</td>' +
+                                    '<td>'+product+'</td>' +
+                                    '<td>'+salesOrder.salesAddressName +"/"+salesOrder.salesAddressTel+'</td>' +
+                                    '</tr>');
+                            product = "";
+                            salesOrder = null;
+                        }
+                        //查询子订单
+                        if(SubOrders != null){
+                            SubOrders.map(function (item,index,ary ) {
+                                console.log(item);
+                                //查询订单
+                                getSaleOrder(item);
+                                if(salesOrder != null){
+                                    for(var i=0;i<salesOrder.salesOrderItemList.length;i++){
+                                        product += salesOrder.salesOrderItemList[i].itemProductName +"("+ salesOrder.salesOrderItemList[i].itemProductColor +"*"+ salesOrder.salesOrderItemList[i].itemNum+")<br>"
+                                    }
+                                }
+                                $("#subOrderUl").append('<tr class="text-c order_tr">' +
+                                        '<td><input type="checkbox" class="sub_index" value="'+index+'" ></td>' +
+                                        '<td>'+item+'</td>' +
+                                        '<td>'+product+'</td>' +
+                                        '<td>'+salesOrder.salesAddressName +"/"+salesOrder.salesAddressTel+'</td>' +
+                                        '</tr>');
+                                product = "";
+                                salesOrder = null;
+                            });
+                        }
+                        layer.closeAll();
+                        toDoShow3();
+                    }else{
+                            var html = res.PrintTemplate;
+                            $("#temp-print-order").html(html);
+                            LODOP.PRINT_INIT('打印订单' + orderId);
+                            LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
+                            LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
+                            LODOP.SELECT_PRINTER(true);
+                            // 注意,选择打印机后,需要更改打印机事件,否则无法执行回调
+                            var spans = $("span");
+                            for (var i = 0; i < spans.length; i++) {
+                                if ($(spans[i]).text() === "打印份数:") {
+                                    $(spans[i]).parent().next()[0].onclick = function () {
+                                        CLODOP.SelectBox.clickOK(false);
+                                        layer.msg("打印成功",{icon: 6,time:3000});
+
+                                        /*//打印子订单
+                                        var SubPrintTemplates = res.SubPrintTemplates;
+                                        var SubOrders = res.SubOrders;
+                                        if(SubPrintTemplates != null){
+                                            SubPrintTemplates.map(function (item,index,ary ) {
+                                                console.log(item);
+                                                $("#temp-print-order").html(item);
+                                                var subPrintTemplate = $("#temp-print-order").html();
+                                                var orderid = SubOrders[0];
+                                                suPrint(subPrintTemplate);
+                                            });
+                                        }*/
+
+
+
+                                    };
+                                }
                             }
                         }
                     } else {
                         layer.msg(res.Reason,{icon: 2,time:3000});
                     }
+
                 }
             });
         } else {
             // IE浏览器
-            var printIndex = LODOP.SELECT_PRINTER();
+            /*var printIndex = LODOP.SELECT_PRINTER();
             // 如果返回-1表示不打印
-            if (printIndex!==-1) {
+            if (printIndex!==-1) {*/
                 $.ajax({
                     type: "POST",
                     data: {
-                        "orderId":orderId
+                        "orderId":orderId,
+                        "salesId":salesId
                     },
                     async: true,
                     url: "${path}/admin/await_send/rePrintOrder",
                     success: function(data){
                         // 请求成功
                         var res = $.parseJSON(data.returnMsg.json);
-                        if (data.resultMsg && res.Success) {
-                            var html = res.PrintTemplate;
-                            $("#temp-print-order").html(html);
-                            LODOP.PRINT_INIT('打印订单' + orderId);
-                            LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
-                            LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
-                            var flag = LODOP.PRINT();
-                            if (flag) {
-                                layer.msg("打印成功",{icon: 6,time:3000});
+                            if (data.resultMsg && res.Success) {
+                                // 请求成功
+                                if(data.returnMsg.isSub){
+                                    $("#subOrderUl").html('');
+                                    var SubOrders = res.SubOrders;
+                                    var LogisticCode = res.Order.LogisticCode;
+                                    //查询主订单
+                                    getSaleOrder(LogisticCode);
+                                    if(salesOrder != null){
+                                        for(var i=0;i<salesOrder.salesOrderItemList.length;i++){
+                                            product += salesOrder.salesOrderItemList[i].itemProductName +"("+ salesOrder.salesOrderItemList[i].itemProductColor +"*"+ salesOrder.salesOrderItemList[i].itemNum+")<br>"
+                                        }
+                                        $("#subOrderUl").append('<tr class="text-c order_tr">' +
+                                                '<td><input type="checkbox" class="main_index" value="0" ></td>' +
+                                                '<td>'+LogisticCode+'</td>' +
+                                                '<td>'+product+'</td>' +
+                                                '<td>'+salesOrder.salesAddressName +"/"+salesOrder.salesAddressTel+'</td>' +
+                                                '</tr>');
+                                        product = "";
+                                        salesOrder = null;
+                                    }
+                                    //查询子订单
+                                    if(SubOrders != null){
+                                        SubOrders.map(function (item,index,ary ) {
+                                            console.log(item);
+                                            //查询订单
+                                            getSaleOrder(item);
+                                            if(salesOrder != null){
+                                                for(var i=0;i<salesOrder.salesOrderItemList.length;i++){
+                                                    product += salesOrder.salesOrderItemList[i].itemProductName +"("+ salesOrder.salesOrderItemList[i].itemProductColor +"*"+ salesOrder.salesOrderItemList[i].itemNum+")<br>"
+                                                }
+                                            }
+                                            $("#subOrderUl").append('<tr class="text-c order_tr">' +
+                                                    '<td><input type="checkbox" class="sub_index" value="'+index+'" ></td>' +
+                                                    '<td>'+item+'</td>' +
+                                                    '<td>'+product+'</td>' +
+                                                    '<td>'+salesOrder.salesAddressName +"/"+salesOrder.salesAddressTel+'</td>' +
+                                                    '</tr>');
+                                            product = "";
+                                            salesOrder = null;
+                                        });
+                                    }
+                                    layer.closeAll();
+                                    toDoShow3();
+                            }else{
+                                var html = res.PrintTemplate;
+                                $("#temp-print-order").html(html);
+                                LODOP.PRINT_INIT('打印订单' + orderId);
+                                LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
+                                LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
+                                var flag = LODOP.PRINT();
+                                if (flag) {
+                                    layer.msg("打印成功",{icon: 6,time:3000});
+                                    //打印子订单
+                                    /*var SubPrintTemplates = res.SubPrintTemplates;
+                                    var SubOrders = res.SubOrders;
+                                    if(SubPrintTemplates != null){
+                                        SubPrintTemplates.map(function (item,index,ary ) {
+                                            console.log(item);
+                                            $("#temp-print-order").html(item);
+                                            var subPrintTemplate = $("#temp-print-order").html();
+                                            var orderid = SubOrders[i];
 
+                                            suPrint(subPrintTemplate);
+                                        });
+                                    }*/
 
 
-                                //打印子订单
-                                var SubPrintTemplates = res.SubPrintTemplates;
-                                var SubOrders = res.SubOrders;
-                                if(SubPrintTemplates != null){
-                                    SubPrintTemplates.map(function (item,index,ary ) {
-                                        console.log(item);
-                                        $("#temp-print-order").html(item);
-                                        var subPrintTemplate = $("#temp-print-order").html();
-                                        var orderid = SubOrders[i];
 
-                                        suPrint(subPrintTemplate);
-                                    });
                                 }
-
-
-
+                              }
+                            } else {
+                                layer.msg(res.Reason,{icon: 2,time:3000});
                             }
-                        } else {
-                            layer.msg(res.Reason,{icon: 2,time:3000});
-                        }
                     }
                 });
-            }
+            /*}*/
         }
     }
 
@@ -410,6 +713,7 @@
     }
     //子单打印调用
     function suPrint(subPrintTemplate) {
+        var LODOP=getLodop();
         console.log(subPrintTemplate);
         LODOP.ADD_PRINT_HTM("0mm", "0mm", "100%", "100%", subPrintTemplate);
         return LODOP.PRINT();