fetch:机构人员bug

This commit is contained in:
root
2021-07-06 17:30:30 +08:00
parent 51bd89fc13
commit 1ea0d09cb0
13 changed files with 193 additions and 39 deletions
File diff suppressed because one or more lines are too long
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarInstitution.dao;
import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -34,4 +35,11 @@ public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
* @param tsInstitutions:机构列表
*/
void batchInsert(List<TsInstitution> tsInstitutions);
/**
* 查询根机构
* @return List<TsInstitution>
*/
@Select("select * from ts_institution where parent_id not in (select id from ts_institution)")
List<TsInstitution> selectRoot();
}
@@ -55,6 +55,10 @@ public class TsInstitution extends BaseEntity {
@ApiModelProperty("是否是机构")
private Boolean disabled;
@TableField
@ApiModelProperty("是否有子节点(1有,0没有)")
private String hasChild;
public TsInstitution() {
}
@@ -1,11 +1,6 @@
package com.adc.da.slrs.sarInstitution.service;
import com.adc.da.slrs.sarInstitution.entity.SyncInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -33,5 +28,5 @@ public interface ITsInstitutionService extends IService<TsInstitution> {
*/
void batchInsert(List<TsInstitution> tsInstitutions);
public void parseInstitution(String json);
public void parseInstitution() throws Exception;
}
@@ -2,13 +2,10 @@ package com.adc.da.slrs.sarInstitution.service.impl;
import com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao;
import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser;
import com.adc.da.slrs.sarInstitution.entity.SyncInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsUserVO;
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.sync.service.SyncUserService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -33,6 +30,8 @@ import java.util.List;
public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsInstitution> implements ITsInstitutionService {
@Autowired
private TsInstitutionDao tsInstitutionDao;
@Autowired
private SyncUserService syncUserService;
/**
* 查询所有机构
@@ -40,20 +39,22 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
@Override
public List<TsInstitution> getInstitution() {
//查询第一层机构
QueryWrapper<TsInstitution> institutionQueryWrapper=new QueryWrapper<>();
institutionQueryWrapper.isNull("parent_id").or().eq("parent_id","");
List<TsInstitution> institutionRoot=tsInstitutionDao.selectList(institutionQueryWrapper);
List<TsInstitution> institutionRoot=tsInstitutionDao.selectRoot();
for(TsInstitution tsInstitution:institutionRoot){
tsInstitution.setChildren(recursionGetInstitution(tsInstitution));
}
return institutionRoot;
}
/**
* 递归获取子机构
* @param tsInstitution:父机构
* @return List<TsInstitution>
*/
private List<Object> recursionGetInstitution(TsInstitution tsInstitution){
if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){
return null;
}
List<Object> institutionObject=new ArrayList<>();
QueryWrapper<TsInstitution> institutionQueryWrapper=new QueryWrapper<>();
institutionQueryWrapper.eq("parent_id",tsInstitution.getId());
@@ -65,6 +66,39 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
return institutionObject;
}
/* *//**
* 查询所有机构
*//*
@Override
public List<TsInstitution> getInstitution() {
//查询第一层机构
List<TsInstitution> institutionRoot=tsInstitutionDao.selectRoot();
for(TsInstitution tsInstitution:institutionRoot){
tsInstitution.setChildren(recursionGetInstitution(tsInstitution));
}
return institutionRoot;
}
*//**
* 递归获取子机构
* @param tsInstitution:父机构
* @return List<TsInstitution>
*//*
private List<Object> recursionGetInstitution(TsInstitution tsInstitution){
if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){
return null;
}
List<Object> institutionObject=new ArrayList<>();
QueryWrapper<TsInstitution> institutionQueryWrapper=new QueryWrapper<>();
institutionQueryWrapper.eq("parent_id",tsInstitution.getId());
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectList(institutionQueryWrapper);
for(TsInstitution tsInstitutionNode:tsInstitutions){
tsInstitutionNode.setChildren(recursionGetInstitution(tsInstitutionNode));
institutionObject.add(tsInstitutionNode);
}
return institutionObject;
}*/
/**
* 查询所有机构
*/
@@ -100,6 +134,13 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
* @return List<TsInstitution>
*/
private List<Object> recursionGetInstitutionAndUser(TsInstitution tsInstitution){
System.out.println(1);
System.out.println(tsInstitution);
if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){
return null;
}
System.out.println(2);
System.out.println(tsInstitution);
List<Object> institutionObject=new ArrayList<>();
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectAndUserByParent(tsInstitution.getId());
@@ -114,12 +155,15 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
return institutionObject;
}
public void parseInstitution(String json){
JSONObject jsonObject= JSON.parseObject(json);
JSONArray results=jsonObject.getJSONArray("results");
List<SyncInstitution> syncInstitutions=results.toJavaList(SyncInstitution.class);
List<TsInstitution> tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions);
batchInsert(tsInstitutions);
public void parseInstitution() throws Exception {
List<String> jsons=syncUserService.syncFotonOrg();
for(String json:jsons){
JSONObject jsonObject= JSON.parseObject(json);
JSONArray results=jsonObject.getJSONArray("results");
List<SyncInstitution> syncInstitutions=results.toJavaList(SyncInstitution.class);
List<TsInstitution> tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions);
batchInsert(tsInstitutions);
}
}