Browse Source

1.订单同步列表点击下一页问题
2.同步订单,提供了单个同步接口,可同步已发货订单
3.订单统计增加权限管理,相应的下载订单也有权限管理

wangxiaoming 5 years ago
parent
commit
ca4c44fcf5

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

@@ -239,6 +239,12 @@
                 WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="storeIds != null">
+                AND t.sales_store_id IN
+                <foreach collection="storeIds" item="storeId" index="index" separator="," open="(" close=")">
+                    #{storeId}
+                </foreach >
+            </if>
             <if test="orderIscostTotal != null and orderIscostTotal == 1">
                 AND dco.item_id is not null
             </if>
@@ -398,6 +404,12 @@
                 WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="storeIds != null">
+                AND t.sales_store_id IN
+                <foreach collection="storeIds" item="storeId" index="index" separator="," open="(" close=")">
+                    #{storeId}
+                </foreach >
+            </if>
         </where>
         ORDER BY t.sales_id DESC
     </select>

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

@@ -2084,6 +2084,12 @@
                     WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="storeIds != null">
+                AND tt.sales_store_id IN
+                <foreach collection="storeIds" item="storeId" index="index" separator="," open="(" close=")">
+                    #{storeId}
+                </foreach >
+            </if>
             <if test="salesReturnGoods != null and salesReturnGoods == 1">
                 AND  oi.item_return_num <![CDATA[=]]> 0
             </if>

+ 15 - 0
watero-rst-service/src/main/java/com/iamberry/rst/util/PageUtil.java

@@ -57,4 +57,19 @@ public class PageUtil {
         return result;
     }
 
+
+    /**
+     * 根据 List 获取分页数据
+     * @param
+     * @param <T>
+     * @return
+     */
+    public static <T> PagedResult<T> getPage() {
+        PagedResult<T> result = new PagedResult<T>();
+        result.setPageNo(1);
+        result.setPages(0);
+        result.setPageSize(20);
+        return result;
+    }
+
 }

+ 13 - 43
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -115,57 +115,27 @@ public class AdminSalesOrderController {
             storeInfo.setCompanyId(salesOrder.getSalesCompanyId());
             productColor.setTypeCompany(salesOrder.getSalesCompanyId());
         }
-        // 搜索店铺
-        List<StoreInfo> listStoreInfo = storeInfoService.listStore(storeInfo);
-        // 搜索物流方式
-        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
-        // 查询产品颜色
-        List<ProductColor> productColorList = productService.listproductAndColor(productColor);
+
+        // 不查询客诉添加的订单
+        salesOrder.setIsSelectCustomer(2);
+        //分页获取订单信息
+        PagedResult<SalesOrder> pagedResult = PageUtil.getPage();
 
         //判断用户只能查看自己所能查询的公司的订单
         Integer[] storeIds = orderDepartService.getDepartStoreIds(AdminUtils.getLoginAdminId());
-        if(storeIds.length < 1){
-            // 不查询客诉添加的订单
-            salesOrder.setIsSelectCustomer(2);
-            //分页获取订单信息
-            PagedResult<SalesOrder> pagedResult = PageUtil.getPage(new ArrayList<SalesOrder>());
-            pagedResult.setTotal(0);
-            pagedResult.setPageNo(1);
-            pagedResult.setPages(0);
-            pagedResult.setPageSize(20);
-
-            if (totalNum != 0) {
-                pagedResult.setTotal(totalNum);
-            }
-            ModelAndView mv = new ModelAndView("order/salesOrder/sales_order_list");
-            StitchAttrUtil.getSa()
-                    .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
-                    .addNoPro("suSalesOrderItemList")
-                    .addNoPro("salesOrderItemList")
-                    .addNoPro("storeIds")
-                    .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
-            salesOrder.setSalesOrderItemList(null);
-
-            // 查询订单各个状态数量
-            mv.addObject("orderNum",salesOrderService.getStatusNum());
-            mv.addObject("listStoreInfo",listStoreInfo);
-            mv.addObject("logisticsInfoList",logisticsInfoList);
-            mv.addObject("identity",AdminUtils.getLoginAdmin().getAdminDept());
-            mv.addObject("productColorList",productColorList);
-            mv.addObject("admin",AdminUtils.getLoginAdmin());
-            return mv;
-        }else{
+        if(storeIds.length > 0){
             salesOrder.setStoreIds(storeIds);
+            storeInfo.setStoreIds(storeIds);
+            pagedResult = salesOrderService.listSalesOrderPage(pageNO, pageSize, salesOrder,totalNum == 0);
         }
 
         // 搜索店铺
-        storeInfo.setStoreIds(storeIds);
-        listStoreInfo = storeInfoService.listStore(storeInfo);
+        List<StoreInfo> listStoreInfo = storeInfoService.listStore(storeInfo);
+        // 搜索物流方式
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
+        // 查询产品颜色
+        List<ProductColor> productColorList = productService.listproductAndColor(productColor);
 
-        // 不查询客诉添加的订单
-        salesOrder.setIsSelectCustomer(2);
-        //分页获取订单信息
-        PagedResult<SalesOrder> pagedResult = salesOrderService.listSalesOrderPage(pageNO, pageSize, salesOrder,totalNum == 0);
         if (totalNum != 0) {
             pagedResult.setTotal(totalNum);
         }

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

@@ -19,8 +19,10 @@ import com.iamberry.rst.faces.cm.*;
 import com.iamberry.rst.faces.dm.DmDealerService;
 import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.faces.order.OrderDepartService;
 import com.iamberry.rst.faces.order.OrderSyncLogService;
 import com.iamberry.rst.faces.product.ProductService;
+import com.iamberry.rst.util.PageUtil;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.OrderUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
@@ -79,6 +81,8 @@ public class AwaitSendController {
     @Autowired
     private OrderSyncLogService orderSyncLogService;
     @Autowired
+    private OrderDepartService orderDepartService;
+    @Autowired
     private ComplaintDetectInfoService complaintDetectInfoService;
     private static final Logger LOGGER = LoggerFactory.getLogger(AwaitSendController.class);
 
@@ -1122,25 +1126,43 @@ public class AwaitSendController {
                                       @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) throws Exception {
         ModelAndView mv = new ModelAndView("order/statistics/order_statistics");
         salesOrder.setIsCustmerAddOrder(2);
-        //分页获取订单信息
-        PagedResult<SalesOrder> pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0);
-        if (totalNum != 0) {
-            pagedResult.setTotal(totalNum);
+
+        StoreInfo storeInfo = new StoreInfo();
+
+        PagedResult<SalesOrder> pagedResult = PageUtil.getPage();
+
+        Admin admin = AdminUtils.getLoginAdmin();
+        switch (admin.getAdminDept()){
+            case 2:  //销售
+                Integer[] storeIds = orderDepartService.getDepartStoreIds(admin.getAdminId());
+                salesOrder.setStoreIds(storeIds);
+                storeInfo.setStoreIds(storeIds);
+                if(storeIds.length > 0){
+                    //分页获取订单信息
+                    pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0);
+                }
+                break;
+            default:
+                pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0);
+                break;
         }
-        List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
+
+        List<StoreInfo> listStoreInfo = storeInfoService.listStore(storeInfo);
         List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         List<ProductColor> productColorList = productService.listproductAndColor(new ProductColor());
         List<OrderWarehouse> listOrderWarehouse = salesOrderService.listOrderWarehouse();
+
+        if (totalNum != 0) {
+            pagedResult.setTotal(totalNum);
+        }
         StitchAttrUtil.getSa()
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .addNoPro("salesOrderItemList")
                 .setModelAndView(salesOrder, mv, "/admin/await_send/order_statistics", pagedResult);
-
         mv.addObject("listOrderWarehouse",listOrderWarehouse);
         mv.addObject("listStoreInfo",listStoreInfo);
         mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("productColorList",productColorList);
-
         return mv;
     }
 
@@ -1157,7 +1179,16 @@ public class AwaitSendController {
     @RequiresPermissions("salesOrder:order_statistics:deliver")
     public ResponseJson valDownloadOrderStatistics(HttpServletRequest request,SalesOrder so) throws Exception {
         ResponseJson rj = ResponseJson.getFAILURE();
-        Integer num = postOrderNumService.listSalesOrderAndItemNum(so);
+        Integer num = 0;
+        if(AdminUtils.getLoginAdmin().getAdminDept() == 2){
+            Integer[] storeIds = orderDepartService.getDepartStoreIds(AdminUtils.getLoginAdminId());
+            if(storeIds.length > 0){
+                so.setStoreIds(storeIds);
+                num = postOrderNumService.listSalesOrderAndItemNum(so);
+            }
+        }else{
+            num = postOrderNumService.listSalesOrderAndItemNum(so);
+        }
         if(num > 20000){
             rj.setResultMsg("下载订单超过20000条,请精确查询条件");
             return rj;
@@ -1175,7 +1206,17 @@ public class AwaitSendController {
     @RequiresPermissions("salesOrder:order_statistics:deliver")
     public ModelAndView downloadOrderExcel(HttpServletRequest request,SalesOrder so) throws Exception {
         so.setIsCustmerAddOrder(2);
-        List<SalesOrder> temporarySalesOrderList = postOrderNumService.listSalesOrderAndItem(so);
+        List<SalesOrder> temporarySalesOrderList = new ArrayList<>();
+
+        if(AdminUtils.getLoginAdmin().getAdminDept() == 2){
+            Integer[] storeIds = orderDepartService.getDepartStoreIds(AdminUtils.getLoginAdminId());
+            if(storeIds.length > 0){
+                so.setStoreIds(storeIds);
+               temporarySalesOrderList = postOrderNumService.listSalesOrderAndItem(so);
+            }
+        }else{
+            temporarySalesOrderList = postOrderNumService.listSalesOrderAndItem(so);
+        }
 
         if(temporarySalesOrderList.size() > 20000){
             return new ModelAndView().addObject("下载出错,下载数量过大");
@@ -1190,6 +1231,7 @@ public class AwaitSendController {
         titles.add("订单创建日期");
         titles.add("订单编号");
         titles.add("交易号");
+        titles.add("商家编号");
         titles.add("订单类型");
         titles.add("姓名");
         titles.add("电话");
@@ -1220,6 +1262,7 @@ public class AwaitSendController {
                 row.add(salesOrder.getSalesCreateTime() == null ? null:formatter.format(salesOrder.getSalesCreateTime()));
                 row.add(salesOrder.getSalesOrderId() == null ? null:salesOrder.getSalesOrderId());
                 row.add(salesOrder.getSalesDealCode() == null ? null:salesOrder.getSalesDealCode());
+                row.add(salesOrder.getSalesExOrderId() == null ? null:salesOrder.getSalesExOrderId());
                 if(salesOrder.getSalesCustomerId() == null){
                     row.add("正常订单");
                 }else{

+ 2 - 1
watero-rst-web/src/main/java/com/iamberry/rst/utils/StitchAttrUtil.java

@@ -37,7 +37,8 @@ public class StitchAttrUtil {
             "signclosedProductInfoList",
             "cmRelation",
             "signclosedImgInfoList",
-            "suSalesOrderItemList"
+            "suSalesOrderItemList",
+            "storeIds"
     };