package com.stylefeng.guns.modular.system.controller.general; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; 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.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.core.util.WoUtil; import com.stylefeng.guns.modular.system.dao.DriverPunishMapper; import com.stylefeng.guns.modular.system.dao.DriverTrainMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.model.DeleteStafNodeRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo; import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNode; import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNodeRequest; 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.data.redis.core.RedisTemplate; 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 javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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 ITDriverService tDriverService; @Autowired private ITCompanyService tCompanyService; @Autowired private ITDriverServiceService tDriverServiceService; @Autowired private ITDriverLineService tDriverLineService; @Autowired private ITLineService itLineService; @Autowired private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; @Resource private DriverTrainMapper driverTrainMapper; @Resource private DriverPunishMapper driverPunishMapper; @Resource private RedisTemplate redisTemplate; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; @Autowired private ITCompanyService itCompanyService; @Autowired private ITDriverServiceService itDriverServiceService; @Autowired private ITComplaintService tComplaintService; @Autowired private IUserService userService; @Autowired private ShiroExtUtil shiroExtUtil; /** * 跳转投诉页面 * * @return */ @RequestMapping("complaint") public String complaint(Model model, Integer driverId) { model.addAttribute("id", driverId); return PREFIX + "tComplaint.html"; } @RequestMapping("deductmoney") public String deductmoney(Model model,Integer driverId) { model.addAttribute("id",driverId); model.addAttribute("driverMoney",tDriverService.selectById(driverId).getLaveBusinessMoney()); return PREFIX + "deductmoney.html"; } @RequestMapping(value = "/complaintList") @ResponseBody public Object complaintList(String insertTime, String userName, String userPhone, String driverPhone, Integer isHandle,Integer driverId) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(tComplaintService.getComplaintList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, userName, userPhone, driverPhone, isHandle, driverId)); return super.packForBT(page); } /** * 跳转到司机审核列表首页 */ @RequestMapping("") public String index() { return PREFIX + "tDriver.html"; } /** * 跳转到审核通过司机首页 */ @RequestMapping("/yesDriver") public String yesDriver() { return PREFIX + "yesDriver.html"; } /** * 跳转到添加司机 */ @RequestMapping("/tDriver_add") public String tDriverAdd(Model model) { List companyList = tCompanyService.selectList(new EntityWrapper().eq("type", 2)); model.addAttribute("companyList", companyList); Integer roleType = shiroExtUtil.getUser().getRoleType(); model.addAttribute("roleType", roleType); if (2 == roleType) { List franchiseeList = tCompanyService.selectList(new EntityWrapper() .eq("type", 3) .eq("superiorId", shiroExtUtil.getUser().getObjectId()) .notIn("state", 1) .notIn("flag", 3)); model.addAttribute("franchiseeList", franchiseeList); } else { model.addAttribute("franchiseeList", null); } //查询当前用户所属分公司/加盟商 model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName()); //查询线路列表 List lineList = itLineService.selectList(new EntityWrapper().eq("state", 1)); model.addAttribute("lineList",lineList); return PREFIX + "tDriver_add.html"; } /** * 跳转到修改审核司机 */ @RequestMapping("/tDriver_immediately/{tDriverId}") public String tDriver_immediately(@PathVariable Integer tDriverId, Model model) { Map tDriver = tDriverService.getDriverById(tDriverId); model.addAttribute("item",tDriver); if(tDriver.get("placeOfPractice")!=null){ String placeOfPractice = tDriver.get("placeOfPractice").toString().replaceAll(",", "-"); model.addAttribute("placeOfPractice", placeOfPractice); }else { model.addAttribute("placeOfPractice", ""); } LogObjectHolder.me().set(tDriver); return PREFIX + "tDriver_immediately.html"; } /** * 跳转到选择车辆页面 */ @RequestMapping("/tDriver_changeCar/{tDriverId}") public String tDriver_changeCar(@PathVariable Integer tDriverId, Model model) { model.addAttribute("tDriverId",tDriverId); 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); return PREFIX + "tDriver_optDriver.html"; } /** * 跳转到查看司机详情 */ @RequestMapping("/tDriver_look/{tDriverId}") public String tDriver_look(@PathVariable Integer tDriverId, Model model) { Map tDriver = tDriverService.getDriverById(tDriverId); model.addAttribute("item",tDriver); Object placeOfPractice1 = tDriver.get("placeOfPractice"); if(placeOfPractice1==null){ model.addAttribute("placeOfPractice", ""); }else { model.addAttribute("placeOfPractice", placeOfPractice1.toString().replaceAll(",", "-")); } LogObjectHolder.me().set(tDriver); return PREFIX + "tDriver_look.html"; } /** * 跳转到修改司机 */ @RequestMapping("/tDriver_update/{tDriverId}") public String tDriverUpdate(@PathVariable Integer tDriverId, Model model) { TDriver tDriver = tDriverService.selectById(tDriverId); model.addAttribute("item", tDriver); LogObjectHolder.me().set(tDriver); Integer roleType = shiroExtUtil.getUser().getRoleType(); model.addAttribute("roleType", roleType); model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName()); if (1 == roleType) { List companyList = tCompanyService.selectList(new EntityWrapper().eq("type", 2).ne("flag", 3)); model.addAttribute("companyList", companyList); List franchiseeList = tCompanyService.selectList(new EntityWrapper().eq("type", 3).eq("superiorId", tDriver.getCompanyId())); model.addAttribute("franchiseeList", franchiseeList); } else if (2 == roleType) { List franchiseeList = tCompanyService.selectList(new EntityWrapper().eq("type", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId())); model.addAttribute("franchiseeList", franchiseeList); } //查询平台ID TCompany company = tCompanyService.selectOne(new EntityWrapper().eq("type", 1)); //判断是平台司机还是加盟司机 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)); 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); 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(ToolUtil.isEmpty(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(ToolUtil.isNotEmpty(s1[0])){//修改 DriverTrain driverTrain = driverTrainMapper.selectById(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 = driverTrainMapper.queryAllTrain(driverId); for(DriverTrain driverTrain : driverTrains){ boolean b = true; for(String s : split){ String[] s1 = s.split("_"); if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ b = false; break; } } if(b){ driverTrainMapper.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){ driverTrainMapper.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){ driverTrainMapper.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 = driverTrainMapper.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(ToolUtil.isEmpty(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(ToolUtil.isNotEmpty(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(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ b = false; break; } } if(b){ driverTrainMapper.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); } @Autowired private IComplaintDeductmoneyService complaintDeductmoneyService; @ResponseBody @RequestMapping(value = "/queryAllDeductmoney", method = RequestMethod.POST) public ResultUtil queryAllDeductmoney(Integer driverId){ List driverPunishes = complaintDeductmoneyService.selectList(new EntityWrapper().eq("driverId",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 = tCompanyService.selectList(new EntityWrapper() .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]; } Page> page = new PageFactory>().defaultPage(); if (shiroExtUtil.getUser().getRoleType() != 1) { User user = userService.selectById(shiroExtUtil.getUser().getId()); page.setRecords(tDriverService.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState, user.getObjectId())); } else { page.setRecords(tDriverService.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState, null)); } return super.packForBT(page); } /** * 获取审核通过的司机列表 */ @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]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(tDriverService.getDriverList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, companyName, phone, name, addType, authState)); return super.packForBT(page); } /** * 获取可被选择的车辆列表 */ @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:新需求,已被绑定的车辆可以被继续绑定 Page> page = new PageFactory>().defaultPage(); page.setRecords(tDriverService.getCanSelectCarList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), null, carLicensePlate, brandName, modelName, color, serverStr)); return super.packForBT(page); } /** * 审核操作 1=通过 2=不通过 */ @RequestMapping(value = "/authOpt") @ResponseBody public Object authOpt(Integer id,Integer authState) { if (SinataUtil.isNotEmpty(id) && SinataUtil.isNotEmpty(authState)){ ShiroUser user1 = shiroExtUtil.getUser(); User user2 = userService.selectById(user1.getId()); TDriver tDriver = tDriverService.selectById(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); //审核通过,在中台添加司机账号 if (2 == tDriver.getAuthState()) { Integer objectId = tDriver.getCompanyId(); TCompany tCompany = itCompanyService.selectById(objectId); List userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode()); Long empId = null; Integer empnew = null; if(null == userInfoByPhone || userInfoByPhone.size() == 0){ SaveStaffNodeRequest request = new SaveStaffNodeRequest(); request.setMobile(user2.getPhone()); request.setEntercode(tCompany.getEnterCode()); request.setEmpName(tDriver.getName()); request.setEmpNickname(tDriver.getName()); request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); request.setHideMobile(0); ResultUtil resultUtil = EmployeeUtil.saveStaffNode(request); if(200 != resultUtil.getStatus()){ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); } SaveStaffNode saveStaffNode = resultUtil.getData(); empId = saveStaffNode.getEmpId(); empnew = 1; }else{ empId = userInfoByPhone.get(0).getEmpId(); empnew = 0; } tDriver.setEmpId(empId); tDriver.setEntercode(tCompany.getEnterCode()); tDriver.setEnterId(Long.valueOf(tCompany.getEnterCode())); tDriver.setEmpnew(empnew); } tDriverService.updateById(tDriver); } return SUCCESS_TIP; } /** * 更换车辆操作 */ @RequestMapping(value = "/selectCarOpt") @ResponseBody public Object selectCarOpt(Integer tDriverId,Integer carId) { if (SinataUtil.isNotEmpty(tDriverId) && SinataUtil.isNotEmpty(carId)){ TDriver tDriver = tDriverService.selectById(tDriverId); tDriver.setCarId(carId); tDriverService.updateById(tDriver); } 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)); 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)); tDriver.setCompanyId(company.getId()); tDriver.setFranchiseeId(franchiseeId); } tDriver.setAddType(2); tDriver.setIsPlatCar(1); tDriver.setAuthState(2); }else if (2 == roleType) { //分公司 if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) { tDriver.setCompanyId(shiroExtUtil.getUser().getObjectId()); } if (SinataUtil.isNotEmpty(franchiseeId)) { tDriver.setFranchiseeId(franchiseeId); } tDriver.setAddType(3); tDriver.setIsPlatCar(2); tDriver.setAuthState(1); tDriver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); }else if (3 == roleType) { //加盟商 TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); if (SinataUtil.isNotEmpty(tCompany)) { tDriver.setCompanyId(tCompany.getSuperiorId()); } if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) { tDriver.setFranchiseeId(shiroExtUtil.getUser().getObjectId()); } tDriver.setAddType(4); tDriver.setIsPlatCar(2); tDriver.setAuthState(1); tDriver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); } tDriver.setInsertTime(new Date()); tDriver.setInsertUser(shiroExtUtil.getUser().getId()); // tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); tDriver.setAccount(tDriver.getPhone()); tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); //审核通过,在中台添加司机账号 if (2 == tDriver.getAuthState()) { ShiroUser user = shiroExtUtil.getUser(); User user2 = userService.selectById(user.getId()); Integer objectId = user.getObjectId(); TCompany tCompany = itCompanyService.selectById(objectId); List userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode()); Long empId = null; Integer empnew = null; if(null == userInfoByPhone || userInfoByPhone.size() == 0){ SaveStaffNodeRequest request = new SaveStaffNodeRequest(); request.setMobile(user2.getPhone()); request.setEntercode(tCompany.getEnterCode()); request.setEmpName(tDriver.getName()); request.setEmpNickname(tDriver.getName()); request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); request.setHideMobile(0); ResultUtil resultUtil = EmployeeUtil.saveStaffNode(request); if(200 != resultUtil.getStatus()){ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); } SaveStaffNode saveStaffNode = resultUtil.getData(); empId = saveStaffNode.getEmpId(); empnew = 1; }else{ empId = userInfoByPhone.get(0).getEmpId(); empnew = 0; } TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId()); tDriver.setEmpId(empId); tDriver.setEntercode(tCompany1.getEnterCode()); tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode())); tDriver.setEmpnew(empnew); } tDriverService.insert(tDriver); //添加经营业务 String[] serverArray = serverBox.split(","); for (int i = 0; i < serverArray.length; i++) { TDriverService service = new TDriverService(); service.setDriverId(tDriver.getId()); service.setType(Integer.valueOf(serverArray[i])); tDriverServiceService.insert(service); if (3 == Integer.valueOf(serverArray[i])) { //添加线路 if (SinataUtil.isNotEmpty(lineStr)) { addLine(lineStr, tDriver.getId()); } } } return SUCCESS_TIP; } /** * 添加线路 * @param subArr * @param id */ public void addLine(String subArr,Integer id){ JSONArray jsonArray = JSON.parseArray(subArr); int size = jsonArray.size(); for (int i = 0; i < size; i++){ JSONObject jsonObject = jsonArray.getJSONObject(i); TDriverLine line = new TDriverLine(); line.setCreateTime(new Date()); line.setAddTime(jsonObject.getString("time")); line.setLineId(jsonObject.getInteger("lineId")); line.setDriverId(id); tDriverLineService.insert(line); } } /** * 删除司机审核列表 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tDriverId) { TDriver driver = tDriverService.selectById(tDriverId); driver.setFlag("3"); ShiroUser user = shiroExtUtil.getUser(); TCompany tCompany = itCompanyService.selectById(user.getObjectId()); if (null != driver.getEmpId() && 1 == driver.getEmpnew()) { //中台先删除司机 List userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tCompany.getEnterCode()); if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == driver.getEmpnew()) { DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest(); deleteStafNodeRequest.setEmpId(driver.getEmpId()); deleteStafNodeRequest.setEntercode(tCompany.getEnterCode()); deleteStafNodeRequest.setMobile(tCompany.getPrincipalPhone()); ResultUtil resultUtil = EmployeeUtil.ecrmDeleteStafNode(deleteStafNodeRequest); if(200 != resultUtil.getStatus()){ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); } } } tDriverService.updateById(driver); String value = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone()); if (ToolUtil.isNotEmpty(value)) { redisTemplate.delete(value); } redisTemplate.delete("DRIVER_" + driver.getId()); redisTemplate.delete("DRIVER_" + driver.getPhone()); return SUCCESS_TIP; } /** * 操作司机状态 */ @RequestMapping(value = "/optDriver") @ResponseBody public Object optDriver(@RequestParam Integer driverId,@RequestParam String remark,@RequestParam Integer optType) { if (SinataUtil.isNotEmpty(driverId) && SinataUtil.isNotEmpty(optType)){ TDriver tDriver = tDriverService.selectById(driverId); if (1 == optType){ //解冻 tDriver.setAuthState(2); new Thread(new Runnable() { @Override public void run() { if(pushMinistryOfTransport){//上传数据 pushMinistryOfTransportUtil.baseInfoCompanyStat(); pushMinistryOfTransportUtil.baseInfoDriver(driverId); } } }).start(); }else if (2 == optType){ //冻结 tDriver.setAuthState(3); new Thread(new Runnable() { @Override public void run() { if (pushMinistryOfTransport) {//上传数据 pushMinistryOfTransportUtil.baseInfoCompanyStat(); pushMinistryOfTransportUtil.baseInfoDriver(driverId); } } }).start(); String value = (String) redisTemplate.opsForValue().get("DRIVER_" + tDriver.getPhone()); if (ToolUtil.isNotEmpty(value)) { redisTemplate.delete(value); } redisTemplate.delete("DRIVER_" + tDriver.getId()); redisTemplate.delete("DRIVER_" + tDriver.getPhone()); } tDriver.setRemark(remark); //审核通过,在中台添加司机账号 if (2 == tDriver.getAuthState() && tDriver.getEmpId() == null) { ShiroUser user = shiroExtUtil.getUser(); User user2 = userService.selectById(user.getId()); Integer objectId = tDriver.getCompanyId(); TCompany tCompany = itCompanyService.selectById(objectId); List userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode()); Long empId = null; Integer empnew = null; if(null == userInfoByPhone || userInfoByPhone.size() == 0){ SaveStaffNodeRequest request = new SaveStaffNodeRequest(); request.setMobile(user2.getPhone()); request.setEntercode(tCompany.getEnterCode()); request.setEmpName(tDriver.getName()); request.setEmpNickname(tDriver.getName()); request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); request.setHideMobile(0); ResultUtil resultUtil = EmployeeUtil.saveStaffNode(request); if(200 != resultUtil.getStatus()){ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); } SaveStaffNode saveStaffNode = resultUtil.getData(); empId = saveStaffNode.getEmpId(); empnew = 1; }else{ empId = userInfoByPhone.get(0).getEmpId(); empnew = 0; } tDriver.setEmpId(empId); tDriver.setEntercode(tCompany.getEnterCode()); tDriver.setEnterId(Long.valueOf(tCompany.getEnterCode())); tDriver.setEmpnew(empnew); } tDriverService.updateById(tDriver); } return SUCCESS_TIP; } /** * 修改司机审核列表 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { TDriver obj = tDriverService.selectById(tDriver.getId()); if (!obj.getPhone().equals(tDriver.getPhone())){ //判断登录账户是否重复 int count = tDriverService.selectCount(new EntityWrapper().eq("phone", tDriver.getPhone()).in("authState", "1,2,3")); 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)); tDriver.setCompanyId(company.getId()); tDriver.setFranchiseeId(franchiseeId); } }else if (2 == roleType) { //分公司 if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) { tDriver.setCompanyId(shiroExtUtil.getUser().getObjectId()); } if (SinataUtil.isNotEmpty(franchiseeId)) { tDriver.setFranchiseeId(franchiseeId); } } else if (3 == roleType) { //加盟商 TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); if (SinataUtil.isNotEmpty(tCompany)) { tDriver.setCompanyId(tCompany.getSuperiorId()); } if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) { tDriver.setFranchiseeId(shiroExtUtil.getUser().getObjectId()); } } tDriver.setUpdateTime(new Date()); tDriver.setUpdateUser(shiroExtUtil.getUser().getId()); // tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); if (ToolUtil.isEmpty(tDriver.getPassword())) { tDriver.setPassword(obj.getPassword()); } else { tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); } obj.setCompanyId(tDriver.getCompanyId()); obj.setFranchiseeId(tDriver.getFranchiseeId()); obj.setName(tDriver.getName()); obj.setHeadImgUrl(tDriver.getHeadImgUrl()); obj.setFaceImgUrl(tDriver.getFaceImgUrl()); obj.setSex(tDriver.getSex()); obj.setDriveCard(tDriver.getDriveCard()); obj.setDriveCardImgUrl(tDriver.getDriveCardImgUrl()); obj.setDriverAge(tDriver.getDriverAge()); obj.setIdCard(tDriver.getIdCard()); obj.setIdCardImgUrl1(tDriver.getIdCardImgUrl1()); obj.setIdCardImgUrl2(tDriver.getIdCardImgUrl2()); obj.setDriverAddress(tDriver.getDriverAddress()); obj.setTaxiAptitudeCard(tDriver.getTaxiAptitudeCard()); obj.setJobNumber(tDriver.getJobNumber()); obj.setAccount(tDriver.getPhone()); obj.setPassword(tDriver.getPassword()); obj.setDriverNationality(tDriver.getDriverNationality()); obj.setDriverNation(tDriver.getDriverNation()); obj.setDriverMaritalStatus(tDriver.getDriverMaritalStatus()); obj.setDriverLanguageLevel( tDriver.getDriverLanguageLevel()); obj.setDriverEducation(tDriver.getDriverEducation()); obj.setDriverCensus(tDriver.getDriverCensus()); obj.setDriverAddress(tDriver.getDriverAddress()); obj.setDriverContactAddress(tDriver.getDriverContactAddress()); obj.setGetDriverLicenseDate(tDriver.getGetDriverLicenseDate()); obj.setDriverLicenseOn(tDriver.getDriverLicenseOn()); obj.setDriverLicenseOff(tDriver.getDriverLicenseOff()); obj.setTaxiDriver(tDriver.getTaxiDriver()); obj.setNetworkCarlssueOrganization(tDriver.getNetworkCarlssueOrganization()); obj.setNetworkCarlssueDate(tDriver.getNetworkCarlssueDate()); obj.setGetNetworkCarProofDate(tDriver.getGetNetworkCarProofDate()); obj.setNetworkCarProofOn(tDriver.getNetworkCarProofOn()); obj.setNetworkCarProofOff(tDriver.getNetworkCarProofOff()); obj.setRegisterDate(tDriver.getRegisterDate()); obj.setFullTimeDriver(tDriver.getFullTimeDriver()); obj.setInDriverBlacklist(tDriver.getInDriverBlacklist()); obj.setCommercialType(tDriver.getCommercialType()); obj.setContractCompany(tDriver.getContractCompany()); obj.setContractOn(tDriver.getContractOn()); obj.setContractOff(tDriver.getContractOff()); obj.setEmergencyContact(tDriver.getEmergencyContact()); obj.setEmergencyContactPhone(tDriver.getEmergencyContactPhone()); obj.setEmergencyContactAddress(tDriver.getEmergencyContactAddress()); obj.setUpdateTime(new Date()); obj.setUpdateUser(shiroExtUtil.getUser().getId()); tDriverService.updateAllColumnById(obj); //删除业务 tDriverServiceService.delete(new EntityWrapper().eq("driverId", tDriver.getId())); //删除线路 tDriverLineService.delete(new EntityWrapper().eq("driverId", tDriver.getId())); //添加经营业务 String[] serverArray = serverBox.split(","); for (int i = 0; i < serverArray.length; i++) { TDriverService service = new TDriverService(); service.setDriverId(tDriver.getId()); service.setType(Integer.valueOf(serverArray[i])); tDriverServiceService.insert(service); if (3 == Integer.valueOf(serverArray[i])){ //添加线路 if (SinataUtil.isNotEmpty(lineStr)){ addLine(lineStr,tDriver.getId()); } } } new Thread(new Runnable() { @Override public void run() { if(pushMinistryOfTransport){//上传数据 pushMinistryOfTransportUtil.baseInfoDriver(tDriver.getId()); } } }).start(); return SUCCESS_TIP; } /** * 下载模板 * @param request * @param response */ @RequestMapping(value = "/uploadDriverModel") public void uploadDriverModel(HttpServletRequest request, HttpServletResponse response) { // 表格数据【封装】 List> dataList = new ArrayList>(); String title = ""; // 首行【封装】 List shellList = new ArrayList(); if (shiroExtUtil.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("经营业务:出租车[是/否]"); shellList.add("经营业务:跨城出行[是/否]"); shellList.add("登录账号[手机号]"); shellList.add("登录密码[密码长度为6-18]"); } else if (shiroExtUtil.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("经营业务:出租车[是/否]"); shellList.add("经营业务:跨城出行[是/否]"); shellList.add("登录账号[手机号]"); shellList.add("登录密码[密码长度为6-18]"); } else if (shiroExtUtil.getUser().getRoleType() == 3) { 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]"); } 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){ ShiroUser user = shiroExtUtil.getUser(); User user2 = userService.selectById(user.getId()); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); try { if (shiroExtUtil.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)) { int cellType = cell0.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: zero = cell0.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: zero = String.valueOf((long)cell0.getNumericCellValue()).trim(); break; } } Cell cell1 = row.getCell(1); //所属机构[平台司机/加盟司机] String one = null; if (SinataUtil.isNotEmpty(cell1)) { int cellType = cell1.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: one = cell1.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: one = String.valueOf((long)cell1.getNumericCellValue()).trim(); break; } } Cell cell2 = row.getCell(2); //所属分公司[提示:加盟司机选填] String two = null; if (SinataUtil.isNotEmpty(cell2)) { int cellType = cell2.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: two = cell2.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: two = String.valueOf((long)cell2.getNumericCellValue()).trim(); break; } } Cell cell3 = row.getCell(3); //所属加盟商[提示:加盟司机选填] String three = null; if (SinataUtil.isNotEmpty(cell3)){ int cellType = cell3.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: three = cell3.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: three = String.valueOf((long)cell3.getNumericCellValue()).trim(); break; } } Cell cell4 = row.getCell(4); //性别[男/女] String four = null; if (SinataUtil.isNotEmpty(cell4)){ int cellType = cell4.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: four = cell4.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: four = String.valueOf((long)cell4.getNumericCellValue()).trim(); break; } } Cell cell5 = row.getCell(5); //驾驶证号码 String five = null; if (SinataUtil.isNotEmpty(cell5)){ int cellType = cell5.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: five = cell5.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: five = String.valueOf((long)cell5.getNumericCellValue()).trim(); break; } } Cell cell6 = row.getCell(6); //驾龄 String six = null; if (SinataUtil.isNotEmpty(cell6)){ int cellType = cell6.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: six = cell6.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: six = String.valueOf((long)cell6.getNumericCellValue()).trim(); break; } } Cell cell7 = row.getCell(7); //身份证号 String seven = null; if (SinataUtil.isNotEmpty(cell7)){ int cellType = cell7.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: seven = cell7.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: seven = String.valueOf((long)cell7.getNumericCellValue()).trim(); break; } } Cell cell8 = row.getCell(8); //居住地址 String eight = null; if (SinataUtil.isNotEmpty(cell8)){ int cellType = cell8.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eight = cell8.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eight = String.valueOf((long)cell8.getNumericCellValue()).trim(); break; } } Cell cell9 = row.getCell(9); //出租车资格证号 String nine = null; if (SinataUtil.isNotEmpty(cell9)){ int cellType = cell9.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: nine = cell9.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: nine = String.valueOf((long)cell9.getNumericCellValue()).trim(); break; } } Cell cell10 = row.getCell(10); //工号[选填] String ten = null; if (SinataUtil.isNotEmpty(cell10)){ int cellType = cell10.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: ten = cell10.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: ten = String.valueOf((long)cell10.getNumericCellValue()).trim(); break; } } Cell cell11 = row.getCell(11); //经营业务:快车[是/否] String eleven = null; if (SinataUtil.isNotEmpty(cell11)){ int cellType = cell11.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eleven = cell11.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eleven = String.valueOf((long)cell11.getNumericCellValue()).trim(); break; } } Cell cell12 = row.getCell(12); //经营业务:快车[是/否] String twelve = null; if (SinataUtil.isNotEmpty(cell12)){ int cellType = cell12.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: twelve = cell12.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: twelve = String.valueOf((long)cell12.getNumericCellValue()).trim(); break; } } Cell cell13 = row.getCell(13); //经营业务:跨城出行[是/否] String thirteen = null; if (SinataUtil.isNotEmpty(cell13)){ int cellType = cell13.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: thirteen = cell13.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: thirteen = String.valueOf((long)cell13.getNumericCellValue()).trim(); break; } } Cell cell17 = row.getCell(14); //登录账号[手机号] String seventeen = null; if (SinataUtil.isNotEmpty(cell17)){ int cellType = cell17.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: seventeen = cell17.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: seventeen = String.valueOf((long)cell17.getNumericCellValue()).trim(); break; } } Cell cell18 = row.getCell(15); //登录密码[密码长度为6-18] String eighteen = null; if (SinataUtil.isNotEmpty(cell18)){ int cellType = cell18.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eighteen = cell18.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eighteen = String.valueOf((long)cell18.getNumericCellValue()).trim(); break; } } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) || SinataUtil.isEmpty(seventeen)|| SinataUtil.isEmpty(eighteen)){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 int count = tDriverService.selectCount(new EntityWrapper().eq("phone", seventeen).in("authState", "1,2,3").ne("flag", 3)); 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 (!thirteen.equals("是") && !thirteen.equals("否")){ return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); } //判断驾龄 if (!isInteger(six)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 if (!isPhone(seventeen)){ return new ErrorTip(500, "登录账号[手机号]格式不正确"); } //判断登录密码 if (!isPassword(eighteen)){ return new ErrorTip(500, "登录密码格式不正确"); } //查找平台公司 TCompany platCompany = itCompanyService.selectOne(new EntityWrapper().eq("type", 1).notIn("flag", "3").last(" limit 1")); Integer companyId = platCompany.getId(); Integer franchiseeId = 0; if ("加盟司机".equals(one)){ //判断所属分公司是否存在 if (SinataUtil.isNotEmpty(two)){ TCompany company = itCompanyService.selectOne(new EntityWrapper().eq("name", two).eq("type", 2).notIn("flag", "3").last(" limit 1")); if (SinataUtil.isNotEmpty(company)){ companyId = company.getId(); //判断加盟商是否存在 if (SinataUtil.isNotEmpty(three)){ TCompany franchisee = itCompanyService.selectOne(new EntityWrapper().eq("superiorId",company.getId()).eq("name", three).eq("type", 3).notIn("flag", "3").last(" limit 1")); if (SinataUtil.isNotEmpty(franchisee)){ franchiseeId = franchisee.getId(); } } } } } TDriver driver = new TDriver(); driver.setAccount(seventeen); driver.setJobNumber(ten); driver.setPhone(seventeen); driver.setPassword(ShiroKit.md5(eighteen, "SA;d5#")); 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); driver.setTaxiAptitudeCard(nine); 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(shiroExtUtil.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(2); driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); if (SinataUtil.isNotEmpty(eight)) { driver.setDriverAddress(eight); } //审核通过,在中台添加司机账号 if (2 == driver.getAuthState()) { Integer objectId = driver.getCompanyId(); TCompany tCompany = itCompanyService.selectById(objectId); List userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tCompany.getEnterCode()); Long empId = null; Integer empnew = null; if(null == userInfoByPhone || userInfoByPhone.size() == 0){ SaveStaffNodeRequest saveStaffNodeRequest = new SaveStaffNodeRequest(); saveStaffNodeRequest.setMobile(user2.getPhone()); saveStaffNodeRequest.setEntercode(tCompany.getEnterCode()); saveStaffNodeRequest.setEmpName(driver.getName()); saveStaffNodeRequest.setEmpNickname(driver.getName()); saveStaffNodeRequest.setLoginNo(driver.getPhone()); saveStaffNodeRequest.setEmpSex(driver.getSex() == 1 ? "男" : "女"); saveStaffNodeRequest.setMphone(driver.getPhone()); saveStaffNodeRequest.setEmail(driver.getPhone() + "@qyt.com"); saveStaffNodeRequest.setDeptId(0); saveStaffNodeRequest.setPositionId(1); saveStaffNodeRequest.setSuperLevel(0); saveStaffNodeRequest.setHideMobile(0); ResultUtil resultUtil = EmployeeUtil.saveStaffNode(saveStaffNodeRequest); if(200 != resultUtil.getStatus()){ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); } SaveStaffNode saveStaffNode = resultUtil.getData(); empId = saveStaffNode.getEmpId(); empnew = 1; }else{ empId = userInfoByPhone.get(0).getEmpId(); empnew = 0; } driver.setEmpId(empId); driver.setEntercode(tCompany.getEnterCode()); driver.setEnterId(Long.valueOf(tCompany.getEnterCode())); driver.setEmpnew(empnew); } tDriverService.insert(driver); //添加快车服务模式 if ("是".equals(eleven)) { TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(1); itDriverServiceService.insert(service); } //添加出租车服务模式 if ("是".equals(twelve)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(2); itDriverServiceService.insert(service); } //添加跨城出行服务模式 if ("是".equals(thirteen)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(3); itDriverServiceService.insert(service); } } } } else if (shiroExtUtil.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)) { int cellType = cell0.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: zero = cell0.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: zero = String.valueOf((long)cell0.getNumericCellValue()).trim(); break; } } Cell cell1 = row.getCell(1); //所属加盟商[选填] String one = null; if (SinataUtil.isNotEmpty(cell1)) { int cellType = cell1.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: one = cell1.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: one = String.valueOf((long)cell1.getNumericCellValue()).trim(); break; } } Cell cell2 = row.getCell(2); //性别[男/女] String two = null; if (SinataUtil.isNotEmpty(cell2)) { int cellType = cell2.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: two = cell2.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: two = String.valueOf((long)cell2.getNumericCellValue()).trim(); break; } } Cell cell3 = row.getCell(3); //驾驶证号码 String three = null; if (SinataUtil.isNotEmpty(cell3)){ int cellType = cell3.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: three = cell3.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: three = String.valueOf((long)cell3.getNumericCellValue()).trim(); break; } } Cell cell4 = row.getCell(4); //驾龄 String four = null; if (SinataUtil.isNotEmpty(cell4)){ int cellType = cell4.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: four = cell4.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: four = String.valueOf((long)cell4.getNumericCellValue()).trim(); break; } } Cell cell5 = row.getCell(5); //身份证号 String five = null; if (SinataUtil.isNotEmpty(cell5)){ int cellType = cell5.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: five = cell5.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: five = String.valueOf((long)cell5.getNumericCellValue()).trim(); break; } } Cell cell6 = row.getCell(6); //居住地址 String six = null; if (SinataUtil.isNotEmpty(cell6)){ int cellType = cell6.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: six = cell6.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: six = String.valueOf((long)cell6.getNumericCellValue()).trim(); break; } } Cell cell7 = row.getCell(7); //出租车资格证号 String seven = null; if (SinataUtil.isNotEmpty(cell7)){ int cellType = cell7.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: seven = cell7.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: seven = String.valueOf((long)cell7.getNumericCellValue()).trim(); break; } } Cell cell8 = row.getCell(8); //工号[选填] String eight = null; if (SinataUtil.isNotEmpty(cell8)){ int cellType = cell8.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eight = cell8.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eight = String.valueOf((long)cell8.getNumericCellValue()).trim(); break; } } Cell cell9 = row.getCell(9); //经营业务:快车[是/否] String nine = null; if (SinataUtil.isNotEmpty(cell9)){ int cellType = cell9.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: nine = cell9.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: nine = String.valueOf((long)cell9.getNumericCellValue()).trim(); break; } } Cell cell10 = row.getCell(10); //经营业务:出租车[是/否] String ten = null; if (SinataUtil.isNotEmpty(cell10)){ int cellType = cell10.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: ten = cell10.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: ten = String.valueOf((long)cell10.getNumericCellValue()).trim(); break; } } Cell cell11 = row.getCell(11); //经营业务:跨城出行[是/否] String eleven = null; if (SinataUtil.isNotEmpty(cell11)){ int cellType = cell11.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eleven = cell11.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eleven = String.valueOf((long)cell11.getNumericCellValue()).trim(); break; } } Cell cell15 = row.getCell(12); //登录账号[手机号] String fifteen = null; if (SinataUtil.isNotEmpty(cell15)){ int cellType = cell15.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: fifteen = cell15.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: fifteen = String.valueOf((long)cell15.getNumericCellValue()).trim(); break; } } Cell cell16 = row.getCell(13); //登录密码[密码长度为6-18] String sixteen = null; if (SinataUtil.isNotEmpty(cell16)){ int cellType = cell16.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: sixteen = cell16.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: sixteen = String.valueOf((long)cell16.getNumericCellValue()).trim(); break; } } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(seven) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 int count = tDriverService.selectCount(new EntityWrapper().eq("phone", fifteen).in("authState", "1,2,3").ne("flag", 3)); 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 (!eleven.equals("是") && !eleven.equals("否")){ return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); } //判断驾龄 if (!isInteger(four)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 if (!isPhone(fifteen)) { return new ErrorTip(500, "登录账号[手机号]格式不正确"); } //判断登录密码 if (!isPassword(sixteen)) { return new ErrorTip(500, "登录密码格式不正确"); } //查找平台公司 Integer companyId = shiroExtUtil.getUser().getObjectId(); Integer franchiseeId = 0; //判断所属分公司是否存在 if (SinataUtil.isNotEmpty(one)) { 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(fifteen); driver.setJobNumber(eight); driver.setPhone(fifteen); driver.setPassword(ShiroKit.md5(sixteen, "SA;d5#")); 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.setTaxiAptitudeCard(seven); driver.setIsPlatCar(2); driver.setCompanyId(companyId); driver.setFranchiseeId(franchiseeId); driver.setState(1); driver.setAuthState(1); driver.setFlag("1"); driver.setInsertUser(shiroExtUtil.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(3); driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); if (SinataUtil.isNotEmpty(six)) { driver.setDriverAddress(six); } tDriverService.insert(driver); //添加快车服务模式 if ("是".equals(nine)) { TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(1); itDriverServiceService.insert(service); } //添加出租车服务模式 if ("是".equals(ten)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(2); itDriverServiceService.insert(service); } //添加跨城出行服务模式 if ("是".equals(eleven)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(3); itDriverServiceService.insert(service); } } } } else if (shiroExtUtil.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)) { int cellType = cell0.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: zero = cell0.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: zero = String.valueOf((long)cell0.getNumericCellValue()).trim(); break; } } Cell cell2 = row.getCell(1); //性别[男/女] String one = null; if (SinataUtil.isNotEmpty(cell2)) { int cellType = cell2.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: one = cell2.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: one = String.valueOf((long)cell2.getNumericCellValue()).trim(); break; } } Cell cell3 = row.getCell(2); //驾驶证号码 String two = null; if (SinataUtil.isNotEmpty(cell3)) { int cellType = cell3.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: two = cell3.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: two = String.valueOf((long)cell3.getNumericCellValue()).trim(); break; } } Cell cell4 = row.getCell(3); //驾龄 String three = null; if (SinataUtil.isNotEmpty(cell4)){ int cellType = cell4.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: three = cell4.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: three = String.valueOf((long)cell4.getNumericCellValue()).trim(); break; } } Cell cell5 = row.getCell(4); //身份证号 String four = null; if (SinataUtil.isNotEmpty(cell5)){ int cellType = cell5.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: four = cell5.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: four = String.valueOf((long)cell5.getNumericCellValue()).trim(); break; } } Cell cell6 = row.getCell(5); //居住地址 String five = null; if (SinataUtil.isNotEmpty(cell6)){ int cellType = cell6.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: five = cell6.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: five = String.valueOf((long)cell6.getNumericCellValue()).trim(); break; } } Cell cell7 = row.getCell(6); //出租车资格证号 String six = null; if (SinataUtil.isNotEmpty(cell7)){ int cellType = cell7.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: six = cell7.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: six = String.valueOf((long)cell7.getNumericCellValue()).trim(); break; } } Cell cell8 = row.getCell(7); //工号[选填] String seven = null; if (SinataUtil.isNotEmpty(cell8)){ int cellType = cell8.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: seven = cell8.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: seven = String.valueOf((long)cell8.getNumericCellValue()).trim(); break; } } Cell cell9 = row.getCell(8); //经营业务:快车[是/否] String eight = null; if (SinataUtil.isNotEmpty(cell9)){ int cellType = cell9.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: eight = cell9.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: eight = String.valueOf((long)cell9.getNumericCellValue()).trim(); break; } } Cell cell10 = row.getCell(9); //经营业务:出租车[是/否] String nine = null; if (SinataUtil.isNotEmpty(cell10)){ int cellType = cell10.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: nine = cell10.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: nine = String.valueOf((long)cell10.getNumericCellValue()).trim(); break; } } Cell cell11 = row.getCell(10); //经营业务:跨城出行[是/否] String ten = null; if (SinataUtil.isNotEmpty(cell11)){ int cellType = cell11.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: ten = cell11.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: ten = String.valueOf((long)cell11.getNumericCellValue()).trim(); break; } } Cell cell15 = row.getCell(11); //登录账号[手机号] String fourteen = null; if (SinataUtil.isNotEmpty(cell15)){ int cellType = cell15.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: fourteen = cell15.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: fourteen = String.valueOf((long)cell15.getNumericCellValue()).trim(); break; } } Cell cell16 = row.getCell(12); //登录密码[密码长度为6-18] String fifteen = null; if (SinataUtil.isNotEmpty(cell16)){ int cellType = cell16.getCellType(); switch (cellType) { case Cell.CELL_TYPE_STRING: fifteen = cell16.getStringCellValue().trim(); break; case Cell.CELL_TYPE_NUMERIC: fifteen = String.valueOf((long)cell16.getNumericCellValue()).trim(); break; } } if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) ){ return new ErrorTip(500, "单元格不能为空"); }else{ //判断账号是否存在 int count = tDriverService.selectCount(new EntityWrapper().eq("phone", fourteen).in("authState", "1,2,3").ne("flag", 3)); 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 (!ten.equals("是") && !ten.equals("否")){ return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); } //判断驾龄 if (!isInteger(three)){ return new ErrorTip(500, "驾龄格式不正确"); } //判断手机号 if (!isPhone(fourteen)) { return new ErrorTip(500, "登录账号[手机号]格式不正确"); } //判断登录密码 if (!isPassword(fifteen)) { return new ErrorTip(500, "登录密码格式不正确"); } //查找平台公司 Integer companyId = 0; Integer franchiseeId = 0; TCompany franchisee = itCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); 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(fourteen); driver.setJobNumber(seven); driver.setPhone(fourteen); driver.setPassword(ShiroKit.md5(fifteen, "SA;d5#")); 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.setTaxiAptitudeCard(six); driver.setIsPlatCar(2); driver.setCompanyId(companyId); driver.setFranchiseeId(franchiseeId); driver.setState(1); driver.setAuthState(1); driver.setFlag("1"); driver.setInsertUser(shiroExtUtil.getUser().getId()); driver.setInsertTime(new Date()); driver.setAddType(4); driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); if (SinataUtil.isNotEmpty(five)) { driver.setDriverAddress(five); } tDriverService.insert(driver); //添加快车服务模式 if ("是".equals(eight)) { TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(1); itDriverServiceService.insert(service); } //添加出租车服务模式 if ("是".equals(nine)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(2); itDriverServiceService.insert(service); } //添加跨城出行服务模式 if ("是".equals(ten)){ TDriverService service = new TDriverService(); service.setDriverId(driver.getId()); service.setType(3); itDriverServiceService.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 */ public static boolean isPhone(String str) { try{ String reg = "^1\\d{10}$"; boolean flag = str.matches(reg); return flag; }catch(NumberFormatException e) { System.out.println("异常:\"" + str + "\"..."); return false; } } /** * 验证密码长度是否正确 * @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(String insertTime, String companyName, String phone, String name, Integer addType, Integer authState, 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> page = new Page<>(0, 10000); List> listMap = tDriverService.getDriverList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, companyName, phone, name, addType, authState); // 表格数据【封装】 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("当前钱包余额"); shellList.add("钱包活动余额"); shellList.add("钱包收入余额"); shellList.add("状态"); dataList.add(shellList); for (Map object : listMap){ // 详细数据列【封装】 shellList = new ArrayList(); 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:ss")); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("name"))){ shellList.add(object.get("name").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() == "1"?"男":"女"); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("addType"))){ shellList.add(object.get("addType").toString().equals("1")?"司机注册":(object.get("addType").toString().equals("2")?"平台添加":(object.get("addType").toString().equals("3")?"分公司添加":(object.get("addType").toString().equals("4")?"加盟商添加":"")))); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("companyName"))){ shellList.add(object.get("companyName").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("franchiseeName"))){ shellList.add(object.get("franchiseeName").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("carLicensePlate"))){ shellList.add(object.get("carLicensePlate").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("serverStr"))){ shellList.add(object.get("serverStr").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("lineStr"))){ shellList.add(object.get("lineStr").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("evaluateNum"))){ shellList.add(object.get("evaluateNum").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("historyNum"))){ shellList.add(object.get("historyNum").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("historyMoney"))){ shellList.add(object.get("historyMoney").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("laveActivityMoney"))){ shellList.add(object.get("laveActivityMoney").toString()); }else{ shellList.add("0"); } if(SinataUtil.isNotEmpty(object.get("laveBusinessMoney"))){ shellList.add(object.get("laveBusinessMoney").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")?"已拒绝":"")))); shellList.add(object.get("authState").toString()); }else{ shellList.add("-"); } dataList.add(shellList); } try { // 调用工具类进行导出 ExcelExportUtil.easySheet("司机信息导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "司机信息导出记录", dataList,request, response); } catch (Exception e) { e.printStackTrace(); } } @Autowired private IIncomeService incomeService; /** * 添加扣款记录 * @param complaintDeductmoney * @return */ @ResponseBody @RequestMapping(value = "/saveDeductmoney", method = RequestMethod.POST) public ResultUtil saveDeductmoney(ComplaintDeductmoney complaintDeductmoney){ try { complaintDeductmoney.setCreateTime(new Date()); complaintDeductmoney.insert(); TDriver tDriver = tDriverService.selectById(complaintDeductmoney.getDriverId()); tDriver.setLaveBusinessMoney(tDriver.getLaveBusinessMoney()-complaintDeductmoney.getMoney().doubleValue()); tDriverService.updateById(tDriver); Income income = new Income(); income.setUserType(1); income.setObjectId(tDriver.getCompanyId()); income.setType(8); income.setMoney(complaintDeductmoney.getMoney().doubleValue()); income.setInsertTime(new Date()); incomeService.insert(income); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } return ResultUtil.success(); } }