package com.dsh.guns.modular.system.controller.general; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.model.Company; import com.dsh.course.feignClient.activity.CompanyClient; import com.dsh.course.feignClient.activity.model.CompanyInfoRes; import com.dsh.course.feignClient.activity.model.CompanyQueryStateAndFlgReq; import com.dsh.course.feignClient.activity.model.FranchiseeListReq; import com.dsh.course.feignClient.driver.DriverClient; import com.dsh.course.feignClient.driver.DriverServiceClient; import com.dsh.course.feignClient.driver.DriverTrainClient; import com.dsh.course.feignClient.driver.model.*; import com.dsh.course.mapper.DriverPunishMapper; import com.dsh.course.mapper.DriverVerifyMapper; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.ErrorTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.log.LogObjectHolder; import com.dsh.guns.core.support.HttpKit; import com.dsh.guns.core.util.SinataUtil; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.ITCarService; import com.dsh.guns.modular.system.service.ITCarServiceService; import com.dsh.guns.modular.system.util.*; import org.apache.commons.lang3.StringUtils; 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.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import com.dsh.guns.core.util.WoUtil; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * 司机审核列表控制器 * * @author fengshuonan * @Date 2020-06-04 17:35:28 */ @Controller @RequestMapping("/tDriver") public class TDriverController extends BaseController { private String PREFIX = "/system/tDriver/"; @Autowired private DriverClient driverClient; @Autowired private CompanyClient companyClient; @Autowired private DriverServiceClient driverServiceClient; // @Autowired // private ITDriverLineService tDriverLineService; // // @Autowired // private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; @Autowired private DriverTrainClient driverTrainClient; @Resource private DriverPunishMapper driverPunishMapper; /** * 跳转到司机审核列表首页 */ @RequestMapping("") public String index(Model model) { model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver.html"; } /** * 跳转到审核通过司机首页 */ @RequestMapping("/yesDriver") public String yesDriver(Model model) { model.addAttribute("language",UserExt.getLanguage()); BigDecimal money = driverClient.getWithholding(); model.addAttribute("money",money); return PREFIX + "yesDriver.html"; } /** * 跳转到添加司机 */ @RequestMapping("/tDriver_add") public String tDriverAdd(Model model) { List companyInfoRes = companyClient.queryByTypeCompany(2); model.addAttribute("companyList",companyInfoRes); Integer roleType = 1; model.addAttribute("roleType",roleType); if (2 == roleType){ List franchiseeList = companyClient.getFranchiseeList(new FranchiseeListReq(3, 1, 1, 3)); model.addAttribute("franchiseeList",franchiseeList); }else{ model.addAttribute("franchiseeList",null); } //查询当前用户所属分公司/加盟商 model.addAttribute("objectName",companyClient.queryById(1).getName()); //查询线路列表 // List lineList = itLineService.selectList(new EntityWrapper().eq("state", 1)); // model.addAttribute("lineList",lineList); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_add.html"; } /** * 跳转到修改审核司机 */ @RequestMapping("/tDriver_immediately/{tDriverId}") public String tDriver_immediately(@PathVariable Integer tDriverId, Model model) { DriverInfoRes tDriver = driverClient.getDriver(tDriverId); model.addAttribute("item",tDriver); Integer carId = tDriver.getCarId(); List tCarServices = driverClient.getDriverService(tDriverId); String a= ""; Integer language = UserExt.getLanguage(); if(tCarServices.size()>0){ if(tCarServices.size()==1){ Integer type = tCarServices.get(0).getType(); if(type==1){ if(language==1){ a="摩托车"; }else if(language==2){ a="Motorcycle"; }else { a="Motosikal"; } }else if(type==4){ if(language==1){ a="同城快送"; }else if(language==2){ a="Express in the same city"; }else { a="Ekspres di kota yang sama"; } } }else { for (int i = 0; i < tCarServices.size(); i++) { if(i==tCarServices.size()-1){ Integer type = tCarServices.get(i).getType(); if(type==1){ if(language==1){ a+="摩托车"; }else if(language==2){ a+="Motorcycle"; }else { a+="Motosikal"; } }else if(type==4){ if(language==1){ a+="同城快送"; }else if(language==2){ a+="Express in the same city"; }else { a+="Ekspres di kota yang sama"; } } }else { Integer type = tCarServices.get(i).getType(); if(type==1){ if(language==1){ a+="摩托车、"; }else if(language==2){ a+="Motorcycle、"; }else { a+="Motosikal、"; } }else if(type==4){ if(language==1){ a+="同城快送、"; }else if(language==2){ a+="Express in the same city、"; }else { a+="Ekspres di kota yang sama、"; } } } } } } if(tDriver.getCompanyId()!=null) { CompanyInfoRes companyInfoRes = companyClient.queryById(tDriver.getCompanyId()); model.addAttribute("companyName", companyInfoRes.getName()); }else { model.addAttribute("companyName", null); } model.addAttribute("serverStr",a); if(tDriver.getAddType()==1){ model.addAttribute("addTypeStr","司机注册"); }else if(tDriver.getAddType()==1){ model.addAttribute("addTypeStr","平台添加"); }else if(tDriver.getAddType()==3){ model.addAttribute("addTypeStr","分公司添加"); }else { model.addAttribute("addTypeStr","加盟商添加"); } LogObjectHolder.me().set(tDriver); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_immediately.html"; } /** * 跳转到选择车辆页面 */ @RequestMapping("/tDriver_changeCar/{tDriverId}") public String tDriver_changeCar(@PathVariable Integer tDriverId, Model model) { model.addAttribute("tDriverId",tDriverId); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_changeCar.html"; } /** * 跳转到冻结/解冻司机页面 */ @RequestMapping("/tDriver_optDriver/{tDriverId}/{optType}") public String tDriver_optDriver(@PathVariable Integer tDriverId,@PathVariable Integer optType, Model model) { model.addAttribute("tDriverId",tDriverId); model.addAttribute("optType",optType); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_optDriver.html"; } @RequestMapping("/without") public String tDriver_optDriver(Model model) { model.addAttribute("language",UserExt.getLanguage()); return "/system/tWithout/tWithout.html"; } /** * 跳转到查看司机详情 */ @RequestMapping("/tDriver_look/{tDriverId}") public String tDriver_look(@PathVariable Integer tDriverId, Model model) { DriverInfoRes tDriver = driverClient.getDriver(tDriverId); if(tDriver.getAuthState()==1){ model.addAttribute("status","待审核"); }else if(tDriver.getAuthState()==2){ model.addAttribute("status","正常"); }else if(tDriver.getAuthState()==3){ model.addAttribute("status","冻结"); }else if(tDriver.getAuthState()==4){ model.addAttribute("status","拒绝"); } if(tDriver.getAddType()==1){ model.addAttribute("addTypeStr","司机注册"); }else if(tDriver.getAddType()==1){ model.addAttribute("addTypeStr","平台添加"); }else if(tDriver.getAddType()==3){ model.addAttribute("addTypeStr","分公司添加"); }else { model.addAttribute("addTypeStr","加盟商添加"); } model.addAttribute("item",tDriver); if(tDriver.getCompanyId()!=null) { CompanyInfoRes companyInfoRes = companyClient.queryById(tDriver.getCompanyId()); model.addAttribute("companyName", companyInfoRes.getName()); }else { model.addAttribute("companyName", null); } Integer language = UserExt.getLanguage(); Integer carId = tDriver.getCarId(); List tCarServices = driverClient.getDriverService(tDriverId); String a= ""; if(tCarServices.size()>0){ if(tCarServices.size()==1){ Integer type = tCarServices.get(0).getType(); if(type==1){ if(language==1){ a="摩托车"; }else if(language==2){ a="Motorcycle"; }else { a="Motosikal"; } }else if(type==4){ if(language==1){ a="同城快送"; }else if(language==2){ a="Express in the same city"; }else { a="Ekspres di kota yang sama"; } } }else { for (int i = 0; i < tCarServices.size(); i++) { if(i==tCarServices.size()-1){ Integer type = tCarServices.get(i).getType(); if(type==1){ if(language==1){ a+="摩托车"; }else if(language==2){ a+="Motorcycle"; }else { a+="Motosikal"; } }else if(type==4){ if(language==1){ a+="同城快送"; }else if(language==2){ a+="Express in the same city"; }else { a+="Ekspres di kota yang sama"; } } }else { Integer type = tCarServices.get(i).getType(); if(type==1){ if(language==1){ a+="摩托车、"; }else if(language==2){ a+="Motorcycle、"; }else { a+="Motosikal、"; } }else if(type==4){ if(language==1){ a+="同城快送、"; }else if(language==2){ a+="Express in the same city、"; }else { a+="Ekspres di kota yang sama、"; } } } } } } model.addAttribute("serverStr",a); LogObjectHolder.me().set(tDriver); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_look.html"; } /** * 跳转到修改司机 */ @RequestMapping("/tDriver_update/{tDriverId}") public String tDriverUpdate(@PathVariable Integer tDriverId, Model model) { // TDriver tDriver = tDriverService.selectById(tDriverId); DriverInfoRes tDriver = driverClient.getDriver(tDriverId); model.addAttribute("item",tDriver); LogObjectHolder.me().set(tDriver); User user = UserExt.getUser(); Integer roleType = 1; model.addAttribute("roleType",roleType); model.addAttribute("objectName",companyClient.queryById(1)); if (1 == roleType){ // List companyList = tCompanyService.selectList(new EntityWrapper().eq("type", 2)); List companyList = companyClient.queryByTypeCompany(2); model.addAttribute("companyList",companyList); List franchiseeList = companyClient.selectList1(new DriverUpdateReq(3,tDriver.getCompanyId())); model.addAttribute("franchiseeList",franchiseeList); }else if (2 == roleType){ List franchiseeList = companyClient.selectList1(new DriverUpdateReq(3,user.getObjectId())); model.addAttribute("franchiseeList",franchiseeList); } //查询平台ID CompanyInfoRes company = companyClient.queryByTypeCompany(1).get(0); //判断是平台司机还是加盟司机 if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){ model.addAttribute("companyType",1); }else{ model.addAttribute("companyType",2); } //获取经营业务 // List serviceList = tDriverServiceService.selectList(new EntityWrapper().eq("driverId", tDriverId)); List serviceList = driverServiceClient.getListByDriverId(tDriverId); Integer one = 1; Integer two = 1; Integer three = 1; Integer four = 1; Integer five = 1; Integer six = 1; for (TDriverService obj : serviceList){ if (obj.getType() == 1){ one = 2; } if (obj.getType() == 2){ two = 2; } if (obj.getType() == 3){ three = 2; } if (obj.getType() == 4){ four = 2; } if (obj.getType() == 5){ five = 2; } if (obj.getType() == 6){ six = 2; } } model.addAttribute("one",one); model.addAttribute("two",two); model.addAttribute("three",three); model.addAttribute("four",four); model.addAttribute("five",five); model.addAttribute("six",six); //查询线路列表 // List lineList = itLineService.selectList(new EntityWrapper().eq("state", 1)); // model.addAttribute("lineList",lineList); //查询驾驶员已添加的线路列表 // List> driverLineList = tDriverLineService.getDriverLineListByDriverId(tDriverId); // model.addAttribute("driverLineList",driverLineList); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tDriver_edit.html"; } /** * 跳转到添加培训页 * @param id * @param model * @return */ @RequestMapping("/showTraining") public String showTraining(Integer id, Model model){ model.addAttribute("id", id); return PREFIX + "training.html"; } /** * 保存培训数据 * @param train * @param driverId * @return */ @ResponseBody @RequestMapping(value = "/saveTrain", method = RequestMethod.POST) public ResultUtil saveTrain(String train, Integer driverId){ if(Objects.isNull(train)){ return ResultUtil.error("请添加有效的培训记录"); } String[] split = train.split(","); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { List update = new ArrayList<>(); List add = new ArrayList<>(); for(String s : split){ String[] s1 = s.split("_"); if(!StringUtils.isEmpty(s1[0])){//修改 DriverTrain driverTrain = driverTrainClient.queryDriverTrainById(Integer.valueOf(s1[0])); driverTrain.setDriverId(driverId); driverTrain.setCourseName(s1[1]); driverTrain.setCourseDate(sdf.parse(s1[2])); driverTrain.setStartTime(s1[3]); driverTrain.setStopTime(s1[4]); driverTrain.setDuration(Integer.valueOf(s1[5])); update.add(driverTrain); }else{//添加 DriverTrain driverTrain = new DriverTrain(); driverTrain.setDriverId(driverId); driverTrain.setCourseName(s1[1]); driverTrain.setCourseDate(sdf.parse(s1[2])); driverTrain.setStartTime(s1[3]); driverTrain.setStopTime(s1[4]); driverTrain.setDuration(Integer.valueOf(s1[5])); add.add(driverTrain); } } List driverTrains = driverTrainClient.queryAllTrain(driverId); for(DriverTrain driverTrain : driverTrains){ boolean b = true; for(String s : split){ String[] s1 = s.split("_"); if(!StringUtils.isEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ b = false; break; } } if(b){ driverTrainClient.deleteById(driverTrain.getId()); // new Thread(new Runnable() { // @Override // public void run() { // if(pushMinistryOfTransport){//上传数据 // pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 3); // } // } // }).start(); } } if(update.size() > 0){ for(DriverTrain driverTrain : update){ driverTrainClient.updateById(driverTrain); // new Thread(new Runnable() { // @Override // public void run() { // if(pushMinistryOfTransport){//上传数据 // pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 2); // } // } // }).start(); } } if(add.size() > 0){ for(DriverTrain driverTrain : add){ driverTrainClient.insert(driverTrain); // new Thread(new Runnable() { // @Override // public void run() { // if(pushMinistryOfTransport){//上传数据 // pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 1); // } // } // }).start(); } } }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } return ResultUtil.success(); } /** * 获取司机的所有培训数据 * @param driverId * @return */ @ResponseBody @RequestMapping(value = "/queryAllTrain", method = RequestMethod.POST) public ResultUtil queryAllTrain(Integer driverId){ List driverTrains = driverTrainClient.queryAllTrain(driverId); return ResultUtil.success(driverTrains); } /** * 跳转到处罚页 * @param id * @param model * @return */ @RequestMapping("/showPunish") public String showPunish(Integer id, Model model){ model.addAttribute("id", id); return PREFIX + "punish.html"; } /** * 保存处罚数据 * @param punish * @param driverId * @return */ @ResponseBody @RequestMapping(value = "/savePunish", method = RequestMethod.POST) public ResultUtil savePunish(String punish, Integer driverId){ if(Objects.isNull(punish)){ return ResultUtil.error("请添加有效的培训记录"); } String[] split = punish.split(","); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { List update = new ArrayList<>(); List add = new ArrayList<>(); for(String s : split){ String[] s1 = s.split("_"); if(!StringUtils.isEmpty(s1[0])){//修改 DriverPunish driverPunish = driverPunishMapper.selectById(s1[0]); driverPunish.setDriverId(driverId); driverPunish.setPunishTime(sdf.parse(s1[1])); driverPunish.setPunishReason(s1[2]); driverPunish.setPunishReault(s1[3]); update.add(driverPunish); }else{//添加 DriverPunish driverPunish = new DriverPunish(); driverPunish.setDriverId(driverId); driverPunish.setPunishTime(sdf.parse(s1[1])); driverPunish.setPunishReason(s1[2]); driverPunish.setPunishReault(s1[3]); add.add(driverPunish); } } List driverPunishes = driverPunishMapper.queryAllPunish(driverId); for(DriverPunish driverTrain : driverPunishes){ boolean b = true; for(String s : split){ String[] s1 = s.split("_"); if(!StringUtils.isEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ b = false; break; } } if(b){ driverTrainClient.deleteById(driverTrain.getId()); } } if(update.size() > 0){ for(DriverPunish driverTrain : update){ driverPunishMapper.updateById(driverTrain); } } if(add.size() > 0){ for(DriverPunish driverTrain : add){ driverPunishMapper.insert(driverTrain); // new Thread(new Runnable() { // @Override // public void run() { // if(pushMinistryOfTransport){//上传数据 // pushMinistryOfTransportUtil.ratedDriverPunish(driverTrain.getId()); // } // } // }).start(); } } }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } return ResultUtil.success(); } /** * 获取所有处罚数据 * @param driverId * @return */ @ResponseBody @RequestMapping(value = "/queryAllPunish", method = RequestMethod.POST) public ResultUtil queryAllPunish(Integer driverId){ List driverPunishes = driverPunishMapper.queryAllPunish(driverId); return ResultUtil.success(driverPunishes); } /** * 根据分公司ID获取加盟商 * @param oneId * @return */ @RequestMapping(value = "/oneChange") @ResponseBody public Object oneChange(@RequestParam Integer oneId) { List list = new ArrayList<>(); if (SinataUtil.isNotEmpty(oneId)){ list = companyClient.selectListOneChange(oneId); // new QueryWrapper() // .eq("type", 3) // .eq("superiorId", oneId) // .notIn("flag",3) // .notIn("state",1) } return list; } /** * 获取司机审核列表列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String insertTime, String companyName, String phone, String account, Integer addType, Integer authState) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } HttpServletRequest request = HttpKit.getRequest(); int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据 int offset = Integer.valueOf(request.getParameter("offset")); if (UserExt.getUser().getRoleType() != 1){ return super.packForBT(new Page<>().setRecords(null)); } return super.packForBT(driverClient.getAuthDriverList(new QueryAuthDriverReq(limit,offset,beginTime,endTime,companyName,phone,account,addType,authState))); } /** * 获取审核通过的司机列表 */ @RequestMapping(value = "/listYesDriver") @ResponseBody public Object listYesDriver(String insertTime, String companyName, String phone, String name, Integer addType, Integer authState) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } HttpServletRequest request = HttpKit.getRequest(); int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据 int offset = Integer.valueOf(request.getParameter("offset")); return super.packForBT(driverClient.getDriverList(new QueryDriverListReq(limit,offset,UserExt.getUser().getRoleType(),UserExt.getUser().getObjectId(),beginTime,endTime,companyName,phone,name,addType,authState))); } @RequestMapping(value = "/withoutList") @ResponseBody public Object withoutList(String name, String phone) { HttpServletRequest request = HttpKit.getRequest(); int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据 int offset = Integer.valueOf(request.getParameter("offset")); return super.packForBT(driverClient.getWithoutList(new WithoutListReq(limit,offset,name,phone))); } /** * 获取可被选择的车辆列表 */ @RequestMapping(value = "/selectCarList/{tDriverId}") @ResponseBody public Object selectCarList(@PathVariable Integer tDriverId, String carLicensePlate, String brandName, String modelName, String color, String serverStr) { // TDriver driver = tDriverService.selectById(tDriverId); /*String useCarIdStr = null; //查询已被使用的车辆ID if (SinataUtil.isNotEmpty(driver.getCarId())){ useCarIdStr = tDriverService.getUseCarIdStr(driver.getCarId()); }else{ useCarIdStr = tDriverService.getUseCarIdStr(null); }*/ //2020-08-21:新需求,已被绑定的车辆可以被继续绑定 User user = UserExt.getUser(); Page> page = new PageFactory>().defaultPage(); String groupConcat = driverClient.getGroupConcat(user.getObjectId()); page.setRecords(driverPunishMapper.getCanSelectCarList(page,user.getRoleType(),user.getObjectId(),null,carLicensePlate,brandName,modelName,color,serverStr,groupConcat)); return super.packForBT(page); } /** * 审核操作 1=通过 2=不通过 */ @RequestMapping(value = "/authOpt") @ResponseBody public Object authOpt(Integer id,Integer authState) { if (SinataUtil.isNotEmpty(id) && SinataUtil.isNotEmpty(authState)){ DriverInfoRes tDriver = driverClient.getDriver(id); Integer type = 0; if (1 == authState){ type = 5; tDriver.setAuthState(2); // new Thread(new Runnable() { // @Override // public void run() { // if(pushMinistryOfTransport){//上传数据 // pushMinistryOfTransportUtil.baseInfoCompanyStat(); // pushMinistryOfTransportUtil.baseInfoDriver(id); // pushMinistryOfTransportUtil.baseInfoDriverApp(id); // } // } // }).start(); }else{ type = 6; tDriver.setAuthState(4); } Map map = new HashMap<>(); map.put("uid", String.valueOf(tDriver.getId())); map.put("type", String.valueOf(type)); String result = HttpRequestUtil.postRequest(PushURL.driver_auth_url, map); System.out.println("司机注册审核发送短信 :【driverId="+tDriver.getId().toString()+"】,调用接口:"+result); DriverInfoReq driverInfoReq = new DriverInfoReq(); BeanUtils.copyProperties(tDriver,driverInfoReq); driverClient.updateDriver(driverInfoReq); } return SUCCESS_TIP; } @RequestMapping(value = "/withholding") @ResponseBody public Object withholding(Double money,Integer id,String time) { driverClient.withholding(new WithholdingDto(money,id,time)); return SUCCESS_TIP; } @Autowired private ITCarService carService; @Autowired private ITCarServiceService carServiceService; @Autowired private DriverVerifyMapper driverVerifyMapper; /** * 更换车辆操作 */ @RequestMapping(value = "/selectCarOpt") @ResponseBody public Object selectCarOpt(Integer tDriverId,Integer carId) { if (SinataUtil.isNotEmpty(tDriverId) && SinataUtil.isNotEmpty(carId)){ List driverVerifies = driverVerifyMapper.selectList(new LambdaQueryWrapper().eq(DriverVerify::getDriverId, tDriverId).eq(DriverVerify::getState, 1)); if(driverVerifies.size()>0){ return "501"; } DriverInfoRes tDriver = driverClient.getDriver(tDriverId); DriverVerify driverVerify = new DriverVerify(); driverVerify.setAccount(tDriver.getAccount()); driverVerify.setAddress(tDriver.getDriverAddress()); driverVerify.setAge(tDriver.getDriverAge()); List driverService = driverClient.getDriverService(tDriverId); Integer carId1 = tDriver.getCarId(); TCar tCar = carService.getById1(carId1); List tCarServices = carServiceService.getBaseMapper().selectList(new LambdaQueryWrapper().eq(TCarService::getCarId, carId1)); String carServer = null; for (DriverService tCarService : driverService) { if(tCarServices.size()>1){ carServer = "3"; } else { carServer = tCarService.getType().toString(); } } driverVerify.setCarServer(carServer); CompanyInfoRes companyInfoRes = companyClient.queryById(tDriver.getCompanyId()); driverVerify.setCompany(companyInfoRes.getName()); driverVerify.setCreateTime(new Date()); driverVerify.setDriverId(tDriverId); driverVerify.setDriverNum(tDriver.getDriveCard()); driverVerify.setDriverNumImg(tDriver.getDriveCardImgUrl()); driverVerify.setIdCards(tDriver.getIdCard()); if(tCar==null){ driverVerify.setOldCarId(null); }else { driverVerify.setOldCarId(tCar.getCarLicensePlate()); driverVerify.setOldId(tCar.getId()); } driverVerify.setPhone(tDriver.getPhone()); TCar byId = carService.getById1(carId); driverVerify.setNewCarId(byId.getCarLicensePlate()); driverVerify.setNewId(byId.getId()); driverVerify.setSource(tDriver.getAddType().toString()); driverVerifyMapper.insert(driverVerify); } return SUCCESS_TIP; } /** * 新增司机审核列表 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { //判断登录账户是否重复 // int count = tDriverService.selectCount(new EntityWrapper().eq("phone", tDriver.getPhone()).in("authState", "1,2,3").ne("flag", 3)); int count = driverClient.selectCount(new DriverSelectCountReq(tDriver.getPhone(),new Integer[]{1,2,3},3,null,null,null)); if (count > 0){ return "error"; } if (1 == roleType){ //平台 if (2 == companyType.intValue()){ if (SinataUtil.isNotEmpty(oneId)){ tDriver.setCompanyId(oneId); } if (SinataUtil.isNotEmpty(twoId)){ tDriver.setFranchiseeId(twoId); } }else if (1 == companyType.intValue()){ CompanyInfoRes company = companyClient.queryByTypeCompany(1).get(0); // TCompany company = tCompanyService.selectOne(new EntityWrapper().eq("type", 1)); tDriver.setCompanyId(UserExt.getUser().getObjectId()); tDriver.setFranchiseeId(franchiseeId); } tDriver.setAddType(2); tDriver.setIsPlatCar(1); tDriver.setAuthState(2); }else if (2 == roleType){ //分公司 if (SinataUtil.isNotEmpty(UserExt.getUser().getObjectId())){ tDriver.setCompanyId(UserExt.getUser().getObjectId()); } if (SinataUtil.isNotEmpty(franchiseeId)){ tDriver.setFranchiseeId(franchiseeId); } tDriver.setAddType(3); tDriver.setIsPlatCar(2); tDriver.setAuthState(1); tDriver.setAddObjectId(UserExt.getUser().getObjectId()); }else if (3 == roleType){ //加盟商 CompanyInfoRes tCompany = companyClient.queryById(UserExt.getUser().getObjectId()); if (SinataUtil.isNotEmpty(tCompany)){ tDriver.setCompanyId(tCompany.getSuperiorId()); } if (SinataUtil.isNotEmpty(UserExt.getUser().getId())){ tDriver.setFranchiseeId(UserExt.getUser().getId()); } tDriver.setAddType(4); tDriver.setIsPlatCar(2); tDriver.setAuthState(1); tDriver.setAddObjectId(UserExt.getUser().getId()); } tDriver.setInsertTime(new Date()); // TODO getId tDriver.setInsertUser(UserExt.getUser().getId()); // tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); // TODO ShiroKit.md5(tDriver.getPassword() tDriver.setPassword(SecureUtil.md5(tDriver.getPassword())); Driver driver = new Driver(); BeanUtils.copyProperties(tDriver,driver); driver.setAccount(tDriver.getPhone()); Integer insert = driverClient.insert(driver); // tDriverService.insert(tDriver); //添加经营业务 String[] serverArray = serverBox.split(","); for (int i=0;i().eq("phone", tDriver.getPhone()).in("authState", "1,2,3")); int count = driverClient.selectCount(new DriverSelectCountReq(tDriver.getPhone(),new Integer[]{1,2,3},null,null,null,null)); if (count > 0){ return "error"; } } if (1 == roleType){ //平台 if (2 == companyType.intValue()){ if (SinataUtil.isNotEmpty(oneId)){ tDriver.setCompanyId(oneId); } if (SinataUtil.isNotEmpty(twoId)){ tDriver.setFranchiseeId(twoId); } }else if (1 == companyType.intValue()){ // TCompany company = tCompanyService.selectOne(new EntityWrapper().eq("type", 1)); CompanyInfoRes company = companyClient.queryByTypeCompany(1).get(0); tDriver.setCompanyId(company.getId()); tDriver.setFranchiseeId(franchiseeId); } }else if (2 == roleType){ //分公司 if (SinataUtil.isNotEmpty(UserExt.getUser().getObjectId())){ tDriver.setCompanyId(UserExt.getUser().getObjectId()); } if (SinataUtil.isNotEmpty(franchiseeId)){ tDriver.setFranchiseeId(franchiseeId); } }else if (3 == roleType){ //加盟商 // TCompany tCompany = tCompanyService.selectById(); CompanyInfoRes tCompany = companyClient.queryById(UserExt.getUser().getObjectId()); if (SinataUtil.isNotEmpty(tCompany)){ tDriver.setCompanyId(tCompany.getSuperiorId()); } if (SinataUtil.isNotEmpty(UserExt.getUser().getObjectId())){ tDriver.setFranchiseeId(UserExt.getUser().getObjectId()); } } tDriver.setUpdateTime(new Date()); tDriver.setUpdateUser(UserExt.getUser().getId()); tDriver.setPassword(SecureUtil.md5(tDriver.getPassword())); // tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); DriverInfoReq driverInfoReq = new DriverInfoReq(); BeanUtils.copyProperties(tDriver,driverInfoReq); driverClient.updateDriver(driverInfoReq); // tDriverService.updateById(tDriver); //删除业务 // tDriverServiceService.delete(new EntityWrapper().eq("driverId",tDriver.getId())); driverServiceClient.deleteById(tDriver.getId()); //删除线路 // tDriverLineService.delete(new EntityWrapper().eq("driverId",tDriver.getId())); //添加经营业务 String[] serverArray = serverBox.split(","); for (int i=0;i> dataList = new ArrayList>(); String title = ""; // 首行【封装】 List shellList = new ArrayList(); if (UserExt.getUser().getRoleType() == 1){ title = "平台导入司机模板"; 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("登录密码[密码长度为6-18]"); }else if (UserExt.getUser().getRoleType() == 2){ title = "分公司导入司机模板"; shellList.add("司机名称"); shellList.add("所属加盟商[选填]"); shellList.add("性别[男/女]"); shellList.add("驾驶证号码"); shellList.add("驾龄"); shellList.add("身份证号"); shellList.add("居住地址"); shellList.add("经营业务:摩托车[是/否]"); shellList.add("经营业务:同城快送[是/否]"); shellList.add("登录账号[手机号]"); shellList.add("登录密码[密码长度为6-18]"); }else if (UserExt.getUser().getRoleType() == 3){ title = "加盟商导入司机模板"; shellList.add("司机名称"); shellList.add("性别[男/女]"); shellList.add("驾驶证号码"); shellList.add("驾龄"); shellList.add("身份证号"); shellList.add("居住地址"); shellList.add("经营业务:摩托车[是/否]"); shellList.add("经营业务:同城快送[是/否]"); shellList.add("登录账号[手机号]"); shellList.add("登录密码[密码长度为6-18]"); } dataList.add(shellList); try { // 调用工具类进行导出 ExcelExportUtil.easySheet(title+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), title, dataList, request, response); } catch (Exception e) { e.printStackTrace(); } } /** * 导入操作 * @param request * @return */ @RequestMapping(value="/exportDriver",method = RequestMethod.POST) @ResponseBody public Object exportDriver(HttpServletRequest request){ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); try { if (UserExt.getUser().getRoleType() == 1){ Workbook book = WoUtil.ImportFile(file); Sheet sh = book.getSheetAt(0); //获取到第一个表 for (int i = 1; i <= sh.getLastRowNum(); i++) { Row row = sh.getRow(i); Cell cell0 = row.getCell(0); //司机名称 String zero = null; if (SinataUtil.isNotEmpty(cell0)){ zero = String.valueOf(cell0.getStringCellValue()).trim(); } Cell cell1 = row.getCell(1); //所属机构[平台司机/加盟司机] String one = null; if (SinataUtil.isNotEmpty(cell1)){ one = String.valueOf(cell1.getStringCellValue()).trim(); } Cell cell2 = row.getCell(2); //所属分公司[提示:加盟司机选填] String two = null; if (SinataUtil.isNotEmpty(cell2)){ two = String.valueOf(cell2.getStringCellValue()).trim(); } Cell cell3 = row.getCell(3); //所属加盟商[提示:加盟司机选填] String three = null; if (SinataUtil.isNotEmpty(cell3)){ three = String.valueOf(cell3.getStringCellValue()).trim(); } Cell cell4 = row.getCell(4); //性别[男/女] String four = null; if (SinataUtil.isNotEmpty(cell4)){ four = String.valueOf(cell4.getStringCellValue()).trim(); } Cell cell5 = row.getCell(5); //驾驶证号码 String five = null; if (SinataUtil.isNotEmpty(cell5)){ cell5.setCellType(Cell.CELL_TYPE_STRING); five = String.valueOf(cell5.getStringCellValue()).trim(); } Cell cell6 = row.getCell(6); //驾龄 String six = null; if (SinataUtil.isNotEmpty(cell6)){ cell6.setCellType(Cell.CELL_TYPE_STRING); six = String.valueOf(cell6.getStringCellValue()).trim(); } Cell cell7 = row.getCell(7); //身份证号 String seven = null; if (SinataUtil.isNotEmpty(cell7)){ cell7.setCellType(Cell.CELL_TYPE_STRING); seven = String.valueOf(cell7.getStringCellValue()).trim(); } Cell cell8 = row.getCell(8); //居住地址 String eight = null; if (SinataUtil.isNotEmpty(cell8)){ cell8.setCellType(Cell.CELL_TYPE_STRING); eight = String.valueOf(cell8.getStringCellValue()).trim(); } Cell cell11 = row.getCell(9); //经营业务:专车[是/否] String eleven = null; if (SinataUtil.isNotEmpty(cell11)){ cell11.setCellType(Cell.CELL_TYPE_STRING); eleven = String.valueOf(cell11.getStringCellValue()).trim(); } Cell cell12 = row.getCell(10); //经营业务:专车[是/否] String twelve = null; if (SinataUtil.isNotEmpty(cell12)){ cell12.setCellType(Cell.CELL_TYPE_STRING); twelve = String.valueOf(cell12.getStringCellValue()).trim(); } Cell cell13 = row.getCell(11); //经营业务:跨城出行[是/否] String thirteen = null; if (SinataUtil.isNotEmpty(cell13)){ cell13.setCellType(Cell.CELL_TYPE_STRING); thirteen = String.valueOf(cell13.getStringCellValue()).trim(); } Cell cell14 = row.getCell(12); //经营业务:小件同城物流[是/否] String fourteen = null; if (SinataUtil.isNotEmpty(cell14)){ cell14.setCellType(Cell.CELL_TYPE_STRING); fourteen = String.valueOf(cell14.getStringCellValue()).trim(); } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) || SinataUtil.isEmpty(fourteen) ){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 // int count = tDriverService.selectCount(new EntityWrapper().eq("phone", seventeen).in("authState", "1,2,3").ne("flag", 3)); int count = driverClient.selectCount(new DriverSelectCountReq(thirteen,new Integer[]{1,2,3},3,null,null,null)); if (count > 0){ continue; } //判断所属机构 if (!one.equals("平台司机") && !one.equals("加盟司机")){ return new ErrorTip(500, "所属机构内容不正确"); } //判断性别 if (!four.equals("男") && !four.equals("女")){ return new ErrorTip(500, "性别内容不正确"); } //判断经营业务【摩托车】 if (!eleven.equals("是") && !eleven.equals("否")){ return new ErrorTip(500, "经营业务【摩托车】内容不正确"); } //判断经营业务【同城快送】 if (!twelve.equals("是") && !twelve.equals("否")){ return new ErrorTip(500, "经营业务【同城快送】内容不正确"); } //判断驾龄 if (!isInteger(six)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 //判断登录密码 //查找平台公司 // TCompany platCompany = itCompanyService.selectOne(new EntityWrapper().eq("type", 1).notIn("flag", "3").last(" limit 1")); // Company platCompany =companyClient.selectList(new QueryWrapper().eq("type", 1).notIn("flag", "3").last(" limit 1")).get(0); Company platCompany =companyClient.getCompanyByTypeAndFlag(new CompanyQueryStateAndFlgReq(1,3)); Integer companyId = platCompany.getId(); Integer franchiseeId = 0; if ("加盟司机".equals(one)){ //判断所属分公司是否存在 if (SinataUtil.isNotEmpty(two)){ Company company = companyClient.selectList(new QueryWrapper().eq("name", two).eq("type", 2).notIn("flag", "3").last(" limit 1")).get(0); if (SinataUtil.isNotEmpty(company)){ companyId = company.getId(); //判断加盟商是否存在 if (SinataUtil.isNotEmpty(three)){ Company franchisee = companyClient.selectList(new QueryWrapper().eq("superiorId",company.getId()).eq("name", three).eq("type", 3).notIn("flag", "3").last(" limit 1")).get(0); if (SinataUtil.isNotEmpty(franchisee)){ franchiseeId = franchisee.getId(); } } } } } TDriver driver = new TDriver(); driver.setAccount(thirteen); driver.setPhone(thirteen); driver.setPassword(SecureUtil.md5(fourteen)); driver.setName(zero); if ("男".equals(four)){ driver.setSex(1); }else if ("女".equals(four)){ driver.setSex(2); } driver.setIdCard(seven); driver.setDriverAge(Integer.valueOf(six)); driver.setDriveCard(five); if ("平台司机".equals(one)){ driver.setIsPlatCar(1); }else if ("加盟司机".equals(one)){ driver.setIsPlatCar(2); } driver.setCompanyId(companyId); driver.setFranchiseeId(franchiseeId); driver.setState(2); driver.setAuthState(2); driver.setFlag("1"); driver.setInsertUser(UserExt.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(2); driver.setAddObjectId(UserExt.getUser().getObjectId()); if(SinataUtil.isNotEmpty(eight)){ driver.setDriverAddress(eight); } Driver driver1 = new Driver(); BeanUtils.copyProperties(driver,driver1); Integer insert = driverClient.insert(driver1); //添加专车服务模式 if ("是".equals(eleven)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(1); driverServiceClient.insert(service); } //添加跨城出行服务模式 if ("是".equals(twelve)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(4); driverServiceClient.insert(service); } } } }else if (UserExt.getUser().getRoleType() == 2){ Workbook book = WoUtil.ImportFile(file); Sheet sh = book.getSheetAt(0); //获取到第一个表 for (int i = 1; i <= sh.getLastRowNum(); i++) { Row row = sh.getRow(i); Cell cell0 = row.getCell(0); //司机名称 String zero = null; if (SinataUtil.isNotEmpty(cell0)){ zero = String.valueOf(cell0.getStringCellValue()).trim(); } Cell cell1 = row.getCell(1); //所属加盟商[选填] String one = null; if (SinataUtil.isNotEmpty(cell1)){ one = String.valueOf(cell1.getStringCellValue()).trim(); } Cell cell2 = row.getCell(2); //性别[男/女] String two = null; if (SinataUtil.isNotEmpty(cell2)){ two = String.valueOf(cell2.getStringCellValue()).trim(); } Cell cell3 = row.getCell(3); //驾驶证号码 String three = null; if (SinataUtil.isNotEmpty(cell3)){ three = String.valueOf(cell3.getStringCellValue()).trim(); } Cell cell4 = row.getCell(4); //驾龄 String four = null; if (SinataUtil.isNotEmpty(cell4)){ four = String.valueOf(cell4.getStringCellValue()).trim(); } Cell cell5 = row.getCell(5); //身份证号 String five = null; if (SinataUtil.isNotEmpty(cell5)){ 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 cell9 = row.getCell(9); //经营业务:专车[是/否] String nine = null; if (SinataUtil.isNotEmpty(cell9)){ nine = String.valueOf(cell9.getStringCellValue()).trim(); } Cell cell10 = row.getCell(10); //经营业务:出租车[是/否] String ten = null; if (SinataUtil.isNotEmpty(cell10)){ ten = String.valueOf(cell10.getStringCellValue()).trim(); } Cell cell11 = row.getCell(11); //经营业务:跨城出行[是/否] String eleven = null; if (SinataUtil.isNotEmpty(cell11)){ eleven = String.valueOf(cell11.getStringCellValue()).trim(); } Cell cell12 = row.getCell(12); //经营业务:小件同城物流[是/否] String twelve = null; if (SinataUtil.isNotEmpty(cell12)){ twelve = String.valueOf(cell12.getStringCellValue()).trim(); } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) ){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 // int count = tDriverService.selectCount(new EntityWrapper().eq("phone", fifteen).in("authState", "1,2,3").ne("flag", 3)); int count = driverClient.selectCount(new DriverSelectCountReq(eleven,new Integer[]{1,2,3},3,null,null,null)); if (count > 0){ continue; } //判断性别 if (!two.equals("男") && !two.equals("女")){ return new ErrorTip(500, "性别内容不正确"); } //判断经营业务【专车】 if (!nine.equals("是") && !nine.equals("否")){ return new ErrorTip(500, "经营业务【摩托车】内容不正确"); } //判断经营业务【出租车】 if (!ten.equals("是") && !ten.equals("否")){ return new ErrorTip(500, "经营业务【同城快送】内容不正确"); } //判断驾龄 if (!isInteger(four)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 //判断登录密码 if (!isPassword(twelve)){ return new ErrorTip(500, "登录密码格式不正确"); } //查找平台公司 Integer companyId = UserExt.getUser().getObjectId(); Integer franchiseeId = 0; //判断所属分公司是否存在 if (SinataUtil.isNotEmpty(one)){ Company franchisee = companyClient.selectList(new QueryWrapper().eq("superiorId",companyId).eq("name", one).eq("type", 3).notIn("flag", "3").last(" limit 1")).get(0); // TCompany franchisee = itCompanyService.selectOne(new EntityWrapper().eq("superiorId",companyId).eq("name", one).eq("type", 3).notIn("flag", "3").last(" limit 1")); if (SinataUtil.isNotEmpty(franchisee)){ franchiseeId = franchisee.getId(); } } TDriver driver = new TDriver(); driver.setAccount(eleven); driver.setPhone(eleven); driver.setPassword(SecureUtil.md5(twelve)); driver.setName(zero); if ("男".equals(two)){ driver.setSex(1); }else if ("女".equals(two)){ driver.setSex(2); } driver.setIdCard(five); driver.setDriverAge(Integer.valueOf(four)); driver.setDriveCard(three); driver.setIsPlatCar(2); driver.setCompanyId(companyId); driver.setFranchiseeId(franchiseeId); driver.setState(1); driver.setAuthState(1); driver.setFlag("1"); driver.setInsertUser(UserExt.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(3); driver.setAddObjectId(UserExt.getUser().getObjectId()); if (SinataUtil.isNotEmpty(six)){ driver.setDriverAddress(six); } Driver driver1 = new Driver(); BeanUtils.copyProperties(driver,driver1); Integer insert = driverClient.insert(driver1); //添加专车服务模式 if ("是".equals(nine)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(1); driverServiceClient.insert(service); } //添加出租车服务模式 if ("是".equals(ten)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(4); driverServiceClient.insert(service); } } } }else if (UserExt.getUser().getRoleType() == 3){ Workbook book = WoUtil.ImportFile(file); Sheet sh = book.getSheetAt(0); //获取到第一个表 for (int i = 1; i <= sh.getLastRowNum(); i++) { Row row = sh.getRow(i); Cell cell0 = row.getCell(0); //司机名称 String zero = null; if (SinataUtil.isNotEmpty(cell0)){ zero = String.valueOf(cell0.getStringCellValue()).trim(); } Cell cell2 = row.getCell(1); //性别[男/女] String one = null; if (SinataUtil.isNotEmpty(cell2)){ one = String.valueOf(cell2.getStringCellValue()).trim(); } Cell cell3 = row.getCell(2); //驾驶证号码 String two = null; if (SinataUtil.isNotEmpty(cell3)){ two = String.valueOf(cell3.getStringCellValue()).trim(); } Cell cell4 = row.getCell(3); //驾龄 String three = null; if (SinataUtil.isNotEmpty(cell4)){ three = String.valueOf(cell4.getStringCellValue()).trim(); } Cell cell5 = row.getCell(4); //身份证号 String four = null; if (SinataUtil.isNotEmpty(cell5)){ four = String.valueOf(cell5.getStringCellValue()).trim(); } Cell cell6 = row.getCell(5); //居住地址 String five = null; if (SinataUtil.isNotEmpty(cell6)){ five = String.valueOf(cell6.getStringCellValue()).trim(); } Cell cell9 = row.getCell(8); //经营业务:专车[是/否] String eight = null; if (SinataUtil.isNotEmpty(cell9)){ eight = String.valueOf(cell9.getStringCellValue()).trim(); } Cell cell10 = row.getCell(9); //经营业务:出租车[是/否] String nine = null; if (SinataUtil.isNotEmpty(cell10)){ nine = String.valueOf(cell10.getStringCellValue()).trim(); } Cell cell11 = row.getCell(10); //经营业务:跨城出行[是/否] String ten = null; if (SinataUtil.isNotEmpty(cell11)){ ten = String.valueOf(cell11.getStringCellValue()).trim(); } Cell cell12 = row.getCell(11); //经营业务:小件同城物流[是/否] String eleven = null; if (SinataUtil.isNotEmpty(cell12)){ eleven = String.valueOf(cell12.getStringCellValue()).trim(); } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) || SinataUtil.isEmpty(eleven) ){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 int count = driverClient.selectCount(new DriverSelectCountReq(ten,new Integer[]{1,2,3},3,null,null,null)); if (count > 0){ continue; } //判断性别 if (!one.equals("男") && !one.equals("女")){ return new ErrorTip(500, "性别内容不正确"); } //判断经营业务【专车】 if (!eight.equals("是") && !eight.equals("否")){ return new ErrorTip(500, "经营业务【摩托车】内容不正确"); } //判断经营业务【出租车】 if (!nine.equals("是") && !nine.equals("否")){ return new ErrorTip(500, "经营业务【同城快送】内容不正确"); } //判断驾龄 if (!isInteger(three)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 //判断登录密码 if (!isPassword(eleven)){ return new ErrorTip(500, "登录密码格式不正确"); } //查找平台公司 Integer companyId = 0; Integer franchiseeId = 0; CompanyInfoRes franchisee = companyClient.queryById(11); if (SinataUtil.isNotEmpty(franchisee)){ companyId = franchisee.getSuperiorId(); franchiseeId = franchisee.getId(); } if (companyId == 0 && franchiseeId == 0){ return new ErrorTip(500, "当前登录账户上级分公司不能为空"); } TDriver driver = new TDriver(); driver.setAccount(ten); driver.setPhone(ten); driver.setPassword(SecureUtil.md5(eleven)); driver.setName(zero); if ("男".equals(one)){ driver.setSex(1); }else if ("女".equals(one)){ driver.setSex(2); } driver.setIdCard(four); driver.setDriverAge(Integer.valueOf(three)); driver.setDriveCard(two); driver.setIsPlatCar(2); driver.setCompanyId(companyId); driver.setFranchiseeId(franchiseeId); driver.setState(1); driver.setAuthState(1); driver.setFlag("1"); driver.setInsertUser(UserExt.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(4); driver.setAddObjectId(UserExt.getUser().getObjectId()); if (SinataUtil.isNotEmpty(five)){ driver.setDriverAddress(five); } Driver driver1 = new Driver(); BeanUtils.copyProperties(driver,driver1); Integer insert = driverClient.insert(driver1); // tDriverService.insert(driver); //添加专车服务模式 if ("是".equals(eight)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(1); driverServiceClient.insert(service); } //添加出租车服务模式 if ("是".equals(nine)){ TDriverService service = new TDriverService(); service.setDriverId(insert); service.setType(4); driverServiceClient.insert(service); } } } } } catch (Exception e) { e.printStackTrace(); } return SUCCESS_TIP; } /** * 验证是否可以字符转为整数 * @param str * @return */ public static boolean isInteger(String str) { try{ String reg = "^[0-9]\\d*$"; boolean flag = str.matches(reg); return flag; }catch(NumberFormatException e) { System.out.println("异常:\"" + str + "\"..."); return false; } } /** * 验证手机号格式是否正确 * @param str * @return */ /** * 验证密码长度是否正确 * @param str * @return */ public static boolean isPassword(String str) { try{ String reg = "^.{6,18}$"; boolean flag = str.matches(reg); return flag; }catch(NumberFormatException e) { System.out.println("异常:\"" + str + "\"..."); return false; } } /** * 导出司机信息 */ @RequestMapping(value = "/outDriver") public void outDriver(HttpServletRequest request, HttpServletResponse response) { User user = UserExt.getUser(); // List> listMap = driverClient.getDriverListNoPage(new QueryDriverNoPageReq(user.getRoleType(),user.getObjectId())); Page> driverList = driverClient.getDriverList(new QueryDriverListReq(100000000, 0, user.getRoleType(), user.getObjectId(), null, null, null, null, null, null, null)); List> listMap = driverList.getRecords(); // 表格数据【封装】 List> dataList = new ArrayList<>(); //第一行显示【封装】 List twoList = new ArrayList(); twoList.add("总计:"); twoList.add(String.valueOf(listMap.size())+"条"); dataList.add(twoList); // 列【封装】 List shellList = new ArrayList(); 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 object : listMap){ // 详细数据列【封装】 shellList = new ArrayList(); if(SinataUtil.isNotEmpty(object.get("insertTime"))){ Date insertTime1 = new Date((Long) object.get("insertTime")); System.out.println(insertTime1); shellList.add(DateUtil.formatDate(insertTime1, "YYYY-MM-dd HH:mm:ss")); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("driverName"))){ shellList.add(object.get("driverName").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("headImgUrl"))){ shellList.add(object.get("headImgUrl").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("phone"))){ shellList.add(object.get("phone").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("sex"))){ shellList.add((object.get("sex").toString()).equals("1")?"男":"女"); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("name"))){ shellList.add(object.get("name").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("carId"))){ shellList.add(object.get("carId").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("types"))){ shellList.add(object.get("types").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("score"))){ shellList.add(object.get("score").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("level"))){ shellList.add(object.get("level").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("orderNum"))){ shellList.add(object.get("orderNum").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("money"))){ shellList.add(object.get("money").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("balance"))){ shellList.add(object.get("balance").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("authState"))){ shellList.add(object.get("authState").toString().equals("1")?"待审核":(object.get("authState").toString().equals("2")?"正常":(object.get("authState").toString().equals("3")?"冻结":(object.get("authState").toString().equals("4")?"已拒绝":"")))); }else{ shellList.add("-"); } dataList.add(shellList); } try { // 调用工具类进行导出 ExcelExportUtil.easySheet("司机信息导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "司机信息导出记录", dataList,request, response); } catch (Exception e) { e.printStackTrace(); } } }