Pu Zhibing
2025-07-03 0c82398dad95f536e22b5e1966f79aa29b2cf1c9
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -4,8 +4,9 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.base.tips.ErrorTip;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.WoUtil;
@@ -16,17 +17,15 @@
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import org.apache.commons.lang.time.DateUtils;
import org.apache.poi.hdf.extractor.TC;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.ui.Model;
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -59,9 +58,6 @@
    private ITCarServiceService tCarServiceService;
    @Autowired
    private ITDriverLineService tDriverLineService;
    @Autowired
    private ITCarBrandService tCarBrandService;
    @Autowired
@@ -75,19 +71,22 @@
    @Autowired
    private ITCarServiceService itCarServiceService;
    @Autowired
    private ITServerCarmodelService itServerCarmodelService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Resource
    private CarInsuranceMapper carInsuranceMapper;
    @Resource
    private ShiroExtUtil shiroExtUtil;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    /**
     * 跳转到车辆管理首页
     */
@@ -102,19 +101,19 @@
    @RequestMapping("/tCar_add")
    public String tCarAdd(Model model) {
        List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).eq("state", 0).ne("flag", 3));
        model.addAttribute("companyList",companyList);
        Integer roleType = ShiroKit.getUser().getRoleType();
        model.addAttribute("roleType",roleType);
        if (2 == roleType){
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList",franchiseeList);
        }else{
            model.addAttribute("franchiseeList",null);
        model.addAttribute("companyList", companyList);
        Integer roleType = shiroExtUtil.getUser().getRoleType();
        model.addAttribute("roleType", roleType);
        if (2 == roleType) {
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList", franchiseeList);
        } else {
            model.addAttribute("franchiseeList", null);
        }
        //查询当前用户所属分公司/加盟商
        model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName());
        model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName());
        //车辆品牌
        List<TCarBrand> brandList = tCarBrandService.selectList(new EntityWrapper<TCarBrand>().eq("state", 1));
        model.addAttribute("brandList",brandList);
@@ -150,21 +149,21 @@
    @RequestMapping("/tCar_update/{tCarId}")
    public String tCarUpdate(@PathVariable Integer tCarId, Model model) {
        TCar tCar = tCarService.selectById(tCarId);
        model.addAttribute("item",tCar);
        model.addAttribute("item", tCar);
        LogObjectHolder.me().set(tCar);
        Integer roleType = ShiroKit.getUser().getRoleType();
        model.addAttribute("roleType",roleType);
        model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName());
        if (1 == roleType){
        Integer roleType = shiroExtUtil.getUser().getRoleType();
        model.addAttribute("roleType", roleType);
        model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName());
        if (1 == roleType) {
            List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).eq("state", 0).ne("flag", 3));
            model.addAttribute("companyList",companyList);
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",tCar.getCompanyId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList",franchiseeList);
        }else if (2 == roleType){
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList",franchiseeList);
            model.addAttribute("companyList", companyList);
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", tCar.getCompanyId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList", franchiseeList);
        } else if (2 == roleType) {
            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId()).eq("state", 0).ne("flag", 3));
            model.addAttribute("franchiseeList", franchiseeList);
        }
        //查询平台ID
@@ -384,7 +383,7 @@
            endTime = timeArray[1];
        }
        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
        page.setRecords(tCarService.getCarList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,id,brandName,modelName,carColor,serverStr,carLicensePlate,driverName,companyName,franchiseeName));
        page.setRecords(tCarService.getCarList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, id, brandName, modelName, carColor, serverStr, carLicensePlate, driverName, companyName, franchiseeName));
        return super.packForBT(page);
    }
@@ -399,37 +398,37 @@
                if (SinataUtil.isNotEmpty(oneId)){
                    tCar.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                if (SinataUtil.isNotEmpty(twoId)) {
                    tCar.setFranchiseeId(twoId);
                }
            }else if (1 == companyType.intValue()){
            } else if (1 == companyType.intValue()) {
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tCar.setCompanyId(company.getId());
                tCar.setFranchiseeId(0);
            }
            tCar.setAddType(2);
            tCar.setIsPlatCar(1);
        }else if (2 == roleType){  //分公司
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
        } else if (2 == roleType) {  //分公司
            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
                tCar.setCompanyId(shiroExtUtil.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
            if (SinataUtil.isNotEmpty(franchiseeId)) {
                tCar.setFranchiseeId(franchiseeId);
            }
            tCar.setIsPlatCar(2);
            tCar.setAddType(3);
            tCar.setAddObjectId(ShiroKit.getUser().getObjectId());
        }else if (3 == roleType){  //加盟商
            TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(tCompany)){
            tCar.setAddObjectId(shiroExtUtil.getUser().getObjectId());
        } else if (3 == roleType) {  //加盟商
            TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(tCompany)) {
                tCar.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setFranchiseeId(ShiroKit.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
                tCar.setFranchiseeId(shiroExtUtil.getUser().getObjectId());
            }
            tCar.setIsPlatCar(2);
            tCar.setAddType(4);
            tCar.setAddObjectId(ShiroKit.getUser().getObjectId());
            tCar.setAddObjectId(shiroExtUtil.getUser().getObjectId());
        }
        tCar.setInsertTime(new Date());
        tCar.setState(1);
@@ -501,28 +500,28 @@
                if (SinataUtil.isNotEmpty(oneId)){
                    tCar.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                if (SinataUtil.isNotEmpty(twoId)) {
                    tCar.setFranchiseeId(twoId);
                }
            }else if (1 == companyType.intValue()){
            } else if (1 == companyType.intValue()) {
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tCar.setCompanyId(company.getId());
                tCar.setFranchiseeId(0);
            }
        }else if (2 == roleType){  //分公司
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
        } else if (2 == roleType) {  //分公司
            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
                tCar.setCompanyId(shiroExtUtil.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
            if (SinataUtil.isNotEmpty(franchiseeId)) {
                tCar.setFranchiseeId(franchiseeId);
            }
        }else if (3 == roleType){  //加盟商
            TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(tCompany)){
        } else if (3 == roleType) {  //加盟商
            TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(tCompany)) {
                tCar.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setFranchiseeId(ShiroKit.getUser().getObjectId());
            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
                tCar.setFranchiseeId(shiroExtUtil.getUser().getObjectId());
            }
        }
@@ -617,9 +616,6 @@
        shellList.add("服务模式:快车[是/否]");
        shellList.add("服务模式:出租车[是/否]");
        shellList.add("服务模式:跨城出行[是/否]");
        shellList.add("服务模式:小件同城物流[是/否]");
        shellList.add("服务模式:小件跨城物流[是/否]");
        shellList.add("服务模式:包车[是/否]");
        shellList.add("车辆品牌");
        shellList.add("车辆类型");
        shellList.add("车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]");
@@ -696,69 +692,50 @@
                    five = String.valueOf(cell5.getStringCellValue()).trim();
                }
                Cell cell6 = row.getCell(6);  //服务模式:小件跨城物流[是/否]
                String six = null;
                if (SinataUtil.isNotEmpty(cell6)){
                    six = String.valueOf(cell6.getStringCellValue()).trim();
                }
                Cell cell7 = row.getCell(7);  //服务模式:小件跨城物流[是/否]
                String seven = null;
                if (SinataUtil.isNotEmpty(cell7)){
                    seven = String.valueOf(cell7.getStringCellValue()).trim();
                }
                Cell cell8 = row.getCell(8);  //服务模式:包车[是/否]
                String eight = null;
                if (SinataUtil.isNotEmpty(cell8)){
                    eight = String.valueOf(cell8.getStringCellValue()).trim();
                }
                Cell cell9 = row.getCell(9);  //车辆品牌
                Cell cell9 = row.getCell(6);  //车辆品牌
                String nine = null;
                if (SinataUtil.isNotEmpty(cell9)){
                    nine = String.valueOf(cell9.getStringCellValue()).trim();
                }
                Cell cell10 = row.getCell(10);  //车辆类型
                Cell cell10 = row.getCell(7);  //车辆类型
                String ten = null;
                if (SinataUtil.isNotEmpty(cell10)){
                    ten = String.valueOf(cell10.getStringCellValue()).trim();
                }
                Cell cell11 = row.getCell(11);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
                Cell cell11 = row.getCell(8);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
                String eleven = null;
                if (SinataUtil.isNotEmpty(cell11)){
                    eleven = String.valueOf(cell11.getStringCellValue()).trim();
                }
                Cell cell12 = row.getCell(12);  //车牌号
                Cell cell12 = row.getCell(9);  //车牌号
                String twelve = null;
                if (SinataUtil.isNotEmpty(cell12)){
                    twelve = String.valueOf(cell12.getStringCellValue()).trim();
                }
                Cell cell13 = row.getCell(13);  //行驶证编号
                Cell cell13 = row.getCell(10);  //行驶证编号
                String thirteen = null;
                if (SinataUtil.isNotEmpty(cell13)){
                    thirteen = String.valueOf(cell13.getStringCellValue()).trim();
                }
                Cell cell14 = row.getCell(14);  //年检到期时间
                Cell cell14 = row.getCell(11);  //年检到期时间
                String fourteen = null;
                if (SinataUtil.isNotEmpty(cell14)){
                    fourteen = String.valueOf(cell14.getStringCellValue()).trim();
                }
                Cell cell15 = row.getCell(15);  //商业保险到期时间
                Cell cell15 = row.getCell(12);  //商业保险到期时间
                String fifteen = null;
                if (SinataUtil.isNotEmpty(cell15)){
                    fifteen = String.valueOf(cell15.getStringCellValue()).trim();
                }
                if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four)
                        || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(seven)
                        || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                        || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                        || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                        || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen)){
                    return new ErrorTip(500, "单元格不能为空");
@@ -778,18 +755,6 @@
                    //判断服务模式【跨城出行】
                    if (!five.equals("是") && !five.equals("否")){
                        return new ErrorTip(500, "服务模式【跨城出行】内容不正确");
                    }
                    //判断服务模式【小件同城物流】
                    if (!six.equals("是") && !six.equals("否")){
                        return new ErrorTip(500, "服务模式【小件同城物流】内容不正确");
                    }
                    //判断服务模式【小件跨城物流】
                    if (!seven.equals("是") && !seven.equals("否")){
                        return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确");
                    }
                    //判断服务模式【包车】
                    if (!eight.equals("是") && !eight.equals("否")){
                        return new ErrorTip(500, "服务模式【包车】内容不正确");
                    }
                    //判断车辆颜色
                    if (!eleven.equals("黑色") && !eleven.equals("银色") && !eleven.equals("白色") && !eleven.equals("红色") && !eleven.equals("黄色") && !eleven.equals("橙色") && !eleven.equals("蓝色")){
@@ -868,14 +833,14 @@
                    car.setCommercialInsuranceTime(DateUtil.parseDate(fifteen));
                    car.setInsertTime(new Date());
                    car.setState(1);
                    if (ShiroKit.getUser().getRoleType() == 1){
                    if (shiroExtUtil.getUser().getRoleType() == 1) {
                        car.setAddType(2);
                    }else if (ShiroKit.getUser().getRoleType() == 2){
                    } else if (shiroExtUtil.getUser().getRoleType() == 2) {
                        car.setAddType(3);
                        car.setAddObjectId(ShiroKit.getUser().getObjectId());
                    }else if (ShiroKit.getUser().getRoleType() == 3){
                        car.setAddObjectId(shiroExtUtil.getUser().getObjectId());
                    } else if (shiroExtUtil.getUser().getRoleType() == 3) {
                        car.setAddType(4);
                        car.setAddObjectId(ShiroKit.getUser().getObjectId());
                        car.setAddObjectId(shiroExtUtil.getUser().getObjectId());
                    }
                    tCarService.insert(car);
@@ -898,27 +863,6 @@
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(3);
                        tCarServiceService.insert(service);
                    }
                    //添加小件同城物流服务模式
                    if ("是".equals(six)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(4);
                        tCarServiceService.insert(service);
                    }
                    //添加小件跨城物流服务模式
                    if ("是".equals(seven)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(5);
                        tCarServiceService.insert(service);
                    }
                    //添加包车服务模式
                    if ("是".equals(eight)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(6);
                        tCarServiceService.insert(service);
                    }
                }
@@ -968,7 +912,7 @@
     */
    @RequestMapping(value = "/outCar")
    public void outCar(HttpServletRequest request, HttpServletResponse response) {
        List<Map<String,Object>> listMap = tCarService.getCarListNoPage(ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId());
        List<Map<String, Object>> listMap = tCarService.getCarListNoPage(shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId());
        // 表格数据【封装】
        List<List<String>> dataList = new ArrayList<>();