| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 司机审核列表控制器 |
| | |
| | | private ITCompanyService tCompanyService; |
| | | |
| | | @Autowired |
| | | private ITCompanyCityService tCompanyCityService; |
| | | |
| | | @Autowired |
| | | private ITDriverServiceService tDriverServiceService; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | @Autowired |
| | | private ITLineService itLineService; |
| | | |
| | | @Autowired |
| | | private ITRegionService tRegionService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | |
| | | |
| | | @Autowired |
| | | private ShiroExtUtil shiroExtUtil; |
| | | |
| | | @Autowired |
| | | private IDriverWorkService iDriverWorkService; |
| | | @Autowired |
| | | private ITRegionService regionService; |
| | | |
| | | /** |
| | | * 跳转投诉页面 |
| | | * |
| | |
| | | */ |
| | | @RequestMapping("/tDriver_add") |
| | | public String tDriverAdd(Model model) { |
| | | List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); |
| | | List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).eq("state", 0).ne("flag", 3)); |
| | | model.addAttribute("companyList", companyList); |
| | | |
| | | |
| | | Integer roleType = shiroExtUtil.getUser().getRoleType(); |
| | | model.addAttribute("roleType", roleType); |
| | | if (2 == roleType) { |
| | | List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>() |
| | | .eq("type", 3) |
| | | .eq("superiorId", shiroExtUtil.getUser().getObjectId()) |
| | | .notIn("state", 1) |
| | | .notIn("flag", 3)); |
| | | .eq("state", 0).ne("flag", 3)); |
| | | model.addAttribute("franchiseeList", franchiseeList); |
| | | } else { |
| | | model.addAttribute("franchiseeList", null); |
| | | } |
| | | //查询当前用户所属分公司/加盟商 |
| | | model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName()); |
| | | TCompany currentCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); |
| | | model.addAttribute("objectName", currentCompany.getName()); |
| | | // 分公司/加盟商账号传入公司经营业务信息和经营区域 |
| | | if (2 == roleType || 3 == roleType) { |
| | | model.addAttribute("companyData", currentCompany); |
| | | model.addAttribute("companyId", currentCompany.getId()); |
| | | } |
| | | |
| | | //查询线路列表 |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); |
| | | model.addAttribute("lineList",lineList); |
| | | if(1 != roleType){ |
| | | Integer objectId = shiroExtUtil.getUser().getObjectId(); |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1).last(" and (id in (select lineId from t_line_company where companyId = " + objectId + ") or companyId = " + objectId + ")")); |
| | | model.addAttribute("lineList",lineList); |
| | | }else{ |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); |
| | | model.addAttribute("lineList",lineList); |
| | | } |
| | | |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | return PREFIX + "tDriver_add.html"; |
| | | } |
| | | |
| | |
| | | model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName()); |
| | | |
| | | if (1 == roleType) { |
| | | List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).ne("flag", 3)); |
| | | List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).eq("state", 0).ne("flag", 3)); |
| | | model.addAttribute("companyList", companyList); |
| | | List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", tDriver.getCompanyId())); |
| | | List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("state", 0).ne("flag", 3).eq("superiorId", tDriver.getCompanyId())); |
| | | model.addAttribute("franchiseeList", franchiseeList); |
| | | } else if (2 == roleType) { |
| | | List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId())); |
| | | List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("state", 0).ne("flag", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId())); |
| | | model.addAttribute("franchiseeList", franchiseeList); |
| | | // 分公司账号传入公司ID用于加载经营区域 |
| | | model.addAttribute("currentCompanyId", shiroExtUtil.getUser().getObjectId()); |
| | | } else if (3 == roleType) { |
| | | // 加盟商账号传入上级分公司ID用于加载经营区域 |
| | | TCompany franchisee = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); |
| | | model.addAttribute("currentCompanyId", franchisee.getSuperiorId()); |
| | | } |
| | | |
| | | //查询平台ID |
| | | TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); |
| | | TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1).eq("state", 0).ne("flag", 3)); |
| | | //判断是平台司机还是加盟司机 |
| | | if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){ |
| | | if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId().equals(company.getId())) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){ |
| | | model.addAttribute("companyType",1); |
| | | }else{ |
| | | model.addAttribute("companyType",2); |
| | | } |
| | | |
| | | model.addAttribute("companyData",tCompanyService.selectById(tDriver.getCompanyId())); |
| | | |
| | | //获取经营业务 |
| | | List<TDriverService> serviceList = tDriverServiceService.selectList(new EntityWrapper<TDriverService>().eq("driverId", tDriverId)); |
| | |
| | | model.addAttribute("six",six); |
| | | |
| | | //查询线路列表 |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); |
| | | model.addAttribute("lineList",lineList); |
| | | if(1 != roleType){ |
| | | Integer objectId = shiroExtUtil.getUser().getObjectId(); |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1).last(" and (id in (select lineId from t_line_company where companyId = " + objectId + ") or companyId = " + objectId + ")")); |
| | | model.addAttribute("lineList",lineList); |
| | | }else{ |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); |
| | | model.addAttribute("lineList",lineList); |
| | | } |
| | | //查询驾驶员已添加的线路列表 |
| | | List<Map<String, Object>> driverLineList = tDriverLineService.getDriverLineListByDriverId(tDriverId); |
| | | model.addAttribute("driverLineList",driverLineList); |
| | | model.addAttribute("provinceId", 1); |
| | | model.addAttribute("cityId",""); |
| | | model.addAttribute("areaId",""); |
| | | model.addAttribute("provinceId", ""); |
| | | model.addAttribute("areaList", new ArrayList<>()); |
| | | model.addAttribute("cityList", new ArrayList<>()); |
| | | if(ToolUtil.isNotEmpty(tDriver.getPlaceOfEmployment())){ |
| | | TRegion area = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", tDriver.getPlaceOfEmployment())); |
| | | if(null != area) { |
| | | model.addAttribute("areaId", area.getId()); |
| | | TRegion city = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("id", area.getParentId())); |
| | | if (null != city) { |
| | | model.addAttribute("cityId", city.getId()); |
| | | TRegion province = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("id", city.getParentId())); |
| | | if (null != province) { |
| | | model.addAttribute("provinceId", province.getId()); |
| | | } |
| | | //市 |
| | | List<TRegion> cityList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", city.getParentId())); |
| | | model.addAttribute("cityList", cityList); |
| | | } |
| | | |
| | | //区 |
| | | List<TRegion> areaList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", area.getParentId())); |
| | | model.addAttribute("areaList",areaList); |
| | | } |
| | | } |
| | | //省 |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | return PREFIX + "tDriver_edit.html"; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 用于获取公司的经营业务【202601】 |
| | | * |
| | | * @param oneId |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/twoChange") |
| | | @ResponseBody |
| | | public Object twoChange(@RequestParam Integer oneId) { |
| | | List<TCompany> list = new ArrayList<>(); |
| | | if (SinataUtil.isNotEmpty(oneId)){ |
| | | list = tCompanyService.selectList(new EntityWrapper<TCompany>() |
| | | .eq("type", 3) |
| | | .eq("superiorId", oneId) |
| | | .notIn("flag",3) |
| | | .notIn("state",1)); |
| | | } |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("list", list); |
| | | TCompany company = tCompanyService.selectById(oneId); |
| | | map.put("company", company); |
| | | // 获取公司经营区域 |
| | | List<TCompanyCity> companyCityList = tCompanyCityService.selectList( |
| | | new EntityWrapper<TCompanyCity>().eq("companyId", oneId).eq("state", 1)); |
| | | map.put("companyCityList", companyCityList); |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 根据公司ID获取经营区域列表(省市区联动) |
| | | */ |
| | | @RequestMapping(value = "/getCompanyCityList") |
| | | @ResponseBody |
| | | public Object getCompanyCityList(@RequestParam Integer companyId) { |
| | | List<TCompanyCity> list = tCompanyCityService.selectList( |
| | | new EntityWrapper<TCompanyCity>().eq("companyId", companyId).eq("state", 1)); |
| | | // 获取区域详细信息 |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | for (TCompanyCity city : list) { |
| | | Map<String, Object> item = new HashMap<>(); |
| | | item.put("id", city.getId()); |
| | | item.put("provinceCode", city.getProvinceCode()); |
| | | item.put("cityCode", city.getCityCode()); |
| | | item.put("areaCode", city.getAreaCode()); |
| | | // 获取省市区名称 |
| | | TRegion province = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", city.getProvinceCode())); |
| | | TRegion cityRegion = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", city.getCityCode())); |
| | | TRegion area = tRegionService.selectOne(new EntityWrapper<TRegion>().eq("code", city.getAreaCode())); |
| | | item.put("provinceName", province != null ? province.getName() : ""); |
| | | item.put("cityName", cityRegion != null ? cityRegion.getName() : ""); |
| | | item.put("areaName", area != null ? area.getName() : ""); |
| | | item.put("provinceId", province != null ? province.getId() : ""); |
| | | item.put("cityId", cityRegion != null ? cityRegion.getId() : ""); |
| | | item.put("areaId", area != null ? area.getId() : ""); |
| | | result.add(item); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/listLine") |
| | | @ResponseBody |
| | | public Object listLine(String oneId) { |
| | | Integer objectId = shiroExtUtil.getUser().getObjectId(); |
| | | if(objectId==1){ |
| | | if(oneId==null || oneId.equals("") || oneId.equals("1")){ |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); |
| | | return lineList; |
| | | }else { |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1).last(" and (id in (select lineId from t_line_company where companyId = " + oneId + ") or companyId = " + oneId + ")")); |
| | | return lineList; |
| | | } |
| | | |
| | | }else { |
| | | |
| | | TCompany company = tCompanyService.selectById(objectId); |
| | | oneId = company.getId().toString(); |
| | | if(shiroExtUtil.getUser().getRoleType()==3){ |
| | | TCompany company1 = tCompanyService.selectById(company.getSuperiorId()); |
| | | oneId = company1.getId().toString(); |
| | | } |
| | | |
| | | List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1).last(" and (id in (select lineId from t_line_company where companyId = " + oneId + ") or companyId = " + oneId + ")")); |
| | | return lineList; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取司机审核列表列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | |
| | | request.setEmpName(tDriver.getName()); |
| | | request.setEmpNickname(tDriver.getName()); |
| | | request.setLoginNo(tDriver.getPhone()); |
| | | request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setEmpSex(null != tDriver.getSex() && tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setMphone(tDriver.getPhone()); |
| | | request.setEmail(tDriver.getPhone() + "@qyt.com"); |
| | | request.setDeptId(0); |
| | |
| | | public Object selectCarOpt(Integer tDriverId,Integer carId) { |
| | | if (SinataUtil.isNotEmpty(tDriverId) && SinataUtil.isNotEmpty(carId)){ |
| | | TDriver tDriver = tDriverService.selectById(tDriverId); |
| | | DriverWork driverWork = iDriverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", tDriverId).eq("state", 1)); |
| | | if(null != driverWork && !tDriver.getCarId().equals(carId)){ |
| | | return ResultUtil.error("司机上班中,不能更换车辆"); |
| | | } |
| | | tDriver.setCarId(carId); |
| | | tDriverService.updateById(tDriver); |
| | | } |
| | | return SUCCESS_TIP; |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | /** |
| | |
| | | if (count > 0){ |
| | | return "error"; |
| | | } |
| | | if(ToolUtil.isEmpty(tDriver.getIdCard())){ |
| | | return "身份证号不能为空"; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdCard()); |
| | | if(!b){ |
| | | return "司机姓名和身份证号不匹配"; |
| | | } |
| | | |
| | | if (1 == roleType){ //平台 |
| | | if (2 == companyType.intValue()){ |
| | | if (SinataUtil.isNotEmpty(oneId)){ |
| | |
| | | request.setEmpName(tDriver.getName()); |
| | | request.setEmpNickname(tDriver.getName()); |
| | | request.setLoginNo(tDriver.getPhone()); |
| | | request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setEmpSex(null != tDriver.getSex() && tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setMphone(tDriver.getPhone()); |
| | | request.setEmail(tDriver.getPhone() + "@qyt.com"); |
| | | request.setDeptId(0); |
| | |
| | | request.setEmpName(tDriver.getName()); |
| | | request.setEmpNickname(tDriver.getName()); |
| | | request.setLoginNo(tDriver.getPhone()); |
| | | request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setEmpSex(null != tDriver.getSex() && tDriver.getSex() == 1 ? "男" : "女"); |
| | | request.setMphone(tDriver.getPhone()); |
| | | request.setEmail(tDriver.getPhone() + "@qyt.com"); |
| | | request.setDeptId(0); |
| | |
| | | if (count > 0){ |
| | | return "error"; |
| | | } |
| | | } |
| | | if(ToolUtil.isEmpty(tDriver.getIdCard())){ |
| | | return "身份证号不能为空"; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdCard()); |
| | | if(!b){ |
| | | return "司机姓名和身份证号不匹配"; |
| | | } |
| | | if (1 == roleType){ //平台 |
| | | if (2 == companyType.intValue()){ |
| | |
| | | obj.setEmergencyContactAddress(tDriver.getEmergencyContactAddress()); |
| | | obj.setUpdateTime(new Date()); |
| | | obj.setUpdateUser(shiroExtUtil.getUser().getId()); |
| | | obj.setPlaceOfEmployment(tDriver.getPlaceOfEmployment()); |
| | | tDriverService.updateAllColumnById(obj); |
| | | |
| | | //删除业务 |
| | |
| | | shellList.add("经营业务:跨城出行[是/否]"); |
| | | shellList.add("登录账号[手机号]"); |
| | | shellList.add("登录密码[密码长度为6-18]"); |
| | | shellList.add("从业地行政编号"); |
| | | } else if (shiroExtUtil.getUser().getRoleType() == 2) { |
| | | title = "分公司导入司机模板"; |
| | | |
| | |
| | | shellList.add("经营业务:跨城出行[是/否]"); |
| | | shellList.add("登录账号[手机号]"); |
| | | shellList.add("登录密码[密码长度为6-18]"); |
| | | shellList.add("从业地行政编号"); |
| | | } else if (shiroExtUtil.getUser().getRoleType() == 3) { |
| | | title = "加盟商导入司机模板"; |
| | | |
| | |
| | | shellList.add("经营业务:跨城出行[是/否]"); |
| | | shellList.add("登录账号[手机号]"); |
| | | shellList.add("登录密码[密码长度为6-18]"); |
| | | shellList.add("从业地行政编号"); |
| | | } |
| | | dataList.add(shellList); |
| | | |
| | |
| | | User user2 = userService.selectById(user.getId()); |
| | | MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; |
| | | MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); |
| | | List<String> drivers = new ArrayList<>(); |
| | | try { |
| | | if (shiroExtUtil.getUser().getRoleType() == 1) { |
| | | Workbook book = WoUtil.ImportFile(file); |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | Cell cell2 = row.getCell(2); //所属分公司[提示:加盟司机选填] |
| | | String two = null; |
| | | if (SinataUtil.isNotEmpty(cell2)) { |
| | |
| | | } |
| | | } |
| | | |
| | | Cell cell20 = row.getCell(16); //从业地行政编号 |
| | | String cell201 = null; |
| | | if (SinataUtil.isNotEmpty(cell20)){ |
| | | int cellType = cell20.getCellType(); |
| | | switch (cellType) { |
| | | case Cell.CELL_TYPE_STRING: |
| | | cell201 = cell20.getStringCellValue().trim(); |
| | | break; |
| | | case Cell.CELL_TYPE_NUMERIC: |
| | | cell201 = String.valueOf((long)cell20.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)){ |
| | | || SinataUtil.isEmpty(seventeen)|| SinataUtil.isEmpty(eighteen)|| SinataUtil.isEmpty(cell201)){ |
| | | return new ErrorTip(500, "单元格不能为空"); |
| | | }else{ |
| | | //判断账号是否存在 |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", seventeen).in("authState", "1,2,3").ne("flag", 3)); |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", seventeen).in("authState", Arrays.asList(1,2,3)).ne("flag", 3)); |
| | | if (count > 0){ |
| | | continue; |
| | | } |
| | | |
| | | Boolean b = UserUtil.idCardAuth(zero, seven); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | //判断所属机构 |
| | | if (!one.equals("平台司机") && !one.equals("加盟司机")){ |
| | | return new ErrorTip(500, "所属机构内容不正确"); |
| | |
| | | //判断登录密码 |
| | | if (!isPassword(eighteen)){ |
| | | return new ErrorTip(500, "登录密码格式不正确"); |
| | | } |
| | | //从业地行政编号 |
| | | if (!isPassword(cell201)){ |
| | | return new ErrorTip(500, "从业地行政编号不正确"); |
| | | } |
| | | |
| | | //查找平台公司 |
| | |
| | | driver.setInsertTime(new Date()); |
| | | driver.setAddType(2); |
| | | driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); |
| | | driver.setPlaceOfEmployment(cell201); |
| | | if(ToolUtil.isNotEmpty(cell201)){ |
| | | TRegion tRegion = regionService.selectOne(new EntityWrapper<TRegion>().eq("code", cell201)); |
| | | String placeOfPractice = ""; |
| | | if(null != tRegion){ |
| | | Integer parentId = tRegion.getParentId(); |
| | | if(0 != parentId){ |
| | | TRegion tRegion1 = regionService.selectById(parentId); |
| | | if(0 != tRegion1.getParentId()){ |
| | | TRegion tRegion2 = regionService.selectById(tRegion1.getParentId()); |
| | | placeOfPractice = tRegion2.getName() + "," + tRegion1.getName() + "," + tRegion.getName(); |
| | | }else{ |
| | | placeOfPractice = tRegion1.getName() + "," + tRegion.getName(); |
| | | } |
| | | }else{ |
| | | placeOfPractice = tRegion.getName(); |
| | | } |
| | | } |
| | | driver.setPlaceOfPractice(placeOfPractice); |
| | | } |
| | | if (SinataUtil.isNotEmpty(eight)) { |
| | | driver.setDriverAddress(eight); |
| | | } |
| | | |
| | | |
| | | //审核通过,在中台添加司机账号 |
| | | if (2 == driver.getAuthState()) { |
| | | Integer objectId = driver.getCompanyId(); |
| | |
| | | saveStaffNodeRequest.setEmpName(driver.getName()); |
| | | saveStaffNodeRequest.setEmpNickname(driver.getName()); |
| | | saveStaffNodeRequest.setLoginNo(driver.getPhone()); |
| | | saveStaffNodeRequest.setEmpSex(driver.getSex() == 1 ? "男" : "女"); |
| | | saveStaffNodeRequest.setEmpSex(null != driver.getSex() && driver.getSex() == 1 ? "男" : "女"); |
| | | saveStaffNodeRequest.setMphone(driver.getPhone()); |
| | | saveStaffNodeRequest.setEmail(driver.getPhone() + "@qyt.com"); |
| | | saveStaffNodeRequest.setDeptId(0); |
| | |
| | | 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(); |
| | |
| | | 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)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | Cell cell1 = row.getCell(1); //所属加盟商[选填] |
| | | String one = null; |
| | | if (SinataUtil.isNotEmpty(cell1)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | Cell cell2 = row.getCell(2); //性别[男/女] |
| | | String two = null; |
| | | if (SinataUtil.isNotEmpty(cell2)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | Cell cell17 = row.getCell(14); //从业地行政编号 |
| | | String cell1701 = null; |
| | | if (SinataUtil.isNotEmpty(cell17)){ |
| | | int cellType = cell17.getCellType(); |
| | | switch (cellType) { |
| | | case Cell.CELL_TYPE_STRING: |
| | | cell1701 = cell17.getStringCellValue().trim(); |
| | | break; |
| | | case Cell.CELL_TYPE_NUMERIC: |
| | | cell1701 = String.valueOf((long)cell17.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)){ |
| | | || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(fifteen) |
| | | || SinataUtil.isEmpty(sixteen) || SinataUtil.isEmpty(cell1701)){ |
| | | return new ErrorTip(500, "单元格不能为空"); |
| | | }else{ |
| | | //判断账号是否存在 |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fifteen).in("authState", "1,2,3").ne("flag", 3)); |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fifteen).in("authState", Arrays.asList(1,2,3)).ne("flag", 3)); |
| | | if (count > 0){ |
| | | continue; |
| | | } |
| | | |
| | | Boolean b = UserUtil.idCardAuth(zero, five); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | //判断性别 |
| | |
| | | if (!isPassword(sixteen)) { |
| | | return new ErrorTip(500, "登录密码格式不正确"); |
| | | } |
| | | //从业地行政编号 |
| | | if (!isPassword(cell1701)) { |
| | | return new ErrorTip(500, "从业地行政编号不正确"); |
| | | } |
| | | |
| | | |
| | | //查找平台公司 |
| | | Integer companyId = shiroExtUtil.getUser().getObjectId(); |
| | | Integer franchiseeId = 0; |
| | |
| | | franchiseeId = franchisee.getId(); |
| | | } |
| | | } |
| | | |
| | | |
| | | // 校验经营业务是否在公司经营范围内 |
| | | TCompany company = itCompanyService.selectById(companyId); |
| | | String serviceError = validateDriverService(company, "是".equals(nine), "是".equals(ten), "是".equals(eleven)); |
| | | if (serviceError != null) { |
| | | return new ErrorTip(500, serviceError); |
| | | } |
| | | |
| | | // 校验从业地是否在公司经营区域内 |
| | | String placeError = validatePlaceOfEmployment(companyId, cell1701, 2); |
| | | if (placeError != null) { |
| | | return new ErrorTip(500, placeError); |
| | | } |
| | | |
| | | TDriver driver = new TDriver(); |
| | | driver.setAccount(fifteen); |
| | | driver.setJobNumber(eight); |
| | |
| | | driver.setInsertTime(new Date()); |
| | | driver.setAddType(3); |
| | | driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); |
| | | driver.setPlaceOfEmployment(cell1701); |
| | | if (SinataUtil.isNotEmpty(six)) { |
| | | driver.setDriverAddress(six); |
| | | } |
| | | tDriverService.insert(driver); |
| | | |
| | | |
| | | //添加快车服务模式 |
| | | if ("是".equals(nine)) { |
| | | TDriverService service = new TDriverService(); |
| | |
| | | service.setType(3); |
| | | itDriverServiceService.insert(service); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } else if (shiroExtUtil.getUser().getRoleType() == 3) { |
| | |
| | | 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)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | Cell cell2 = row.getCell(1); //性别[男/女] |
| | | String one = null; |
| | | if (SinataUtil.isNotEmpty(cell2)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | Cell cell3 = row.getCell(2); //驾驶证号码 |
| | | String two = null; |
| | | if (SinataUtil.isNotEmpty(cell3)) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | Cell cell17 = row.getCell(13); //登录密码[密码长度为6-18] |
| | | String cell1701 = null; |
| | | if (SinataUtil.isNotEmpty(cell17)){ |
| | | int cellType = cell17.getCellType(); |
| | | switch (cellType) { |
| | | case Cell.CELL_TYPE_STRING: |
| | | cell1701 = cell17.getStringCellValue().trim(); |
| | | break; |
| | | case Cell.CELL_TYPE_NUMERIC: |
| | | cell1701 = String.valueOf((long)cell17.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) ){ |
| | | || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) |
| | | || SinataUtil.isEmpty(cell1701)){ |
| | | return new ErrorTip(500, "单元格不能为空"); |
| | | }else{ |
| | | //判断账号是否存在 |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fourteen).in("authState", "1,2,3").ne("flag", 3)); |
| | | int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fourteen).in("authState", Arrays.asList(1,2,3)).ne("flag", 3)); |
| | | if (count > 0){ |
| | | continue; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(zero, four); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | //判断性别 |
| | |
| | | if (companyId == 0 && franchiseeId == 0) { |
| | | return new ErrorTip(500, "当前登录账户上级分公司不能为空"); |
| | | } |
| | | |
| | | |
| | | // 校验经营业务是否在公司经营范围内 |
| | | TCompany company = itCompanyService.selectById(companyId); |
| | | String serviceError = validateDriverService(company, "是".equals(eight), "是".equals(nine), "是".equals(ten)); |
| | | if (serviceError != null) { |
| | | return new ErrorTip(500, serviceError); |
| | | } |
| | | |
| | | // 校验从业地是否在公司经营区域内 |
| | | String placeError = validatePlaceOfEmployment(companyId, cell1701, 3); |
| | | if (placeError != null) { |
| | | return new ErrorTip(500, placeError); |
| | | } |
| | | |
| | | TDriver driver = new TDriver(); |
| | | driver.setAccount(fourteen); |
| | | driver.setJobNumber(seven); |
| | |
| | | driver.setInsertTime(new Date()); |
| | | driver.setAddType(4); |
| | | driver.setAddObjectId(shiroExtUtil.getUser().getObjectId()); |
| | | driver.setPlaceOfEmployment(cell1701); |
| | | if (SinataUtil.isNotEmpty(five)) { |
| | | driver.setDriverAddress(five); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(drivers.size() > 0){ |
| | | return new ErrorTip(500, "司机姓名和身份证号不匹配【" + drivers.stream().collect(Collectors.joining(",")).toString() + "】"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 校验经营业务是否在公司经营范围内 |
| | | * @param company 公司 |
| | | * @param isSpe 是否快车 |
| | | * @param isTaxi 是否出租车 |
| | | * @param isCross 是否跨城 |
| | | * @return 错误信息,null表示校验通过 |
| | | */ |
| | | private String validateDriverService(TCompany company, boolean isSpe, boolean isTaxi, boolean isCross) { |
| | | if (company == null) { |
| | | return null; |
| | | } |
| | | if (isSpe && (company.getIsSpe() == null || company.getIsSpe() != 1)) { |
| | | return "公司未开通快车业务"; |
| | | } |
| | | if (isTaxi && (company.getIsTaxi() == null || company.getIsTaxi() != 1)) { |
| | | return "公司未开通出租车业务"; |
| | | } |
| | | if (isCross && (company.getIsCross() == null || company.getIsCross() != 1)) { |
| | | return "公司未开通跨城出行业务"; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 校验从业地是否在公司经营区域内 |
| | | * @param companyId 公司ID |
| | | * @param placeOfEmployment 从业地行政编号 |
| | | * @return 错误信息,null表示校验通过 |
| | | */ |
| | | private String validatePlaceOfEmployment(Integer companyId, String placeOfEmployment, Integer roleType) { |
| | | if (companyId == null || SinataUtil.isEmpty(placeOfEmployment)) { |
| | | return null; |
| | | } |
| | | if (roleType.equals(3)) { |
| | | //查询该加盟商所属的分公司 |
| | | TCompany tCompany = tCompanyService.selectById(companyId); |
| | | if (Objects.nonNull(tCompany) && Objects.nonNull(tCompany.getSuperiorId())) { |
| | | companyId = tCompany.getSuperiorId(); |
| | | } else { |
| | | return null; |
| | | } |
| | | } |
| | | List<TCompanyCity> companyCityList = tCompanyCityService.selectList( |
| | | new EntityWrapper<TCompanyCity>().eq("companyId", companyId).eq("state", 1)); |
| | | if (companyCityList == null || companyCityList.isEmpty()) { |
| | | return null; // 公司没有设置经营区域,不做限制 |
| | | } |
| | | // 检查从业地是否在公司经营区域内 |
| | | for (TCompanyCity city : companyCityList) { |
| | | if (city.getAreaCode() != null && placeOfEmployment.equals(String.valueOf(city.getAreaCode()))) { |
| | | return null; // 匹配区级 |
| | | } |
| | | if (city.getCityCode() != null && placeOfEmployment.startsWith(String.valueOf(city.getCityCode()).substring(0, 4))) { |
| | | return null; // 匹配市级 |
| | | } |
| | | } |
| | | return "从业地不在公司经营区域内"; |
| | | } |
| | | |
| | | /** |
| | | * 获取公司经营区域的默认从业地 |
| | | * @param companyId 公司ID |
| | | * @return 默认从业地行政编号 |
| | | */ |
| | | private String getDefaultPlaceOfEmployment(Integer companyId) { |
| | | if (companyId == null) { |
| | | return null; |
| | | } |
| | | List<TCompanyCity> companyCityList = tCompanyCityService.selectList( |
| | | new EntityWrapper<TCompanyCity>().eq("companyId", companyId).eq("state", 1).last(" limit 1")); |
| | | if (companyCityList != null && !companyCityList.isEmpty()) { |
| | | TCompanyCity city = companyCityList.get(0); |
| | | if (city.getAreaCode() != null) { |
| | | return String.valueOf(city.getAreaCode()); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 导出司机信息 |
| | | */ |
| | | @RequestMapping(value = "/outDriver") |
| | |
| | | shellList.add("所属分公司"); |
| | | shellList.add("所属加盟商"); |
| | | shellList.add("当前车辆"); |
| | | shellList.add("当前绑定车辆"); |
| | | shellList.add("服务模式"); |
| | | shellList.add("关联线路"); |
| | | shellList.add("评分"); |
| | |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("sex"))){ |
| | | shellList.add(object.get("sex").toString() == "1"?"男":"女"); |
| | | shellList.add(object.get("sex").toString().equals("1")?"男":"女"); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("carName"))){ |
| | | shellList.add(object.get("carName").toString()); |
| | | }else{ |
| | | shellList.add("-"); |
| | | } |
| | | if(SinataUtil.isNotEmpty(object.get("serverStr"))){ |
| | | shellList.add(object.get("serverStr").toString()); |
| | | }else{ |