| | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.common.constant.factory.PageFactory; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.ExcelExportUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | return super.packForBT(page); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导出订单 |
| | | * @param insertTime |
| | | * @param orderNum |
| | | * @param orderSource |
| | | * @param userName |
| | | * @param userPhone |
| | | * @param passengers |
| | | * @param passengersPhone |
| | | * @param driver |
| | | * @param state |
| | | * @param request |
| | | * @param response |
| | | */ |
| | | @GetMapping("/export") |
| | | public void export(String insertTime, |
| | | String orderNum, |
| | | Integer orderSource, |
| | | String userName, |
| | | String userPhone, |
| | | String passengers, |
| | | String passengersPhone, |
| | | String driver, |
| | | Integer state, HttpServletRequest request, HttpServletResponse response){ |
| | | String beginTime = null; |
| | | String endTime = null; |
| | | if (SinataUtil.isNotEmpty(insertTime)){ |
| | | String[] timeArray = insertTime.split(" - "); |
| | | beginTime = timeArray[0]; |
| | | endTime = timeArray[1]; |
| | | } |
| | | Page<Map<String, Object>> page = new Page(1, 99999); |
| | | List<Map<String, Object>> taxiOrderList = tOrderTaxiService.getTaxiOrderList(page, beginTime, endTime, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state); |
| | | |
| | | // 表格数据【封装】 |
| | | List<List<String>> dataList = new ArrayList<>(); |
| | | |
| | | // 列【封装】 |
| | | List<String> shellList = new ArrayList<String>(); |
| | | shellList.add("下单时间"); |
| | | shellList.add("订单编号"); |
| | | shellList.add("订单来源"); |
| | | shellList.add("乘车时间"); |
| | | shellList.add("下单用户昵称"); |
| | | shellList.add("下单用户手机"); |
| | | shellList.add("乘车用户姓名"); |
| | | shellList.add("乘车用户手机"); |
| | | shellList.add("起点"); |
| | | shellList.add("终点"); |
| | | shellList.add("接单司机"); |
| | | shellList.add("司机手机号"); |
| | | shellList.add("车辆所属机构"); |
| | | shellList.add("接单车辆"); |
| | | shellList.add("订单金额"); |
| | | shellList.add("司机抽成"); |
| | | shellList.add("状态"); |
| | | dataList.add(shellList); |
| | | |
| | | for (Map<String,Object> object : taxiOrderList){ |
| | | // 详细数据列【封装】 |
| | | shellList = new ArrayList<String>(); |
| | | if(SinataUtil.isNotEmpty(object.get("insertTime"))){ |
| | | shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("insertTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm")); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("orderNum"))){ |
| | | shellList.add(object.get("orderNum").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("orderSource"))){ |
| | | switch (object.get("orderSource").toString()){ |
| | | case "1": |
| | | shellList.add("APP下单"); |
| | | break; |
| | | case "2": |
| | | shellList.add("扫码下单"); |
| | | break; |
| | | case "3": |
| | | shellList.add("小程序下单"); |
| | | break; |
| | | case "4": |
| | | shellList.add("司机下单"); |
| | | break; |
| | | case "5": |
| | | shellList.add("调度下单"); |
| | | break; |
| | | case "6": |
| | | shellList.add("电话下单"); |
| | | break; |
| | | case "7": |
| | | shellList.add("95128电召"); |
| | | break; |
| | | } |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("travelTime"))){ |
| | | shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("travelTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm")); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("userName"))){ |
| | | shellList.add(object.get("userName").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("userPhone"))){ |
| | | shellList.add(object.get("userPhone").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("passengers"))){ |
| | | shellList.add(object.get("passengers").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("passengersPhone"))){ |
| | | shellList.add(object.get("passengersPhone").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("startAddress"))){ |
| | | shellList.add(object.get("startAddress").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("endAddress"))){ |
| | | shellList.add(object.get("endAddress").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("driver"))){ |
| | | shellList.add(object.get("driver").toString().split("-")[0]); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("driver"))){ |
| | | shellList.add(object.get("driver").toString().split("-")[1]); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("company"))){ |
| | | shellList.add(object.get("company").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("car"))){ |
| | | shellList.add(object.get("car").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("payMoney"))){ |
| | | shellList.add(object.get("payMoney").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("commission"))){ |
| | | shellList.add(object.get("commission").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("state"))){ |
| | | switch (object.get("state").toString()){ |
| | | case "1": |
| | | shellList.add("待接单"); |
| | | break; |
| | | case "2": |
| | | shellList.add("待出发"); |
| | | break; |
| | | case "3": |
| | | shellList.add("待到达预约地点"); |
| | | break; |
| | | case "4": |
| | | shellList.add("待乘客上车"); |
| | | break; |
| | | case "5": |
| | | shellList.add("服务中"); |
| | | break; |
| | | case "6": |
| | | shellList.add("完成服务"); |
| | | break; |
| | | case "7": |
| | | shellList.add("待支付"); |
| | | break; |
| | | case "8": |
| | | shellList.add("待评价"); |
| | | break; |
| | | case "9": |
| | | shellList.add("已完成"); |
| | | break; |
| | | case "10": |
| | | shellList.add("已取消"); |
| | | break; |
| | | case "11": |
| | | shellList.add("改派中"); |
| | | break; |
| | | case "12": |
| | | shellList.add("取消待支付"); |
| | | break; |
| | | } |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | dataList.add(shellList); |
| | | } |
| | | try { |
| | | // 调用工具类进行导出 |
| | | ExcelExportUtil.easySheet("出租车订单"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "出租车订单", dataList,request, response); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 选择司机列表 |
| | | */ |