同步AED数据

This commit is contained in:
feng
2025-12-03 16:21:22 +08:00
parent 595d702e9e
commit 0b5ec13aab
11 changed files with 199 additions and 20 deletions
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.bean.response.DepartEasyVO;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.config.TenantContext;
import org.jeecg.common.constant.CommonConstant;
@@ -913,6 +914,16 @@ public class SysDepartController {
return sysDepartService.queryDepartNameByOrgCodes(orgCodeSet);
}
/**
* 根据单位名称反查单位code (使用于导入通过单位名称补全单位code , 如果单位名称重复通过上级单位的code或者名称二次比对)
* @param orgNameSet codes
* @return <'部门名称',[匹配到的部门信息]></>
*/
@PostMapping("/queryDeptByName")
public Map<String,List<DepartEasyVO>> queryDeptByName(@RequestBody Set<String> orgNameSet){
return sysDepartService.queryDeptByName(orgNameSet);
}
@GetMapping("/departDataInit")
public void departDataInit(){
sysDepartService.departDataInit();
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.bean.response.DepartEasyVO;
import org.jeecg.common.system.bean.response.BaseUser;
import org.jeecg.common.system.vo.SysDepartGps;
import org.jeecg.common.system.vo.SysDepartModel;
@@ -266,4 +267,11 @@ public interface ISysDepartService extends IService<SysDepart> {
Map<String, String> queryDepartNameByOrgCodes(Set<String> orgCodeSet);
void departDataInit();
/**
* 根据单位名称反查单位code
* @param orgNameSet
* @return
*/
Map<String, List<DepartEasyVO>> queryDeptByName(Set<String> orgNameSet);
}
@@ -21,13 +21,13 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.jeecg.bean.response.DepartEasyVO;
import org.jeecg.common.config.TenantContext;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.FillRuleConstant;
import org.jeecg.common.constant.SymbolConstant;
import org.jeecg.common.exception.ExceptionAssertsUtil;
import org.jeecg.common.system.bean.response.BaseUser;
import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.system.vo.SysDepartGps;
import org.jeecg.common.system.vo.SysDepartModel;
@@ -44,8 +44,8 @@ import org.jeecg.modules.system.manager.UserCacheManager;
import org.jeecg.modules.system.mapper.*;
import org.jeecg.modules.system.model.DepartIdModel;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.untils.CoordinateConverter;
import org.jeecg.modules.system.util.FindsDepartsChildrenUtil;
import org.jeecg.untils.CoordinateConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -54,6 +54,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -1244,6 +1245,40 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
return result;
}
@Override
public Map<String, List<DepartEasyVO>> queryDeptByName(Set<String> orgNameSet) {
Map<String, List<DepartEasyVO>> resultMap = new HashMap<>();
if(ObjectUtil.isNotEmpty(orgNameSet)){
orgNameSet = orgNameSet.stream().map(s -> s.replaceAll(" ","")).collect(Collectors.toSet());
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(SysDepart::getOrgCode,SysDepart::getDepartName,SysDepart::getParentId);
queryWrapper.in(SysDepart::getDepartName,orgNameSet);
queryWrapper.eq(SysDepart::getDelFlag,0);
List<SysDepart> departList = departMapper.selectList(queryWrapper);
if(departList.size() > 0){
Map<String,SysDepart> parentMap = departMapper.selectBatchIds(
departList.stream().map(SysDepart::getParentId).collect(Collectors.toSet()))
.stream().collect(Collectors.toMap(SysDepart::getId, Function.identity()));
Map<String,List<SysDepart>> deptMap = departList.stream().collect(Collectors.groupingBy(SysDepart::getDepartName));
deptMap.forEach((name,value) ->{
List<DepartEasyVO> easyVOS = new ArrayList<>();
value.forEach(dept ->{
DepartEasyVO departEasyVO = new DepartEasyVO();
departEasyVO.setOrgCode(dept.getOrgCode());
departEasyVO.setOrgName(dept.getDepartName());
SysDepart parent= parentMap.get(dept.getParentId());
if(null != parent){
departEasyVO.setParentCode(parent.getOrgCode());
departEasyVO.setParentName(parent.getDepartName());
}
});
resultMap.put(name,easyVOS);
});
}
}
return resultMap;
}
@Override
public void cancelDepartManager(String orgCode, List<String> userIds) {
List<SysUser> sysUsers = sysUserMapper.selectBatchIds(userIds);
@@ -1695,7 +1730,6 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
}
}
/**
* 获取单元格的值
*/