Browse Source

修改订单bug

wangxiaoming 6 years ago
parent
commit
c739bd76d6

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

@@ -181,5 +181,12 @@ public interface SalesOrderService {
      */
     Integer getOrderBySalesDealCodeNum(String code);
 
+    /**
+     * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
+     * @param salesOrder
+     * @return
+     */
+    List<SalesOrder> listSalesOrderAndItem(SalesOrder salesOrder);
+
 
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -740,5 +740,10 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return salesOrderMapper.getOrderBySalesDealCodeNum(code);
     }
 
+    @Override
+    public List<SalesOrder> listSalesOrderAndItem(SalesOrder salesOrder) {
+        return salesOrderMapper.listSalesOrderAndItem(salesOrder);
+    }
+
 
 }

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -140,4 +140,11 @@ public interface SalesOrderMapper {
      * @return
      */
     List<SalesOrder> getOrderStoreName(String orderBacthId);
+
+    /**
+     * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
+     * @param salesOrder
+     * @return
+     */
+    List<SalesOrder> listSalesOrderAndItem(SalesOrder salesOrder);
 }

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

@@ -619,4 +619,18 @@
       GROUP BY t.sales_store_id
   </select>
 
+  <!-- 按照批次查询订单项,并下载,订单列表主要按照订单项来排列 -->
+  <select id="listSalesOrderAndItem" parameterType="SalesOrder" resultType="SalesOrder">
+    SELECT
+        t.*,
+        soi.*
+    FROM
+        tb_rst_sales_order_info t
+    LEFT JOIN tb_rst_store_info si ON t.sales_store_id = si.store_id
+    LEFT JOIN tb_rst_sales_order_item soi ON t.sales_id = soi.item_order_id
+    WHERE t.sales_batch_id = #{salesBatchId}
+  </select>
+
+
+
 </mapper>

+ 5 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -732,7 +732,11 @@ public class AdminOrderController {
 
         SalesOrder so = new SalesOrder();
         so.setSalesBatchId(orderBatchId);
-        List<SalesOrder> temporarySalesOrderList = salesOrderService.listSalesOrder(so);
+        List<SalesOrder> temporarySalesOrderList = salesOrderService.listSalesOrderAndItem(so);
+
+        if(temporarySalesOrderList.size() > 1000){
+            return new ModelAndView().addObject("下载出错");
+        }
 
         // 准备model
         Map<String, Object> model = new HashMap<String, Object>();

+ 4 - 3
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -465,6 +465,9 @@ public class ExcelUtil {
         while (rows.hasNext()) {
             Row temp = rows.next();
             try {
+                if(errorNum > 5){
+                    break;
+                }
 
                 String nameValue = getValue(temp.getCell(nameColumnIndex));  // 读取name
                 String platformOrderIdValue = getValue(temp.getCell(platformOrderColumnIndex));  // 读取平台id
@@ -475,9 +478,6 @@ public class ExcelUtil {
                 String OrderProductBarCodeValue = map.get(getValue(temp.getCell(productColumnIndex)).trim()); // 读取对应的产品id
                 if(StringUtils.isEmpty(nameValue) && StringUtils.isEmpty(userTel) && StringUtils.isEmpty(OrderProductBarCodeValue)){
                     errorNum ++;
-                    if(errorNum > 3){
-                        break;
-                    }
                     continue;
                 }
 
@@ -600,6 +600,7 @@ public class ExcelUtil {
                 orderEfasts.add(order);
             } catch (Exception e) {
                 row.getCell(0).setCellStyle(cellStyle);
+                errorNum ++;
                 logger.error(e.getMessage(), e);
             }
             // 迭代

+ 1 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/salesOrder/sales_order_list.ftl

@@ -385,6 +385,7 @@
                 }
             }
         });
+
     })
 
 </script>

+ 55 - 41
watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order_new.ftl

@@ -560,8 +560,11 @@
         /*快递公司*/
         var postType = $("[name='product-post-type']:checked").val();
 
-        // 对应好Excel和系统需要的数据以后,准备推送Efast
-        $.post(root_path + "/admin/order/toobj_sendefast",{
+
+        $.ajax({
+            type:'POST',
+            url: root_path + "/admin/order/toobj_sendefast",
+            data:{
                 "filePath":$("#productUrl").val(),
                 "map":mapArray,
                 "platformOrder" : platformOrdersArray,
@@ -576,48 +579,59 @@
                 "num":numArray,
                 "remark":remarkArray,
                 "orderBatch":orderBatch
-        },function(result){
-            if (result.returnCode != 200) {
-                layer.msg('加载失败,请重试,请确认选择内容对应无误!',{icon: 5,time:3000});
-            } else {
-                var $body = $("#send_tbody");
-                var list = result.returnMsg.order_list;
-                var faultNum = 0;
-                var newFaultNum = result.returnMsg.newFaultNum;
-                var mapSalesOrderSize = result.returnMsg.mapSalesOrderSize;
-                for (var i = 0; i < list.length; i++) {
-                    var order = list[i];
-                    // 推送失败 展示 颜色
-                    var style = order.styleColor;
-                    /*if (order.returnStatus != 'SUCCESS') {
-                        style = 'color:red;';
-                        faultNum ++;
-                    }else{
-                        style = 'color:black;';
-                    }*/
-                    $body.append('<tr class="text-c">'+
-                            '<td style="' + style + '">' + order.orderAddressName + '</td>'+
-                            '<td style="' + style + '">' + order.orderAddressTel + '</td>'+
-                            '<td style="' + style + '">' + order.orderProvince + '</td>'+
-                            '<td style="' + style + '">' + order.orderCity + '</td>'+
-                            '<td style="' + style + '">' + order.orderArea + '</td>'+
-                            '<td style="' + style + '">' + order.orderAddress + '</td>'+
-                            '<td style="' + style + '">' + order.orderProductName + '</td>'+
-                            '<td style="' + style + '">' + order.orderNum + '</td>'+
-                            '<td style="' + style + '">' + order.orderRemark + '</td>'+
-                            '<td style="' + style + '">' + convertUndefinedToEmpty(order.returnMsg) + '</td>'+
-                            '</tr>');
-                }
-                error_path = result.returnMsg.errorPath;
-                $("#order_total").text(mapSalesOrderSize);
-                $("#order_fault_num").text(newFaultNum);
-                modaldemo();
+            },
+            dataType: 'json',
+            async: false,
+            success:function(result) {
+                if (result.returnCode != 200) {
+                    layer.msg('加载失败,请重试,请确认选择内容对应无误!',{icon: 5,time:3000});
+                } else {
+                    var $body = $("#send_tbody");
+                    var list = result.returnMsg.order_list;
+                    var faultNum = 0;
+                    var newFaultNum = result.returnMsg.newFaultNum;
+                    var mapSalesOrderSize = result.returnMsg.mapSalesOrderSize;
+                    for (var i = 0; i < list.length; i++) {
+                        var order = list[i];
+                        // 推送失败 展示 颜色
+                        var style = order.styleColor;
+                        /*if (order.returnStatus != 'SUCCESS') {
+                            style = 'color:red;';
+                            faultNum ++;
+                        }else{
+                            style = 'color:black;';
+                        }*/
+                        $body.append('<tr class="text-c">'+
+                                '<td style="' + style + '">' + order.orderAddressName + '</td>'+
+                                '<td style="' + style + '">' + order.orderAddressTel + '</td>'+
+                                '<td style="' + style + '">' + order.orderProvince + '</td>'+
+                                '<td style="' + style + '">' + order.orderCity + '</td>'+
+                                '<td style="' + style + '">' + order.orderArea + '</td>'+
+                                '<td style="' + style + '">' + order.orderAddress + '</td>'+
+                                '<td style="' + style + '">' + order.orderProductName + '</td>'+
+                                '<td style="' + style + '">' + order.orderNum + '</td>'+
+                                '<td style="' + style + '">' + order.orderRemark + '</td>'+
+                                '<td style="' + style + '">' + convertUndefinedToEmpty(order.returnMsg) + '</td>'+
+                                '</tr>');
+                    }
+                    error_path = result.returnMsg.errorPath;
+                    $("#order_total").text(mapSalesOrderSize);
+                    $("#order_fault_num").text(newFaultNum);
+                    modaldemo();
 
-                var fileName = result.returnMsg.fileName;
-                download_order_id_path = fileName;
+                    var fileName = result.returnMsg.fileName;
+                    download_order_id_path = fileName;
+                }
+                layer.close(index);
+            },
+            error:function(data, XMLHttpRequest, textStatus, errorThrown){
+                layer.close(index);
+                layer.msg('提交失败,请重试!',{icon: 5,time:3000});
+                return false;
             }
-            layer.close(index);
         });
+
+
     }
 
     var error_path = null;