puzhibing
2026-02-09 58d8c20d87dc4edf3027950a935b0d091c6a82dd
优化功能
7个文件已修改
145 ■■■■■ 已修改文件
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tLine/tLine_info.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/OrderCrossCityController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -113,6 +113,8 @@
    private IDriverWorkService iDriverWorkService;
    @Autowired
    private ITRegionService regionService;
    @Autowired
    private GDMapGeocodingUtil gdMapGeocodingUtil;
    /**
     * 跳转投诉页面
@@ -916,7 +918,7 @@
            TDriver tDriver = tDriverService.selectById(tDriverId);
            DriverWork driverWork = iDriverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", tDriverId).eq("state", 1));
            if(null != driverWork && !tDriver.getCarId().equals(carId)){
                return ResultUtil.error("司机上班中,不能更换车辆");
                return ResultUtil.error("司机服务中,不能更换车辆");
            }
            tDriver.setCarId(carId);
            tDriverService.updateById(tDriver);
@@ -1362,7 +1364,7 @@
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
            shellList.add("从业地行政编号");
            shellList.add("从业地所属地址");
        } else if (shiroExtUtil.getUser().getRoleType() == 2) {
            title = "分公司导入司机模板";
        
@@ -1380,7 +1382,7 @@
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
            shellList.add("从业地行政编号");
            shellList.add("从业地所属地址");
        } else if (shiroExtUtil.getUser().getRoleType() == 3) {
            title = "加盟商导入司机模板";
        
@@ -1397,7 +1399,7 @@
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
            shellList.add("从业地行政编号");
            shellList.add("从业地所属地址");
        }
        dataList.add(shellList);
@@ -1715,10 +1717,6 @@
                        if (!isPassword(eighteen)){
                            return new ErrorTip(500, "登录密码格式不正确");
                        }
                        //从业地行政编号
                        if (!isPassword(cell201)){
                            return new ErrorTip(500, "从业地行政编号不正确");
                        }
                        //查找平台公司
                        TCompany platCompany = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1).notIn("flag", "3").last(" limit 1"));
@@ -1769,26 +1767,12 @@
                        driver.setInsertTime(new Date());
                        driver.setAddType(2);
                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
                        driver.setPlaceOfEmployment(cell201);
                        if(ToolUtil.isNotEmpty(cell201)){
                            TRegion tRegion = regionService.selectOne(new EntityWrapper<TRegion>().eq("code", cell201));
                            String placeOfPractice = "";
                            if(null != tRegion){
                                Integer parentId = tRegion.getParentId();
                                if(0 != parentId){
                                    TRegion tRegion1 = regionService.selectById(parentId);
                                    if(0 != tRegion1.getParentId()){
                                        TRegion tRegion2 = regionService.selectById(tRegion1.getParentId());
                                        placeOfPractice = tRegion2.getName() + "," + tRegion1.getName() + "," + tRegion.getName();
                                    }else{
                                        placeOfPractice = tRegion1.getName() + "," + tRegion.getName();
                                    }
                                }else{
                                    placeOfPractice = tRegion.getName();
                                }
                            }
                            driver.setPlaceOfPractice(placeOfPractice);
                        driver.setPlaceOfPractice(cell201);
                        String s = gdMapGeocodingUtil.geocoding2(cell201);
                        if(ToolUtil.isNotEmpty(s)){
                            driver.setPlaceOfEmployment(s);
                        }
                        if (SinataUtil.isNotEmpty(eight)) {
                            driver.setDriverAddress(eight);
                        }
@@ -2118,10 +2102,6 @@
                        if (!isPassword(sixteen)) {
                            return new ErrorTip(500, "登录密码格式不正确");
                        }
                        //从业地行政编号
                        if (!isPassword(cell1701)) {
                            return new ErrorTip(500, "从业地行政编号不正确");
                        }
                        //查找平台公司
@@ -2142,11 +2122,7 @@
                            return new ErrorTip(500, serviceError);
                        }
                        // 校验从业地是否在公司经营区域内
                        String placeError = validatePlaceOfEmployment(companyId, cell1701, 2);
                        if (placeError != null) {
                            return new ErrorTip(500, placeError);
                        }
                        TDriver driver = new TDriver();
                        driver.setAccount(fifteen);
@@ -2173,10 +2149,23 @@
                        driver.setInsertTime(new Date());
                        driver.setAddType(3);
                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
                        driver.setPlaceOfEmployment(cell1701);
                        driver.setPlaceOfPractice(cell1701);
                        String s = gdMapGeocodingUtil.geocoding2(cell1701);
                        if(ToolUtil.isNotEmpty(s)){
                            driver.setPlaceOfEmployment(s);
                            // 校验从业地是否在公司经营区域内
                            String placeError = validatePlaceOfEmployment(companyId, s, 2);
                            if (placeError != null) {
                                return new ErrorTip(500, placeError);
                            }
                        }
                        if (SinataUtil.isNotEmpty(six)) {
                            driver.setDriverAddress(six);
                        }
                        tDriverService.insert(driver);
                        //添加快车服务模式
@@ -2468,11 +2457,7 @@
                            return new ErrorTip(500, serviceError);
                        }
                        // 校验从业地是否在公司经营区域内
                        String placeError = validatePlaceOfEmployment(companyId, cell1701, 3);
                        if (placeError != null) {
                            return new ErrorTip(500, placeError);
                        }
                        TDriver driver = new TDriver();
                        driver.setAccount(fourteen);
@@ -2499,7 +2484,16 @@
                        driver.setInsertTime(new Date());
                        driver.setAddType(4);
                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
                        driver.setPlaceOfEmployment(cell1701);
                        driver.setPlaceOfPractice(cell1701);
                        String s = gdMapGeocodingUtil.geocoding2(cell1701);
                        if(ToolUtil.isNotEmpty(s)){
                            driver.setPlaceOfEmployment(s);
                            // 校验从业地是否在公司经营区域内
                            String placeError = validatePlaceOfEmployment(companyId, s, 3);
                            if (placeError != null) {
                                return new ErrorTip(500, placeError);
                            }
                        }
                        if (SinataUtil.isNotEmpty(five)) {
                            driver.setDriverAddress(five);
                        }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
@@ -7,7 +8,11 @@
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.TDriverMapper;
import com.stylefeng.guns.modular.system.model.TDriver;
import com.stylefeng.guns.modular.system.model.TDriverLine;
import com.stylefeng.guns.modular.system.model.TLine;
import com.stylefeng.guns.modular.system.service.ITDriverLineService;
import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.ITLineService;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -16,6 +21,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -30,7 +36,11 @@
    
    @Autowired
    private ShiroExtUtil shiroExtUtil;
    @Autowired
    private ITDriverLineService iTDriverLineService;
    @Autowired
    private ITLineService iTLineService;
    @Override
    public List<Map<String, Object>> getAuthDriverList(Page<Map<String, Object>> page, String beginTime, String endTime, String companyName,
                                                       String phone, String account, Integer addType, Integer authState, Integer companyId) {
@@ -45,6 +55,17 @@
    @Override
    public List<Map<String, Object>> getDriverList(Page<Map<String, Object>> page, Integer roleType,Integer nowUserId,String beginTime, String endTime, String companyName, String phone, String name, Integer addType, Integer authState) {
        List<Map<String, Object>> driverList = this.baseMapper.getDriverList(page, roleType, nowUserId, beginTime, endTime, companyName, phone, name, addType, authState);
        for (Map<String, Object> map : driverList) {
            String id = map.get("id").toString();
            String lineStr = "";
            List<TDriverLine> driverLineList = iTDriverLineService.selectList(new EntityWrapper<TDriverLine>().eq("driverId", id));
            if(!driverLineList.isEmpty()){
                List<Integer> collect = driverLineList.stream().map(TDriverLine::getLineId).collect(Collectors.toList());
                List<TLine> tLines = iTLineService.selectBatchIds(collect);
                lineStr = tLines.stream().map(TLine::getName).collect(Collectors.joining("<br>"));
            }
            map.put("lineStr", lineStr);
        }
        return driverList;
    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
@@ -85,9 +85,6 @@
        JSONObject jsonObject = JSON.parseObject(forObject);
        String status = jsonObject.getString("status");
        List<String> list = new ArrayList<>();
//        gdInterfaceService.saveData("https://restapi.amap.com/v3/geocode/geo", "行政区域转经纬度");
        if(status.equals("1")){
            JSONArray geocodes = jsonObject.getJSONArray("geocodes");
            for(int i = 0; i < geocodes.size(); i++){
@@ -102,6 +99,22 @@
    public String geocoding2(String address){
        String url = "https://restapi.amap.com/v3/geocode/geo?key=" + key + "&output=JSON&address=" + address;
        String forObject = restTemplate.getForObject(url, String.class);
        JSONObject jsonObject = JSON.parseObject(forObject);
        String status = jsonObject.getString("status");
        if(status.equals("1")){
            JSONArray geocodes = jsonObject.getJSONArray("geocodes");
            for(int i = 0; i < geocodes.size(); i++){
                return geocodes.getJSONObject(i).getString("adcode");
            }
        }
        return "";
    }
    public String geocoding1(String address){
        String url = "https://restapi.amap.com/v3/geocode/geo?key=" + key + "&output=JSON";
        url += "&address=" + address;
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tLine/tLine_info.js
@@ -411,6 +411,13 @@
        Feng.info("车次数格式不正确");
        return;
    }
    times = shiftTime.split(" - ");
    var time1 = times[0];
    var time2 = times[1];
    if (time1 >= time2) {
        Feng.info("开始时间不能大于结束时间");
        return;
    }
    var shuArr=[];
    $(".shiftValueClass").each(function () {
ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
@@ -64,12 +64,12 @@
        },
        {title: '所属公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',
        },
        {title: '班次时间', field: 'setOutTime', visible: true, align: 'center', valign: 'middle',width:'10%',
        {title: '班次时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
            formatter: function (value, row) {
                var btn = "";
                if(row.setOutTime != '' && row.setOutTime != null) {
                    var time = row.setOutTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.setOutTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                if(row.travelTime != '' && row.travelTime != null) {
                    var time = row.travelTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.travelTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                }
                return btn;
            }
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/OrderCrossCityController.java
@@ -202,9 +202,7 @@
                return ResultUtil.tokenErr();
            }
            return orderCrossCityService.orderCrossCityScan(orderCrossCityScanWarpper, uid);
        } catch (SystemException se){
            return ResultUtil.error(se.getMessage());
        } catch (Exception e){
        }  catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
@@ -308,7 +308,7 @@
        a.state as state,
        a.oldState as oldState,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        DATE_FORMAT(a.insertTime, '%m月%d日 %H:%i') as travelTime,
        ifnull(DATE_FORMAT(setOutTime, '%m月%d日 %H:%i'), '') as travelTime,
        DATE_FORMAT(a.arriveTime, '%Y-%m-%d %H:%i:%s') as arriveTime,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as travelTime1,
        a.startLon as startLon,
@@ -376,7 +376,7 @@
        select
        id as orderId,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime,
        DATE_FORMAT(insertTime, '%m月%d日 %H:%i') as time,
        ifnull(DATE_FORMAT(setOutTime, '%m月%d日 %H:%i'), '') as time,
        startAddress as startAddress,
        endAddress as endAddress,
        driverId as driverId,