Pu Zhibing
2025-07-03 0c82398dad95f536e22b5e1966f79aa29b2cf1c9
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -10,16 +10,16 @@
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.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.EnterpriseUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CheckEnterExist;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterprise;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterpriseRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyEnterpriseInfoRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,6 +29,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -57,28 +58,29 @@
    @Autowired
    private ITTaxiCardService cardService;
    @Autowired
    private ITCompanyCityService tCompanyCityService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Autowired
    private ISpellOrderRuleService spellOrderRuleService;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    /**
     * 跳转到修改平台信息
     */
   @Autowired
   private ITCompanyCityService tCompanyCityService;
   @Autowired
   private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
   @Autowired
   private ISpellOrderRuleService spellOrderRuleService;
   @Resource
   private ShiroExtUtil shiroExtUtil;
   @Value("${pushMinistryOfTransport}")
   private boolean pushMinistryOfTransport;
   /**
    * 跳转到修改平台信息
    */
    @RequestMapping("/admin_update")
    public String tCompanyUpdate(Model model) {
        TCompany tCompany = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type",1).notIn("flag",3));
       ShiroUser user1 = shiroExtUtil.getUser();
        TCompany tCompany = tCompanyService.selectById(user1.getObjectId());
        model.addAttribute("item",tCompany);
        LogObjectHolder.me().set(tCompany);
@@ -87,7 +89,7 @@
        model.addAttribute("provinceList",provinceList);
        //系统用户对象
        User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 1).eq("objectId", tCompany.getId()));
        User user = userService.selectById(user1.getId());
        model.addAttribute("user",user);
        //经营区域
@@ -127,13 +129,13 @@
     */
    @RequestMapping("/tCompany_addFranchisee")
    public String tCompany_addFranchisee(Model model) {
       Integer roleType = ShiroExtUtil.getUser().getRoleType();
       Integer roleType = shiroExtUtil.getUser().getRoleType();
        if (1 == roleType){
            //查询分公司
            List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2));
            model.addAttribute("companyList",companyList);
        }else if (2 == roleType){
           TCompany tCompany = tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId());
           TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId());
            model.addAttribute("company",tCompany);
        }
        model.addAttribute("roleType",roleType);
@@ -196,7 +198,7 @@
       model.addAttribute("item", tCompany);
       LogObjectHolder.me().set(tCompany);
   
       Integer roleType = ShiroExtUtil.getUser().getRoleType();
       Integer roleType = shiroExtUtil.getUser().getRoleType();
       model.addAttribute("roleType", roleType);
   
       TCompany obj = tCompanyService.selectById(tCompany.getSuperiorId());
@@ -222,13 +224,13 @@
       model.addAttribute("item", tCompany);
       LogObjectHolder.me().set(tCompany);
   
       Integer roleType = ShiroExtUtil.getUser().getRoleType();
       Integer roleType = shiroExtUtil.getUser().getRoleType();
       if (1 == roleType) {
          //查询分公司
          List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2));
          model.addAttribute("companyList", companyList);
       } else if (2 == roleType) {
          TCompany obj = tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId());
          TCompany obj = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId());
          model.addAttribute("company", obj);
       }
       model.addAttribute("roleType", roleType);
@@ -319,10 +321,10 @@
          endTime = timeArray[1];
       }
       Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
       if (ShiroExtUtil.getUser().getRoleType() == 3) {
       if (shiroExtUtil.getUser().getRoleType() == 3) {
          page.setRecords(null);
       } else {
          page.setRecords(tCompanyService.getFranchiseeList(page, beginTime, endTime, name, account, principalName, principalPhone, serviceStr, state, ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId()));
          page.setRecords(tCompanyService.getFranchiseeList(page, beginTime, endTime, name, account, principalName, principalPhone, serviceStr, state, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId()));
       }
       return super.packForBT(page);
    }
@@ -341,24 +343,57 @@
       //调用中台接口创建企业
       CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
       String enterCode = "";
      Long empId = null;
       String principalName = tCompany.getPrincipalName();
       String principalPhone = tCompany.getPrincipalPhone();
       //企业未注册,进行注册
       if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
          CreateEnterpriseRequest request = new CreateEnterpriseRequest();
          request.setName(tCompany.getName());
          request.setNickName(tCompany.getName());
          request.setIndustry_code("123456");
          request.setMobile(tCompany.getPrincipalPhone());
          request.setMobile(principalPhone);
          CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
          enterCode = enterprise.getIdCode();
          List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
          empId = userInfoByPhone.get(0).getEmpId();
       }
       //企业已注册
       if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
          String larName = checkEnterExist.getLarName();
          String mobile = checkEnterExist.getMobile();
          enterCode = checkEnterExist.getEnterCode();
          if(!mobile.equals(principalPhone)){
            //负责人不匹配,则创建新的员工到中台
             SaveStaffNodeRequest request = new SaveStaffNodeRequest();
             request.setMobile(mobile);
             request.setEntercode(enterCode);
             request.setEmpName(principalName);
             request.setEmpNickname(principalName);
             request.setLoginNo(principalPhone);
             request.setEmpSex("女");
             request.setMphone(principalPhone);
             request.setEmail(principalPhone + "@qyt.com");
             request.setDeptId(0);
             request.setPositionId(1);
             request.setSuperLevel(0);
             request.setHideMobile(0);
             SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
             empId = saveStaffNode.getEmpId();
          }else{
             List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
             empId = userInfoByPhone.get(0).getEmpId();
          }
          tCompany.setPrincipalName(larName);
          tCompany.setPrincipalPhone(mobile);
       }
   
       tCompany.setEnterCode(enterCode);
       tCompany.setType(2);  //2:分公司
       tCompany.setState(0); //0:正常
       tCompany.setFlag("1");
       tCompany.setInsertTime(new Date());
       tCompany.setUpdateTime(new Date());
       tCompanyService.insert(tCompany);
@@ -369,7 +404,7 @@
   
       //添加User对象
       User user = new User();
       user.setAccount(account);
       user.setAccount(principalPhone);
       user.setSalt(ShiroKit.getRandomSalt(5));
       user.setPassword(ShiroKit.md5(password, user.getSalt()));
       user.setRoleid("2");
@@ -380,6 +415,9 @@
       user.setObjectId(tCompany.getId());
       user.setName(tCompany.getName());
       user.setSex(1);
       user.setEmpId(empId);
       user.setEntercode(enterCode);
       user.setEnterId(Long.valueOf(enterCode));
       userService.insert(user);
   
       //添加经营区域
@@ -435,33 +473,66 @@
       //调用中台接口创建企业
       CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
       String enterCode = "";
       Long empId = null;
       String principalName = tCompany.getPrincipalName();
       String principalPhone = tCompany.getPrincipalPhone();
       //企业未注册,进行注册
       if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
          CreateEnterpriseRequest request = new CreateEnterpriseRequest();
          request.setName(tCompany.getName());
          request.setNickName(tCompany.getName());
          request.setIndustry_code("123456");
          request.setMobile(tCompany.getPrincipalPhone());
          request.setMobile(principalPhone);
          CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
          enterCode = enterprise.getIdCode();
          List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
          empId = userInfoByPhone.get(0).getEmpId();
       }
       //企业已注册
       if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
          String larName = checkEnterExist.getLarName();
          String mobile = checkEnterExist.getMobile();
          enterCode = checkEnterExist.getEnterCode();
          if(!mobile.equals(principalPhone)){
             //负责人不匹配,则创建新的员工到中台
             SaveStaffNodeRequest request = new SaveStaffNodeRequest();
             request.setMobile(mobile);
             request.setEntercode(enterCode);
             request.setEmpName(principalName);
             request.setEmpNickname(principalName);
             request.setLoginNo(principalPhone);
             request.setEmpSex("女");
             request.setMphone(principalPhone);
             request.setEmail(principalPhone + "@qyt.com");
             request.setDeptId(0);
             request.setPositionId(1);
             request.setSuperLevel(0);
             request.setHideMobile(0);
             SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
             empId = saveStaffNode.getEmpId();
          }else{
             List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
             empId = userInfoByPhone.get(0).getEmpId();
          }
          tCompany.setPrincipalName(larName);
          tCompany.setPrincipalPhone(mobile);
       }
   
       tCompany.setEnterCode(enterCode);
       tCompany.setType(3);  //2:分公司
       if (ShiroExtUtil.getUser().getRoleType() == 2) {
          tCompany.setSuperiorId(ShiroExtUtil.getUser().getObjectId());
       if (shiroExtUtil.getUser().getRoleType() == 2) {
          tCompany.setSuperiorId(shiroExtUtil.getUser().getObjectId());
       }
       tCompany.setState(0); //0:正常
       tCompany.setFlag("1");
       tCompany.setInsertTime(new Date());
       tCompanyService.insert(tCompany);
   
       //添加User对象
       User user = new User();
       user.setAccount(account);
       user.setAccount(principalPhone);
       user.setSalt(ShiroKit.getRandomSalt(5));
       user.setPassword(ShiroKit.md5(password, user.getSalt()));
       user.setRoleid("3");
@@ -472,6 +543,9 @@
       user.setObjectId(tCompany.getId());
       user.setName(tCompany.getName());
       user.setSex(1);
       user.setEmpId(empId);
       user.setEntercode(enterCode);
       user.setEnterId(Long.valueOf(enterCode));
       userService.insert(user);
   
       return SUCCESS_TIP;
@@ -487,7 +561,7 @@
       //调用中台接口创建企业
       CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
       if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
          EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), tCompany.getPrincipalPhone());
       }
   
       tCompany.setFlag("3");
@@ -503,19 +577,6 @@
    public Object update(TCompany tCompany,@RequestParam String subArr,String account,String password,Integer userId) {
       //判断账号
       User user = userService.selectById(userId);
       if (SinataUtil.isNotEmpty(account) && SinataUtil.isNotEmpty(password)) {
          if (!user.getAccount().equals(account)) {
             //判断账号是否已存在
             int count = userService.selectCount(new EntityWrapper<User>().eq("account", account));
             if (count > 0) {
                return "error";
             }
          }
          //修改账号密码
          user.setAccount(account);
          user.setSalt(ShiroKit.getRandomSalt(5));
          user.setPassword(ShiroKit.md5(password, user.getSalt()));
       }
       TCompany company = tCompanyService.selectById(tCompany.getId());
       //调用中台接口创建企业
       CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName());
@@ -524,7 +585,7 @@
       if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
          ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
          request.setEnter_code(company.getEnterCode());
          request.setOperator(user.getPhone());
          request.setOperator(company.getPrincipalPhone());
          request.setEnter_name(tCompany.getName());
          request.setEnter_nickname(tCompany.getName());
          EnterpriseUtil.modifyEnterpriseInfo(request);
@@ -539,6 +600,9 @@
          request.setMobile(tCompany.getPrincipalPhone());
          CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
          enterCode = enterprise.getIdCode();
          List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
          Long empId = userInfoByPhone.get(0).getEmpId();
          user.setEmpId(empId);
       }
   
       company.setEnterCode(enterCode);
@@ -546,6 +610,8 @@
       tCompany.setVersion(company.getVersion() + 1);
       tCompanyService.updateById(tCompany);
   
       user.setEntercode(enterCode);
       user.setEnterId(Long.valueOf(enterCode));
       user.setName(tCompany.getName());
       userService.updateById(user);
   
@@ -592,7 +658,7 @@
       if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
          ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
          request.setEnter_code(company.getEnterCode());
          request.setOperator(user.getPhone());
          request.setOperator(tCompany.getPrincipalPhone());
          request.setEnter_name(tCompany.getName());
          request.setEnter_nickname(tCompany.getName());
          EnterpriseUtil.modifyEnterpriseInfo(request);
@@ -607,17 +673,17 @@
          request.setMobile(tCompany.getPrincipalPhone());
          CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
          enterCode = enterprise.getIdCode();
          List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
          Long empId = userInfoByPhone.get(0).getEmpId();
          user.setEmpId(empId);
       }
       tCompany.setEnterCode(enterCode);
       tCompanyService.updateById(tCompany);
   
       //修改账号密码
       user.setAccount(account);
       user.setSalt(ShiroKit.getRandomSalt(5));
       user.setPassword(ShiroKit.md5(password, user.getSalt()));
       user.setName(tCompany.getName());
       user.setEntercode(enterCode);
       user.setEnterId(Long.valueOf(enterCode));
       userService.updateById(user);
       return SUCCESS_TIP;
    }