|  | @@ -2,6 +2,7 @@ package com.keao.edu.user.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.keao.edu.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  | +import com.keao.edu.auth.api.entity.SysRole;
 | 
	
		
			
				|  |  |  import com.keao.edu.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.keao.edu.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import com.keao.edu.common.exception.BizException;
 | 
	
	
		
			
				|  | @@ -16,326 +17,400 @@ import com.keao.edu.user.dao.OrganizationDao;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.dao.SysUserDao;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.entity.Employee;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.entity.Organization;
 | 
	
		
			
				|  |  | +import com.keao.edu.user.enums.SettlementTypeEnum;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.service.OrganizationService;
 | 
	
		
			
				|  |  | +import com.keao.edu.util.collection.MapUtil;
 | 
	
		
			
				|  |  | +import com.keao.edu.util.excel.POIUtil;
 | 
	
		
			
				|  |  | +import com.keao.edu.util.iniFile.IniFileEntity;
 | 
	
		
			
				|  |  | +import com.keao.edu.util.iniFile.IniFileUtil;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  | +import org.springframework.util.ResourceUtils;
 | 
	
		
			
				|  |  | +import org.springframework.web.multipart.MultipartFile;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.beans.IntrospectionException;
 | 
	
		
			
				|  |  | +import java.io.File;
 | 
	
		
			
				|  |  | +import java.io.FileNotFoundException;
 | 
	
		
			
				|  |  | +import java.math.BigDecimal;
 | 
	
		
			
				|  |  |  import java.util.*;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private OrganizationDao organDao;
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private ImFeignService imFeignService;
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private SysUserDao sysUserDao;
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private EmployeeDao employeeDao;
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	private ExamOrganizationRelationDao examOrganizationRelationDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public BaseDAO<Integer, Organization> getDAO() {
 | 
	
		
			
				|  |  | -		return organDao;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private OrganizationDao organDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private ImFeignService imFeignService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SysUserDao sysUserDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private EmployeeDao employeeDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private ExamOrganizationRelationDao examOrganizationRelationDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void add(Organization organ) {
 | 
	
		
			
				|  |  | -		//获取当前用的organ
 | 
	
		
			
				|  |  | -		SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -		Organization currentOrganization = organDao.findByUserId(queryUserInfo.getId());
 | 
	
		
			
				|  |  | -		if(Objects.isNull(currentOrganization)){
 | 
	
		
			
				|  |  | -			throw new BizException("用户信息错误");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(currentOrganization == null){
 | 
	
		
			
				|  |  | -			Integer organId = OrganContextHolder.getOrganId();
 | 
	
		
			
				|  |  | -			currentOrganization = organDao.get(organId);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(currentOrganization.getLevel() == 3){
 | 
	
		
			
				|  |  | -			throw new BizException("无权限创建合作单位");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		SysUser sysUser = organ.getSysUser();
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public BaseDAO<Integer, Organization> getDAO() {
 | 
	
		
			
				|  |  | +        return organDao;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    public void add(Organization organ) {
 | 
	
		
			
				|  |  | +        //获取当前用的organ
 | 
	
		
			
				|  |  | +        SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | +        Organization currentOrganization = organDao.findByUserId(queryUserInfo.getId());
 | 
	
		
			
				|  |  | +        if (Objects.isNull(currentOrganization)) {
 | 
	
		
			
				|  |  | +            throw new BizException("用户信息错误");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (currentOrganization == null) {
 | 
	
		
			
				|  |  | +            Integer organId = OrganContextHolder.getOrganId();
 | 
	
		
			
				|  |  | +            currentOrganization = organDao.get(organId);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (currentOrganization.getLevel() == 3) {
 | 
	
		
			
				|  |  | +            throw new BizException("无权限创建合作单位");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        SysUser sysUser = organ.getSysUser();
 | 
	
		
			
				|  |  |  //		String tenantId = queryUserInfo.getTenantId();
 | 
	
		
			
				|  |  |  //		organ.setTenantId(tenantId);
 | 
	
		
			
				|  |  |  //		sysUser.setTenantId(tenantId);
 | 
	
		
			
				|  |  | -		SysUser user = sysUserDao.queryByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | -		organ.setParentOrganId(currentOrganization.getId());
 | 
	
		
			
				|  |  | -		organ.setLevel(currentOrganization.getLevel() + 1);
 | 
	
		
			
				|  |  | +        SysUser user = sysUserDao.queryByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | +        organ.setParentOrganId(currentOrganization.getId());
 | 
	
		
			
				|  |  | +        organ.setLevel(currentOrganization.getLevel() + 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		if(user != null && user.getId() != null){
 | 
	
		
			
				|  |  | +        if (user != null && user.getId() != null) {
 | 
	
		
			
				|  |  |  //			if(!user.getTenantId().equals(tenantId)){
 | 
	
		
			
				|  |  |  //				throw new BizException("手机号已被占用");
 | 
	
		
			
				|  |  |  //			}
 | 
	
		
			
				|  |  | -			if(StringUtils.isNotEmpty(user.getUserType())){
 | 
	
		
			
				|  |  | -				throw new BizException("手机号已被占用("+user.getPhone()+")");
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			Organization organization = organDao.findByUserId(user.getId());
 | 
	
		
			
				|  |  | -			if(organization == null){
 | 
	
		
			
				|  |  | -				organ.setUserId(user.getId());
 | 
	
		
			
				|  |  | -				organDao.insert(organ);
 | 
	
		
			
				|  |  | -				organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organ.getId());
 | 
	
		
			
				|  |  | -				organDao.update(organ);
 | 
	
		
			
				|  |  | -				//新增用户角色
 | 
	
		
			
				|  |  | -				if(sysUser.getRoles() != null){
 | 
	
		
			
				|  |  | -					sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
 | 
	
		
			
				|  |  | -				}else {
 | 
	
		
			
				|  |  | -					Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | -					sysUserDao.batchAddEmployeeRole(user.getId(),roleIds);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				if(StringUtils.isNotEmpty(user.getUserType())){
 | 
	
		
			
				|  |  | -					if(!user.getUserType().contains("SYSTEM")){
 | 
	
		
			
				|  |  | -						user.setUserType(user.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -				}else {
 | 
	
		
			
				|  |  | -					user.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				user.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | -				user.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | -				sysUserDao.update(user);
 | 
	
		
			
				|  |  | -				Employee employee = employeeDao.get(user.getId());
 | 
	
		
			
				|  |  | -				if(employee == null){
 | 
	
		
			
				|  |  | -					employee = new Employee();
 | 
	
		
			
				|  |  | -					employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | -					employee.setUserId(user.getId());
 | 
	
		
			
				|  |  | -					employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | -					employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | -					employeeDao.insert(employee);
 | 
	
		
			
				|  |  | -				}else {
 | 
	
		
			
				|  |  | -					employee.setDelFlag(false);
 | 
	
		
			
				|  |  | -					employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | -					employee.setUserId(user.getId());
 | 
	
		
			
				|  |  | -					employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | -					employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | -					employeeDao.update(employee);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -			}else if(organization.getDelFlag() == YesOrNoEnum.YES){
 | 
	
		
			
				|  |  | -				SysUser sysUser1 = organization.getSysUser();
 | 
	
		
			
				|  |  | -				if(StringUtils.isEmpty(sysUser1.getUserType())){
 | 
	
		
			
				|  |  | -					sysUser.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | -				}else {
 | 
	
		
			
				|  |  | -					sysUser.setUserType(sysUser1.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				sysUser.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | -				sysUser.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | -				sysUser.setId(sysUser1.getId());
 | 
	
		
			
				|  |  | -				sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | -				if(sysUser.getRoles() != null){
 | 
	
		
			
				|  |  | -					sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 | 
	
		
			
				|  |  | -				}else {
 | 
	
		
			
				|  |  | -					Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | -					sysUserDao.batchAddEmployeeRole(sysUser.getId(),roleIds);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				Employee employee = employeeDao.get(sysUser.getId());
 | 
	
		
			
				|  |  | -				employee.setDelFlag(false);
 | 
	
		
			
				|  |  | -				employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | -				employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | -				employee.setOrganId(organization.getId());
 | 
	
		
			
				|  |  | -				employeeDao.update(employee);
 | 
	
		
			
				|  |  | -				organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organization.getId());
 | 
	
		
			
				|  |  | -				organ.setDelFlag(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | -				organ.setId(organization.getId());
 | 
	
		
			
				|  |  | -				organDao.update(organ);
 | 
	
		
			
				|  |  | -			}else{
 | 
	
		
			
				|  |  | -				throw new BizException("用户已存在");
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			return;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		sysUser.setPassword(new BCryptPasswordEncoder().encode("123456"));
 | 
	
		
			
				|  |  | -		sysUser.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | -		sysUser.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | -		sysUser.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | -		sysUserDao.insert(sysUser);
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotEmpty(user.getUserType())) {
 | 
	
		
			
				|  |  | +                throw new BizException("手机号已被占用(" + user.getPhone() + ")");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            Organization organization = organDao.findByUserId(user.getId());
 | 
	
		
			
				|  |  | +            if (organization == null) {
 | 
	
		
			
				|  |  | +                organ.setUserId(user.getId());
 | 
	
		
			
				|  |  | +                organDao.insert(organ);
 | 
	
		
			
				|  |  | +                organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organ.getId());
 | 
	
		
			
				|  |  | +                organDao.update(organ);
 | 
	
		
			
				|  |  | +                //新增用户角色
 | 
	
		
			
				|  |  | +                if (sysUser.getRoles() != null) {
 | 
	
		
			
				|  |  | +                    sysUserDao.batchAddEmployeeRole(user.getId(), sysUser.getRoles());
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | +                    sysUserDao.batchAddEmployeeRole(user.getId(), roleIds);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotEmpty(user.getUserType())) {
 | 
	
		
			
				|  |  | +                    if (!user.getUserType().contains("SYSTEM")) {
 | 
	
		
			
				|  |  | +                        user.setUserType(user.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    user.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                user.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | +                user.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | +                sysUserDao.update(user);
 | 
	
		
			
				|  |  | +                Employee employee = employeeDao.get(user.getId());
 | 
	
		
			
				|  |  | +                if (employee == null) {
 | 
	
		
			
				|  |  | +                    employee = new Employee();
 | 
	
		
			
				|  |  | +                    employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | +                    employee.setUserId(user.getId());
 | 
	
		
			
				|  |  | +                    employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | +                    employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | +                    employeeDao.insert(employee);
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    employee.setDelFlag(false);
 | 
	
		
			
				|  |  | +                    employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | +                    employee.setUserId(user.getId());
 | 
	
		
			
				|  |  | +                    employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | +                    employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | +                    employeeDao.update(employee);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            } else if (organization.getDelFlag() == YesOrNoEnum.YES) {
 | 
	
		
			
				|  |  | +                SysUser sysUser1 = organization.getSysUser();
 | 
	
		
			
				|  |  | +                if (StringUtils.isEmpty(sysUser1.getUserType())) {
 | 
	
		
			
				|  |  | +                    sysUser.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    sysUser.setUserType(sysUser1.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                sysUser.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | +                sysUser.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | +                sysUser.setId(sysUser1.getId());
 | 
	
		
			
				|  |  | +                sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | +                if (sysUser.getRoles() != null) {
 | 
	
		
			
				|  |  | +                    sysUserDao.batchAddEmployeeRole(sysUser.getId(), sysUser.getRoles());
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | +                    sysUserDao.batchAddEmployeeRole(sysUser.getId(), roleIds);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                Employee employee = employeeDao.get(sysUser.getId());
 | 
	
		
			
				|  |  | +                employee.setDelFlag(false);
 | 
	
		
			
				|  |  | +                employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | +                employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | +                employee.setOrganId(organization.getId());
 | 
	
		
			
				|  |  | +                employeeDao.update(employee);
 | 
	
		
			
				|  |  | +                organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organization.getId());
 | 
	
		
			
				|  |  | +                organ.setDelFlag(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +                organ.setId(organization.getId());
 | 
	
		
			
				|  |  | +                organDao.update(organ);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                throw new BizException("用户已存在");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        sysUser.setPassword(new BCryptPasswordEncoder().encode("123456"));
 | 
	
		
			
				|  |  | +        sysUser.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | +        sysUser.setRealName(organ.getContactName());
 | 
	
		
			
				|  |  | +        sysUser.setPhone(organ.getContactPhone());
 | 
	
		
			
				|  |  | +        sysUserDao.insert(sysUser);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		organ.setUserId(sysUser.getId());
 | 
	
		
			
				|  |  | -		organDao.insert(organ);
 | 
	
		
			
				|  |  | -		organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organ.getId());
 | 
	
		
			
				|  |  | -		organDao.update(organ);
 | 
	
		
			
				|  |  | -		//新增用户角色
 | 
	
		
			
				|  |  | -		sysUserDao.delEmployeeRole(sysUser.getId());
 | 
	
		
			
				|  |  | -		if(sysUser.getRoles() != null){
 | 
	
		
			
				|  |  | -			sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 | 
	
		
			
				|  |  | -		}else {
 | 
	
		
			
				|  |  | -			Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | -			sysUserDao.batchAddEmployeeRole(sysUser.getId(),roleIds);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		Employee employee = new Employee();
 | 
	
		
			
				|  |  | -		employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | -		employee.setUserId(sysUser.getId());
 | 
	
		
			
				|  |  | -		employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | -		employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | -		employeeDao.insert(employee);
 | 
	
		
			
				|  |  | +        organ.setUserId(sysUser.getId());
 | 
	
		
			
				|  |  | +        organDao.insert(organ);
 | 
	
		
			
				|  |  | +        organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + organ.getId());
 | 
	
		
			
				|  |  | +        organDao.update(organ);
 | 
	
		
			
				|  |  | +        //新增用户角色
 | 
	
		
			
				|  |  | +        sysUserDao.delEmployeeRole(sysUser.getId());
 | 
	
		
			
				|  |  | +        if (sysUser.getRoles() != null) {
 | 
	
		
			
				|  |  | +            sysUserDao.batchAddEmployeeRole(sysUser.getId(), sysUser.getRoles());
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | +            sysUserDao.batchAddEmployeeRole(sysUser.getId(), roleIds);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Employee employee = new Employee();
 | 
	
		
			
				|  |  | +        employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | +        employee.setUserId(sysUser.getId());
 | 
	
		
			
				|  |  | +        employee.setTenantId(organ.getTenantId());
 | 
	
		
			
				|  |  | +        employee.setEmployeeType("ORGAN");
 | 
	
		
			
				|  |  | +        employeeDao.insert(employee);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(),null));
 | 
	
		
			
				|  |  | +        ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(), null));
 | 
	
		
			
				|  |  |          sysUser.setImToken(imResult.getToken());
 | 
	
		
			
				|  |  | -		sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +        sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void updateOrganization(Organization organization) {
 | 
	
		
			
				|  |  | -		SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | -		Organization organization1 = organDao.get(organization.getId());
 | 
	
		
			
				|  |  | -		if(null == organization1){
 | 
	
		
			
				|  |  | -			throw new BizException("合作商信息不存在");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		sysUser.setId(organization1.getUserId());
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    public void updateOrganization(Organization organization) {
 | 
	
		
			
				|  |  | +        SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | +        Organization organization1 = organDao.get(organization.getId());
 | 
	
		
			
				|  |  | +        if (null == organization1) {
 | 
	
		
			
				|  |  | +            throw new BizException("合作商信息不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        sysUser.setId(organization1.getUserId());
 | 
	
		
			
				|  |  |  //		organization.setId(sysUser.getId());
 | 
	
		
			
				|  |  | -		if(StringUtils.isNotEmpty(sysUser.getPhone())){
 | 
	
		
			
				|  |  | -			SysUser queryByPhone = sysUserDao.queryByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | -			if(queryByPhone != null && !sysUser.getId().equals(queryByPhone.getId())){
 | 
	
		
			
				|  |  | -				throw new BizException("手机号已存在");
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		sysUser.setRealName(organization.getContactName());
 | 
	
		
			
				|  |  | -		sysUser.setPhone(organization.getContactPhone());
 | 
	
		
			
				|  |  | -		organization.setUserId(organization1.getUserId());
 | 
	
		
			
				|  |  | -		organDao.update(organization);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(sysUser.getPhone())) {
 | 
	
		
			
				|  |  | +            SysUser queryByPhone = sysUserDao.queryByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | +            if (queryByPhone != null && !sysUser.getId().equals(queryByPhone.getId())) {
 | 
	
		
			
				|  |  | +                throw new BizException("手机号已存在");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        sysUser.setRealName(organization.getContactName());
 | 
	
		
			
				|  |  | +        sysUser.setPhone(organization.getContactPhone());
 | 
	
		
			
				|  |  | +        organization.setUserId(organization1.getUserId());
 | 
	
		
			
				|  |  | +        organDao.update(organization);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<Organization> childOrgans = organDao.getChildOrgans(organization1.getParentOrganIdTag());
 | 
	
		
			
				|  |  | +        Set<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | +        userIds.add(sysUser.getId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        sysUserDao.batchDelEmployeeRole(userIds);
 | 
	
		
			
				|  |  | +        if (sysUser.getRoles() != null) {
 | 
	
		
			
				|  |  | +            sysUserDao.batchAddEmployeeRoles(userIds, sysUser.getRoles());
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | +            Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | +            sysUserDao.batchAddEmployeeRole(sysUser.getId(), roleIds);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | +        imFeignService.update(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(), sysUser.getAvatar()));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Integer> getChildOrganIds(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | +        if (Objects.isNull(organId)) {
 | 
	
		
			
				|  |  | +            return null;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | +        if (Objects.isNull(organization)) {
 | 
	
		
			
				|  |  | +            throw new BizException("当前声部不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Integer> selfAndChildOrganIds = organDao.getChildOrganIds(organization.getParentOrganIdTag());
 | 
	
		
			
				|  |  | +        if (null == selfAndChildOrganIds) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds = Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!includeSelf) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds.remove(organization.getId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(selfAndChildOrganIds)) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds.add(0);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return selfAndChildOrganIds;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Organization> getChildOrgans(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | +        if (Objects.isNull(organization)) {
 | 
	
		
			
				|  |  | +            throw new BizException("合作单位不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Organization> selfAndChildOrgans = organDao.getChildOrgans(organization.getParentOrganIdTag());
 | 
	
		
			
				|  |  | +        if (null == selfAndChildOrgans) {
 | 
	
		
			
				|  |  | +            selfAndChildOrgans = Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (includeSelf) {
 | 
	
		
			
				|  |  | +            selfAndChildOrgans.add(organization);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return selfAndChildOrgans;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Integer> getNextLevelOrganIds(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | +        if (Objects.isNull(organId)) {
 | 
	
		
			
				|  |  | +            return null;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | +        if (Objects.isNull(organization)) {
 | 
	
		
			
				|  |  | +            throw new BizException("当前声部不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Integer> selfAndChildOrganIds = organDao.getNextLevelOrganIds(organization.getId());
 | 
	
		
			
				|  |  | +        if (null == selfAndChildOrganIds) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds = Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (includeSelf) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds.add(organization.getId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(selfAndChildOrganIds)) {
 | 
	
		
			
				|  |  | +            selfAndChildOrganIds.add(0);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return selfAndChildOrganIds;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    public void del(Integer id) {
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(id);
 | 
	
		
			
				|  |  | +        SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | +        if (queryUserInfo.getId().equals(organization.getUserId())) {
 | 
	
		
			
				|  |  | +            throw new BizException("删除失败:不支持此操作");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Integer count = examOrganizationRelationDao.findByOrganId(id);
 | 
	
		
			
				|  |  | +        if (count == null || count == 0) {
 | 
	
		
			
				|  |  | +            SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | +            String userType = sysUser.getUserType();
 | 
	
		
			
				|  |  | +            if (userType.contains(",SYSTEM")) {
 | 
	
		
			
				|  |  | +                userType = userType.replace(",SYSTEM", "");
 | 
	
		
			
				|  |  | +            } else if (userType.contains("SYSTEM,")) {
 | 
	
		
			
				|  |  | +                userType = userType.replace("SYSTEM,", "");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                userType = "";
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            sysUserDao.updateUserType(sysUser.getId(), userType);
 | 
	
		
			
				|  |  | +            sysUserDao.delEmployeeRole(organization.getUserId());
 | 
	
		
			
				|  |  | +            employeeDao.delete(sysUser.getId());
 | 
	
		
			
				|  |  | +            organDao.delete(id);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            throw new BizException("删除失败:存在考试项目,无法删除");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Organization getOrganization(Integer id) {
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(id);
 | 
	
		
			
				|  |  | +        SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | +        Integer roleIds = sysUserDao.queryRoleIds(organization.getUserId());
 | 
	
		
			
				|  |  | +        sysUser.setRoles(roleIds);
 | 
	
		
			
				|  |  | +        return organization;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Organization findByUserId(Integer userId) {
 | 
	
		
			
				|  |  | +        return organDao.findByUserId(userId);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		List<Organization> childOrgans = organDao.getChildOrgans(organization1.getParentOrganIdTag());
 | 
	
		
			
				|  |  | -		Set<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | -		userIds.add(sysUser.getId());
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    public void lock(Integer organId, Integer lockFlag) {
 | 
	
		
			
				|  |  | +        Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | +        SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | +        if (queryUserInfo.getId().equals(organization.getUserId())) {
 | 
	
		
			
				|  |  | +            throw new BizException("操作失败:不支持此操作");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (lockFlag == 1) {
 | 
	
		
			
				|  |  | +            List<Integer> organIds = getChildOrganIds(organId, true);
 | 
	
		
			
				|  |  | +            employeeDao.batchLock(organIds);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            Employee employee = employeeDao.get(organization.getUserId());
 | 
	
		
			
				|  |  | +            employee.setLockFlag(lockFlag);
 | 
	
		
			
				|  |  | +            employeeDao.update(employee);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		sysUserDao.batchDelEmployeeRole(userIds);
 | 
	
		
			
				|  |  | -		if(sysUser.getRoles() != null){
 | 
	
		
			
				|  |  | -			sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
 | 
	
		
			
				|  |  | -		}else {
 | 
	
		
			
				|  |  | -			SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -			Integer roleIds = sysUserDao.queryRoleIds(queryUserInfo.getId());
 | 
	
		
			
				|  |  | -			sysUserDao.batchAddEmployeeRole(sysUser.getId(),roleIds);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Organization> importOrgan(MultipartFile file, String tenantId) throws Exception {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | -		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +        Map<String, List<Map<String, Object>>> sheetsListMap = POIUtil.importExcel(file.getInputStream(), 2, file.getOriginalFilename());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public List<Integer> getChildOrganIds(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | -		if(Objects.isNull(organId)){
 | 
	
		
			
				|  |  | -			return null;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | -		if(Objects.isNull(organization)){
 | 
	
		
			
				|  |  | -			throw new BizException("当前声部不存在");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		List<Integer> selfAndChildOrganIds = organDao.getChildOrganIds(organization.getParentOrganIdTag());
 | 
	
		
			
				|  |  | -		if(null == selfAndChildOrganIds){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds= Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(!includeSelf){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds.remove(organization.getId());
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(CollectionUtils.isEmpty(selfAndChildOrganIds)){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds.add(0);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		return selfAndChildOrganIds;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +        File columnFile = ResourceUtils.getFile("classpath:" + "columnMapper.ini");
 | 
	
		
			
				|  |  | +        List<IniFileEntity> organizationColumns = IniFileUtil.readIniFile(columnFile).get("organization");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public List<Organization> getChildOrgans(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | -		if(Objects.isNull(organization)){
 | 
	
		
			
				|  |  | -			throw new BizException("合作单位不存在");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		List<Organization> selfAndChildOrgans = organDao.getChildOrgans(organization.getParentOrganIdTag());
 | 
	
		
			
				|  |  | -		if(null == selfAndChildOrgans){
 | 
	
		
			
				|  |  | -			selfAndChildOrgans= Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(includeSelf){
 | 
	
		
			
				|  |  | -			selfAndChildOrgans.add(organization);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		return selfAndChildOrgans;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +        List<SysRole> organRoles = sysUserDao.getOrganRole(Integer.parseInt(tenantId));
 | 
	
		
			
				|  |  | +        List<Organization> organizations = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public List<Integer> getNextLevelOrganIds(Integer organId, boolean includeSelf) {
 | 
	
		
			
				|  |  | -		if(Objects.isNull(organId)){
 | 
	
		
			
				|  |  | -			return null;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | -		if(Objects.isNull(organization)){
 | 
	
		
			
				|  |  | -			throw new BizException("当前声部不存在");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		List<Integer> selfAndChildOrganIds = organDao.getNextLevelOrganIds(organization.getId());
 | 
	
		
			
				|  |  | -		if(null == selfAndChildOrganIds){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds= Collections.EMPTY_LIST;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(includeSelf){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds.add(organization.getId());
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(CollectionUtils.isEmpty(selfAndChildOrganIds)){
 | 
	
		
			
				|  |  | -			selfAndChildOrganIds.add(0);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		return selfAndChildOrganIds;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +        sheetsListMap.keySet().forEach(e -> {
 | 
	
		
			
				|  |  | +            List<Map<String, Object>> sheet = sheetsListMap.get(e);
 | 
	
		
			
				|  |  | +            for (Map<String, Object> row : sheet) {
 | 
	
		
			
				|  |  | +                SysUser user = new SysUser();
 | 
	
		
			
				|  |  | +                Map<String, Object> objectMap = new HashMap<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void del(Integer id) {
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(id);
 | 
	
		
			
				|  |  | -		SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -		if(queryUserInfo.getId().equals(organization.getUserId())){
 | 
	
		
			
				|  |  | -			throw new BizException("删除失败:不支持此操作");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		Integer count = examOrganizationRelationDao.findByOrganId(id);
 | 
	
		
			
				|  |  | -		if(count == null || count == 0){
 | 
	
		
			
				|  |  | -			SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | -			String userType = sysUser.getUserType();
 | 
	
		
			
				|  |  | -			if(userType.contains(",SYSTEM")){
 | 
	
		
			
				|  |  | -				userType = userType.replace(",SYSTEM","");
 | 
	
		
			
				|  |  | -			}else if(userType.contains("SYSTEM,")){
 | 
	
		
			
				|  |  | -				userType = userType.replace("SYSTEM,","");
 | 
	
		
			
				|  |  | -			}else {
 | 
	
		
			
				|  |  | -				userType = "";
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			sysUserDao.updateUserType(sysUser.getId(),userType);
 | 
	
		
			
				|  |  | -			sysUserDao.delEmployeeRole(organization.getUserId());
 | 
	
		
			
				|  |  | -			employeeDao.delete(sysUser.getId());
 | 
	
		
			
				|  |  | -			organDao.delete(id);
 | 
	
		
			
				|  |  | -		}else {
 | 
	
		
			
				|  |  | -			throw new BizException("删除失败:存在考试项目,无法删除");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +                for (String s : row.keySet()) {
 | 
	
		
			
				|  |  | +                    for (IniFileEntity organizationColumn : organizationColumns) {
 | 
	
		
			
				|  |  | +                        if (!s.equals(organizationColumn.getKey())) continue;
 | 
	
		
			
				|  |  | +                        objectMap.put(organizationColumn.getValue(), row.get(s));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public Organization getOrganization(Integer id) {
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(id);
 | 
	
		
			
				|  |  | -		SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | -		Integer roleIds = sysUserDao.queryRoleIds(organization.getUserId());
 | 
	
		
			
				|  |  | -		sysUser.setRoles(roleIds);
 | 
	
		
			
				|  |  | -		return organization;
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +                        if (organizationColumn.getValue().equals("contactPhone")) {
 | 
	
		
			
				|  |  | +                            user.setPhone(row.get(s).toString());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (organizationColumn.getValue().equals("shareProfitAmount")) {
 | 
	
		
			
				|  |  | +                            objectMap.put(organizationColumn.getValue(), new BigDecimal(row.get(s).toString()));
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	public Organization findByUserId(Integer userId) {
 | 
	
		
			
				|  |  | -		return organDao.findByUserId(userId);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +                        if (organizationColumn.getValue().equals("roleName")) {
 | 
	
		
			
				|  |  | +                            for (SysRole organRole : organRoles) {
 | 
	
		
			
				|  |  | +                                if (organRole.getRoleName().equals(row.get(s).toString())) {
 | 
	
		
			
				|  |  | +                                    user.setRoles(organRole.getId());
 | 
	
		
			
				|  |  | +                                    break;
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (organizationColumn.getValue().equals("settlementType")) {
 | 
	
		
			
				|  |  | +                            for (SettlementTypeEnum settlementType : SettlementTypeEnum.values()) {
 | 
	
		
			
				|  |  | +                                if (settlementType.getMsg().equals(row.get(s).toString())) {
 | 
	
		
			
				|  |  | +                                    objectMap.put("settlementType", settlementType);
 | 
	
		
			
				|  |  | +                                    break;
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	@Override
 | 
	
		
			
				|  |  | -	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void lock(Integer organId, Integer lockFlag) {
 | 
	
		
			
				|  |  | -		Organization organization = organDao.get(organId);
 | 
	
		
			
				|  |  | -		SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -		if(queryUserInfo.getId().equals(organization.getUserId())){
 | 
	
		
			
				|  |  | -			throw new BizException("操作失败:不支持此操作");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(lockFlag == 1){
 | 
	
		
			
				|  |  | -			List<Integer> organIds = getChildOrganIds(organId, true);
 | 
	
		
			
				|  |  | -			employeeDao.batchLock(organIds);
 | 
	
		
			
				|  |  | -		}else {
 | 
	
		
			
				|  |  | -			Employee employee = employeeDao.get(organization.getUserId());
 | 
	
		
			
				|  |  | -			employee.setLockFlag(lockFlag);
 | 
	
		
			
				|  |  | -			employeeDao.update(employee);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +                Organization organization = null;
 | 
	
		
			
				|  |  | +                try {
 | 
	
		
			
				|  |  | +                    organization = MapUtil.mapToJavaBean(Organization.class, objectMap);
 | 
	
		
			
				|  |  | +                    organization.setTenantId(tenantId);
 | 
	
		
			
				|  |  | +                    organization.setSysUser(user);
 | 
	
		
			
				|  |  | +                    organizations.add(organization);
 | 
	
		
			
				|  |  | +                } catch (Exception ex) {
 | 
	
		
			
				|  |  | +                    throw new BizException("导入数据出错");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                this.add(organization);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        return organizations;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |