DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
@@ -269,6 +269,11 @@ */ @TableField("percentageDeduction") private Double percentageDeduction; /** * 打表计费扣除 */ @TableField("meterPrintingFee") private Double meterPrintingFee; public Double getFixedDeduction() { return fixedDeduction; @@ -678,6 +683,14 @@ this.insertTime = insertTime; } public Double getMeterPrintingFee() { return meterPrintingFee; } public void setMeterPrintingFee(Double meterPrintingFee) { this.meterPrintingFee = meterPrintingFee; } @Override public String toString() { return "Company{" + DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -493,8 +493,8 @@ company = companyService.selectById(driver.getCompanyId()); } TransactionDetails transactionDetails = new TransactionDetails(); driver.setBalance(driver.getBalance() - company.getFixedDeduction()); transactionDetails.setMoney(company.getFixedDeduction()); driver.setBalance(driver.getBalance() - company.getMeterPrintingFee()); transactionDetails.setMoney(company.getMeterPrintingFee()); // 新增扣除使用费记录 transactionDetails.setUserId(driver.getId()); transactionDetails.setInsertTime(new Date()); ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java
@@ -8,6 +8,8 @@ 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.*; @@ -21,6 +23,8 @@ 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; @@ -248,6 +252,224 @@ 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(); } } /** * 选择司机列表 */ ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml
@@ -66,11 +66,14 @@ <!--根据条件查询出租车订单列表--> <select id="getTaxiOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, ot.* FROM t_order_taxi as ot com.name as company,ptd.money as commission, ot.* FROM t_order_taxi as ot LEFT JOIN t_user as ui on ui.id = ot.userId LEFT JOIN t_driver as di on di.id = ot.driverId LEFT JOIN t_car as ci on ci.id= ot.carId LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId) as o LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId LEFT JOIN t_company as com on com.id = ci.companyId LEFT JOIN t_pub_transaction_details as ptd on ptd.orderId = ot.id and ptd.orderType = 6 and ptd.type = 1 and ptd.userType = 2 ) as o <where> o.isDelete = 1 and o.type = 1 <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCompany.java
@@ -253,6 +253,10 @@ * 司机接单限制 */ private Double driverRestriction; /** * 打表计费扣除 */ private Double meterPrintingFee; public Double getFixedDeduction() { return fixedDeduction; @@ -710,6 +714,14 @@ this.detailAddress = detailAddress; } public Double getMeterPrintingFee() { return meterPrintingFee; } public void setMeterPrintingFee(Double meterPrintingFee) { this.meterPrintingFee = meterPrintingFee; } @Override protected Serializable pkVal() { return this.id; ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html
@@ -155,38 +155,52 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" > </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-5"> <div class="col-sm-2"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction" > </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee" > </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html
@@ -50,38 +50,52 @@ </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">订单扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction"> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-4"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction"> </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee"> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-4"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html
@@ -233,38 +233,52 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">订单扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" value="${item.fixedDeduction}" disabled> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-5"> <div class="col-sm-2"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction" value="${item.percentageDeduction}" disabled> </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee" value="${item.meterPrintingFee}" disabled> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html
@@ -135,38 +135,52 @@ </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">订单扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" value="${item.fixedDeduction}" disabled> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-4"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction" value="${item.percentageDeduction}" disabled> </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee" value="${item.meterPrintingFee}" disabled> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-4"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html
@@ -218,38 +218,52 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">订单扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" value="${item.fixedDeduction}"> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-5"> <div class="col-sm-2"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction" value="${item.percentageDeduction}"> </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee" value="${item.meterPrintingFee}"> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html
@@ -144,38 +144,52 @@ </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">订单扣除固定费用</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" value="${item.fixedDeduction}"> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> <div class="col-sm-4"> <div class="col-sm-3"> <div class="col-sm-4"> <span class="control-label">线上下单扣除</span> </div> <div class="col-sm-3"> <div class="col-sm-5"> <input type="text" class="form-control" id="percentageDeduction" name="percentageDeduction" value="${item.percentageDeduction}"> </div> <div class="col-sm-2"> <span class="control-label">%</span> </div> </div> <div class="col-sm-3"> <div class="col-sm-7"> <span class="control-label">打表计费订单扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="meterPrintingFee" name="meterPrintingFee" value="${item.meterPrintingFee}" disabled> </div> <div class="col-sm-2"> <span class="control-label">元</span> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">人工、一键下单、电召订单使用</span> </div> <div class="col-sm-4"> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">线上下单使用</span> </div> <div class="col-sm-3"> <span class="control-label" style="color: #c1c1c1">小程序普通订单打表计费方式扣除抽成</span> </div> </div> <div class="form-group"> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi.html
@@ -78,6 +78,9 @@ @if(shiro.hasPermission("/tOrderTaxi/changeOrder")){ <#button name="改派订单" icon="fa-remove" clickFun="TOrderTaxi.changeOrder()" space="true"/> @} @if(shiro.hasPermission("/tOrderTaxi/export")){ <#button name="导出" icon="fa-remove" clickFun="TOrderTaxi.export()" space="true"/> @} </div> <#table id="TOrderTaxiTable"/> </div> ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
@@ -90,6 +90,7 @@ <#label id="passengersPhone" name="乘车用户手机号" value="${item.passengersPhone}"/> <#label id="endAddress" name="终点" value="${item.endAddress}"/> <#label id="companyName" name="车辆所属机构" value="${item.companyName}"/> <#label id="mileage" name="订单里程" value="${item.mileage / 1000} 公里"/> <#label id="boardingTimeStr" name="上车时间" value="${item.boardingTimeStr}"/> <#label id="getoffTimeStr" name="下车时间" value="${item.getoffTimeStr}"/> @if(item.payManner == 2){ ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tCompany/franchisee_info.js
@@ -150,7 +150,8 @@ .set('fixedDeduction') .set('percentageDeduction') .set('driverRestriction') .set('serviceScope'); .set('serviceScope') .set('meterPrintingFee'); } /** ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tCompany/tCompany_info.js
@@ -141,7 +141,8 @@ .set('fixedDeduction') .set('percentageDeduction') .set('driverRestriction') .set('serviceScope'); .set('serviceScope') .set('meterPrintingFee'); } /** ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js
@@ -360,6 +360,21 @@ } } TOrderTaxi.export = function (){ let insertTime = $("#insertTime").val(); let orderNum = $("#orderNum").val(); let orderSource = $("#orderSource").val(); let userName = $("#userName").val(); let userPhone = $("#userPhone").val(); let passengers = $("#passengers").val(); let passengersPhone = $("#passengersPhone").val(); let driver = $("#driver").val(); let state = $("#state").val(); window.location.href = Feng.ctxPath + '/tOrderTaxi/export?insertTime=' + insertTime + "&orderNum=" + orderNum + "&orderSource=" + orderSource + "&userName=" + userName + "&userPhone=" + userPhone + "&passengers=" + passengers + "&passengersPhone=" + passengersPhone + "&driver=" + driver + "&state=" + state } /** * 查询出租车订单列表 */