From b219589d73f46bd98995bceb4caf16dadb56b869 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 12 九月 2025 20:30:13 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java |   77 +++++++++++++++++++++++++++++++++-----
 1 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java
index 0fc8764..0fb36a9 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java
@@ -8,12 +8,21 @@
 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.SinataUtil;
 import com.stylefeng.guns.modular.system.model.TCompany;
 import com.stylefeng.guns.modular.system.model.TDispatch;
+import com.stylefeng.guns.modular.system.model.User;
 import com.stylefeng.guns.modular.system.service.ITCompanyService;
 import com.stylefeng.guns.modular.system.service.ITDispatchService;
 import com.stylefeng.guns.modular.system.service.IUserService;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -175,7 +184,39 @@
 		    tDispatch.setCompanyId(objectId1);
 	    }
 	    tDispatch.setPassword(ShiroKit.md5(tDispatch.getPassword(), "WL:x9#"));
-	    tDispatchService.insert(tDispatch);
+
+		User user = userService.selectById(shiroExtUtil.getUser().getId());
+		TCompany tCompany = tCompanyService.selectById(user.getObjectId());
+		List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDispatch.getAccount(), tCompany.getEnterCode());
+		Long empId = null;
+		Integer empnew = null;
+		if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+			SaveStaffNodeRequest request = new SaveStaffNodeRequest();
+			request.setMobile(user.getPhone());
+			request.setEntercode(tCompany.getEnterCode());
+			request.setEmpName(tDispatch.getName());
+			request.setEmpNickname(tDispatch.getName());
+			request.setLoginNo(tDispatch.getPhone());
+			request.setEmpSex("男");
+			request.setMphone(tDispatch.getPhone());
+			request.setEmail(tDispatch.getPhone() + "@qyt.com");
+			request.setDeptId(0);
+			request.setPositionId(1);
+			request.setSuperLevel(0);
+			request.setHideMobile(0);
+			ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request);
+			if(200 != resultUtil.getStatus()){
+				return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+			}
+			SaveStaffNode saveStaffNode = resultUtil.getData();
+			empId = saveStaffNode.getEmpId();
+			empnew = 1;
+		}
+		tDispatch.setEmpId(empId);
+		tDispatch.setEntercode(tCompany.getEnterCode());
+		tDispatch.setEnterId(Long.valueOf(tCompany.getEnterCode()));
+		tDispatch.setEmpnew(empnew);
+		tDispatchService.insert(tDispatch);
 	    return SUCCESS_TIP;
     }
 
@@ -197,6 +238,22 @@
             dispatch.setState(1);
         }
         tDispatchService.updateById(dispatch);
+		ShiroUser user = shiroExtUtil.getUser();
+		TCompany tCompany = tCompanyService.selectById(user.getObjectId());
+		if (null != dispatch.getEmpId() && 1 == dispatch.getEmpnew()) {
+			//中台先删除司机
+			List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(dispatch.getPhone(), tCompany.getEnterCode());
+			if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == dispatch.getEmpnew()) {
+				DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest();
+				deleteStafNodeRequest.setEmpId(dispatch.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());
+				}
+			}
+		}
         return SUCCESS_TIP;
     }
 
@@ -214,15 +271,15 @@
 			    return new ErrorTip(500, "账号已存在,请重新输入");
 		    }
 	    }
-	    Integer roleType = shiroExtUtil.getUser().getRoleType();
-	    Integer objectId = shiroExtUtil.getUser().getObjectId();
-	    if (2 == roleType) {
-		    tDispatch.setCompanyId(objectId);
-	    } else if (3 == roleType) {
-		    TCompany company = tCompanyService.selectById(objectId);
-		    tDispatch.setCompanyId(company.getSuperiorId());
-		    tDispatch.setFranchiseeId(objectId);
-	    }
+//	    Integer roleType = shiroExtUtil.getUser().getRoleType();
+//	    Integer objectId = shiroExtUtil.getUser().getObjectId();
+//	    if (2 == roleType) {
+//		    tDispatch.setCompanyId(objectId);
+//	    } else if (3 == roleType) {
+//		    TCompany company = tCompanyService.selectById(objectId);
+//		    tDispatch.setCompanyId(company.getSuperiorId());
+//		    tDispatch.setFranchiseeId(objectId);
+//	    }
 	    if (SinataUtil.isNotEmpty(tDispatch.getPassword())) {
 		    tDispatch.setPassword(ShiroKit.md5(tDispatch.getPassword(), "WL:x9#"));
 	    }

--
Gitblit v1.7.1