Bläddra i källkod

优化订单列表展示

xian 4 år sedan
förälder
incheckning
a188a3ae77

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

@@ -363,9 +363,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         salesOrder.setEndOrderNO(pageSize);
         //查询订单列表信息
         List<SalesOrder> orderList = salesOrderMapper.listSalesOrderNew(salesOrder);
-        for(SalesOrder so : orderList){
+        orderList.forEach((so) -> {
             List<SalesOrderItem> salesOrderItemList = listOrderItem(so.getSalesId());
-            for(SalesOrderItem item : salesOrderItemList){
+            salesOrderItemList.forEach((item) -> {
                 //判断是否包含净水机 1是 2否
                 if(item.getColorIsMachine() != null){
                     if(item.getColorIsMachine() == 1){
@@ -376,9 +376,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 }else{
                     so.setIsDevelop(1);
                 }
-            }
+            });
             so.setSalesOrderItemList(salesOrderItemList);
-        }
+        });
         PagedResult<SalesOrder> result = PageUtil.getPage(orderList);
         // 查询分页的数据
         int count = salesOrderMapper.listSalesOrderNum(salesOrder);

+ 3 - 0
watero-rst-service/src/main/java/com/iamberry/rst/util/GenerateKeyUtil.java

@@ -14,7 +14,10 @@ import org.springframework.stereotype.Component;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.Objects;
 import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.locks.ReentrantLock;
 
 /***
  * 用于生成单号

+ 52 - 143
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -1,5 +1,6 @@
 package com.iamberry.rst.controllers.order;
 
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.iamberry.redis.RedisUtils;
 import com.iamberry.rst.core.cm.CompanyInfo;
 import com.iamberry.rst.core.cm.SalesOrder;
@@ -66,8 +67,6 @@ public class AdminSalesOrderController {
     @Autowired
     private SalesOrderService salesOrderService;
     @Autowired
-    private EfastOrderService efastOrderService;
-    @Autowired
     private CompanyInfoService companyInfoService;
     @Autowired
     private StoreInfoService storeInfoService;
@@ -90,11 +89,10 @@ public class AdminSalesOrderController {
     @Autowired
     private DealerProductService dealerProductService;
     @Autowired
-    private SupplierProductService supplierProductService;
-    @Autowired
     private OrderDepartService orderDepartService;
     @Autowired
     private SysService sysService;
+
     /**
      * 分页查询订单列表信息
      * @param request
@@ -188,7 +186,8 @@ public class AdminSalesOrderController {
         if(identity == 2){
             salesOrder.setSalesAdminId(admin.getAdminId());
         }
-        salesOrder.setIsSelectCustomer(2);//不查询客诉添加的订单
+        //不查询客诉添加的订单
+        salesOrder.setIsSelectCustomer(2);
         //分页获取订单信息
         PagedResult<SalesOrder> pagedResult = salesOrderService.listSalesOrderPage(pageNO, pageSize, salesOrder,totalNum == 0);
         if (totalNum != 0) {
@@ -469,70 +468,9 @@ public class AdminSalesOrderController {
         }else{
             return "01";
         }
-        /*String postCode = "";
-        switch (firm) {
-            case "申通快递":postCode = "sto";break;
-            case "圆通快递":postCode = "yto";break;
-            case "顺丰快递":postCode = "sf";break;
-            case "邮政EMS":postCode = "ems";break;
-            case "省外EMS":postCode = "ems";break;
-            case "中通快递":postCode = "zto";break;
-            case "宅急送":postCode = "zjs";break;
-            case "韵达快递":postCode = "yunda";break;
-            case "cces快递":postCode = "cces";break;
-            case "上门提货":postCode = "pick";break;
-            case "汇通快递":postCode = "htky";break;
-            case "天天快递":postCode = "ttkdex";break;
-            case "星晨急便":postCode = "stars";break;
-            case "京东快递":postCode = "jd";break;
-            case "其他":postCode = "01";break;
-            case "上门送货":postCode = "02";break;
-            default:postCode = "sto";break;
-        }
-        return postCode;*/
     }
 
     /**
-     * 同步百胜订单
-     *
-     * @return
-     * @throws Exception
-     */
-//    @ResponseBody
-//    @RequiresPermissions("salesOrder:sync:order")
-//    @RequestMapping("/sync_efast_order")
-//    public ResponseJson syncEfastOrder(HttpServletRequest request) throws Exception {
-//        String salesDealCode = request.getParameter("salesDealCode").trim();
-//        if (!StringUtils.isNotEmpty(salesDealCode)) {
-//            return new ResponseJson(500, "订单编号不能为空,请重新输入!", 500);
-//        }
-//        //根据时间排序查询订单 信息
-//        SalesOrder salesOrder = new SalesOrder();
-//        salesOrder.setSalesOrderId(salesDealCode);
-//        int num = salesOrderService.getOrderInfoCount(salesOrder);
-//        if (num > 0) {
-//            return new ResponseJson(500, "该订单已存在,无需同步!", 500);
-//        }
-//        synchronized (lock) {
-//            //获取订单详情
-//            JSONObject orderInfo = efastOrderService.getOrderFormEfastByOrderId(salesDealCode);
-//            //添加订单和订单项
-//            boolean flag = true;
-//            try {
-//                flag = salesOrderService.syncEfastOrder(orderInfo);
-//            }catch (Exception e){
-//                return new ResponseJson(500, e.getMessage(), 500);
-//            }
-//            if (flag) {
-//                return new ResponseJson(200, "同步成功!", 200);
-//            } else {
-//                return new ResponseJson(500, "同步订单错误!", 500);
-//            }
-//        }
-//    }
-
-
-    /**
      * 获取导出数量
      *
      * @return
@@ -628,6 +566,7 @@ public class AdminSalesOrderController {
                 case 3:payType = "已支付定金¥99";break;
                 case 4:payType = "刷卡支付";break;
                 case 5:payType = "支付宝支付";break;
+                default:payType = "未知";break;
             }
 
             StoreInfo storeInfo = storeInfoService.getStoreInfoById(order.getSalesStoreId());
@@ -696,10 +635,14 @@ public class AdminSalesOrderController {
         if(listString == null){
             return "数据不合格,请检查文档内的数据是否正常!";
         }
-        List<String> tradings =   ExcelUtil.readCell2(path,listString.get(2));//外部交易号
-        List<String> oderIds =   ExcelUtil.readCell2(path,listString.get(4));//efast订单号
-        List<String> kuyaidi =   ExcelUtil.readCell2(path,listString.get(12));//快递公司
-        List<String> danhao =   ExcelUtil.readCell2(path,listString.get(15));//快递单号
+        //外部交易号
+        List<String> tradings =   ExcelUtil.readCell2(path,listString.get(2));
+        //efast订单号
+        List<String> oderIds =   ExcelUtil.readCell2(path,listString.get(4));
+        //快递公司
+        List<String> kuyaidi =   ExcelUtil.readCell2(path,listString.get(12));
+        //快递单号
+        List<String> danhao =   ExcelUtil.readCell2(path,listString.get(15));
         if(oderIds == null || tradings == null || kuyaidi == null || danhao == null){
             return "数据不合格,请检查文档内的数据是否正常!";
         }
@@ -720,7 +663,8 @@ public class AdminSalesOrderController {
                salesOrder.setSalesPostFirm(code);
                salesOrder.setSalesPostNum(danhao.get(i));
                salesOrder.setSalesSendTime(new Date());
-               salesOrder.setSalesShippingStatus(1);//状态改为已发货
+               //状态改为已发货
+               salesOrder.setSalesShippingStatus(1);
                Integer msg = salesOrderService.updateSalesOrderByDealCode(salesOrder);
                if(msg > 0){
                    success++;
@@ -939,12 +883,12 @@ public class AdminSalesOrderController {
         try{
             String salesOrderInfo = order.getSalesAddressInfo();
             String[] salesOrderInfos = new String[4];
-            Integer salesOrderInfoLength = salesOrderInfo.length() - 3;
-            if(salesOrderInfo.indexOf("-") > -1  && salesOrderInfo.replaceAll("-", "").length()<=salesOrderInfoLength){
+            int salesOrderInfoLength = salesOrderInfo.length() - 3;
+            if(salesOrderInfo.contains("-") && salesOrderInfo.replaceAll("-", "").length()<=salesOrderInfoLength){
                 salesOrderInfos = salesOrderInfo.split("-");
-            }else if(salesOrderInfo.indexOf(" ") > -1 && salesOrderInfo.replaceAll(" ", "").length()<=salesOrderInfoLength){
+            }else if(salesOrderInfo.contains(" ") && salesOrderInfo.replaceAll(" ", "").length()<=salesOrderInfoLength){
                 salesOrderInfos = salesOrderInfo.split(" ");
-            }else if(salesOrderInfo.indexOf(",") > -1 && salesOrderInfo.replaceAll(",", "").length()<=salesOrderInfoLength){
+            }else if(salesOrderInfo.contains(",") && salesOrderInfo.replaceAll(",", "").length()<=salesOrderInfoLength){
                 salesOrderInfos = salesOrderInfo.split(",");
             }
             if(salesOrderInfos.length > 3){
@@ -965,7 +909,7 @@ public class AdminSalesOrderController {
 
         //判断该订单为什么类型订单
         Integer orderType = 0;  //0为其他  1为微商城推送订单   2为手动添加  3位导单
-        if(order.getSalesBatchId().indexOf("SD") > -1){      //salesDealCode
+        if(order.getSalesBatchId().indexOf("SD") > -1){
             orderType = 2;
         }else if(order.getSalesBatchId().indexOf("SC") > -1){
             orderType = 3;
@@ -1149,7 +1093,7 @@ public class AdminSalesOrderController {
                salesOrder.setSalesBatchId(ids);
                List<SalesOrder> salesOrderList = salesOrderService.listSalesOrder(salesOrder);
                for (SalesOrder so:salesOrderList) {
-                   if(so.getSalesStatus() == 1 && so.getSalesShippingStatus() == 0){  //salesStatus
+                   if(so.getSalesStatus() == 1 && so.getSalesShippingStatus() == 0){
                        SalesOrder newOrder = new SalesOrder();
                        newOrder.setSalesId(so.getSalesId());
                        newOrder.setSalesOrderId(so.getSalesDealCode());
@@ -1192,11 +1136,12 @@ public class AdminSalesOrderController {
      */
     @ResponseBody
     @RequestMapping("/confirm_refund")
-    public ResponseJson confirm_refund(HttpServletRequest request,Integer salesOrderId) throws Exception {
+    public ResponseJson confirmRefund(HttpServletRequest request,Integer salesOrderId) throws Exception {
         ResponseJson rj = ResponseJson.getFAILURE();
         SalesOrder salesOrder = new SalesOrder();
         salesOrder.setSalesId(salesOrderId);
-        salesOrder.setSalesProcessRefund(1);    //确认退款
+        //确认退款
+        salesOrder.setSalesProcessRefund(1);
         Integer flag = salesOrderService.update(salesOrder);
         if(flag > 0){
             rj = new ResponseJson(200, "确认成功", 200);
@@ -1242,49 +1187,6 @@ public class AdminSalesOrderController {
     }
 
     /**
-     * 通知配货
-     * @param request
-     * @return
-     * @throws Exception
-     */
-//    @ResponseBody
-//    @RequestMapping("/notice_distribution")
-//    @RequiresPermissions("salesOrder:distribution:salesOrder")
-//    public ResponseJson noticeDistribution(HttpServletRequest request,Integer[] salesOrderIds,Integer warehouseId) throws Exception {
-//        ResponseJson rj = ResponseJson.getFAILURE();
-//        Integer flag = 0;
-//        StringBuilder errorId = new StringBuilder();
-//        if(warehouseId == null){
-//            return rj;
-//        }
-//        for (Integer salesIds:salesOrderIds) {
-//            SalesOrder salesOrder = salesOrderService.getSalesOrderById(salesIds);
-//            if(salesOrder == null || salesOrder.getSalesPostFirm() == null || salesOrder.getSalesPostFirm().isEmpty()){
-//                //检查订单是否已经有了配送方式,如果没有不允许通知配货
-//                errorId.append(salesIds).append(",");
-//                continue;
-//            }
-//            SalesOrder newOrder = new SalesOrder();
-//            newOrder.setSalesId(salesIds);
-//            newOrder.setSalesOrderId(salesOrder.getSalesDealCode());
-//            newOrder.setSalesShippingStatus(11);
-//            newOrder.setSalesWarehouseId(warehouseId);
-//            flag = salesOrderService.noticeDistribution(newOrder);
-//            if(flag < 1){
-//                errorId.append(salesIds).append(",");
-//            }
-//        }
-//        if(errorId.length() > 0){
-//            rj.setResultMsg(errorId.toString());
-//            logger.info("通知配货失败订单id:"+errorId);
-//            return rj;
-//        }
-//        rj = new ResponseJson(200, "修改成功", 200);
-//        return rj;
-//    }
-
-
-    /**
      *确认订单
      * @param request
      * @return
@@ -1317,7 +1219,8 @@ public class AdminSalesOrderController {
             }
 
             if(generateKeyUtil.isXytBatchId(so.getSalesBatchId())){
-                if(so.getSalesProcessRefund() == null || so.getSalesProcessRefund() == 0){   //第三方平台订单出现退款后,重复确认才能变为处理 0.未处理
+                if(so.getSalesProcessRefund() == null || so.getSalesProcessRefund() == 0){
+                    //第三方平台订单出现退款后,重复确认才能变为处理 0.未处理
                     if(so.getSalesWarrantyStatus() != 0){
                         errorId += so.getSalesDealCode() + ": 第三方(小亚通)出现退款,需要核对,并需要审核该订单;";
                         continue;
@@ -1428,7 +1331,7 @@ public class AdminSalesOrderController {
     public ResponseJson distributionExpress(HttpServletRequest request,Integer[] salesOrderIds,String orderExpress) throws Exception {
         ResponseJson rj = ResponseJson.getFAILURE();
         Integer flag = 0;
-        String errorId = "";
+        StringBuilder errorId = new StringBuilder();
         for (Integer salesIds:salesOrderIds) {
             SalesOrder so = new SalesOrder();
             so.setSalesId(salesIds);
@@ -1439,11 +1342,11 @@ public class AdminSalesOrderController {
                 e.printStackTrace();
             }
             if(flag < 1){
-                errorId  += salesIds + ",";
+                errorId.append(salesIds).append(",");
             }
         }
         if(errorId.length() > 0){
-            rj.addResponseKeyValue("errorId",errorId);
+            rj.addResponseKeyValue("errorId", errorId.toString());
             return rj;
         }
         rj = new ResponseJson(200, "分配发货方式成功", 200);
@@ -1567,7 +1470,7 @@ public class AdminSalesOrderController {
     @ResponseBody
     @RequestMapping("/to_update_order_remark")
     @RequiresPermissions("salesOrder:select:salesOrder")
-    public ModelAndView to_update_order_remark(@RequestParam("salesId") Integer salesId) {
+    public ModelAndView toUpdateOrderRemark(@RequestParam("salesId") Integer salesId) {
         SalesOrder salesOrder = salesOrderService.getSalesOrderById(salesId);
         return new ModelAndView("order/salesOrder/update_order_remark").addObject("salesOrder", salesOrder);
     }
@@ -1578,7 +1481,7 @@ public class AdminSalesOrderController {
     @ResponseBody
     @RequestMapping("/update_order_remark")
     @RequiresPermissions("salesOrder:select:salesOrder")
-    public ResponseJson update_order_remark(SalesOrder salesOrder) {
+    public ResponseJson updateOrderRemark(SalesOrder salesOrder) {
         if(salesOrder == null  || salesOrder.getSalesId() == null || salesOrder.getSalesAdminRemark() == null){
             return ResponseJson.getFAILURE();
         }
@@ -1619,7 +1522,7 @@ public class AdminSalesOrderController {
      */
     @RequiresPermissions("salesOrder:add:manual")
     @RequestMapping(value = "/to_acorrect_order")
-    public ModelAndView to_acorrect_order(HttpServletRequest request) {
+    public ModelAndView toAcorrectOrder(HttpServletRequest request) {
         ModelAndView mv = new ModelAndView("order/salesOrder/correct_order");
         String salesId = request.getParameter("salesId");
         if (!StringUtils.isNotEmpty(salesId)) {
@@ -1872,7 +1775,7 @@ public class AdminSalesOrderController {
         //当前时间减订购时间
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date dateReceipt = new Date();
-        long diff = new Date().getTime() - salesOrder.getSalesSalesTime().getTime();
+        long diff = System.currentTimeMillis() - salesOrder.getSalesSalesTime().getTime();
         long diffDays = diff / (24 * 60 * 60 * 1000);
         if(diffDays < 7){
             dateReceipt = salesOrder.getSalesSalesTime();
@@ -1880,7 +1783,8 @@ public class AdminSalesOrderController {
             //通过快递100获取签收时间
             /*if(!StringUtils.isEmpty(salesOrder.getSalesPostFirm()) && !StringUtils.isEmpty(salesOrder.getSalesPostNum())) {*/
                 JSONObject rst = kuaidi100.getExpressInfo(salesOrder.getSalesPostFirm(), salesOrder.getSalesPostNum());
-                if (rst.has("state") && rst.getInt("state") == 3) {    //当快递状态为已签收的时候
+                if (rst.has("state") && rst.getInt("state") == 3) {
+                    //当快递状态为已签收的时候
                     JSONArray JSONArray = rst.getJSONArray("data");
                     JSONObject JSONObjects = JSONArray.getJSONObject(0);
                     try {
@@ -1902,7 +1806,7 @@ public class AdminSalesOrderController {
         }
         //判断是否符合售后条件
         //当前时间减去签收时间获取使用天数
-        long signTime = new Date().getTime() - dateReceipt.getTime();
+        long signTime = System.currentTimeMillis() - dateReceipt.getTime();
         long useTime = signTime / (24 * 60 * 60 * 1000);
         Integer state;
         Integer end;
@@ -1912,7 +1816,8 @@ public class AdminSalesOrderController {
         end = returnReason.getInt("end");
         if(state+end == 0){
             afterrulesInfo.setIsGovernancePeriod(2);
-        }else if(end == 0){//如果结束时间等于0,表示没有结束时间,默认为大于使用时间;
+        }else if(end == 0){
+            //如果结束时间等于0,表示没有结束时间,默认为大于使用时间;
             end = (int)useTime+1;
         }
         if(/*useTime >= state &&*/ useTime < end){
@@ -2223,7 +2128,6 @@ public class AdminSalesOrderController {
 
     /**
      * 上传邮费成本excel到系统订单
-     * @param response
      * @return
      */
     @RequestMapping("/uploadPostageExcel")
@@ -2258,8 +2162,8 @@ public class AdminSalesOrderController {
         });
         return "上传完成,请稍后,大约5分钟后执行完成!";
     }
-
-    private static final ThreadPoolExecutor THREAD_POOL = new ThreadPoolExecutor(1, 5, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(20), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
+    private static final ThreadFactory POST_POOL_THREAD_FACTORY = new ThreadFactoryBuilder().setNameFormat("POST-POOL-%d").build();
+    private static final ExecutorService THREAD_POOL = new ThreadPoolExecutor(1, 5, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(20), POST_POOL_THREAD_FACTORY, new ThreadPoolExecutor.AbortPolicy());
 
     /**
      * 进入添加拉货数量
@@ -2267,7 +2171,7 @@ public class AdminSalesOrderController {
      * @return
      */
     @RequestMapping("/to_addCargoInfo")
-    public ModelAndView to_addCargoInfo(HttpServletRequest request){
+    public ModelAndView toAddCargoInfo(HttpServletRequest request){
         ModelAndView mv = new ModelAndView("order/salesOrder/add_crgoInfo");
         List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         mv.addObject("logisticsInfoList",logisticsInfoList);
@@ -2342,7 +2246,8 @@ public class AdminSalesOrderController {
     @RequestMapping("/getStatusNum")
     public ResponseJson getStatusNum(HttpServletRequest request) throws Exception {
         ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
-        SalesOrder orderNum = salesOrderService.getStatusNum();//查询订单各个状态数量
+        //查询订单各个状态数量
+        SalesOrder orderNum = salesOrderService.getStatusNum();
         Admin admin = AdminUtils.getLoginAdmin();
         rj.addResponseKeyValue("orderNum",orderNum);
         rj.addResponseKeyValue("admin",admin);
@@ -2356,7 +2261,7 @@ public class AdminSalesOrderController {
      */
     @RequiresPermissions("salesOrder:eheck:salesOrder")
     @RequestMapping("/to_getSalesOrderCheck")
-    public ModelAndView to_getSalesOrderCheck(HttpServletRequest request){
+    public ModelAndView toGetSalesOrderCheck(HttpServletRequest request){
         ModelAndView mv = new ModelAndView("order/salesOrder/sales_order_check_list");
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Admin admin = AdminUtils.getLoginAdmin();
@@ -2388,18 +2293,22 @@ public class AdminSalesOrderController {
     public ResponseJson getsalesOrderCheck(HttpServletRequest request,OrderStatisticsInfo orderStatisticsInfo) throws Exception {
         ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String pickingStartDate = request.getParameter("startDate1");//1拣货单 2核对单
-        String checkStartDate = request.getParameter("startDate2");//1拣货单 2核对单
+        //1拣货单 2核对单
+        String pickingStartDate = request.getParameter("startDate1");
+        //1拣货单 2核对单
+        String checkStartDate = request.getParameter("startDate2");
         List<OrderStatisticsInfo> infos = null;
         Admin admin = AdminUtils.getLoginAdmin();
         OrderWarehouse orderWarehouse = salesOrderService.selectAdminWarehouse(admin.getAdminId());
         orderStatisticsInfo.setWarehouseId(orderWarehouse.getWarehouseId());
-        if(pickingStartDate != null){//揀貨
+        if(pickingStartDate != null){
+            //揀貨
             orderStatisticsInfo.setPickingStartDate(format.parse(pickingStartDate));
             infos = salesOrderService.getPickingOrders(orderStatisticsInfo);
             RedisUtils.put("pickingStartDate"+orderWarehouse.getWarehouseId(),format.format(new Date()));
         }
-        if(checkStartDate != null){//核对
+        if(checkStartDate != null){
+            //核对
             orderStatisticsInfo.setCheckStartDate(format.parse(checkStartDate));
             infos =  salesOrderService.getCheckOrders(orderStatisticsInfo);
             RedisUtils.put("checkStartDate"+orderWarehouse.getWarehouseId(),format.format(new Date()));

+ 29 - 19
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -120,8 +120,21 @@ public class AwaitSendController {
         }
         salesOrder.setSalesWarehouseId(orderWarehouse.getWarehouseId());
         salesOrder.setSalesStatus(1);
-        salesOrder.setSalesIsSublist(1);//不查询子订单
+        // 默认查询主订单
+        if (salesOrder.getSalesIsSublist() == null) {
+            salesOrder.setSalesIsSublist(1);
+        }
+        int suOrder = salesOrder.getSalesIsSublist();
+        // 如果查询主/子订单
+        if (salesOrder.getSalesIsSublist() == 2) {
+            salesOrder.setSalesIsSublist(null);
+        }
+
+        // 执行查询
         PagedResult<SalesOrder> pagedResult = salesOrderService.listAwaitSendSalesOrderPage(pageNO, pageSize, salesOrder,totalNum == 0);
+
+        // 恢复数据,保证页面无故障
+        salesOrder.setSalesIsSublist(suOrder);
         if (totalNum != 0) {
             pagedResult.setTotal(totalNum);
         }
@@ -135,9 +148,11 @@ public class AwaitSendController {
                 List<ComplaintDetectInfo> listDetect  = complaintDetectInfoService.listComplaintDetectBySalesId(temp.getSalesOrderId());
                 temp.setComplaintDetectInfoList(listDetect);
                 //查询子订单订单项
-                SalesOrderItem itemTwo = new SalesOrderItem();
-                itemTwo.setSalesBelongOrderId(temp.getSalesId());
-                temp.setSuSalesOrderItemList(salesOrderService.listSalesOrderItem(itemTwo));
+                if (suOrder == 1) {
+                    SalesOrderItem itemTwo = new SalesOrderItem();
+                    itemTwo.setSalesBelongOrderId(temp.getSalesId());
+                    temp.setSuSalesOrderItemList(salesOrderService.listSalesOrderItem(itemTwo));
+                }
             }
         }
         int errorOrderNum = 0;
@@ -215,10 +230,11 @@ public class AwaitSendController {
         }
         //清除里面的map
         orderSyncLogService.clearMap();
+        assert pagedResult != null;
         pagedResult.setDataList(salesOrderList);
 
         // 查询订单项
-        if (pagedResult != null && pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
+        if (pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
             for (SalesOrder temp : pagedResult.getDataList()) {
                 SalesOrderItem item = new SalesOrderItem();
                 item.setItemOrderId(temp.getSalesId());
@@ -242,7 +258,7 @@ public class AwaitSendController {
 
         // 聚合打单方式
         Map<String, List<SalesOrder>> postMap = new HashMap<>();
-        if (pagedResult != null && pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
+        if (pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
             for (SalesOrder temp : pagedResult.getDataList()) {
                 LogisticsInfo info = new LogisticsInfo();
                 info.setLogisticsRstCode(temp.getSalesPostFirm());
@@ -252,11 +268,7 @@ public class AwaitSendController {
                     continue;
                 }
                 String key = logisticsInfos.get(0).getLogisticsName();
-                List<SalesOrder> list = postMap.get(key);
-                if (list == null) {
-                    list = new ArrayList<>();
-                    postMap.put(key, list);
-                }
+                List<SalesOrder> list = postMap.computeIfAbsent(key, k -> new ArrayList<>());
                 list.add(temp);
             }
         }
@@ -279,8 +291,7 @@ public class AwaitSendController {
     @ResponseBody
     @RequestMapping("/printOrder")
     @RequiresPermissions("order:listAwaitSendOrder")
-    public ResponseJson printOrder(@RequestParam("post") String post,
-                                   @RequestParam("orderId") String orderId,
+    public ResponseJson printOrder(@RequestParam("orderId") String orderId,
                                    @RequestParam("salesId") Integer salesId,
                                    HttpServletRequest request) {
         // 检查订单状态
@@ -316,16 +327,16 @@ public class AwaitSendController {
         }
 
         //判断是否是京东订单  订单来源 2020年3月30日新增
-        if(salesOrderInfo.getSalesPostFirm().equals("jd") || salesOrderInfo.getSalesPostFirm().equals("JD")){
+        if("jd".equalsIgnoreCase(salesOrderInfo.getSalesPostFirm())){
             StoreInfo storeInfo = storeInfoService.getStoreInfoById(salesOrderInfo.getSalesStoreId());
 
             if(storeInfo.getStoreName().contains("京东")){
                 eOrderRequestData.ExpType = "1";
                 eOrderRequestData.ThrOrderCode = salesOrderInfo.getSalesExOrderId();
             }else if(storeInfo.getStoreName().contains("天猫")){
-                    eOrderRequestData.ExpType = "2";
+                eOrderRequestData.ExpType = "2";
             }else if(storeInfo.getStoreName().contains("苏宁")){
-                    eOrderRequestData.ExpType = "3";
+                eOrderRequestData.ExpType = "3";
             }else{
                 eOrderRequestData.ExpType = "6";
             }
@@ -560,11 +571,10 @@ public class AwaitSendController {
                 }
 
                 //添加操作跟踪信息
-                Iterator<String> iterator = salesCodeSet.iterator();
-                while(iterator.hasNext()){
+                for (String aSalesCodeSet : salesCodeSet) {
                     OrderTracking orderTracking = new OrderTracking();
                     orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-                    orderTracking.setSalesDealCode(iterator.next());
+                    orderTracking.setSalesDealCode(aSalesCodeSet);
                     orderTracking.setTrackingDesc("打印订单");
                     salesOrderService.addTracking(orderTracking);
                 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 28 - 74
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl