| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |