|
@ -1,16 +1,16 @@
|
|
|
package com.yihu.jw.quota.etl.extract;
|
|
|
|
|
|
|
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
|
import com.yihu.jw.entity.ehr.quota.TjQuotaDimensionMain;
|
|
|
import com.yihu.jw.entity.ehr.quota.TjQuotaDimensionSlave;
|
|
|
import com.yihu.jw.restmodel.ehr.org.MOrganization;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.quota.etl.Contant;
|
|
|
import com.yihu.jw.quota.util.BasesicUtil;
|
|
|
import com.yihu.jw.quota.vo.DictModel;
|
|
|
import com.yihu.jw.quota.vo.OrgHealthCategoryShowModel;
|
|
|
import com.yihu.jw.quota.vo.DoctorVo;
|
|
|
import com.yihu.jw.quota.vo.QuotaVo;
|
|
|
import com.yihu.jw.quota.vo.SaveModel;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@ -23,6 +23,7 @@ import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Created by janseny on 2017/7/10.
|
|
@ -80,8 +81,8 @@ public class ExtractUtil {
|
|
|
if(saveModel.getTown() != null){
|
|
|
townDictMap.put(saveModel.getTown(), saveModel.getTownName());
|
|
|
}
|
|
|
if(saveModel.getOrg() != null){
|
|
|
orgDictMap.put(saveModel.getOrg(), saveModel.getOrgName());
|
|
|
if(saveModel.getHospital() != null){
|
|
|
orgDictMap.put(saveModel.getHospital(), saveModel.getHospitalName());
|
|
|
}
|
|
|
if(saveModel.getDept() != null){
|
|
|
deptDictMap.put(saveModel.getDept(), saveModel.getDeptName());
|
|
@ -125,8 +126,8 @@ public class ExtractUtil {
|
|
|
saveModel.setTown(value);
|
|
|
saveModel.setTownName(townDictMap.get(value));
|
|
|
}else if(main.getMainCode().equals(main_org) && !StringUtils.isEmpty(orgDictMap.get(value))){
|
|
|
saveModel.setOrg(value);
|
|
|
saveModel.setOrgName(orgDictMap.get(value));
|
|
|
saveModel.setHospital(value);
|
|
|
saveModel.setHospital(orgDictMap.get(value));
|
|
|
}else if(main.getMainCode().equals(main_year) && !StringUtils.isEmpty(yearDictMap.get(value))){
|
|
|
saveModel.setYearName(yearDictMap.get(value));
|
|
|
saveModel.setYear(value);
|
|
@ -144,7 +145,7 @@ public class ExtractUtil {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if(saveModel.getTown() != null || saveModel.getOrg() !=null){
|
|
|
if(saveModel.getTown() != null || saveModel.getHospital() !=null){
|
|
|
for (int i = 0; i < qds.size(); i++) {
|
|
|
int num = i+1 ;
|
|
|
if(num == 1) {
|
|
@ -243,7 +244,7 @@ public class ExtractUtil {
|
|
|
}
|
|
|
//关联机构相关信息
|
|
|
if(orgDictMap != null && orgDictMap.size() > 0){
|
|
|
setSaveModelProperties(returnList);
|
|
|
setSaveModelPropertiesOrg(returnList);
|
|
|
}
|
|
|
logger.info("指标:" + quotaVo.getName() + "统计时指标或者机构未关联上错误数据有:" + errorCount);
|
|
|
return returnList;
|
|
@ -324,18 +325,38 @@ public class ExtractUtil {
|
|
|
}
|
|
|
|
|
|
// 设置维度组合的统计值
|
|
|
for (Map.Entry<String, String> entry : statisticsResultMap.entrySet()) {
|
|
|
for (Map.Entry<String, SaveModel> entry : allData.entrySet()) {
|
|
|
String key = entry.getKey();
|
|
|
SaveModel saveModel = allData.get(key);
|
|
|
if (saveModel != null) {
|
|
|
String result = statisticsResultMap.get(key);
|
|
|
if(!StringUtils.isEmpty(result)){
|
|
|
saveModel.setResult(statisticsResultMap.get(key));
|
|
|
saveModel.setQuotaDate(daySlaveDictMap.get(key));
|
|
|
saveModel.setResult1(Double.parseDouble(saveModel.getResult()));
|
|
|
saveModel.setResult2(Double.parseDouble(saveModel.getResult()));
|
|
|
saveModel.setTimeLevel(dataLevel);
|
|
|
returnList.add(saveModel);
|
|
|
}else {
|
|
|
saveModel.setResult("0");
|
|
|
saveModel.setQuotaDate(saveModel.getSlaveKey1());
|
|
|
saveModel.setResult1(Double.parseDouble(saveModel.getResult()));
|
|
|
saveModel.setResult2(Double.parseDouble(saveModel.getResult()));
|
|
|
saveModel.setTimeLevel(dataLevel);
|
|
|
returnList.add(saveModel);
|
|
|
}
|
|
|
}
|
|
|
// for (Map.Entry<String, String> entry : statisticsResultMap.entrySet()) {
|
|
|
// String key = entry.getKey();
|
|
|
// SaveModel saveModel = allData.get(key);
|
|
|
// if (saveModel != null) {
|
|
|
// saveModel.setResult(statisticsResultMap.get(key));
|
|
|
// saveModel.setQuotaDate(daySlaveDictMap.get(key));
|
|
|
// saveModel.setResult1(Double.parseDouble(saveModel.getResult()));
|
|
|
// saveModel.setResult2(Double.parseDouble(saveModel.getResult()));
|
|
|
// saveModel.setTimeLevel(dataLevel);
|
|
|
// returnList.add(saveModel);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
List<String> dimins = new ArrayList<>();
|
|
|
for (TjQuotaDimensionSlave slave : qds) {
|
|
@ -373,9 +394,7 @@ public class ExtractUtil {
|
|
|
if (dictData == null) {
|
|
|
throw new Exception("主纬度配置有误");
|
|
|
} else {
|
|
|
if (dimensionMain.getMainCode().equals("org")) {//机构关联出区县
|
|
|
setSaveModelProperties(dictData);
|
|
|
}
|
|
|
setSaveModelProperties(dimensionMain,dictData);
|
|
|
//设置到map里面
|
|
|
setAllData(allData, dictData, dimensionMain.getType());
|
|
|
}
|
|
@ -412,24 +431,21 @@ public class ExtractUtil {
|
|
|
try {
|
|
|
if (dimensionMains != null) {
|
|
|
//查询字典数据
|
|
|
List<SaveModel> dictData = jdbcTemplate.query(dimensionMains.get(0).getDictSql(), new BeanPropertyRowMapper(SaveModel.class));
|
|
|
TjQuotaDimensionMain dimensionMain = dimensionMains.get(0);
|
|
|
List<SaveModel> dictData = jdbcTemplate.query(dimensionMain.getDictSql(), new BeanPropertyRowMapper(SaveModel.class));
|
|
|
if (dictData == null) {
|
|
|
throw new Exception("主纬度配置有误");
|
|
|
} else {
|
|
|
if (dimensionMains.get(0).getMainCode().equals("org")) {//机构关联出区县
|
|
|
setSaveModelProperties(dictData);
|
|
|
}
|
|
|
setSaveModelProperties(dimensionMain,dictData);
|
|
|
//设置到map里面
|
|
|
setAllData(allData, dictData, dimensionMains.get(0).getType());
|
|
|
setAllData(allData, dictData, dimensionMain.getType());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < dimensionMains.size(); i++) {
|
|
|
if (i != 0) {
|
|
|
List<SaveModel> saveDataMain = jdbcTemplate.query(dimensionMains.get(i).getDictSql(), new BeanPropertyRowMapper(SaveModel.class));
|
|
|
if (dimensionMains.get(i).getMainCode().equals("org")) {//机构关联出区县
|
|
|
setSaveModelProperties(saveDataMain);
|
|
|
}
|
|
|
setSaveModelProperties(dimensionMains.get(i),saveDataMain);
|
|
|
allData = setOtherMainData(allData, saveDataMain, dimensionMains.get(i).getMainCode(), dimensionMains.get(i).getType());
|
|
|
}
|
|
|
}
|
|
@ -450,11 +466,29 @@ public class ExtractUtil {
|
|
|
allData = setAllSlaveData(allData, dictDataSlave, i);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
throw new Exception("纬度配置有误");
|
|
|
}
|
|
|
return allData;
|
|
|
}
|
|
|
|
|
|
private void setSaveModelProperties(TjQuotaDimensionMain dimensionMain,List<SaveModel> dictData){
|
|
|
switch (dimensionMain.getMainCode()){
|
|
|
case "org":
|
|
|
//机构关联信息
|
|
|
setSaveModelPropertiesOrg(dictData);
|
|
|
break;
|
|
|
case "dept":
|
|
|
//机构关联信息
|
|
|
setSaveModelPropertiesDept(dictData);
|
|
|
break;
|
|
|
case "doctor":
|
|
|
//机构关联信息
|
|
|
setSaveModelPropertiesDoctor(dictData);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果选择多个维度,除了第一个维度外其他维度组合
|
|
|
private Map<String, SaveModel> setOtherMainData(Map<String, SaveModel> allData,
|
|
|
List<SaveModel> saveDataMain,
|
|
@ -462,6 +496,7 @@ public class ExtractUtil {
|
|
|
String dimensionType) {
|
|
|
Map<String, SaveModel> returnAllData = new HashMap<>();
|
|
|
try {
|
|
|
code = "org".equals(code)?"hospital":code;//org转hospital
|
|
|
for (Map.Entry<String, SaveModel> one : allData.entrySet()) {
|
|
|
for (int i = 0; i < saveDataMain.size(); i++) {
|
|
|
SaveModel mainOne = saveDataMain.get(i);
|
|
@ -477,29 +512,37 @@ public class ExtractUtil {
|
|
|
saveModelTemp.setTown(mainOne.getTown());
|
|
|
saveModelTemp.setTownName(mainOne.getTownName());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getEconomic())) {
|
|
|
saveModelTemp.setEconomic(mainOne.getEconomic());
|
|
|
saveModelTemp.setEconomicName(mainOne.getEconomicName());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getLevel())) {
|
|
|
saveModelTemp.setLevel(mainOne.getLevel());
|
|
|
saveModelTemp.setLevelName(mainOne.getLevelName());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryId())) {
|
|
|
saveModelTemp.setOrgHealthCategoryId(mainOne.getOrgHealthCategoryId());
|
|
|
if(!StringUtils.isEmpty(mainOne.getCity())){
|
|
|
saveModelTemp.setCityName(mainOne.getCityName());
|
|
|
saveModelTemp.setCity(mainOne.getCity());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryCode())) {
|
|
|
saveModelTemp.setOrgHealthCategoryCode(mainOne.getOrgHealthCategoryCode());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryName())) {
|
|
|
saveModelTemp.setOrgHealthCategoryName(mainOne.getOrgHealthCategoryName());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryPid())) {
|
|
|
saveModelTemp.setOrgHealthCategoryPid(mainOne.getOrgHealthCategoryPid());
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryTopPid())) {
|
|
|
saveModelTemp.setOrgHealthCategoryTopPid(mainOne.getOrgHealthCategoryTopPid());
|
|
|
if(!StringUtils.isEmpty(mainOne.getProvince())){
|
|
|
saveModelTemp.setProvinceName(mainOne.getProvinceName());
|
|
|
saveModelTemp.setProvince(mainOne.getProvince());
|
|
|
}
|
|
|
// if (!StringUtils.isEmpty(mainOne.getEconomic())) {
|
|
|
// saveModelTemp.setEconomic(mainOne.getEconomic());
|
|
|
// saveModelTemp.setEconomicName(mainOne.getEconomicName());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getLevel())) {
|
|
|
// saveModelTemp.setLevel(mainOne.getLevel());
|
|
|
// saveModelTemp.setLevelName(mainOne.getLevelName());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryId())) {
|
|
|
// saveModelTemp.setOrgHealthCategoryId(mainOne.getOrgHealthCategoryId());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryCode())) {
|
|
|
// saveModelTemp.setOrgHealthCategoryCode(mainOne.getOrgHealthCategoryCode());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryName())) {
|
|
|
// saveModelTemp.setOrgHealthCategoryName(mainOne.getOrgHealthCategoryName());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryPid())) {
|
|
|
// saveModelTemp.setOrgHealthCategoryPid(mainOne.getOrgHealthCategoryPid());
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(mainOne.getOrgHealthCategoryTopPid())) {
|
|
|
// saveModelTemp.setOrgHealthCategoryTopPid(mainOne.getOrgHealthCategoryTopPid());
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
@ -574,7 +617,7 @@ public class ExtractUtil {
|
|
|
case Contant.main_dimension.area_org: {
|
|
|
//设置机构
|
|
|
dictData.stream().forEach(one -> {
|
|
|
setOneData(allData, one.getOrg(), one, Contant.main_dimension_areaLevel.area_org);
|
|
|
setOneData(allData, one.getHospital(), one, Contant.main_dimension_areaLevel.area_org);
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
@ -623,8 +666,8 @@ public class ExtractUtil {
|
|
|
break;
|
|
|
}
|
|
|
case Contant.main_dimension.area_org: {
|
|
|
code = mainOne.getOrg();
|
|
|
name = mainOne.getOrgName();
|
|
|
code = mainOne.getHospital();
|
|
|
name = mainOne.getHospitalName();
|
|
|
break;
|
|
|
}
|
|
|
case Contant.main_dimension.area_dept: {
|
|
@ -632,6 +675,11 @@ public class ExtractUtil {
|
|
|
name = mainOne.getDeptName();
|
|
|
break;
|
|
|
}
|
|
|
case Contant.main_dimension.area_doctor: {
|
|
|
code = mainOne.getDoctor();
|
|
|
name = mainOne.getDoctorName();
|
|
|
break;
|
|
|
}
|
|
|
case Contant.main_dimension.time_year: {
|
|
|
code = mainOne.getYear();
|
|
|
name = mainOne.getYearName();
|
|
@ -658,84 +706,196 @@ public class ExtractUtil {
|
|
|
allData.put(key, one);
|
|
|
}
|
|
|
|
|
|
private void setSaveModelProperties(List<SaveModel> saveDataMain) {
|
|
|
//上饶区县
|
|
|
String townSql = "SELECT id as code,name as name from address_dict where pid = '361100'";
|
|
|
List<DictModel> townDictDatas = jdbcTemplate.query(townSql, new BeanPropertyRowMapper(DictModel.class));
|
|
|
Map<String,String> townMap = new HashMap<>();
|
|
|
for(DictModel dictModel : townDictDatas){
|
|
|
townMap.put(dictModel.getCode(), dictModel.getName());
|
|
|
}
|
|
|
//机构类型 目录对应的名称和节点id
|
|
|
String orgHealthCategorySql = "SELECT id as orgHealthCategoryId,pid as orgHealthCategoryPid,top_pid as orgHealthCategoryTopPid,code as orgHealthCategoryCode, name as orgHealthCategoryName from org_health_category";
|
|
|
List<OrgHealthCategoryShowModel> orgHealthCategoryDictDatas = jdbcTemplate.query(orgHealthCategorySql, new BeanPropertyRowMapper(OrgHealthCategoryShowModel.class));
|
|
|
Map<String,OrgHealthCategoryShowModel> orgHealthCategoryMap = new HashMap<>();
|
|
|
for(OrgHealthCategoryShowModel orgHealthCategory : orgHealthCategoryDictDatas){
|
|
|
orgHealthCategoryMap.put(orgHealthCategory.getOrgHealthCategoryCode(), orgHealthCategory);
|
|
|
/**
|
|
|
* 机构关联信息
|
|
|
* @param saveDataMain
|
|
|
*/
|
|
|
private void setSaveModelPropertiesOrg(List<SaveModel> saveDataMain) {
|
|
|
String sql = "SELECT * from base.base_org WHERE del = 1";
|
|
|
List<BaseOrgDO> baseOrgDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseOrgDO.class));
|
|
|
Map<String,BaseOrgDO> orgDOMap = baseOrgDOList.stream().collect(Collectors.toMap(BaseOrgDO::getCode,org->org,(oldVo,newVo)->oldVo));
|
|
|
|
|
|
for (SaveModel model : saveDataMain) {
|
|
|
BaseOrgDO orgDO = orgDOMap.get(model.getHospital());
|
|
|
if(orgDO!=null){
|
|
|
model.setCity(orgDO.getCityCode());
|
|
|
model.setCityName(orgDO.getCityName());
|
|
|
model.setTown(orgDO.getTownCode());
|
|
|
model.setTownName(orgDO.getTownName());
|
|
|
model.setProvince(orgDO.getProvinceCode());
|
|
|
model.setProvinceName(orgDO.getProvinceName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 部门关联信息
|
|
|
* @param saveDataMain
|
|
|
*/
|
|
|
private void setSaveModelPropertiesDept(List<SaveModel> saveDataMain) {
|
|
|
String sql = "SELECT distinct " +
|
|
|
"bdh.dept_code deptCode," +
|
|
|
"hd.name AS deptName," +
|
|
|
"bdh.org_code hospital," +
|
|
|
"bdh.org_name hospitalName," +
|
|
|
"o.town_code townCode," +
|
|
|
"o.town_name townName," +
|
|
|
"o.city_code cityCode," +
|
|
|
"o.city_name cityName," +
|
|
|
"o.province_code provinceCode," +
|
|
|
"o.province_name provinceName" +
|
|
|
" FROM " +
|
|
|
"base.base_doctor_hospital bdh, " +
|
|
|
"base.base_doctor bd," +
|
|
|
"base.base_org o," +
|
|
|
"base.dict_hospital_dept hd " +
|
|
|
" WHERE bdh.doctor_code = bd.id " +
|
|
|
"AND hd.code= bdh.dept_code " +
|
|
|
"AND o.code = bdh.org_code " +
|
|
|
"AND bdh.del=1 AND hd.CONSULT_DEPT_FLAG='1' AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065','1','2','3','4')";
|
|
|
List<DoctorVo> doctorVoList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(DoctorVo.class));
|
|
|
Map<String,DoctorVo> doctorVoMap = doctorVoList.stream().collect(Collectors.toMap(DoctorVo::getDeptCode,org->org,(oldVo,newVo)->oldVo));
|
|
|
|
|
|
//经济类型
|
|
|
String economicSql = "SELECT code, catalog from system_dict_entries WHERE dict_id = 102 ";
|
|
|
Map<String, Object> economicMap = new HashMap<>();
|
|
|
List<Map<String, Object>> list = jdbcTemplate.queryForList(economicSql);
|
|
|
if (null != list && list.size() > 0) {
|
|
|
for (Map<String, Object> map : list) {
|
|
|
economicMap.put(map.get("code") + "", map.get("catalog") + "");
|
|
|
for (SaveModel model : saveDataMain) {
|
|
|
DoctorVo doctorVo = doctorVoMap.get(model.getDept());
|
|
|
if(doctorVo!=null){
|
|
|
model.setHospital(doctorVo.getHospitalCode());
|
|
|
model.setHospitalName(doctorVo.getHospitalName());
|
|
|
model.setCity(doctorVo.getCityCode());
|
|
|
model.setCityName(doctorVo.getCityName());
|
|
|
model.setTown(doctorVo.getTownCode());
|
|
|
model.setTownName(doctorVo.getTownName());
|
|
|
model.setProvince(doctorVo.getProvinceCode());
|
|
|
model.setProvinceName(doctorVo.getProvinceName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 医生关联信息
|
|
|
* @param saveDataMain
|
|
|
*/
|
|
|
private void setSaveModelPropertiesDoctor(List<SaveModel> saveDataMain) {
|
|
|
String sql = "SELECT " +
|
|
|
"bd.id AS code , " +
|
|
|
"bd.name ," +
|
|
|
"bdh.dept_code deptCode," +
|
|
|
"hd.name AS deptName," +
|
|
|
"bdh.org_code hospital," +
|
|
|
"bdh.org_name hospitalName," +
|
|
|
"o.town_code townCode," +
|
|
|
"o.town_name townName," +
|
|
|
"o.city_code cityCode," +
|
|
|
"o.city_name cityName," +
|
|
|
"o.province_code provinceCode," +
|
|
|
"o.province_name provinceName" +
|
|
|
" FROM " +
|
|
|
"base.base_doctor_hospital bdh, " +
|
|
|
"base.base_doctor bd," +
|
|
|
"base.base_org o," +
|
|
|
"base.dict_hospital_dept hd " +
|
|
|
" WHERE bdh.doctor_code = bd.id " +
|
|
|
"AND hd.code= bdh.dept_code " +
|
|
|
"AND o.code = bdh.org_code " +
|
|
|
"AND bdh.del=1 AND hd.CONSULT_DEPT_FLAG='1' AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065','1','2','3','4')";
|
|
|
List<DoctorVo> doctorVoList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(DoctorVo.class));
|
|
|
Map<String,DoctorVo> doctorVoMap = doctorVoList.stream().collect(Collectors.toMap(DoctorVo::getCode,org->org,(oldVo,newVo)->oldVo));
|
|
|
|
|
|
for (SaveModel model : saveDataMain) {
|
|
|
String dictSql = "SELECT org_code as orgCode,hos_type_id as hosTypeId,administrative_division as administrativeDivision, hos_economic as hosEconomic, level_id as levelId from organizations where org_code=";
|
|
|
dictSql += "'" + model.getOrg() + "'";
|
|
|
List<MOrganization> organizations = jdbcTemplate.query(dictSql, new BeanPropertyRowMapper(MOrganization.class));
|
|
|
|
|
|
if (organizations != null && organizations.size() > 0) {
|
|
|
MOrganization organization = organizations.get(0);
|
|
|
if (!StringUtils.isEmpty(organization.getAdministrativeDivision())) {
|
|
|
String orgCode = organization.getAdministrativeDivision().toString();
|
|
|
if(townMap.get(orgCode) != null ){
|
|
|
model.setTown(orgCode);
|
|
|
model.setTownName(townMap.get(orgCode));
|
|
|
}
|
|
|
}
|
|
|
//关联出对应的机构类型
|
|
|
if (!StringUtils.isEmpty(organization.getHosTypeId())) {
|
|
|
if(orgHealthCategoryMap.get(organization.getHosTypeId()) != null ){
|
|
|
OrgHealthCategoryShowModel orgHealthCategory = orgHealthCategoryMap.get(organization.getHosTypeId());
|
|
|
model.setOrgHealthCategoryCode(organization.getHosTypeId());
|
|
|
model.setOrgHealthCategoryName(orgHealthCategory.getOrgHealthCategoryName());
|
|
|
model.setOrgHealthCategoryId(orgHealthCategory.getOrgHealthCategoryId());
|
|
|
model.setOrgHealthCategoryPid(orgHealthCategory.getOrgHealthCategoryPid());
|
|
|
model.setOrgHealthCategoryTopPid(orgHealthCategory.getOrgHealthCategoryTopPid());
|
|
|
}
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(organization.getHosEconomic())) {
|
|
|
String name = economicMap.get(organizations.get(0).getHosEconomic()) + "";
|
|
|
if ("公立".equals(name)) {
|
|
|
model.setEconomic("1021");
|
|
|
model.setEconomicName("公立");
|
|
|
} else {
|
|
|
model.setEconomic("1022");
|
|
|
model.setEconomicName("非公立");
|
|
|
}
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(organization.getLevelId())) {
|
|
|
String levelId = organization.getLevelId();
|
|
|
if ("1".equals(levelId)) {
|
|
|
model.setLevel(levelId);
|
|
|
model.setLevelName("一级");
|
|
|
} else if ("2".equals(levelId)) {
|
|
|
model.setLevel(levelId);
|
|
|
model.setLevelName("二级");
|
|
|
} else if ("3".equals(levelId)) {
|
|
|
model.setLevel(levelId);
|
|
|
model.setLevelName("三级");
|
|
|
} else {
|
|
|
model.setLevel(levelId);
|
|
|
model.setLevelName("未定级");
|
|
|
}
|
|
|
}
|
|
|
DoctorVo doctorVo = doctorVoMap.get(model.getDoctor());
|
|
|
if(doctorVo!=null){
|
|
|
model.setDept(doctorVo.getDeptCode());
|
|
|
model.setDeptName(doctorVo.getDeptName());
|
|
|
model.setHospital(doctorVo.getHospitalCode());
|
|
|
model.setHospitalName(doctorVo.getHospitalName());
|
|
|
model.setCity(doctorVo.getCityCode());
|
|
|
model.setCityName(doctorVo.getCityName());
|
|
|
model.setTown(doctorVo.getTownCode());
|
|
|
model.setTownName(doctorVo.getTownName());
|
|
|
model.setProvince(doctorVo.getProvinceCode());
|
|
|
model.setProvinceName(doctorVo.getProvinceName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// private void setSaveModelProperties(List<SaveModel> saveDataMain) {
|
|
|
// //上饶区县
|
|
|
// String townSql = "SELECT id as code,name as name from address_dict where pid = '361100'";
|
|
|
// List<DictModel> townDictDatas = jdbcTemplate.query(townSql, new BeanPropertyRowMapper(DictModel.class));
|
|
|
// Map<String,String> townMap = new HashMap<>();
|
|
|
// for(DictModel dictModel : townDictDatas){
|
|
|
// townMap.put(dictModel.getCode(), dictModel.getName());
|
|
|
// }
|
|
|
// //机构类型 目录对应的名称和节点id
|
|
|
// String orgHealthCategorySql = "SELECT id as orgHealthCategoryId,pid as orgHealthCategoryPid,top_pid as orgHealthCategoryTopPid,code as orgHealthCategoryCode, name as orgHealthCategoryName from org_health_category";
|
|
|
// List<OrgHealthCategoryShowModel> orgHealthCategoryDictDatas = jdbcTemplate.query(orgHealthCategorySql, new BeanPropertyRowMapper(OrgHealthCategoryShowModel.class));
|
|
|
// Map<String,OrgHealthCategoryShowModel> orgHealthCategoryMap = new HashMap<>();
|
|
|
// for(OrgHealthCategoryShowModel orgHealthCategory : orgHealthCategoryDictDatas){
|
|
|
// orgHealthCategoryMap.put(orgHealthCategory.getOrgHealthCategoryCode(), orgHealthCategory);
|
|
|
// }
|
|
|
//
|
|
|
// //经济类型
|
|
|
// String economicSql = "SELECT code, catalog from system_dict_entries WHERE dict_id = 102 ";
|
|
|
// Map<String, Object> economicMap = new HashMap<>();
|
|
|
// List<Map<String, Object>> list = jdbcTemplate.queryForList(economicSql);
|
|
|
// if (null != list && list.size() > 0) {
|
|
|
// for (Map<String, Object> map : list) {
|
|
|
// economicMap.put(map.get("code") + "", map.get("catalog") + "");
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// for (SaveModel model : saveDataMain) {
|
|
|
// String dictSql = "SELECT org_code as orgCode,hos_type_id as hosTypeId,administrative_division as administrativeDivision, hos_economic as hosEconomic, level_id as levelId from organizations where org_code=";
|
|
|
// dictSql += "'" + model.getHospital() + "'";
|
|
|
// List<MOrganization> organizations = jdbcTemplate.query(dictSql, new BeanPropertyRowMapper(MOrganization.class));
|
|
|
//
|
|
|
// if (organizations != null && organizations.size() > 0) {
|
|
|
// MOrganization organization = organizations.get(0);
|
|
|
// if (!StringUtils.isEmpty(organization.getAdministrativeDivision())) {
|
|
|
// String orgCode = organization.getAdministrativeDivision().toString();
|
|
|
// if(townMap.get(orgCode) != null ){
|
|
|
// model.setTown(orgCode);
|
|
|
// model.setTownName(townMap.get(orgCode));
|
|
|
// }
|
|
|
// }
|
|
|
// //关联出对应的机构类型
|
|
|
// if (!StringUtils.isEmpty(organization.getHosTypeId())) {
|
|
|
// if(orgHealthCategoryMap.get(organization.getHosTypeId()) != null ){
|
|
|
// OrgHealthCategoryShowModel orgHealthCategory = orgHealthCategoryMap.get(organization.getHosTypeId());
|
|
|
// model.setOrgHealthCategoryCode(organization.getHosTypeId());
|
|
|
// model.setOrgHealthCategoryName(orgHealthCategory.getOrgHealthCategoryName());
|
|
|
// model.setOrgHealthCategoryId(orgHealthCategory.getOrgHealthCategoryId());
|
|
|
// model.setOrgHealthCategoryPid(orgHealthCategory.getOrgHealthCategoryPid());
|
|
|
// model.setOrgHealthCategoryTopPid(orgHealthCategory.getOrgHealthCategoryTopPid());
|
|
|
// }
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(organization.getHosEconomic())) {
|
|
|
// String name = economicMap.get(organizations.get(0).getHosEconomic()) + "";
|
|
|
// if ("公立".equals(name)) {
|
|
|
// model.setEconomic("1021");
|
|
|
// model.setEconomicName("公立");
|
|
|
// } else {
|
|
|
// model.setEconomic("1022");
|
|
|
// model.setEconomicName("非公立");
|
|
|
// }
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(organization.getLevelId())) {
|
|
|
// String levelId = organization.getLevelId();
|
|
|
// if ("1".equals(levelId)) {
|
|
|
// model.setLevel(levelId);
|
|
|
// model.setLevelName("一级");
|
|
|
// } else if ("2".equals(levelId)) {
|
|
|
// model.setLevel(levelId);
|
|
|
// model.setLevelName("二级");
|
|
|
// } else if ("3".equals(levelId)) {
|
|
|
// model.setLevel(levelId);
|
|
|
// model.setLevelName("三级");
|
|
|
// } else {
|
|
|
// model.setLevel(levelId);
|
|
|
// model.setLevelName("未定级");
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
}
|