|
@@ -1,13 +1,22 @@
|
|
|
package com.iamberry.rst.controllers.dm;
|
|
|
|
|
|
+import com.iamberry.rst.core.cm.SalesOrder;
|
|
|
+import com.iamberry.rst.core.cm.SalesOrderItem;
|
|
|
import com.iamberry.rst.core.cm.StoreInfo;
|
|
|
import com.iamberry.rst.core.dm.*;
|
|
|
+import com.iamberry.rst.core.order.OrderWarehouse;
|
|
|
+import com.iamberry.rst.core.order.ProductColor;
|
|
|
import com.iamberry.rst.core.page.PageRequest;
|
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
|
import com.iamberry.rst.core.sys.Admin;
|
|
|
+import com.iamberry.rst.core.tools.LogisticsInfo;
|
|
|
+import com.iamberry.rst.faces.cm.SalesOrderService;
|
|
|
import com.iamberry.rst.faces.cm.StoreInfoService;
|
|
|
import com.iamberry.rst.faces.dm.*;
|
|
|
+import com.iamberry.rst.faces.order.LogisticsInfoService;
|
|
|
+import com.iamberry.rst.faces.product.ProductService;
|
|
|
import com.iamberry.rst.faces.sys.SysService;
|
|
|
+import com.iamberry.rst.service.cm.mapper.SalesOrderMapper;
|
|
|
import com.iamberry.rst.utils.AdminUtils;
|
|
|
import com.iamberry.rst.utils.StitchAttrUtil;
|
|
|
import com.iamberry.rst.utils.UploadFileUtils;
|
|
@@ -32,6 +41,7 @@ import java.io.IOException;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLDecoder;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
@@ -59,6 +69,17 @@ public class DmDealerController {
|
|
|
@Autowired
|
|
|
private DealerChannelStoreService dealerChannelStoreService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SalesOrderService salesOrderService;
|
|
|
+ @Autowired
|
|
|
+ private LogisticsInfoService logisticsInfoService;
|
|
|
+ @Autowired
|
|
|
+ private ProductService productService;
|
|
|
+ @Autowired
|
|
|
+ private SupplierProductService supplierProductService;
|
|
|
+ @Autowired
|
|
|
+ private SalesOrderMapper salesOrderMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 查询客户基本信息列表
|
|
|
*
|
|
@@ -519,4 +540,161 @@ public class DmDealerController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 分页查询订单列表信息
|
|
|
+ * @param request
|
|
|
+ * @param salesOrder
|
|
|
+ * @param pageSize
|
|
|
+ * @param pageNO
|
|
|
+ * @param totalNum
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @RequiresPermissions("dm:order_statistic:list")
|
|
|
+ @RequestMapping("/list_order_for_dm")
|
|
|
+ public ModelAndView listOrderForDm(HttpServletRequest request, SalesOrder salesOrder,
|
|
|
+ @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
|
|
|
+ @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
|
|
|
+ @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) throws Exception {
|
|
|
+ ModelAndView mv = new ModelAndView("dm/dealer/dm_order_statistics");
|
|
|
+ salesOrder.setIsCustmerAddOrder(2);
|
|
|
+ //分页获取订单信息
|
|
|
+ PagedResult<SalesOrder> pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0);
|
|
|
+ if (totalNum != 0) {
|
|
|
+ pagedResult.setTotal(totalNum);
|
|
|
+ }
|
|
|
+ List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
|
|
|
+ List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
|
|
|
+ List<ProductColor> productColorList = productService.listproductAndColor(new ProductColor());
|
|
|
+ List<OrderWarehouse> listOrderWarehouse = salesOrderService.listOrderWarehouse();
|
|
|
+ List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(new DmDealer());
|
|
|
+ StitchAttrUtil.getSa()
|
|
|
+ .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
|
|
|
+ .addNoPro("salesOrderItemList","complaintDetectInfoList")
|
|
|
+ .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);
|
|
|
+ mv.addObject("dmDealerList",dmDealerList);
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping("/order_update")
|
|
|
+ public ResponseJson order_update(HttpServletRequest request) {
|
|
|
+ ResponseJson rj = ResponseJson.getSUCCESS();
|
|
|
+ Integer flag = 0;
|
|
|
+
|
|
|
+ SalesOrder salesOrder = new SalesOrder();
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.set(2019,8,01,00,00,00);
|
|
|
+ salesOrder.setStartDate(calendar.getTime()); //startDate
|
|
|
+
|
|
|
+ Calendar endCalendar = Calendar.getInstance();
|
|
|
+ endCalendar.set(2019,8,10,00,00,00);
|
|
|
+ salesOrder.setEndDate(endCalendar.getTime());
|
|
|
+
|
|
|
+ salesOrder.setSalesStatus(1);
|
|
|
+ List<SalesOrder> salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder);
|
|
|
+
|
|
|
+ for (SalesOrder so : salesOrderList) {//201909090002
|
|
|
+
|
|
|
+ SalesOrder newSo = new SalesOrder();
|
|
|
+
|
|
|
+ if(so.getSalesStatus() != 1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(so.getSalesCustomerId() != null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(so.getSalesPayMoney() == null || so.getSalesPayMoney() == 0 || so.getSalesPayMoney() == 2147483647){
|
|
|
+ Integer price = 0;
|
|
|
+ StoreInfo storeInfo = storeInfoService.getStoreInfoById(so.getSalesStoreId());
|
|
|
+ DealerChannel dealerChannel = new DealerChannel();
|
|
|
+ dealerChannel.setStoreId(so.getSalesStoreId());
|
|
|
+ List<DealerChannel> dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel);
|
|
|
+ if(dealerChannelList!= null && dealerChannelList.size() > 0){
|
|
|
+ dealerChannel = dealerChannelList.get(0);
|
|
|
+ }else{
|
|
|
+ System.out.println("未查询到客户信息!订单id:"+so.getSalesId()+"店铺信息:"+storeInfo.getStoreName());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (SalesOrderItem salesOrderItem:so.getSalesOrderItemList()) {
|
|
|
+ SalesOrderItem newSoi = new SalesOrderItem();
|
|
|
+ newSoi.setItemNum(salesOrderItem.getItemNum());
|
|
|
+ newSoi.setItemId(salesOrderItem.getItemId());
|
|
|
+
|
|
|
+ boolean isUpdateItem = false;
|
|
|
+ if(salesOrderItem.getItemCostTotal() == null ||salesOrderItem.getItemCostTotal() == 0){
|
|
|
+ SupplierProduct supplierProduct = supplierProductService.getSupplierProductByColorId(salesOrderItem.getItemColorId());
|
|
|
+ if(supplierProduct != null){
|
|
|
+ newSoi.setItemCost(supplierProduct.getSpCost());
|
|
|
+ newSoi.setItemCostTotal(supplierProduct.getSpCost() * newSoi.getItemNum());
|
|
|
+ isUpdateItem = true;
|
|
|
+ }else{
|
|
|
+ System.out.println("确认订单失败-未查询到该产品("+ salesOrderItem.getItemProductName() +"-"+ salesOrderItem.getItemProductColor() +")的成本价格订单id:"+so.getSalesId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(salesOrderItem.getItemTotal() == null || salesOrderItem.getItemTotal() == 0 ){
|
|
|
+ DealerProduct dealerProduct = new DealerProduct();
|
|
|
+ dealerProduct.setDealerId(dealerChannel.getDealerId());
|
|
|
+ dealerProduct.setColorBar(salesOrderItem.getItemColorBar());
|
|
|
+ List<DealerProduct> dealerProductList = dealerProductService.getDealerProductAndStoreList(dealerProduct);
|
|
|
+ for (DealerProduct dp:dealerProductList) {
|
|
|
+ if(1 == dp.getDealProdStoreArea()){
|
|
|
+ // 1:全部店铺
|
|
|
+ newSoi.setItemProductDiscount(dp.getDealProdPrice());
|
|
|
+ newSoi.setItemProductPrice(dp.getDealProdPrice());
|
|
|
+ }else{
|
|
|
+ // 2:部分店铺
|
|
|
+ for (DealerProductStore dps:dp.getDealerProductStoreList()) {
|
|
|
+ if(dealerChannel.getDealChannelId().equals(dps.getDealChannelId())){
|
|
|
+ newSoi.setItemProductDiscount(dp.getDealProdPrice());
|
|
|
+ newSoi.setItemProductPrice(dp.getDealProdPrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newSoi.setItemTotal(newSoi.getItemProductDiscount()*newSoi.getItemNum());
|
|
|
+ isUpdateItem = true;
|
|
|
+ price += newSoi.getItemTotal();
|
|
|
+ }else{
|
|
|
+ price += salesOrderItem.getItemTotal();
|
|
|
+ }
|
|
|
+ if(isUpdateItem){
|
|
|
+ flag = salesOrderService.updateOrderItemObj(newSoi);
|
|
|
+ if(flag < 1){
|
|
|
+ System.out.println("修改订单项失败!订单id:"+so.getSalesId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newSo.setSalesId(so.getSalesId()); //salesId
|
|
|
+ newSo.setSalesAmount(price);
|
|
|
+ newSo.setSalesPayMoney(price);
|
|
|
+ flag = salesOrderMapper.updateSalesOrder(newSo);
|
|
|
+ if(flag < 1){
|
|
|
+ System.out.println("修改订单失败!订单id:"+so.getSalesId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(flag > 0){
|
|
|
+ rj.setResultMsg("");
|
|
|
+ return rj;
|
|
|
+ }else{
|
|
|
+ rj = ResponseJson.getFAILURE();
|
|
|
+ return rj;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|