package com.iamberry.rst.controllers.dm; import com.iamberry.rst.core.cm.SalesOrder; 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.pts.PtsBatch; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.core.tools.LogisticsInfo; import com.iamberry.rst.faces.cm.PostOrderNumService; 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.utils.AdminUtils; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.rst.utils.UploadFileUtils; import com.iamberry.wechat.tools.ObjectExcelView; import com.iamberry.wechat.tools.ResponseJson; import net.sf.ezmorph.object.DateMorpher; import net.sf.json.JSONArray; import net.sf.json.util.JSONUtils; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.*; @Controller @RequestMapping("/admin/dealer") public class DmDealerController { private Logger logger = LoggerFactory.getLogger(DmDealerController.class); @Autowired private SysService sysService; @Autowired private DmDealerService dmDealerService; @Autowired private DealerContactService dealerContactService; @Autowired private DealerChannelService dealerChannelService; @Autowired private DealerProductService dealerProductService; @Autowired private DealerProductStoreService dealerProductStoreService; @Autowired private CooperationAgreeService cooperationAgreeService; @Autowired private StoreInfoService storeInfoService; @Autowired private DealerChannelStoreService dealerChannelStoreService; @Autowired private SalesOrderService salesOrderService; @Autowired private LogisticsInfoService logisticsInfoService; @Autowired private ProductService productService; @Autowired private SupplierProductService supplierProductService; @Autowired private PostOrderNumService postOrderNumService; private static List LOGISTICSINFO_LIST; /** * 查询客户基本信息列表 * * @return * @author * @date */ @RequiresPermissions("dm:dealer:list") @RequestMapping("/list_page_dealer") public ModelAndView listCustomerBasic(HttpServletRequest request, DmDealer dmDealer, @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) { ModelAndView mv = new ModelAndView("dm/dealer/dealer_list"); Admin admin = AdminUtils.getLoginAdmin(); if(admin.getAdminDept() != 1){ //获取登录员工id Integer adminId = AdminUtils.getLoginAdminId(); dmDealer.setCreateId(adminId); } // 封装请求数据 PageRequest pageRequest = new PageRequest<>(dmDealer, pageNO, pageSize, totalNum == 0); // 查询订单列表 PagedResult result = dmDealerService.listDmDealerPage(pageRequest); if (totalNum != 0) { result.setTotal(totalNum); } StitchAttrUtil.getSa() .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate") .addNoPro("dealerContactList","dealerChannelList","dealerProductList","cooperationAgreeList") .setModelAndView(dmDealer, mv, "/admin/dealer/list_page_dealer", result); mv.addObject("admin",admin); return mv; } /** * 添加客户页面 * @return * @author * @date */ @RequiresPermissions("dm:dealer:add") @RequestMapping("/to_add_dealer") public ModelAndView toAddDealer(HttpServletRequest request) { ModelAndView mv = new ModelAndView("dm/dealer/add_dealer"); return mv; } /** * 添加客户页面- 添加对接人 * @return * @author * @date */ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR) @RequestMapping("/to_add_dealer_contact") public ModelAndView toAddDealerContact(HttpServletRequest request,DealerContact dc) { ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_contact"); mv.addObject("dealerContact",dc); return mv; } /** * 添加客户页面- 添加渠道商 * @return * @author * @date */ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR) @RequestMapping("/to_add_dealer_channel") public ModelAndView toAddDealerChannel(HttpServletRequest request,DealerChannel dealerChannel,Integer dealerId) { ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_channel"); mv.addObject("dealerChannel",dealerChannel); StoreInfo storeInfo = new StoreInfo(); storeInfo.setStoreStatus(1); List storeInfoList = storeInfoService.getNoSelect(storeInfo,dealerId); mv.addObject("storeInfoList",storeInfoList); List dealerChannelStoreList = new ArrayList(); String[] nameStr = new String[0]; if(dealerChannel.getStoreIdStr() != null && !"".equals(dealerChannel.getStoreIdStr() )){ nameStr = dealerChannel.getStoreIdStr().split(","); } for (String str : nameStr){ DealerChannelStore dealerChannelStore = new DealerChannelStore(); for (StoreInfo si : storeInfoList) { if(Objects.equals(si.getStoreId(), Integer.valueOf(str))){ dealerChannelStore.setStoreName(si.getStoreName()); } } dealerChannelStore.setStoreId(Integer.valueOf(str)); dealerChannelStoreList.add(dealerChannelStore); } mv.addObject("dealerChannelStoreList",dealerChannelStoreList); return mv; } /** * 添加客户页面- 添加产品 * @return * @author * @date */ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR) @RequestMapping("/to_add_dealer_product") public ModelAndView toAddDealerProduct(HttpServletRequest request,DealerProduct dealerProduct,String dealerProductStoreJson) { ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_product"); mv.addObject("dealerProduct",dealerProduct); JSONArray jsonArray = JSONArray.fromObject(dealerProductStoreJson); List dealerProductStoreList = (List) JSONArray.toCollection(jsonArray, DealerProductStore.class); mv.addObject("dealerProductStoreList",dealerProductStoreList); return mv; } /** * 添加客户页面- 添加合作协议 * @return * @author * @date */ @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR) @RequestMapping("/to_add_coop_agree") public ModelAndView toAddCoopAgree(HttpServletRequest request,CooperationAgree cooperationAgree) { ModelAndView mv = new ModelAndView("dm/dealer/add_coop_agree"); try { if(cooperationAgree.getCoopAgreeImg() != null && !"".equals(cooperationAgree.getCoopAgreeImg())){ cooperationAgree.setCoopAgreeImg(URLDecoder.decode(cooperationAgree.getCoopAgreeImg(),"UTF-8")); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } mv.addObject("cooperationAgree",cooperationAgree); return mv; } /** * 图片 * @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象 */ @ResponseBody @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR) @RequestMapping("/fileUpload") public ResponseJson fileUpload(HttpServletRequest request, @RequestParam("file") CommonsMultipartFile file) throws IOException { ResponseJson responseJson = new ResponseJson(); System.out.println("fileName:"+file.getOriginalFilename()); String realPath = request.getSession().getServletContext().getRealPath("/"); if(file.getOriginalFilename() == null || "".equals(file.getOriginalFilename())){ responseJson.setReturnCode(500); return responseJson; } String oldName = file.getOriginalFilename(); //名称 String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().toString().lastIndexOf(".")); String name = System.currentTimeMillis()+suffix; String path = UploadFileUtils.coopeAgreeImgUploadFile(realPath,name,file); String url = request.getScheme()+"://"+ request.getServerName(); responseJson.setReturnCode(200); responseJson.addResponseKeyValue("allImgUrl",url + "/" + path); responseJson.addResponseKeyValue("imgUrl",path); responseJson.addResponseKeyValue("oldName",oldName); responseJson.addResponseKeyValue("name",name); return responseJson; } /** * 添加 客户信息 * @param request * @return */ @ResponseBody @RequiresPermissions("dm:dealer:add") @RequestMapping("/dealere_save") public ResponseJson dealereSave(HttpServletRequest request,DmDealer dmDealer, String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) { ResponseJson rj = ResponseJson.getSUCCESS(); if(add_contact_json != null && !"".equals(add_contact_json)){ JSONArray jsonArray = JSONArray.fromObject(add_contact_json); List dealerContactList = (List) JSONArray.toCollection(jsonArray, DealerContact.class); dmDealer.setDealerContactList(dealerContactList); } if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){ JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json); List dealerChannelList = (List) JSONArray.toCollection(jsonArray, DealerChannel.class); dmDealer.setDealerChannelList(dealerChannelList); } if(add_product_json != null && !"".equals(add_product_json)){ JSONArray jsonArray = JSONArray.fromObject(add_product_json); List dealerProductList = (List) JSONArray.toCollection(jsonArray, DealerProduct.class); dmDealer.setDealerProductList(dealerProductList); } if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){ JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json); List cooperationAgreeList = (List) JSONArray.toCollection(jsonArray, CooperationAgree.class); dmDealer.setCooperationAgreeList(cooperationAgreeList); } rj = this.dmDealerCheck(dmDealer); //设置创建人id Integer adminId = AdminUtils.getLoginAdminId(); dmDealer.setCreateId(adminId); dmDealer.setDealerStatus(1); Integer flag = 0; try{ flag = dmDealerService.save(dmDealer); }catch (Exception e){ e.printStackTrace(); rj = ResponseJson.getFAILURE(); rj.setResultMsg("添加客户信息,失败原因:"+e.getMessage()); return rj; } if(flag > 0){ rj.setResultMsg("添加成功"); return rj; }else{ rj = ResponseJson.getFAILURE(); return rj; } } /** * * @param dmDealer * @return */ private ResponseJson dmDealerCheck(DmDealer dmDealer){ ResponseJson rj = ResponseJson.getFAILURE(); if(dmDealer.getDealerName() == null || "".equals(dmDealer.getDealerName())){ rj.setResultMsg("客户名称不能为空"); return rj; } if(dmDealer.getDealerIndustry() == null || "".equals(dmDealer.getDealerIndustry())){ rj.setResultMsg("客户行业不能为空"); return rj; } if(dmDealer.getDealerType() == null){ rj.setResultMsg("客户类型不能为空"); return rj; } if(dmDealer.getDealerState() == null){ rj.setResultMsg("合作进度不能为空"); return rj; } if(dmDealer.getDealerSelfOperated() == null){ rj.setResultMsg("请选择是否自营"); return rj; } if(dmDealer.getDealerRate() == null){ rj.setResultMsg("请选择是否自营"); return rj; } return ResponseJson.getSUCCESS(); } /** * to修改客户页面 * @return * @author * @date */ @RequiresPermissions("dm:dealer:update") @RequestMapping("/to_update_dealer") public ModelAndView toUpdateDealer(HttpServletRequest request,Integer dealerId) { ModelAndView mv = new ModelAndView("dm/dealer/update_dealer"); DmDealer dmDealer = dmDealerService.getDmDealerById(dealerId); DealerContact dealerContact = new DealerContact(); dealerContact.setDealerId(dealerId); List dealerContactList = dealerContactService.getDealerContactList(dealerContact); DealerChannel dealerChannel = new DealerChannel(); dealerChannel.setDealerId(dealerId); List dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel); for (DealerChannel dc:dealerChannelList) { DealerChannelStore dealerChannelStore = new DealerChannelStore(); dealerChannelStore.setDealChannelId(dc.getDealChannelId()); List dealerChannelStoreList = dealerChannelStoreService.getDealerChannelStoreList(dealerChannelStore); dc.setDealerChannelStoreList(dealerChannelStoreList); //店铺 String storeNameStr="",storeIdStr=""; for (DealerChannelStore dcs: dealerChannelStoreList) { if("".equals(storeNameStr)){ storeIdStr += dcs.getStoreId(); storeNameStr += dcs.getStoreName(); }else{ storeIdStr += ","+ dcs.getStoreId(); storeNameStr += ","+ dcs.getStoreName(); } } dc.setStoreIdStr(storeIdStr); dc.setStoreNameStr(storeNameStr); } DealerProduct dealerProduct = new DealerProduct(); dealerProduct.setDealerId(dealerId); List dealerProductList = dealerProductService.getDealerProductList(dealerProduct); for (DealerProduct dp:dealerProductList) { if(dp.getDealProdStoreArea() == 2 ){ DealerProductStore dealerProductStore = new DealerProductStore(); dealerProductStore.setDealProdId(dp.getDealProdId()); List dealerProductStoreList = dealerProductStoreService.getDealerProductStoreList(dealerProductStore); String dealerProductStoreIds=""; String dealerProductStoreName=""; for (DealerProductStore dps:dealerProductStoreList) { if("".equals(dealerProductStoreIds)){ dealerProductStoreIds = String.valueOf(dps.getDealChannelId()); dealerProductStoreName = dps.getDealChannelName(); }else{ dealerProductStoreIds += "," + String.valueOf(dps.getDealChannelId()); dealerProductStoreName += "," + dps.getDealChannelName(); } } dp.setDealerProductStoreIds(dealerProductStoreIds); dp.setDealerProductStoreName(dealerProductStoreName); } } CooperationAgree cooperationAgree = new CooperationAgree(); cooperationAgree.setDealerId(dealerId); List cooperationAgreeList = cooperationAgreeService.getCooperationAgreeList(cooperationAgree); mv.addObject("dmDealer",dmDealer); mv.addObject("dealerContactList",dealerContactList); mv.addObject("dealerChannelList",dealerChannelList); mv.addObject("dealerProductList",dealerProductList); mv.addObject("cooperationAgreeList",cooperationAgreeList); return mv; } /** * 修改客户信息 * @param request * @return */ @ResponseBody @RequiresPermissions("dm:dealer:update") @RequestMapping("/dealere_update") public ResponseJson dealereUpdate(HttpServletRequest request,DmDealer dmDealer, String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) { ResponseJson rj = ResponseJson.getSUCCESS(); if(add_contact_json != null && !"".equals(add_contact_json)){ JSONArray jsonArray = JSONArray.fromObject(add_contact_json); List dealerContactList = (List) JSONArray.toCollection(jsonArray, DealerContact.class); dmDealer.setDealerContactList(dealerContactList); } if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){ JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json); List dealerChannelList = (List) JSONArray.toCollection(jsonArray, DealerChannel.class); dmDealer.setDealerChannelList(dealerChannelList); } if(add_product_json != null && !"".equals(add_product_json)){ JSONArray jsonArray = JSONArray.fromObject(add_product_json); List dealerProductList = (List) JSONArray.toCollection(jsonArray, DealerProduct.class); dmDealer.setDealerProductList(dealerProductList); } if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){ String[] dateFormats = new String[] {"yyyy-MM-dd"}; JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats)); JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json); List cooperationAgreeList = (List) JSONArray.toCollection(jsonArray, CooperationAgree.class); dmDealer.setCooperationAgreeList(cooperationAgreeList); } rj = this.dmDealerCheck(dmDealer); //设置创建人id Integer adminId = AdminUtils.getLoginAdminId(); dmDealer.setCreateId(adminId); dmDealer.setDealerStatus(1); Integer flag = 0; try{ flag = dmDealerService.update(dmDealer); }catch (Exception e){ e.printStackTrace(); rj = ResponseJson.getFAILURE(); rj.setResultMsg("修改客户信息,失败原因:"+e.getMessage()); return rj; } if(flag > 0){ rj.setResultMsg("修改成功"); return rj; }else{ rj = ResponseJson.getFAILURE(); return rj; } } /** * 修改 * @param request * @return */ @ResponseBody @RequiresPermissions("dm:dealer:update") @RequestMapping("/update_dealer_status") public ResponseJson dealereSave(HttpServletRequest request,DmDealer dmDealer) { ResponseJson rj = ResponseJson.getSUCCESS(); Integer flag = 0; flag = dmDealerService.updateDmDealer(dmDealer); if(flag > 0){ rj.setResultMsg("添加成功"); return rj; }else{ rj = ResponseJson.getFAILURE(); return rj; } } /** * 删除 * @param request * @return */ @ResponseBody @RequiresPermissions("dm:dealer:delete") @RequestMapping("/delete_dealer") public ResponseJson deleteDealer(HttpServletRequest request,Integer dealerId) { ResponseJson rj = ResponseJson.getSUCCESS(); Admin admin = AdminUtils.getLoginAdmin(); if(admin.getAdminDept() != 1){ rj.setResultMsg("对不起,你没有权限!"); return rj; } Integer flag = 0; flag = dmDealerService.deleteDealer(dealerId); if(flag > 0){ rj.setResultMsg("删除成功"); return rj; }else{ rj = ResponseJson.getFAILURE(); return rj; } } /** * 分页查询订单列表信息 * @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); salesOrder.setIsSelectCustomer(2); //分页获取订单信息 PagedResult pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0); if (totalNum != 0) { pagedResult.setTotal(totalNum); } List listStoreInfo = storeInfoService.listStore(new StoreInfo()); List logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo()); List productColorList = productService.listproductAndColor(new ProductColor()); List listOrderWarehouse = salesOrderService.listOrderWarehouse(); List dmDealerList = dmDealerService.getDmDealerList(new DmDealer()); Admin admin = new Admin(); admin.setAdminDept(2); admin.setAdminStatus(1); List adminList = sysService.listSelectAdmin(admin); StitchAttrUtil.getSa() .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate") .addNoPro("salesOrderItemList","complaintDetectInfoList") .setModelAndView(salesOrder, mv, "/admin/dealer/list_order_for_dm", pagedResult); mv.addObject("listOrderWarehouse",listOrderWarehouse); mv.addObject("listStoreInfo",listStoreInfo); mv.addObject("logisticsInfoList",logisticsInfoList); mv.addObject("productColorList",productColorList); mv.addObject("dmDealerList",dmDealerList); mv.addObject("adminList",adminList); return mv; } /** * * @param request * @return */ // @ResponseBody // @RequestMapping("/order_update") // public ResponseJson order_update(HttpServletRequest request) { // StringBuffer sbf = new StringBuffer(); // // ResponseJson rj = ResponseJson.getSUCCESS(); // Integer flag = 0; // // SalesOrder salesOrder = new SalesOrder(); // Calendar calendar = Calendar.getInstance(); // calendar.set(2019,6,01,00,00,00); // salesOrder.setStartDate(calendar.getTime()); //startDate // // Calendar endCalendar = Calendar.getInstance(); // endCalendar.set(2019,7,01,00,00,00); // salesOrder.setEndDate(endCalendar.getTime()); // // salesOrder.setSalesStatus(1); // List salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder); // // System.out.println("总共"+salesOrderList.size()+"单"); // sbf.append("总共"+salesOrderList.size()+"单"); // int i=0; // // for (SalesOrder so : salesOrderList) {//201909090002 // System.out.println("当前"+i+"单"+so.getSalesDealCode()); // sbf.append("当前"+i+"单"+so.getSalesDealCode()+"\n\r"); // i++; // SalesOrder newSo = new SalesOrder(); // // if(so.getSalesStatus() != 1){ // continue; // } // // if("KS00000000000001".equals(so.getSalesBatchId())){ // 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 dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel); // if(dealerChannelList!= null && dealerChannelList.size() > 0){ // dealerChannel = dealerChannelList.get(0); // }else{ // System.out.println("未查询到客户信息!订单id:"+so.getSalesId()+"店铺信息:"+storeInfo.getStoreName()); // sbf.append("未查询到客户信息!订单id:"+so.getSalesId()+"店铺信息:"+storeInfo.getStoreName()+"\n\r"); // 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() +")"+ salesOrderItem.getItemColorBar() +"的成本价格订单id:"+so.getSalesId()); // sbf.append("未查询到该产品的成本("+ salesOrderItem.getItemProductName() +"-"+ salesOrderItem.getItemProductColor() +")的成本价格订单id:"+so.getSalesId()+"\n\r"); // System.out.println("=============="+sbf+"=============="); // return rj; // } // } // if(salesOrderItem.getItemTotal() == null || salesOrderItem.getItemTotal() == 0|| salesOrderItem.getItemTotal() == 2147483647){ // DealerProduct dealerProduct = new DealerProduct(); // dealerProduct.setDealerId(dealerChannel.getDealerId()); // dealerProduct.setColorBar(salesOrderItem.getItemColorBar()); // List dealerProductList = dealerProductService.getDealerProductAndStoreList(dealerProduct); // if(dealerProductList.size() > 0){ // dealerProduct = dealerProductList.get(0); // if(1 == dealerProduct.getDealProdStoreArea()){ // // 1:全部店铺 // newSoi.setItemProductDiscount(dealerProduct.getDealProdPrice()); // newSoi.setItemProductPrice(dealerProduct.getDealProdPrice()); // }else{ // // 2:部分店铺 // for (DealerProductStore dps:dealerProduct.getDealerProductStoreList()) { // if(dealerChannel.getDealChannelId().equals(dps.getDealChannelId())){ // newSoi.setItemProductDiscount(dealerProduct.getDealProdPrice()); // newSoi.setItemProductPrice(dealerProduct.getDealProdPrice()); // } // } // } // newSoi.setItemTotal(newSoi.getItemProductDiscount()*newSoi.getItemNum()); // isUpdateItem = true; // price += newSoi.getItemTotal(); // }else{ // System.out.println("=====客户未查询到该产品,店铺名称:"+ storeInfo.getStoreName() +"===("+ salesOrderItem.getItemProductName()+salesOrderItem.getItemProductColor() + "==="+dealerChannel.getDealerId() +"==="+so.getSalesId()); // sbf.append("=====客户未查询到该产品,店铺名称:"+ storeInfo.getStoreName() +"===("+ salesOrderItem.getItemProductName() +"-"+ salesOrderItem.getItemProductColor() +")的价格订单id:"+so.getSalesId()+"==="+ so.getSalesDealCode() +"\n\r"); // System.out.println("=============="+sbf+"=============="); // return rj; // } // }else{ // price += salesOrderItem.getItemTotal(); // } // if(isUpdateItem){ // flag = salesOrderService.updateOrderItemObj(newSoi); // if(flag < 1){ // System.out.println("修改订单项失败!订单id:"+so.getSalesId()); // return rj; // } // } // } // newSo.setSalesId(so.getSalesId()); //salesId // newSo.setSalesAmount(price); // newSo.setSalesPayMoney(price); // flag = salesOrderMapper.updateSalesOrder(newSo); // if(flag < 1){ // System.out.println("修改订单失败!订单id:"+so.getSalesId()); // return rj; // } // } // } // // sbf.append("完成"); // System.out.println(sbf.toString()); // if(flag > 0){ // rj.setResultMsg("完成"); // return rj; // }else{ // rj = ResponseJson.getFAILURE(); // return rj; // } // } /** * 下载订单,返回给各个平台 * @param request * @return * @throws IOException */ @ResponseBody @RequestMapping("/dm_download_order_val") @RequiresPermissions("dm:order_statistic:list") public ResponseJson dmDownloadOrderVal(HttpServletRequest request,SalesOrder so) throws Exception { ResponseJson rj = ResponseJson.getFAILURE(); so.setIsCustmerAddOrder(2); so.setIsSelectCustomer(2); Integer num = postOrderNumService.listSalesOrderAndItemNum(so); if(num > 20000){ rj.setResultMsg("下载订单超过20000条,请精确查询条件"); return rj; } return ResponseJson.getSUCCESS(); } /** * 下载订单,返回给各个平台 * @param request * @return * @throws IOException */ @RequestMapping("/dm_download_order") @RequiresPermissions("dm:order_statistic:list") public ModelAndView dmDownloadOrder(HttpServletRequest request,SalesOrder so) throws Exception { so.setIsCustmerAddOrder(2); so.setIsSelectCustomer(2); List temporarySalesOrderList = postOrderNumService.listSalesOrderAndItem(so); if(temporarySalesOrderList.size() > 20000){ return new ModelAndView().addObject("下载出错,下载数量过大"); } // 准备model Map model = new HashMap(); model.put("fileName", "订单列表"); // 下载文件名称 // 标题 List titles = new ArrayList(); titles.add("订单创建日期"); titles.add("订单编号"); titles.add("交易号"); titles.add("订单类型"); titles.add("客户名称"); titles.add("渠道名称"); titles.add("店铺名称"); titles.add("是否认领"); titles.add("姓名"); titles.add("电话"); titles.add("收货人地址"); titles.add("快递公司"); titles.add("快递单号"); titles.add("商品名称"); titles.add("商品颜色"); titles.add("商品数量"); titles.add("商品小结"); /*titles.add("成本小结");*/ titles.add("打单状态"); titles.add("打单日期"); titles.add("备注"); model.put("titles", titles); PtsBatch ptsBatch = new PtsBatch(); List> countexts = new ArrayList>(); if(temporarySalesOrderList != null && temporarySalesOrderList.size() >0){ for (SalesOrder salesOrder : temporarySalesOrderList) { List row = new ArrayList(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 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()); if(salesOrder.getSalesCustomerId() == null){ row.add("正常订单"); }else{ String typeName = salesOrder.getProcTypeName() == null ? "":salesOrder.getProcTypeName(); row.add("售后订单("+ typeName +")"); } row.add(salesOrder.getDealerName() == null ? null:salesOrder.getDealerName()); row.add(salesOrder.getDealChannelName() == null ? null:salesOrder.getDealChannelName()); row.add(salesOrder.getStoreName() == null ? null:salesOrder.getStoreName()); if(salesOrder.getOrderIscostTotal() == 0){ //orderIscostTotal row.add("未认领"); }else{ row.add("已认领"); } row.add(salesOrder.getSalesAddressName() == null ? null:salesOrder.getSalesAddressName()); row.add(salesOrder.getSalesAddressTel() == null ? null:salesOrder.getSalesAddressTel()); row.add(salesOrder.getSalesAddressInfo() == null ? null:salesOrder.getSalesAddressInfo()); String frim = replace(salesOrder.getSalesPostFirm()); row.add(frim); row.add(salesOrder.getSalesPostNum() == null ? null:salesOrder.getSalesPostNum()); row.add(salesOrder.getItemProductName() == null ? null:salesOrder.getItemProductName()+(salesOrder.getItemProductColor() == null ? null:"-"+salesOrder.getItemProductColor())); row.add(salesOrder.getItemProductColor() == null ? null:salesOrder.getItemProductColor()); row.add(salesOrder.getItemNum() == null ? null:salesOrder.getItemNum()); if(salesOrder.getItemTotal() == null){ row.add(0); }else{ Double itemTotal = Double.valueOf(salesOrder.getItemTotal()); itemTotal = itemTotal/100; row.add(itemTotal); } /*if(salesOrder.getItemCostTotal() == null){ row.add(0); }else{ Double itemCostTotal = Double.valueOf(salesOrder.getItemCostTotal()); itemCostTotal = itemCostTotal/100; row.add(itemCostTotal); }*/ String salesShoppingStatus = ""; if(salesOrder.getSalesShippingStatus() == null){ salesShoppingStatus = "未打单"; }else{ // 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货) 11(已通知配货,后加) switch (salesOrder.getSalesShippingStatus()){ case 0: salesShoppingStatus = "未打单"; break; case 1: salesShoppingStatus = "已打单"; break; case 11: salesShoppingStatus = "通知配货"; break; default: salesShoppingStatus = "其他状态"; break; } } row.add(salesShoppingStatus); row.add(salesOrder.getSalesSendTime() == null ? "未发货":formatter.format(salesOrder.getSalesSendTime())); StringBuffer sbf = new StringBuffer(); if(salesOrder.getSalesAdminRemark() != null && !"".equals(salesOrder.getSalesAdminRemark())){ sbf.append(salesOrder.getSalesAdminRemark()+"/"); } if(salesOrder.getSalesUserRemark() != null){ sbf.append(salesOrder.getSalesUserRemark()); } row.add(sbf); countexts.add(row); } } model.put("varList", countexts); ObjectExcelView erv = new ObjectExcelView(); ModelAndView mv = new ModelAndView(erv,model); return mv; } /**物流名称替换**/ public String replace(String code) { String name = ""; if(code == null || "".equals(code)){ return ""; } if(LOGISTICSINFO_LIST == null){ LOGISTICSINFO_LIST = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo()); } for (LogisticsInfo logistics : LOGISTICSINFO_LIST) { if(code .equalsIgnoreCase(logistics.getLogisticsRstCode())){ return logistics.getLogisticsName(); } } return ""; } }