From 5dacdee9b54c78372b68140e2b068d03a620eab9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 02 七月 2025 19:00:52 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java |  432 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 294 insertions(+), 138 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
index f79de75..78e019b 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -11,6 +11,7 @@
 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;
@@ -20,12 +21,16 @@
 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.*;
 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.*;
@@ -64,35 +69,46 @@
 
     @Autowired
     private ITLineService itLineService;
-
+    
     @Autowired
     private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
-
+    
     @Resource
     private DriverTrainMapper driverTrainMapper;
-
+    
     @Resource
     private DriverPunishMapper driverPunishMapper;
-
-    @Autowired
-    private RedisUtil redisUtil;
-
+    
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
+    
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
-
-
-
+    
+    @Autowired
+    private ITCompanyService itCompanyService;
+    
+    @Autowired
+    private ITDriverServiceService itDriverServiceService;
+    
     @Autowired
     private ITComplaintService tComplaintService;
-
+    
+    @Autowired
+    private IUserService userService;
+    
+    @Resource
+    private ShiroExtUtil shiroExtUtil;
+    
     /**
      * 跳转投诉页面
+     *
      * @return
      */
     @RequestMapping("complaint")
-    public String complaint(Model model,Integer driverId) {
-
-        model.addAttribute("id",driverId);
+    public String complaint(Model model, Integer driverId) {
+        
+        model.addAttribute("id", driverId);
         return PREFIX + "tComplaint.html";
     }
 
@@ -121,7 +137,7 @@
             endTime = timeArray[1];
         }
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        page.setRecords(tComplaintService.getComplaintList(page, ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId(), beginTime, endTime, userName, userPhone, driverPhone, isHandle, driverId));
+        page.setRecords(tComplaintService.getComplaintList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, userName, userPhone, driverPhone, isHandle, driverId));
         return super.packForBT(page);
     }
     /**
@@ -148,12 +164,12 @@
         List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2));
         model.addAttribute("companyList", companyList);
     
-        Integer roleType = ShiroExtUtil.getUser().getRoleType();
+        Integer roleType = shiroExtUtil.getUser().getRoleType();
         model.addAttribute("roleType", roleType);
         if (2 == roleType) {
             List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>()
                     .eq("type", 3)
-                    .eq("superiorId", ShiroExtUtil.getUser().getObjectId())
+                    .eq("superiorId", shiroExtUtil.getUser().getObjectId())
                     .notIn("state", 1)
                     .notIn("flag", 3));
             model.addAttribute("franchiseeList", franchiseeList);
@@ -161,7 +177,7 @@
             model.addAttribute("franchiseeList", null);
         }
         //查询当前用户所属分公司/加盟商
-        model.addAttribute("objectName", tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId()).getName());
+        model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName());
 
         //查询线路列表
         List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1));
@@ -227,9 +243,9 @@
         model.addAttribute("item", tDriver);
         LogObjectHolder.me().set(tDriver);
     
-        Integer roleType = ShiroExtUtil.getUser().getRoleType();
+        Integer roleType = shiroExtUtil.getUser().getRoleType();
         model.addAttribute("roleType", roleType);
-        model.addAttribute("objectName", tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId()).getName());
+        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));
@@ -237,7 +253,7 @@
             List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 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("superiorId", shiroExtUtil.getUser().getObjectId()));
             model.addAttribute("franchiseeList", franchiseeList);
         }
 
@@ -558,13 +574,13 @@
                        Integer authState) {
         String beginTime = null;
         String endTime = null;
-        if (SinataUtil.isNotEmpty(insertTime)){
+        if (SinataUtil.isNotEmpty(insertTime)) {
             String[] timeArray = insertTime.split(" - ");
             beginTime = timeArray[0];
             endTime = timeArray[1];
         }
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        if (ShiroExtUtil.getUser().getRoleType() != 1) {
+        if (shiroExtUtil.getUser().getRoleType() != 1) {
             page.setRecords(null);
         } else {
             page.setRecords(tDriverService.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState));
@@ -591,7 +607,7 @@
             endTime = timeArray[1];
         }
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        page.setRecords(tDriverService.getDriverList(page, ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId(), beginTime, endTime, companyName, phone, name, addType, authState));
+        page.setRecords(tDriverService.getDriverList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), beginTime, endTime, companyName, phone, name, addType, authState));
         return super.packForBT(page);
     }
 
@@ -616,7 +632,7 @@
         }*/
         //2020-08-21:新需求,已被绑定的车辆可以被继续绑定
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        page.setRecords(tDriverService.getCanSelectCarList(page, ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId(), null, carLicensePlate, brandName, modelName, color, serverStr));
+        page.setRecords(tDriverService.getCanSelectCarList(page, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), null, carLicensePlate, brandName, modelName, color, serverStr));
         return super.packForBT(page);
 
     }
@@ -633,28 +649,58 @@
             if (1 == authState){
                 type = 5;
                 tDriver.setAuthState(2);
-
+    
                 new Thread(new Runnable() {
                     @Override
                     public void run() {
-                        if(pushMinistryOfTransport){//上传数据
+                        if (pushMinistryOfTransport) {//上传数据
                             pushMinistryOfTransportUtil.baseInfoCompanyStat();
                             pushMinistryOfTransportUtil.baseInfoDriver(id);
                             pushMinistryOfTransportUtil.baseInfoDriverApp(id);
                         }
                     }
                 }).start();
-            }else{
+            } else {
                 type = 6;
                 tDriver.setAuthState(4);
             }
-
-            Map<String,String> map = new HashMap<>();
+    
+            Map<String, String> 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);
-
+            System.out.println("司机注册审核发送短信 :【driverId=" + tDriver.getId().toString() + "】,调用接口:" + result);
+            //审核通过,在中台添加司机账号
+            if (2 == tDriver.getAuthState()) {
+                ShiroUser user = shiroExtUtil.getUser();
+                Integer objectId = user.getObjectId();
+                TCompany tCompany = itCompanyService.selectById(objectId);
+                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode());
+                Long empId = null;
+                if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+                    SaveStaffNodeRequest request = new SaveStaffNodeRequest();
+                    request.setMobile(tCompany.getPrincipalPhone());
+                    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);
+                    SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
+                    empId = saveStaffNode.getEmpId();
+                }else{
+                    empId = userInfoByPhone.get(0).getEmpId();
+                }
+                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
+                tDriver.setEmpId(empId);
+                tDriver.setEntercode(tCompany1.getEnterCode());
+                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
+            }
             tDriverService.updateById(tDriver);
         }
         return SUCCESS_TIP;
@@ -702,8 +748,8 @@
             tDriver.setIsPlatCar(1);
             tDriver.setAuthState(2);
         }else if (2 == roleType) {  //分公司
-            if (SinataUtil.isNotEmpty(ShiroExtUtil.getUser().getObjectId())) {
-                tDriver.setCompanyId(ShiroExtUtil.getUser().getObjectId());
+            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
+                tDriver.setCompanyId(shiroExtUtil.getUser().getObjectId());
             }
             if (SinataUtil.isNotEmpty(franchiseeId)) {
                 tDriver.setFranchiseeId(franchiseeId);
@@ -711,40 +757,71 @@
             tDriver.setAddType(3);
             tDriver.setIsPlatCar(2);
             tDriver.setAuthState(1);
-            tDriver.setAddObjectId(ShiroExtUtil.getUser().getObjectId());
+            tDriver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
         }else if (3 == roleType) {  //加盟商
-            TCompany tCompany = tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId());
+            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());
+            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.setAddObjectId(shiroExtUtil.getUser().getObjectId());
         }
         tDriver.setInsertTime(new Date());
-        tDriver.setInsertUser(ShiroExtUtil.getUser().getId());
+        tDriver.setInsertUser(shiroExtUtil.getUser().getId());
 //        tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword()));
-
+    
         tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#"));
-
+        //审核通过,在中台添加司机账号
+        if (2 == tDriver.getAuthState()) {
+            ShiroUser user = shiroExtUtil.getUser();
+            Integer objectId = user.getObjectId();
+            TCompany tCompany = itCompanyService.selectById(objectId);
+            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode());
+            Long empId = null;
+            if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+                SaveStaffNodeRequest request = new SaveStaffNodeRequest();
+                request.setMobile(tCompany.getPrincipalPhone());
+                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);
+                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
+                empId = saveStaffNode.getEmpId();
+            }else{
+                empId = userInfoByPhone.get(0).getEmpId();
+            }
+            
+            TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
+            tDriver.setEmpId(empId);
+            tDriver.setEntercode(tCompany1.getEnterCode());
+            tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
+        }
         tDriverService.insert(tDriver);
-
+    
         //添加经营业务
         String[] serverArray = serverBox.split(",");
-        for (int i=0;i<serverArray.length;i++){
+        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 (3 == Integer.valueOf(serverArray[i])) {
                 //添加线路
-                if (SinataUtil.isNotEmpty(lineStr)){
-                    addLine(lineStr,tDriver.getId());
+                if (SinataUtil.isNotEmpty(lineStr)) {
+                    addLine(lineStr, tDriver.getId());
                 }
             }
         }
@@ -780,11 +857,30 @@
     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()) {
+            //中台先删除司机
+            GetStaffNodeRequest request = new GetStaffNodeRequest();
+            request.setEmpId(driver.getEmpId());
+            request.setMobile(tCompany.getPrincipalPhone());
+            request.setEntercode(tCompany.getEnterCode());
+            StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
+            if (null != staffNode && "1".equals(staffNode.getIsValid())) {
+                DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest();
+                deleteStafNodeRequest.setEmpId(driver.getEmpId());
+                deleteStafNodeRequest.setEntercode(tCompany.getEnterCode());
+                deleteStafNodeRequest.setMobile(tCompany.getPrincipalPhone());
+                EmployeeUtil.ecrmDeleteStafNode(deleteStafNodeRequest);
+            }
+        }
         tDriverService.updateById(driver);
-        String value = redisUtil.getValue("DRIVER_" + driver.getPhone());
-        redisUtil.remove(value);
-        redisUtil.remove("DRIVER_" + driver.getId());
-        redisUtil.remove("DRIVER_" + driver.getPhone());
+        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;
     }
     /**
@@ -811,19 +907,54 @@
                 new Thread(new Runnable() {
                     @Override
                     public void run() {
-                        if(pushMinistryOfTransport){//上传数据
+                        if (pushMinistryOfTransport) {//上传数据
                             pushMinistryOfTransportUtil.baseInfoCompanyStat();
                             pushMinistryOfTransportUtil.baseInfoDriver(driverId);
                         }
                     }
                 }).start();
-
-                String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
-                redisUtil.remove(value);
-                redisUtil.remove("DRIVER_" + tDriver.getId());
-                redisUtil.remove("DRIVER_" + tDriver.getPhone());
+    
+                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();
+                Integer objectId = user.getObjectId();
+                TCompany tCompany = itCompanyService.selectById(objectId);
+                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode());
+                Long empId = null;
+                if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+                    SaveStaffNodeRequest request = new SaveStaffNodeRequest();
+                    request.setMobile(tCompany.getPrincipalPhone());
+                    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);
+                    SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
+                    empId = saveStaffNode.getEmpId();
+                }else{
+                    empId = userInfoByPhone.get(0).getEmpId();
+                }
+                
+                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
+                tDriver.setEmpId(empId);
+                tDriver.setEntercode(tCompany1.getEnterCode());
+                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
+            }
+    
             tDriverService.updateById(tDriver);
         }
         return SUCCESS_TIP;
@@ -857,27 +988,27 @@
                 tDriver.setFranchiseeId(franchiseeId);
             }
         }else if (2 == roleType) {  //分公司
-            if (SinataUtil.isNotEmpty(ShiroExtUtil.getUser().getObjectId())) {
-                tDriver.setCompanyId(ShiroExtUtil.getUser().getObjectId());
+            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());
+        } 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());
+            if (SinataUtil.isNotEmpty(shiroExtUtil.getUser().getObjectId())) {
+                tDriver.setFranchiseeId(shiroExtUtil.getUser().getObjectId());
             }
         }
         tDriver.setUpdateTime(new Date());
-        tDriver.setUpdateUser(ShiroExtUtil.getUser().getId());
+        tDriver.setUpdateUser(shiroExtUtil.getUser().getId());
 //        tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword()));
-        if(ToolUtil.isEmpty(tDriver.getPassword())){
+        if (ToolUtil.isEmpty(tDriver.getPassword())) {
             tDriver.setPassword(obj.getPassword());
-        }else{
+        } else {
             tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#"));
         }
         obj.setCompanyId(tDriver.getCompanyId());
@@ -925,18 +1056,18 @@
         obj.setEmergencyContactPhone(tDriver.getEmergencyContactPhone());
         obj.setEmergencyContactAddress(tDriver.getEmergencyContactAddress());
         obj.setUpdateTime(new Date());
-        obj.setUpdateUser(ShiroExtUtil.getUser().getId());
+        obj.setUpdateUser(shiroExtUtil.getUser().getId());
         tDriverService.updateAllColumnById(obj);
-
+    
         //删除业务
-        tDriverServiceService.delete(new EntityWrapper<TDriverService>().eq("driverId",tDriver.getId()));
-
+        tDriverServiceService.delete(new EntityWrapper<TDriverService>().eq("driverId", tDriver.getId()));
+    
         //删除线路
-        tDriverLineService.delete(new EntityWrapper<TDriverLine>().eq("driverId",tDriver.getId()));
-
+        tDriverLineService.delete(new EntityWrapper<TDriverLine>().eq("driverId", tDriver.getId()));
+    
         //添加经营业务
         String[] serverArray = serverBox.split(",");
-        for (int i=0;i<serverArray.length;i++){
+        for (int i = 0; i < serverArray.length; i++) {
             TDriverService service = new TDriverService();
             service.setDriverId(tDriver.getId());
             service.setType(Integer.valueOf(serverArray[i]));
@@ -971,12 +1102,12 @@
     public void uploadDriverModel(HttpServletRequest request, HttpServletResponse response) {
         // 表格数据【封装】
         List<List<String>> dataList = new ArrayList<List<String>>();
-
+    
         String title = "";
-
+    
         // 首行【封装】
         List<String> shellList = new ArrayList<String>();
-        if (ShiroExtUtil.getUser().getRoleType() == 1) {
+        if (shiroExtUtil.getUser().getRoleType() == 1) {
             title = "平台导入司机模板";
         
             shellList.add("司机名称");
@@ -998,7 +1129,7 @@
             shellList.add("经营业务:包车[是/否]");
             shellList.add("登录账号[手机号]");
             shellList.add("登录密码[密码长度为6-18]");
-        } else if (ShiroExtUtil.getUser().getRoleType() == 2) {
+        } else if (shiroExtUtil.getUser().getRoleType() == 2) {
             title = "分公司导入司机模板";
         
             shellList.add("司机名称");
@@ -1018,7 +1149,7 @@
             shellList.add("经营业务:包车[是/否]");
             shellList.add("登录账号[手机号]");
             shellList.add("登录密码[密码长度为6-18]");
-        } else if (ShiroExtUtil.getUser().getRoleType() == 3) {
+        } else if (shiroExtUtil.getUser().getRoleType() == 3) {
             title = "加盟商导入司机模板";
         
             shellList.add("司机名称");
@@ -1059,7 +1190,7 @@
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile");
         try {
-            if (ShiroExtUtil.getUser().getRoleType() == 1) {
+            if (shiroExtUtil.getUser().getRoleType() == 1) {
                 Workbook book = WoUtil.ImportFile(file);
                 Sheet sh = book.getSheetAt(0);   //获取到第一个表
                 for (int i = 1; i <= sh.getLastRowNum(); i++) {
@@ -1070,16 +1201,16 @@
                     if (SinataUtil.isNotEmpty(cell0)) {
                         zero = String.valueOf(cell0.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell1 = row.getCell(1);  //所属机构[平台司机/加盟司机]
                     String one = null;
-                    if (SinataUtil.isNotEmpty(cell1)){
+                    if (SinataUtil.isNotEmpty(cell1)) {
                         one = String.valueOf(cell1.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell2 = row.getCell(2);  //所属分公司[提示:加盟司机选填]
                     String two = null;
-                    if (SinataUtil.isNotEmpty(cell2)){
+                    if (SinataUtil.isNotEmpty(cell2)) {
                         two = String.valueOf(cell2.getStringCellValue()).trim();
                     }
 
@@ -1272,9 +1403,9 @@
                         driver.setDriverAge(Integer.valueOf(six));
                         driver.setDriveCard(five);
                         driver.setTaxiAptitudeCard(nine);
-                        if ("平台司机".equals(one)){
+                        if ("平台司机".equals(one)) {
                             driver.setIsPlatCar(1);
-                        }else if ("加盟司机".equals(one)){
+                        } else if ("加盟司机".equals(one)) {
                             driver.setIsPlatCar(2);
                         }
                         driver.setCompanyId(companyId);
@@ -1282,18 +1413,51 @@
                         driver.setState(2);
                         driver.setAuthState(2);
                         driver.setFlag("1");
-                        driver.setInsertUser(ShiroExtUtil.getUser().getId());
+                        driver.setInsertUser(shiroExtUtil.getUser().getId());
                         driver.setInsertTime(new Date());
                         driver.setAddType(2);
-                        driver.setAddObjectId(ShiroExtUtil.getUser().getObjectId());
-                        if(SinataUtil.isNotEmpty(eight)){
+                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
+                        if (SinataUtil.isNotEmpty(eight)) {
                             driver.setDriverAddress(eight);
                         }
+    
+                        //审核通过,在中台添加司机账号
+                        if (2 == driver.getAuthState()) {
+                            ShiroUser user = shiroExtUtil.getUser();
+                            Integer objectId = user.getObjectId();
+                            TCompany tCompany = itCompanyService.selectById(objectId);
+                            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tCompany.getEnterCode());
+                            Long empId = null;
+                            if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+                                SaveStaffNodeRequest saveStaffNodeRequest = new SaveStaffNodeRequest();
+                                saveStaffNodeRequest.setMobile(tCompany.getPrincipalPhone());
+                                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);
+                                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(saveStaffNodeRequest);
+                                empId = saveStaffNode.getEmpId();
+                            }else{
+                                empId = userInfoByPhone.get(0).getEmpId();
+                            }
+                            
+                            TCompany tCompany1 = itCompanyService.selectById(driver.getCompanyId());
+                            driver.setEmpId(empId);
+                            driver.setEntercode(tCompany1.getEnterCode());
+                            driver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
+                        }
                         tDriverService.insert(driver);
-
-
+    
+    
                         //添加快车服务模式
-                        if ("是".equals(eleven)){
+                        if ("是".equals(eleven)) {
                             TDriverService service = new TDriverService();
                             service.setDriverId(driver.getId());
                             service.setType(1);
@@ -1321,7 +1485,7 @@
                             itDriverServiceService.insert(service);
                         }
                         //添加小件跨城物流服务模式
-                        if ("是".equals(fifteen)){
+                        if ("是".equals(fifteen)) {
                             TDriverService service = new TDriverService();
                             service.setDriverId(driver.getId());
                             service.setType(5);
@@ -1336,7 +1500,7 @@
                         }
                     }
                 }
-            } else if (ShiroExtUtil.getUser().getRoleType() == 2) {
+            } else if (shiroExtUtil.getUser().getRoleType() == 2) {
                 Workbook book = WoUtil.ImportFile(file);
                 Sheet sh = book.getSheetAt(0);   //获取到第一个表
                 for (int i = 1; i <= sh.getLastRowNum(); i++) {
@@ -1347,16 +1511,16 @@
                     if (SinataUtil.isNotEmpty(cell0)) {
                         zero = String.valueOf(cell0.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell1 = row.getCell(1);  //所属加盟商[选填]
                     String one = null;
-                    if (SinataUtil.isNotEmpty(cell1)){
+                    if (SinataUtil.isNotEmpty(cell1)) {
                         one = String.valueOf(cell1.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell2 = row.getCell(2);  //性别[男/女]
                     String two = null;
-                    if (SinataUtil.isNotEmpty(cell2)){
+                    if (SinataUtil.isNotEmpty(cell2)) {
                         two = String.valueOf(cell2.getStringCellValue()).trim();
                     }
 
@@ -1488,24 +1652,24 @@
                             return new ErrorTip(500, "驾龄格式不正确");
                         }
                         //判断手机号
-                        if (!isPhone(fifteen)){
+                        if (!isPhone(fifteen)) {
                             return new ErrorTip(500, "登录账号[手机号]格式不正确");
                         }
                         //判断登录密码
-                        if (!isPassword(sixteen)){
+                        if (!isPassword(sixteen)) {
                             return new ErrorTip(500, "登录密码格式不正确");
                         }
                         //查找平台公司
-                        Integer companyId = ShiroExtUtil.getUser().getObjectId();
+                        Integer companyId = shiroExtUtil.getUser().getObjectId();
                         Integer franchiseeId = 0;
                         //判断所属分公司是否存在
-                        if (SinataUtil.isNotEmpty(one)){
-                            TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("superiorId",companyId).eq("name", one).eq("type", 3).notIn("flag", "3").last(" limit 1"));
-                            if (SinataUtil.isNotEmpty(franchisee)){
+                        if (SinataUtil.isNotEmpty(one)) {
+                            TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().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);
@@ -1527,17 +1691,17 @@
                         driver.setState(1);
                         driver.setAuthState(1);
                         driver.setFlag("1");
-                        driver.setInsertUser(ShiroExtUtil.getUser().getId());
+                        driver.setInsertUser(shiroExtUtil.getUser().getId());
                         driver.setInsertTime(new Date());
                         driver.setAddType(3);
-                        driver.setAddObjectId(ShiroExtUtil.getUser().getObjectId());
-                        if (SinataUtil.isNotEmpty(six)){
+                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
+                        if (SinataUtil.isNotEmpty(six)) {
                             driver.setDriverAddress(six);
                         }
                         tDriverService.insert(driver);
-
+    
                         //添加快车服务模式
-                        if ("是".equals(nine)){
+                        if ("是".equals(nine)) {
                             TDriverService service = new TDriverService();
                             service.setDriverId(driver.getId());
                             service.setType(1);
@@ -1565,7 +1729,7 @@
                             itDriverServiceService.insert(service);
                         }
                         //添加小件跨城物流服务模式
-                        if ("是".equals(thirteen)){
+                        if ("是".equals(thirteen)) {
                             TDriverService service = new TDriverService();
                             service.setDriverId(driver.getId());
                             service.setType(5);
@@ -1581,7 +1745,7 @@
     
                     }
                 }
-            } else if (ShiroExtUtil.getUser().getRoleType() == 3) {
+            } else if (shiroExtUtil.getUser().getRoleType() == 3) {
                 Workbook book = WoUtil.ImportFile(file);
                 Sheet sh = book.getSheetAt(0);   //获取到第一个表
                 for (int i = 1; i <= sh.getLastRowNum(); i++) {
@@ -1592,16 +1756,16 @@
                     if (SinataUtil.isNotEmpty(cell0)) {
                         zero = String.valueOf(cell0.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell2 = row.getCell(1);  //性别[男/女]
                     String one = null;
-                    if (SinataUtil.isNotEmpty(cell2)){
+                    if (SinataUtil.isNotEmpty(cell2)) {
                         one = String.valueOf(cell2.getStringCellValue()).trim();
                     }
-
+            
                     Cell cell3 = row.getCell(2);  //驾驶证号码
                     String two = null;
-                    if (SinataUtil.isNotEmpty(cell3)){
+                    if (SinataUtil.isNotEmpty(cell3)) {
                         two = String.valueOf(cell3.getStringCellValue()).trim();
                     }
 
@@ -1727,25 +1891,25 @@
                             return new ErrorTip(500, "驾龄格式不正确");
                         }
                         //判断手机号
-                        if (!isPhone(fourteen)){
+                        if (!isPhone(fourteen)) {
                             return new ErrorTip(500, "登录账号[手机号]格式不正确");
                         }
                         //判断登录密码
-                        if (!isPassword(fifteen)){
+                        if (!isPassword(fifteen)) {
                             return new ErrorTip(500, "登录密码格式不正确");
                         }
                         //查找平台公司
                         Integer companyId = 0;
                         Integer franchiseeId = 0;
-                        TCompany franchisee = itCompanyService.selectById(ShiroExtUtil.getUser().getObjectId());
-                        if (SinataUtil.isNotEmpty(franchisee)){
+                        TCompany franchisee = itCompanyService.selectById(shiroExtUtil.getUser().getObjectId());
+                        if (SinataUtil.isNotEmpty(franchisee)) {
                             companyId = franchisee.getSuperiorId();
                             franchiseeId = franchisee.getId();
                         }
-                        if (companyId == 0 && franchiseeId == 0){
+                        if (companyId == 0 && franchiseeId == 0) {
                             return new ErrorTip(500, "当前登录账户上级分公司不能为空");
                         }
-
+    
                         TDriver driver = new TDriver();
                         driver.setAccount(fourteen);
                         driver.setJobNumber(seven);
@@ -1767,17 +1931,17 @@
                         driver.setState(1);
                         driver.setAuthState(1);
                         driver.setFlag("1");
-                        driver.setInsertUser(ShiroExtUtil.getUser().getId());
+                        driver.setInsertUser(shiroExtUtil.getUser().getId());
                         driver.setInsertTime(new Date());
                         driver.setAddType(4);
-                        driver.setAddObjectId(ShiroExtUtil.getUser().getObjectId());
-                        if (SinataUtil.isNotEmpty(five)){
+                        driver.setAddObjectId(shiroExtUtil.getUser().getObjectId());
+                        if (SinataUtil.isNotEmpty(five)) {
                             driver.setDriverAddress(five);
                         }
                         tDriverService.insert(driver);
-
+    
                         //添加快车服务模式
-                        if ("是".equals(eight)){
+                        if ("是".equals(eight)) {
                             TDriverService service = new TDriverService();
                             service.setDriverId(driver.getId());
                             service.setType(1);
@@ -1826,16 +1990,8 @@
         }
         return SUCCESS_TIP;
     }
-
-
-
-
-    @Autowired
-    private ITCompanyService itCompanyService;
-
-    @Autowired
-    private ITDriverServiceService itDriverServiceService;
-
+    
+    
     /**
      * 验证是否可以字符转为整数
      * @param str
@@ -1887,7 +2043,7 @@
      */
     @RequestMapping(value = "/outDriver")
     public void outDriver(HttpServletRequest request, HttpServletResponse response) {
-        List<Map<String, Object>> listMap = tDriverService.getDriverListNoPage(ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId());
+        List<Map<String, Object>> listMap = tDriverService.getDriverListNoPage(shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId());
 
         // 表格数据【封装】
         List<List<String>> dataList = new ArrayList<>();

--
Gitblit v1.7.1