Commit 34060a2b55e819fd89bd8f5fb181a2e1d33effaf
1 parent
37fc2cf68e
Exists in
master
and in
1 other branch
修改转诊
Showing 4 changed files with 684 additions and 111 deletions
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/ConvertHelper.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/HighScoreResult.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/Runner.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/ConvertHelper.java
View file @
34060a2
| ... | ... | @@ -6,9 +6,7 @@ |
| 6 | 6 | import com.lyms.platform.common.utils.ReflectionUtils; |
| 7 | 7 | import com.lyms.platform.common.utils.StringUtils; |
| 8 | 8 | import com.lyms.platform.permission.model.Organization; |
| 9 | -import com.lyms.platform.pojo.AntExChuModel; | |
| 10 | -import com.lyms.platform.pojo.AntenatalExaminationModel; | |
| 11 | -import com.lyms.platform.pojo.Patients; | |
| 9 | +import com.lyms.platform.pojo.*; | |
| 12 | 10 | import com.lymsh.mommybaby.maindata.model.DoctorUsers; |
| 13 | 11 | import com.lymsh.mommybaby.maindata.model.Hospitals; |
| 14 | 12 | import com.lymsh.mommybaby.maindata.model.Reports; |
| 15 | 13 | |
| ... | ... | @@ -97,7 +95,32 @@ |
| 97 | 95 | e.printStackTrace(); |
| 98 | 96 | } |
| 99 | 97 | } |
| 98 | + public static com.lymsh.mommybaby.maindata.model.Patients convertToMamiBaby(BabyModel babyModel) { | |
| 99 | + com.lymsh.mommybaby.maindata.model.Patients patients = new com.lymsh.mommybaby.maindata.model.Patients(); | |
| 100 | + //新生儿类型为2 | |
| 101 | + patients.setType(2); | |
| 102 | + patients.setForeignId(babyModel.getId()); | |
| 103 | + patients.setGender(babyModel.getSex()); | |
| 104 | + patients.setCreated(babyModel.getCreated()); | |
| 105 | + patients.setModified(babyModel.getModified()); | |
| 106 | + patients.setYn(babyModel.getYn()); | |
| 107 | + patients.setBirth(babyModel.getBirth()); | |
| 108 | + patients.setDueDate(babyModel.getDueDate()); | |
| 109 | + patients.setAge(DateUtil.getAge(babyModel.getBirth())); | |
| 110 | + patients.setPublishId(0); | |
| 111 | + patients.setPublishName(AUTO_WORKER); | |
| 112 | + patients.setServiceType(babyModel.getServiceType()); | |
| 113 | + patients.setUsername(babyModel.getName()); | |
| 114 | + return patients; | |
| 115 | + } | |
| 100 | 116 | |
| 117 | + public static Reports convertToBabyCheck(BabyCheckModel babyCheckModel,BabyModel babyModel) { | |
| 118 | + Reports reports = new Reports(); | |
| 119 | + reports.setYn(babyCheckModel.getYn()); | |
| 120 | + reports.setType(2); | |
| 121 | + reports.setAge(DateUtil.getAge(babyModel.getBirth())); | |
| 122 | + return reports; | |
| 123 | + } | |
| 101 | 124 | /** |
| 102 | 125 | * mongo的建档信息转换成mysql的患者信息 |
| 103 | 126 | * |
| ... | ... | @@ -120,7 +143,7 @@ |
| 120 | 143 | localPatient.setVip(patients.getVip()); |
| 121 | 144 | localPatient.setCrisis(0); |
| 122 | 145 | //孕妇 |
| 123 | - localPatient.setType(1); | |
| 146 | + localPatient.setType(patients.getType()); | |
| 124 | 147 | localPatient.setPublishId(0); |
| 125 | 148 | localPatient.setPublishName(AUTO_WORKER); |
| 126 | 149 | return localPatient; |
| ... | ... | @@ -198,13 +221,7 @@ |
| 198 | 221 | reports.setCheckType(3); |
| 199 | 222 | reports.setPublishName(AUTO_WORKER); |
| 200 | 223 | reports.setNextCheckTime(antExChuModel.getNextCheckTime()); |
| 201 | - Integer dueWeek = null; | |
| 202 | - if (null != antExChuModel.getcDueWeek()) { | |
| 203 | - dueWeek = NumberUtils.toInt(antExChuModel.getcDueWeek()); | |
| 204 | - } else { | |
| 205 | - dueWeek = DateUtil.getWeek(lastMenses, antExChuModel.getCheckTime()); | |
| 206 | - } | |
| 207 | - reports.setWeeks(dueWeek); | |
| 224 | + reports.setWeeks(DateUtil.getWeek(lastMenses, antExChuModel.getCheckTime())); | |
| 208 | 225 | reports.setResult(convertAntExChuResult(antExChuModel, map, doctorUserName)); |
| 209 | 226 | |
| 210 | 227 | return reports; |
| ... | ... | @@ -231,13 +248,8 @@ |
| 231 | 248 | reports.setCheckType(3); |
| 232 | 249 | reports.setPublishName(AUTO_WORKER); |
| 233 | 250 | reports.setNextCheckTime(antExChuModel.getNextCheckTime()); |
| 234 | - Integer dueWeek = null; | |
| 235 | - if (null != antExChuModel.getcDueWeek()) { | |
| 236 | - dueWeek = NumberUtils.toInt(antExChuModel.getcDueWeek()); | |
| 237 | - } else { | |
| 238 | - dueWeek = DateUtil.getWeek(lastMenses, antExChuModel.getCheckDate()); | |
| 239 | - } | |
| 240 | - reports.setWeeks(dueWeek); | |
| 251 | + | |
| 252 | + reports.setWeeks(DateUtil.getWeek(lastMenses, antExChuModel.getCheckDate())); | |
| 241 | 253 | reports.setResult(convertAntExResult(antExChuModel,rhMap,doctorUserName)); |
| 242 | 254 | return reports; |
| 243 | 255 | } |
| 244 | 256 | |
| ... | ... | @@ -274,12 +286,12 @@ |
| 274 | 286 | //高压 |
| 275 | 287 | if (StringUtils.isNotEmpty(szy)) { |
| 276 | 288 | java.util.Map<String, Object> dataMap1 = new HashMap<>(); |
| 277 | - dataMap1.put("k", "血压(低压)"); | |
| 289 | + dataMap1.put("k", "血压低压"); | |
| 278 | 290 | dataMap1.put("v", szy+"mmHg"); |
| 279 | 291 | list.add(dataMap1); |
| 280 | 292 | } |
| 281 | 293 | if (StringUtils.isNotEmpty(ssy)) { |
| 282 | - dataMap.put("k", "高压"); | |
| 294 | + dataMap.put("k", "血压(高)"); | |
| 283 | 295 | dataMap.put("v", ssy+"mmHg"); |
| 284 | 296 | list.add(dataMap); |
| 285 | 297 | } |
| 286 | 298 | |
| 287 | 299 | |
| 288 | 300 | |
| ... | ... | @@ -363,15 +375,15 @@ |
| 363 | 375 | if(null!=obj1){ |
| 364 | 376 | szy= map.get("szy").toString(); |
| 365 | 377 | } |
| 366 | - if (StringUtils.isNotEmpty(ssy)) { | |
| 378 | + if (StringUtils.isNotEmpty(szy)) { | |
| 367 | 379 | java.util.Map<String, Object> dataMap1 = new HashMap<>(); |
| 368 | 380 | dataMap1.put("k", "血压(低压)"); |
| 369 | - dataMap1.put("v", ssy +"mmHg"); | |
| 381 | + dataMap1.put("v", szy +"mmHg"); | |
| 370 | 382 | list.add(dataMap1); |
| 371 | 383 | } |
| 372 | - if (StringUtils.isNotEmpty(szy)) { | |
| 384 | + if (StringUtils.isNotEmpty(ssy)) { | |
| 373 | 385 | dataMap.put("k", "高压"); |
| 374 | - dataMap.put("v", szy+ "mmHg"); | |
| 386 | + dataMap.put("v", ssy+ "mmHg"); | |
| 375 | 387 | list.add(dataMap); |
| 376 | 388 | } |
| 377 | 389 | } |
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/HighScoreResult.java
View file @
34060a2
| 1 | +package com.lyms.platform.job.index.restore.data; | |
| 2 | + | |
| 3 | +import com.lyms.platform.common.utils.StringUtils; | |
| 4 | + | |
| 5 | +import java.util.ArrayList; | |
| 6 | +import java.util.Collections; | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * Created by Administrator on 2016/8/2 0002. | |
| 11 | + */ | |
| 12 | +public class HighScoreResult { | |
| 13 | + | |
| 14 | + //高危因素 | |
| 15 | + private List highRisk = new ArrayList(); | |
| 16 | + //风险等级颜色 | |
| 17 | + private List level = new ArrayList(); | |
| 18 | + //高危评分 | |
| 19 | + private Integer score = 0; | |
| 20 | + | |
| 21 | + public List getHighRisk() { | |
| 22 | + return highRisk; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public List getLevel() { | |
| 26 | + return /*filter(*/level/*)*/; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public static List filter(List<java.util.Map> level){ | |
| 30 | + List list = new ArrayList(); | |
| 31 | + List addEdList = new ArrayList(); | |
| 32 | + for(java.util.Map map :level){ | |
| 33 | + if(!addEdList.contains(map.get("name"))){ | |
| 34 | + list.add(map); | |
| 35 | + addEdList.add(map.get("name")); | |
| 36 | + } | |
| 37 | + } | |
| 38 | + return list; | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void setLevel(List level) { | |
| 42 | + this.level = level; | |
| 43 | + } | |
| 44 | + | |
| 45 | + public void setHighRisk(List highRisk) { | |
| 46 | + this.highRisk = highRisk; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public Integer getScore() { | |
| 50 | + if (null == score) { | |
| 51 | + return 0; | |
| 52 | + } | |
| 53 | + return score; | |
| 54 | + } | |
| 55 | + | |
| 56 | + | |
| 57 | + public String getScoreStr(){ | |
| 58 | + if(null==score || 0==score){ | |
| 59 | + return ""; | |
| 60 | + } | |
| 61 | + return score+""; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public List<String> getLevelId() { | |
| 65 | + if (null == level) { | |
| 66 | + return Collections.emptyList(); | |
| 67 | + } | |
| 68 | + List<String> idList = new ArrayList<>(); | |
| 69 | + for (int i1 = 0; i1 < level.size(); i1++) { | |
| 70 | + java.util.Map<String, String> map = (java.util.Map<String, String>) level.get(i1); | |
| 71 | + String name = map.get("id"); | |
| 72 | + if (StringUtils.isNotEmpty(name)) { | |
| 73 | + idList.add(name); | |
| 74 | + } | |
| 75 | + } | |
| 76 | + return idList; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public List<String> getHighId() { | |
| 80 | + if (null == highRisk) { | |
| 81 | + return Collections.emptyList(); | |
| 82 | + } | |
| 83 | + List<String> idList = new ArrayList<>(); | |
| 84 | + for (int i1 = 0; i1 < highRisk.size(); i1++) { | |
| 85 | + java.util.Map<String, String> map = (java.util.Map<String, String>) highRisk.get(i1); | |
| 86 | + String id = map.get("id"); | |
| 87 | + if (StringUtils.isNotEmpty(id)) { | |
| 88 | + idList.add(id); | |
| 89 | + } | |
| 90 | + } | |
| 91 | + return idList; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public String getOtherHigh(){ | |
| 95 | + if (null == highRisk) { | |
| 96 | + return ""; | |
| 97 | + } | |
| 98 | + StringBuilder stringBuilder=new StringBuilder(); | |
| 99 | + for (int i1 = 0; i1 < highRisk.size(); i1++) { | |
| 100 | + java.util.Map<String, String> map = (java.util.Map<String, String>) highRisk.get(i1); | |
| 101 | + String id = map.get("id"); | |
| 102 | + if (StringUtils.isEmpty(id)) { | |
| 103 | + stringBuilder.append(map.get("name")).append(","); | |
| 104 | + } | |
| 105 | + } | |
| 106 | + if(stringBuilder.length()>0){ | |
| 107 | + stringBuilder.setLength(stringBuilder.length()-1); | |
| 108 | + } | |
| 109 | + return stringBuilder.toString(); | |
| 110 | + } | |
| 111 | + | |
| 112 | + public void setScore(Integer score) { | |
| 113 | + this.score = score; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public String getLevelStr() { | |
| 117 | + StringBuilder stringBuilder = new StringBuilder(); | |
| 118 | + if (null == level) { | |
| 119 | + return ""; | |
| 120 | + } | |
| 121 | + for (int i1 = 0; i1 < level.size(); i1++) { | |
| 122 | + java.util.Map<String, String> map = (java.util.Map<String, String>) level.get(i1); | |
| 123 | + String name = map.get("name"); | |
| 124 | + if (stringBuilder.indexOf(name) == -1) { | |
| 125 | + stringBuilder.append(map.get("name")).append(", "); | |
| 126 | + } | |
| 127 | + } | |
| 128 | + if (stringBuilder.length() >= 2) { | |
| 129 | + stringBuilder.setLength(stringBuilder.length() - 2); | |
| 130 | + } | |
| 131 | + return stringBuilder.toString(); | |
| 132 | + } | |
| 133 | + | |
| 134 | + public String getLevelStr(List levelList) { | |
| 135 | + StringBuilder stringBuilder = new StringBuilder(); | |
| 136 | + if (null == levelList) { | |
| 137 | + return ""; | |
| 138 | + } | |
| 139 | + for (int i1 = 0; i1 < levelList.size(); i1++) { | |
| 140 | + java.util.Map<String, String> map = (java.util.Map<String, String>) levelList.get(i1); | |
| 141 | + String name = map.get("name"); | |
| 142 | + if (stringBuilder.indexOf(name) == -1) { | |
| 143 | + stringBuilder.append(map.get("name")).append(", "); | |
| 144 | + } | |
| 145 | + } | |
| 146 | + if (stringBuilder.length() >= 2) { | |
| 147 | + stringBuilder.setLength(stringBuilder.length() - 2); | |
| 148 | + } | |
| 149 | + return stringBuilder.toString(); | |
| 150 | + } | |
| 151 | + public String gethighRiskStr() { | |
| 152 | + StringBuilder stringBuilder = new StringBuilder(); | |
| 153 | + if (null == highRisk) { | |
| 154 | + return ""; | |
| 155 | + } | |
| 156 | + for (int i1 = 0; i1 < highRisk.size(); i1++) { | |
| 157 | + java.util.Map<String, String> map = (java.util.Map<String, String>) highRisk.get(i1); | |
| 158 | + stringBuilder.append(map.get("name")).append(", "); | |
| 159 | + } | |
| 160 | + if (stringBuilder.length() >= 2) { | |
| 161 | + stringBuilder.setLength(stringBuilder.length() - 2); | |
| 162 | + } | |
| 163 | + return stringBuilder.toString(); | |
| 164 | + } | |
| 165 | + public List gethighRiskList(){ | |
| 166 | + List<String> list=new ArrayList<>(); | |
| 167 | + if (null == highRisk) { | |
| 168 | + return list; | |
| 169 | + } | |
| 170 | + for (int i1 = 0; i1 < highRisk.size(); i1++) { | |
| 171 | + java.util.Map<String, String> map = (java.util.Map<String, String>) highRisk.get(i1); | |
| 172 | + list.add(map.get("name")); | |
| 173 | + } | |
| 174 | + return list; | |
| 175 | + } | |
| 176 | +} |
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/Runner.java
View file @
34060a2
| 1 | 1 | package com.lyms.platform.job.index.restore.data; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.common.enums.YnEnums; | |
| 4 | +import com.lyms.platform.query.PatientsQuery; | |
| 3 | 5 | import org.apache.log4j.PropertyConfigurator; |
| 4 | 6 | import org.springframework.context.ApplicationContext; |
| 5 | 7 | import org.springframework.context.support.ClassPathXmlApplicationContext; |
| 6 | 8 | |
| 9 | +import java.util.Date; | |
| 10 | + | |
| 7 | 11 | /** |
| 8 | 12 | * Created by Administrator on 2016/9/29 0029. |
| 9 | 13 | */ |
| 10 | 14 | public class Runner { |
| 11 | 15 | public static void main(String[] args)throws Exception{ |
| 12 | - PropertyConfigurator.configure("D:\git resouce\regional-platform\platform-job-index\target\classes\log4j_config.xml"); | |
| 16 | + /* PropertyConfigurator.configure("D:\git resouce\regional-platform\platform-job-index\target\classes\log4j_config.xml"); | |
| 13 | 17 | ApplicationContext applicationContext=new ClassPathXmlApplicationContext("classpath:/spring/applicationContext-sync-data.xml"); |
| 14 | 18 | SyncDataWork syncDataWork = applicationContext.getBean(SyncDataWork.class); |
| 15 | - syncDataWork.sync(); | |
| 19 | + syncDataWork.sync();*/ | |
| 20 | + | |
| 21 | + long lastSyncTime=System.currentTimeMillis(); | |
| 22 | + PatientsQuery patientsQuery1 = new PatientsQuery(); | |
| 23 | + patientsQuery1.setYn(YnEnums.YES.getId()); | |
| 24 | +// patientsQuery1.setHospitalId(hospitalId); | |
| 25 | + if (-1 != lastSyncTime) { | |
| 26 | + patientsQuery1.setGteModified(new Date(lastSyncTime)); | |
| 27 | + patientsQuery1.setGteCreated(new Date(lastSyncTime)); | |
| 28 | + } | |
| 29 | + patientsQuery1.setCreated(new Date()); | |
| 30 | + System.out.println(patientsQuery1.convertToQuery().convertToMongoQuery());; | |
| 16 | 31 | } |
| 17 | 32 | } |
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java
View file @
34060a2
| 1 | 1 | package com.lyms.platform.job.index.restore.data; |
| 2 | 2 | |
| 3 | -import com.lyms.platform.biz.service.AntenatalExaminationService; | |
| 4 | -import com.lyms.platform.biz.service.BasicConfigService; | |
| 5 | -import com.lyms.platform.biz.service.YunBookbuildingService; | |
| 3 | +import com.lyms.platform.biz.service.*; | |
| 4 | +import com.lyms.platform.common.enums.RiskDefaultTypeEnum; | |
| 6 | 5 | import com.lyms.platform.common.enums.YnEnums; |
| 7 | 6 | import com.lyms.platform.common.utils.DateUtil; |
| 7 | +import com.lyms.platform.common.utils.JsonUtil; | |
| 8 | 8 | import com.lyms.platform.common.utils.SystemConfig; |
| 9 | 9 | import com.lyms.platform.permission.model.Organization; |
| 10 | 10 | import com.lyms.platform.permission.model.OrganizationQuery; |
| 11 | 11 | import com.lyms.platform.permission.model.Users; |
| 12 | 12 | import com.lyms.platform.permission.model.UsersQuery; |
| 13 | 13 | import com.lyms.platform.permission.service.OrganizationService; |
| 14 | -import com.lyms.platform.pojo.AntExChuModel; | |
| 15 | -import com.lyms.platform.pojo.AntenatalExaminationModel; | |
| 16 | -import com.lyms.platform.pojo.BasicConfig; | |
| 17 | -import com.lyms.platform.pojo.Patients; | |
| 18 | -import com.lyms.platform.query.AntExChuQuery; | |
| 19 | -import com.lyms.platform.query.AntExQuery; | |
| 20 | -import com.lyms.platform.query.BasicConfigQuery; | |
| 14 | +import com.lyms.platform.pojo.*; | |
| 15 | +import com.lyms.platform.query.*; | |
| 21 | 16 | import com.lyms.platform.query.PatientsQuery; |
| 17 | +import com.lymsh.mommybaby.maindata.enumdata.RiskColorEnum; | |
| 22 | 18 | import com.lymsh.mommybaby.maindata.enumdata.YnEnum; |
| 23 | 19 | import com.lymsh.mommybaby.maindata.model.*; |
| 20 | +import com.lymsh.mommybaby.maindata.model.Patients; | |
| 24 | 21 | import com.lymsh.mommybaby.maindata.service.*; |
| 22 | +import com.lymsh.mommybaby.maindata.service.PatientsService; | |
| 25 | 23 | import org.apache.commons.collections.CollectionUtils; |
| 26 | -import org.apache.commons.io.FileUtils; | |
| 27 | 24 | import org.apache.commons.lang.StringUtils; |
| 28 | 25 | import org.apache.commons.lang.math.NumberUtils; |
| 29 | 26 | import org.slf4j.Logger; |
| 30 | 27 | import org.slf4j.LoggerFactory; |
| 31 | -import org.springframework.beans.factory.annotation.Autowire; | |
| 32 | 28 | import org.springframework.beans.factory.annotation.Autowired; |
| 33 | 29 | import org.springframework.beans.factory.annotation.Value; |
| 34 | 30 | import org.springframework.stereotype.Component; |
| 35 | 31 | import org.springframework.util.StopWatch; |
| 36 | - | |
| 37 | 32 | import java.io.File; |
| 38 | 33 | import java.io.RandomAccessFile; |
| 39 | -import java.util.Date; | |
| 40 | -import java.util.HashMap; | |
| 41 | -import java.util.List; | |
| 34 | +import java.util.*; | |
| 42 | 35 | import java.util.concurrent.CountDownLatch; |
| 43 | 36 | import java.util.concurrent.LinkedBlockingQueue; |
| 44 | 37 | import java.util.concurrent.ThreadPoolExecutor; |
| ... | ... | @@ -54,6 +47,7 @@ |
| 54 | 47 | |
| 55 | 48 | |
| 56 | 49 | private Logger logger = LoggerFactory.getLogger("sync-data"); |
| 50 | + private Logger ERROR_LOGGER = LoggerFactory.getLogger("COMMON-ERROR"); | |
| 57 | 51 | |
| 58 | 52 | @Autowired |
| 59 | 53 | private OrganizationService organizationService; |
| ... | ... | @@ -98,6 +92,14 @@ |
| 98 | 92 | private DoctorUsersPatientsMapsService doctorUsersPatientsMapsService; |
| 99 | 93 | @Autowired |
| 100 | 94 | private MembersService membersService; |
| 95 | + @Autowired | |
| 96 | + private RiskDetailsService riskDetailsService; | |
| 97 | + @Autowired | |
| 98 | + private RisksService risksService; | |
| 99 | + @Autowired | |
| 100 | + private BabyCheckService babyCheckService; | |
| 101 | + @Autowired | |
| 102 | + private BabyService babyService; | |
| 101 | 103 | |
| 102 | 104 | @Value("#{configProperties['file.path']}") |
| 103 | 105 | private String FILE_PATH; |
| 104 | 106 | |
| ... | ... | @@ -111,12 +113,21 @@ |
| 111 | 113 | private java.util.Map<String, Integer> mamiRegions = new HashMap<>(); |
| 112 | 114 | //高危因素 |
| 113 | 115 | private java.util.Map<String, String> bgHighRisk = new HashMap<>(); |
| 114 | - | |
| 116 | + private static Map<String, RiskColorEnum> map = new HashMap<>(); | |
| 115 | 117 | /** |
| 116 | 118 | * mongo 里面省市区的id |
| 117 | 119 | */ |
| 118 | 120 | public static final String CHINA_BASIC_ID = "f6c505dd-835a-43d7-b0bb-fdb9eb0b7b31"; |
| 119 | 121 | |
| 122 | + | |
| 123 | + static { | |
| 124 | + map.put("橙色", RiskColorEnum.Orange); | |
| 125 | + map.put("黄色", RiskColorEnum.Yellow); | |
| 126 | + map.put("红色", RiskColorEnum.Red); | |
| 127 | + map.put("紫色", RiskColorEnum.Purple); | |
| 128 | + map.put("绿色", RiskColorEnum.Green); | |
| 129 | + } | |
| 130 | + | |
| 120 | 131 | private long readLastSyncTime() { |
| 121 | 132 | try { |
| 122 | 133 | if (-1 != lastSyncTime) { |
| ... | ... | @@ -221,6 +232,35 @@ |
| 221 | 232 | return hospitals; |
| 222 | 233 | } |
| 223 | 234 | |
| 235 | + private void loadRpBaby(String hospitalId) { | |
| 236 | + BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
| 237 | + babyModelQuery.setHospitalId(hospitalId); | |
| 238 | + babyModelQuery.setYn(YnEnums.YES.getId()); | |
| 239 | + if (-1 != lastSyncTime) { | |
| 240 | + babyModelQuery.setGteModified(new Date(lastSyncTime)); | |
| 241 | + babyModelQuery.setGteCreated(new Date(lastSyncTime)); | |
| 242 | + } | |
| 243 | + List<BabyModel> babyModels= babyService.queryBabyWithQuery(babyModelQuery); | |
| 244 | + if(CollectionUtils.isNotEmpty(babyModels)){ | |
| 245 | + for(BabyModel babyModel:babyModels){ | |
| 246 | + Patients patients= ConvertHelper.convertToMamiBaby(babyModel); | |
| 247 | + patientsService.aouPatients(patients); | |
| 248 | + | |
| 249 | + BabyCheckModelQuery babyCheckModelQuery=new BabyCheckModelQuery(); | |
| 250 | + babyCheckModelQuery.setYn(YnEnums.YES.getId()); | |
| 251 | + babyCheckModelQuery.setBuildId(babyModel.getId()); | |
| 252 | + babyCheckModelQuery.setHospitalId(hospitalId); | |
| 253 | + List<BabyCheckModel> babyCheckModels= babyCheckService.queryBabyCheckRecord(babyCheckModelQuery); | |
| 254 | + if(CollectionUtils.isNotEmpty(babyCheckModels)){ | |
| 255 | + for(BabyCheckModel babyCheckModel:babyCheckModels){ | |
| 256 | + Reports reports= ConvertHelper.convertToBabyCheck(babyCheckModel, babyModel); | |
| 257 | + reportsService.aouReports(reports); | |
| 258 | + } | |
| 259 | + } | |
| 260 | + } | |
| 261 | + } | |
| 262 | + } | |
| 263 | + | |
| 224 | 264 | public void sync() throws InterruptedException { |
| 225 | 265 | long l = System.currentTimeMillis(); |
| 226 | 266 | //获取最后一次同步的时间 如果为-1就表示是全量同步 |
| ... | ... | @@ -236,7 +276,6 @@ |
| 236 | 276 | //查询符合条件的机构 |
| 237 | 277 | List<Organization> organizationList = organizationService.queryOrganization(organizationQuery); |
| 238 | 278 | CountDownLatch countDownLatch = null; |
| 239 | - ; | |
| 240 | 279 | if (CollectionUtils.isNotEmpty(organizationList)) { |
| 241 | 280 | Hospitals hospitals = null; |
| 242 | 281 | countDownLatch = new CountDownLatch(organizationList.size()); |
| 243 | 282 | |
| 244 | 283 | |
| ... | ... | @@ -263,14 +302,33 @@ |
| 263 | 302 | countDownLatch.await(); |
| 264 | 303 | //持久化最后一次同步时间 |
| 265 | 304 | writeLastSyncTime(); |
| 266 | - clearAll(); | |
| 305 | +// clearAll(); | |
| 306 | + //单独同步秦皇岛 | |
| 307 | + syncQHDWork(); | |
| 267 | 308 | logger.info("sync end costTime:" + (System.currentTimeMillis() - l) + " ms."); |
| 268 | 309 | } |
| 269 | - private void clearAll(){ | |
| 310 | + | |
| 311 | + private void clearAll() { | |
| 270 | 312 | orgMapToId.clear(); |
| 271 | 313 | mamiRegions.clear(); |
| 272 | 314 | bgHighRisk.clear(); |
| 273 | 315 | } |
| 316 | + | |
| 317 | + private void syncQHDWork() { | |
| 318 | + Timer timer = new Timer(); | |
| 319 | + timer.schedule(new TimerTask() { | |
| 320 | + @Override | |
| 321 | + public void run() { | |
| 322 | + logger.info("syncQHDWork start ." + DateUtil.getymdhm(new Date())); | |
| 323 | + CountDownLatch countDownLatch = new CountDownLatch(1); | |
| 324 | + String hospitalId = "216"; | |
| 325 | + new SyncWork(hospitalId, countDownLatch).start(); | |
| 326 | + logger.info("syncQHDWork end ." + DateUtil.getymdhm(new Date())); | |
| 327 | + } | |
| 328 | + }, 600000, 300000); | |
| 329 | + } | |
| 330 | + | |
| 331 | + | |
| 274 | 332 | /** |
| 275 | 333 | * 执行同步的工作线程 |
| 276 | 334 | */ |
| 277 | 335 | |
| 278 | 336 | |
| 279 | 337 | |
| ... | ... | @@ -287,61 +345,68 @@ |
| 287 | 345 | this.countDownLatch = countDownLatch; |
| 288 | 346 | } |
| 289 | 347 | |
| 348 | + /** | |
| 349 | + * 查询医院下的用户 | |
| 350 | + * | |
| 351 | + * @return | |
| 352 | + */ | |
| 353 | + private List<Users> queryUser() { | |
| 354 | + StopWatch stopWatch = new StopWatch("SyncWork-" + hospitalId); | |
| 355 | + //查询出该医院所以的医生用户 | |
| 356 | + UsersQuery usersQuery = new UsersQuery(); | |
| 357 | + usersQuery.setYn(YnEnums.YES.getId()); | |
| 358 | + usersQuery.setOrgId(Integer.valueOf(hospitalId)); | |
| 359 | + /* if (-1 != lastSyncTime) { | |
| 360 | + usersQuery.setGteModified(new Date(lastSyncTime)); | |
| 361 | + usersQuery.setGteCreated(new Date(lastSyncTime)); | |
| 362 | + }*/ | |
| 363 | + stopWatch.start("queryUsers"); | |
| 364 | + List<Users> userses = usersService.queryUsers(usersQuery); | |
| 365 | + stopWatch.stop(); | |
| 366 | + logger.info(stopWatch.toString()); | |
| 367 | + return userses; | |
| 368 | + } | |
| 369 | + | |
| 370 | + private void loadDoctorUsers() { | |
| 371 | + List<Users> userses = queryUser(); | |
| 372 | + DoctorUsers doctorUsers = null; | |
| 373 | + if (CollectionUtils.isNotEmpty(userses)) { | |
| 374 | + for (Users users : userses) { | |
| 375 | + DoctorUsersQuery doctorUsersQuery = new DoctorUsersQuery(); | |
| 376 | + doctorUsersQuery.setYn(YnEnums.YES.getId()); | |
| 377 | + doctorUsersQuery.setHospitalId(orgMapToId.get(hospitalId)); | |
| 378 | + doctorUsersQuery.setUsername(users.getName()); | |
| 379 | + StopWatch stopWatch1 = new StopWatch("SyncWork-" + hospitalId + ",userId:" + users.getId()); | |
| 380 | + stopWatch1.start("queryDoctorUsers"); | |
| 381 | + List<DoctorUsers> doctorUsersList = doctorUsersService.queryDoctorUsers(doctorUsersQuery); | |
| 382 | + stopWatch1.stop(); | |
| 383 | + if (CollectionUtils.isNotEmpty(doctorUsersList)) { | |
| 384 | + doctorUsers = doctorUsersList.get(0); | |
| 385 | + } else { | |
| 386 | + //医生用户转换 | |
| 387 | + doctorUsers = ConvertHelper.convertUsers(users); | |
| 388 | + doctorUsers.setHospitalId(orgMapToId.get(hospitalId)); | |
| 389 | + stopWatch1.start("addDoctorUsers"); | |
| 390 | + doctorUsersService.addDoctorUsers(doctorUsers); | |
| 391 | + stopWatch1.stop(); | |
| 392 | + } | |
| 393 | + if (null != doctorUsers) { | |
| 394 | + userMapping.put(users.getId(), doctorUsers.getId()); | |
| 395 | + } | |
| 396 | + logger.info(stopWatch1.toString()); | |
| 397 | + } | |
| 398 | + logger.info("hospitalId" + hospitalId + ",userMapping :" + userMapping); | |
| 399 | + } | |
| 400 | + } | |
| 401 | + | |
| 290 | 402 | @Override |
| 291 | 403 | public void run() { |
| 292 | 404 | try { |
| 293 | 405 | long l = System.currentTimeMillis(); |
| 294 | - logger.info("begin sync work hospital:" + hospitalId + ",at time " + DateUtil.getyyyy_MM_dd(new Date())); | |
| 295 | - StopWatch stopWatch = new StopWatch("SyncWork-" + hospitalId); | |
| 296 | - //查询出该医院所以的医生用户 | |
| 297 | - UsersQuery usersQuery = new UsersQuery(); | |
| 298 | - usersQuery.setYn(YnEnums.YES.getId()); | |
| 299 | - usersQuery.setOrgId(Integer.valueOf(hospitalId)); | |
| 300 | - if (-1 != lastSyncTime) { | |
| 301 | - usersQuery.setGteModified(new Date(lastSyncTime)); | |
| 302 | - usersQuery.setGteCreated(new Date(lastSyncTime)); | |
| 303 | - } | |
| 304 | - stopWatch.start("queryUsers"); | |
| 305 | - List<Users> userses = usersService.queryUsers(usersQuery); | |
| 306 | - stopWatch.stop(); | |
| 307 | - logger.info(stopWatch.toString()); | |
| 308 | - DoctorUsers doctorUsers = null; | |
| 406 | + logger.info("begin sync work hospital:" + hospitalId + ",at time " + DateUtil.getyyyy_MM_dd_hms(new Date())); | |
| 309 | 407 | |
| 310 | - if (CollectionUtils.isNotEmpty(userses)) { | |
| 311 | - for (Users users : userses) { | |
| 312 | - DoctorUsersQuery doctorUsersQuery = new DoctorUsersQuery(); | |
| 313 | -// doctorUsersQuery.setForeignId(users.getId() + ""); | |
| 314 | - doctorUsersQuery.setYn(YnEnums.YES.getId()); | |
| 315 | - doctorUsersQuery.setHospitalId(orgMapToId.get(hospitalId)); | |
| 316 | - doctorUsersQuery.setUsername(users.getName()); | |
| 317 | - StopWatch stopWatch1 = new StopWatch("SyncWork-" + hospitalId + ",userId:" + users.getId()); | |
| 318 | - stopWatch1.start("queryDoctorUsers"); | |
| 319 | - List<DoctorUsers> doctorUsersList = doctorUsersService.queryDoctorUsers(doctorUsersQuery); | |
| 320 | - stopWatch1.stop(); | |
| 321 | - if (CollectionUtils.isNotEmpty(doctorUsersList)) { | |
| 322 | - doctorUsers = doctorUsersList.get(0); | |
| 323 | - /* doctorUsers = ConvertHelper.convertUsers(users); | |
| 324 | - doctorUsers.setHospitalId(orgMapToId.get(hospitalId)); | |
| 325 | - stopWatch1.start("updateDoctorUsers"); | |
| 326 | - doctorUsersService.updateDoctorUsers(doctorUsers); | |
| 327 | - stopWatch1.stop();*/ | |
| 328 | - } else { | |
| 329 | - //医生用户转换 | |
| 330 | - doctorUsers = ConvertHelper.convertUsers(users); | |
| 331 | - doctorUsers.setHospitalId(orgMapToId.get(hospitalId)); | |
| 332 | - stopWatch1.start("addDoctorUsers"); | |
| 333 | - doctorUsersService.addDoctorUsers(doctorUsers); | |
| 334 | - stopWatch1.stop(); | |
| 335 | - } | |
| 408 | + loadDoctorUsers(); | |
| 336 | 409 | |
| 337 | - if (null != doctorUsers) { | |
| 338 | - userMapping.put(users.getId(), doctorUsers.getId()); | |
| 339 | - } | |
| 340 | - logger.info(stopWatch1.toString()); | |
| 341 | - } | |
| 342 | - logger.info("hospitalId" + hospitalId + ",userMapping :" + userMapping); | |
| 343 | - } | |
| 344 | - | |
| 345 | 410 | PatientsQuery patientsQuery1 = new PatientsQuery(); |
| 346 | 411 | patientsQuery1.setYn(YnEnums.YES.getId()); |
| 347 | 412 | patientsQuery1.setHospitalId(hospitalId); |
| 348 | 413 | |
| 349 | 414 | |
| ... | ... | @@ -351,14 +416,23 @@ |
| 351 | 416 | } |
| 352 | 417 | StopWatch stopWatch2 = new StopWatch("SyncWork-" + hospitalId + "-query patient"); |
| 353 | 418 | stopWatch2.start("queryPregnantWithQuery"); |
| 354 | - List<Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery1); | |
| 419 | + List<com.lyms.platform.pojo.Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery1); | |
| 355 | 420 | stopWatch2.stop(); |
| 356 | 421 | logger.info(stopWatch2.toString()); |
| 357 | 422 | logger.info("query patient by hospitalId:" + hospitalId + ", list size :" + patientses.size()); |
| 358 | 423 | if (CollectionUtils.isNotEmpty(patientses)) { |
| 359 | - for (Patients patients : patientses) { | |
| 424 | + for (com.lyms.platform.pojo.Patients patients : patientses) { | |
| 360 | 425 | StopWatch stopWatch3 = new StopWatch("SyncWork-" + hospitalId + "-patient-" + patients.getId()); |
| 361 | 426 | com.lymsh.mommybaby.maindata.model.Patients mamiPatient = ConvertHelper.convertPatient(patients); |
| 427 | + if (StringUtils.isNotEmpty(mamiPatient.getPhone())) { | |
| 428 | + MembersQuery membersQuery = new MembersQuery(); | |
| 429 | + membersQuery.setPhone(mamiPatient.getPhone()); | |
| 430 | + List<Members> memberses = membersService.queryMembers(membersQuery); | |
| 431 | + if (CollectionUtils.isNotEmpty(memberses)) { | |
| 432 | + mamiPatient.setMemberId(memberses.get(0).getId()); | |
| 433 | + } | |
| 434 | + } | |
| 435 | + | |
| 362 | 436 | stopWatch3.start("aouPatients"); |
| 363 | 437 | //增加建档记录 |
| 364 | 438 | patientsService.aouPatients(mamiPatient); |
| ... | ... | @@ -366,14 +440,6 @@ |
| 366 | 440 | //绑定用户 |
| 367 | 441 | bandingMember(mamiPatient); |
| 368 | 442 | |
| 369 | - AntExChuQuery antExChuQuery = new AntExChuQuery(); | |
| 370 | - antExChuQuery.setYn(YnEnums.YES.getId()); | |
| 371 | - antExChuQuery.setParentId(patients.getId()); | |
| 372 | - if (-1 != lastSyncTime) { | |
| 373 | - antExChuQuery.setGteModified(new Date(lastSyncTime)); | |
| 374 | - antExChuQuery.setGteCreated(new Date(lastSyncTime)); | |
| 375 | - } | |
| 376 | - | |
| 377 | 443 | DoctorUsersPatientsMaps doctorUsersPatientsMaps = new DoctorUsersPatientsMaps(); |
| 378 | 444 | doctorUsersPatientsMaps.setCreated(new Date()); |
| 379 | 445 | doctorUsersPatientsMaps.setYn(YnEnums.YES.getId()); |
| ... | ... | @@ -392,7 +458,6 @@ |
| 392 | 458 | doctorUsersPatientsMaps.setStatus(1); |
| 393 | 459 | doctorUsersPatientsMaps.setStatusName("待处理"); |
| 394 | 460 | |
| 395 | - | |
| 396 | 461 | doctorUsersPatientsMaps.setPatientId(mamiPatient.getId()); |
| 397 | 462 | if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { |
| 398 | 463 | doctorUsersPatientsMaps.setDoctorUserId(userMapping.get(Integer.valueOf(patients.getBookbuildingDoctor()))); |
| 399 | 464 | |
| 400 | 465 | |
| ... | ... | @@ -401,13 +466,21 @@ |
| 401 | 466 | stopWatch3.stop(); |
| 402 | 467 | } |
| 403 | 468 | |
| 469 | + AntExChuQuery antExChuQuery = new AntExChuQuery(); | |
| 470 | + antExChuQuery.setYn(YnEnums.YES.getId()); | |
| 471 | + antExChuQuery.setParentId(patients.getId()); | |
| 472 | + if (-1 != lastSyncTime) { | |
| 473 | + antExChuQuery.setGteModified(new Date(lastSyncTime)); | |
| 474 | + antExChuQuery.setGteCreated(new Date(lastSyncTime)); | |
| 475 | + } | |
| 404 | 476 | List<AntExChuModel> antExChuModel = antenatalExaminationService.queryAntExChu(antExChuQuery); |
| 405 | 477 | if (CollectionUtils.isEmpty(antExChuModel)) { |
| 406 | 478 | continue; |
| 407 | 479 | } |
| 480 | + | |
| 481 | + handLastRisk(patients, mamiPatient.getId()); | |
| 408 | 482 | String doctorUserName = null; |
| 409 | 483 | for (AntExChuModel antExChuModel1 : antExChuModel) { |
| 410 | - | |
| 411 | 484 | Integer doctorUserId = userMapping.get(Integer.valueOf(antExChuModel1.getProdDoctor())); |
| 412 | 485 | if (null != doctorUserId) { |
| 413 | 486 | DoctorUsers doctorUsers1 = doctorUsersService.getDoctorUsers(doctorUserId); |
| 414 | 487 | |
| ... | ... | @@ -415,8 +488,10 @@ |
| 415 | 488 | doctorUserName = doctorUsers1.getUsername(); |
| 416 | 489 | } |
| 417 | 490 | } |
| 491 | + /* stopWatch3.start("handlRiskChu"); | |
| 492 | + handlRiskChu(antExChuModel1, mamiPatient.getId()); | |
| 493 | + stopWatch3.stop();*/ | |
| 418 | 494 | |
| 419 | - | |
| 420 | 495 | Reports reports = ConvertHelper.convertAntExChu(antExChuModel1, patients.getLastMenses(), bgHighRisk, doctorUserName); |
| 421 | 496 | if (NumberUtils.isNumber(antExChuModel1.getProdDoctor())) { |
| 422 | 497 | Users users = usersService.getUsers(Integer.valueOf(antExChuModel1.getProdDoctor())); |
| ... | ... | @@ -436,6 +511,8 @@ |
| 436 | 511 | stopWatch3.start("aouReports"); |
| 437 | 512 | reportsService.aouReports(reports); |
| 438 | 513 | stopWatch3.stop(); |
| 514 | + | |
| 515 | + | |
| 439 | 516 | com.lymsh.mommybaby.maindata.model.Patients p = new com.lymsh.mommybaby.maindata.model.Patients(); |
| 440 | 517 | p.setLastReportId(reports.getId()); |
| 441 | 518 | p.setLastReportDoctorName(reports.getDoctorName()); |
| ... | ... | @@ -492,8 +569,9 @@ |
| 492 | 569 | doctorUserName = doctorUsers1.getUsername(); |
| 493 | 570 | } |
| 494 | 571 | } |
| 495 | - | |
| 496 | - | |
| 572 | + /* stopWatch3.start("handRiskFu"); | |
| 573 | + handRiskFu(ant, mamiPatient.getId()); | |
| 574 | + stopWatch3.stop();*/ | |
| 497 | 575 | Reports reports = ConvertHelper.convertAntExChu(ant, patients.getLastMenses(), bgHighRisk, doctorUserName); |
| 498 | 576 | |
| 499 | 577 | if (NumberUtils.isNumber(ant.getCheckDoctor())) { |
| 500 | 578 | |
| ... | ... | @@ -556,12 +634,304 @@ |
| 556 | 634 | } |
| 557 | 635 | logger.info("hospital " + hospitalId + ",costTime:" + (System.currentTimeMillis() - l)); |
| 558 | 636 | } catch (Exception e) { |
| 559 | - e.printStackTrace(); | |
| 637 | + ERROR_LOGGER.error("sync worker error.hospitalId:" + hospitalId, e); | |
| 560 | 638 | } finally { |
| 561 | 639 | countDownLatch.countDown(); |
| 562 | 640 | } |
| 563 | 641 | } |
| 564 | 642 | } |
| 643 | + | |
| 644 | + private void handRiskFu(AntenatalExaminationModel antEx, Integer patientId) { | |
| 645 | + Risks risks = new Risks(); | |
| 646 | + risks.setCreated(antEx.getCreated()); | |
| 647 | + risks.setYn(YnEnums.YES.getId()); | |
| 648 | + risks.setModified(antEx.getModified()); | |
| 649 | + | |
| 650 | + risks.setPatientId(patientId); | |
| 651 | + List list2 = JsonUtil.toList(antEx.getRiskFactor(), List.class); | |
| 652 | + HighScoreResult highScoreResult = queryRisk(list2, patientId); | |
| 653 | + | |
| 654 | + if (null != antEx && !"{}".equals(antEx.getOtherRisk())) { | |
| 655 | + Map map = JsonUtil.str2Obj(antEx.getOtherRisk(), Map.class); | |
| 656 | + //风险因素 | |
| 657 | + Map map1 = new HashMap(); | |
| 658 | + map1.put("id", ""); | |
| 659 | + Object obj = map.get("fxysu"); | |
| 660 | + if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { | |
| 661 | + map1.put("name", map.get("fxysu")); | |
| 662 | + highScoreResult.getHighRisk().add(map1); | |
| 663 | + } | |
| 664 | + RiskDetails riskDetails = new RiskDetails(); | |
| 665 | + //风险评分 | |
| 666 | + Object idObj = map.get("fxpf"); | |
| 667 | + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { | |
| 668 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); | |
| 669 | + riskDetails.setScore(NumberUtils.toInt(basicConfig.getName())); | |
| 670 | + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); | |
| 671 | + } | |
| 672 | + Object idObj1 = map.get("fyyse"); | |
| 673 | + if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { | |
| 674 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj1.toString()); | |
| 675 | + if (null != basicConfig) { | |
| 676 | + Map<String, Object> map2 = new HashMap<>(); | |
| 677 | + map2.put("id", basicConfig.getId()); | |
| 678 | + String name = basicConfig.getName(); | |
| 679 | + if (name.indexOf("预警") > -1) { | |
| 680 | + name = name.replace("预警", ""); | |
| 681 | + } | |
| 682 | + map2.put("name", name); | |
| 683 | + RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); | |
| 684 | + riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); | |
| 685 | + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); | |
| 686 | + highScoreResult.getLevel().add(map2); | |
| 687 | + } | |
| 688 | + } | |
| 689 | + Object obj1 = map1.get("name"); | |
| 690 | + if (null != obj1) { | |
| 691 | + riskDetails.setTitle(map1.get("name").toString()); | |
| 692 | + riskDetails.setPublishName("system-worker"); | |
| 693 | + riskDetails.setPublishId(0); | |
| 694 | + riskDetails.setYn(YnEnums.YES.getId()); | |
| 695 | + riskDetails.setCreated(new Date()); | |
| 696 | + riskDetails.setModified(new Date()); | |
| 697 | + riskDetails.setPatientId(patientId); | |
| 698 | + if (StringUtils.isNotEmpty(riskDetails.getTitle())) { | |
| 699 | + riskDetailsService.addRiskDetails(riskDetails); | |
| 700 | + } | |
| 701 | + } | |
| 702 | + } | |
| 703 | + String srt = highScoreResult.gethighRiskStr(); | |
| 704 | + risks.setTitle(srt); | |
| 705 | + risks.setReason(srt); | |
| 706 | + Integer crisis = null; | |
| 707 | + if (CollectionUtils.isNotEmpty(highScoreResult.getLevel())) { | |
| 708 | + crisis = 0; | |
| 709 | + for (Object map1 : highScoreResult.getLevel()) { | |
| 710 | + Map<String, Object> tmp = (Map<String, Object>) map1; | |
| 711 | + String name = tmp.get("name") == null ? null : (String) tmp.get("name"); | |
| 712 | + if (null != name) { | |
| 713 | + RiskColorEnum colorEnum = map.get(name); | |
| 714 | + crisis = crisis & colorEnum.getId(); | |
| 715 | + } | |
| 716 | + } | |
| 717 | + } | |
| 718 | + if (StringUtils.isNotEmpty(risks.getTitle())) { | |
| 719 | + risks.setCrisis(crisis); | |
| 720 | + risks.setPublishId(0); | |
| 721 | + risks.setPublishName("system-worker"); | |
| 722 | + risksService.addRisks(risks); | |
| 723 | + } | |
| 724 | + } | |
| 725 | + | |
| 726 | + private void handLastRisk(com.lyms.platform.pojo.Patients patients, Integer patientId) { | |
| 727 | + risksService.deleteRisk(patientId); | |
| 728 | + riskDetailsService.deleteRiskDetails(patientId); | |
| 729 | + StringBuilder sb = new StringBuilder(); | |
| 730 | + List<RiskColorEnum> data = new ArrayList<>(); | |
| 731 | + try { | |
| 732 | + int score = 0; | |
| 733 | + RiskColorEnum riskColorEnum = null; | |
| 734 | + if (CollectionUtils.isNotEmpty(patients.getRiskFactorId())) { | |
| 735 | + for (String id : patients.getRiskFactorId()) { | |
| 736 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id); | |
| 737 | + if (null != basicConfig) { | |
| 738 | + RiskDetails riskDetails = new RiskDetails(); | |
| 739 | + if (StringUtils.isNotEmpty(basicConfig.getCode())) { | |
| 740 | + score += NumberUtils.toInt(basicConfig.getCode(), 0); | |
| 741 | + riskDetails.setScore(NumberUtils.toInt(basicConfig.getCode())); | |
| 742 | + } | |
| 743 | + BasicConfig basicConfig1 = basicConfigService.getOneBasicConfigById(basicConfig.getParentId()); | |
| 744 | + sb.append(basicConfig.getName()).append('、'); | |
| 745 | + String name = basicConfig1.getName(); | |
| 746 | + if (name.indexOf("预警") > -1) { | |
| 747 | + name = name.replace("预警", ""); | |
| 748 | + } | |
| 749 | + riskColorEnum = SyncDataWork.map.get(name); | |
| 750 | + if (null != riskColorEnum) { | |
| 751 | + data.add(riskColorEnum); | |
| 752 | + } | |
| 753 | + riskDetails.setCreated(new Date()); | |
| 754 | + riskDetails.setYn(YnEnums.YES.getId()); | |
| 755 | + riskDetails.setModified(new Date()); | |
| 756 | + riskDetails.setPatientId(patientId); | |
| 757 | + riskDetails.setTitle(basicConfig.getName()); | |
| 758 | + riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); | |
| 759 | + riskDetails.setPublishId(0); | |
| 760 | + riskDetails.setPublishName("system-worker"); | |
| 761 | + riskDetailsService.addRiskDetails(riskDetails); | |
| 762 | + } | |
| 763 | + } | |
| 764 | + } | |
| 765 | + | |
| 766 | + } catch (Exception e) { | |
| 767 | + ERROR_LOGGER.error("convert high risk error.", e); | |
| 768 | + } | |
| 769 | + Risks risks = new Risks(); | |
| 770 | + risks.setCreated(new Date()); | |
| 771 | + risks.setYn(YnEnums.YES.getId()); | |
| 772 | + risks.setModified(new Date()); | |
| 773 | + risks.setPatientId(patientId); | |
| 774 | + | |
| 775 | + String srt = sb.toString(); | |
| 776 | + risks.setTitle(srt); | |
| 777 | + risks.setReason(srt); | |
| 778 | + Integer crisis = null; | |
| 779 | + if (CollectionUtils.isNotEmpty(data)) { | |
| 780 | + crisis = 0; | |
| 781 | + for (RiskColorEnum risk : data) { | |
| 782 | + crisis = crisis & risk.getId(); | |
| 783 | + } | |
| 784 | + } | |
| 785 | + risks.setCrisis(crisis); | |
| 786 | + risks.setPublishId(0); | |
| 787 | + risks.setPublishName("system-worker"); | |
| 788 | + risksService.addRisks(risks); | |
| 789 | + } | |
| 790 | + | |
| 791 | + | |
| 792 | + private void handlRiskChu(AntExChuModel antExChuModel, Integer patientId) { | |
| 793 | + | |
| 794 | + risksService.deleteRisk(patientId); | |
| 795 | + riskDetailsService.deleteRiskDetails(patientId); | |
| 796 | + Risks risks = new Risks(); | |
| 797 | + risks.setCreated(antExChuModel.getCreated()); | |
| 798 | + risks.setYn(YnEnums.YES.getId()); | |
| 799 | + risks.setModified(antExChuModel.getModified()); | |
| 800 | + | |
| 801 | + risks.setPatientId(patientId); | |
| 802 | + HighScoreResult highScoreResult = new HighScoreResult(); | |
| 803 | + try { | |
| 804 | + List list2 = JsonUtil.toList(antExChuModel.getHighrisk(), List.class); | |
| 805 | + highScoreResult = queryRisk(list2, patientId); | |
| 806 | + } catch (Exception e) { | |
| 807 | + ERROR_LOGGER.error("convert high risk error.", e); | |
| 808 | + } | |
| 809 | + | |
| 810 | + if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk())) { | |
| 811 | + Map map = JsonUtil.str2Obj(antExChuModel.getOtherHighRisk(), Map.class); | |
| 812 | + //风险因素 | |
| 813 | + Map map1 = new HashMap(); | |
| 814 | + map1.put("id", ""); | |
| 815 | + Object obj = map.get("fxysu"); | |
| 816 | + if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { | |
| 817 | + map1.put("name", map.get("fxysu")); | |
| 818 | + highScoreResult.getHighRisk().add(map1); | |
| 819 | + } | |
| 820 | + RiskDetails riskDetails = new RiskDetails(); | |
| 821 | + //风险评分 | |
| 822 | + Object idObj = map.get("fxpf"); | |
| 823 | + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { | |
| 824 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); | |
| 825 | + riskDetails.setScore(NumberUtils.toInt(basicConfig.getName())); | |
| 826 | + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); | |
| 827 | + } | |
| 828 | + Object idObj1 = map.get("fyyse"); | |
| 829 | + if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { | |
| 830 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj1.toString()); | |
| 831 | + if (null != basicConfig) { | |
| 832 | + Map<String, Object> map2 = new HashMap<>(); | |
| 833 | + map2.put("id", basicConfig.getId()); | |
| 834 | + String name = basicConfig.getName(); | |
| 835 | + if (name.indexOf("预警") > -1) { | |
| 836 | + name = name.replace("预警", ""); | |
| 837 | + } | |
| 838 | + map2.put("name", name); | |
| 839 | + RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); | |
| 840 | + riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); | |
| 841 | + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); | |
| 842 | + highScoreResult.getLevel().add(map2); | |
| 843 | + } | |
| 844 | + } | |
| 845 | + Object obj1 = map1.get("name"); | |
| 846 | + if (null != obj1) { | |
| 847 | + riskDetails.setTitle(obj1.toString()); | |
| 848 | + riskDetails.setPublishName("system-worker"); | |
| 849 | + riskDetails.setPublishId(0); | |
| 850 | + riskDetails.setYn(YnEnums.YES.getId()); | |
| 851 | + riskDetails.setCreated(new Date()); | |
| 852 | + riskDetails.setModified(new Date()); | |
| 853 | + riskDetails.setPatientId(patientId); | |
| 854 | + riskDetailsService.addRiskDetails(riskDetails); | |
| 855 | + } | |
| 856 | + } | |
| 857 | + String srt = highScoreResult.gethighRiskStr(); | |
| 858 | + risks.setTitle(srt); | |
| 859 | + risks.setReason(srt); | |
| 860 | + Integer crisis = null; | |
| 861 | + if (CollectionUtils.isNotEmpty(highScoreResult.getLevel())) { | |
| 862 | + crisis = 0; | |
| 863 | + for (Object map1 : highScoreResult.getLevel()) { | |
| 864 | + Map<String, Object> tmp = (Map<String, Object>) map1; | |
| 865 | + String name = tmp.get("name") == null ? null : (String) tmp.get("name"); | |
| 866 | + if (null != name) { | |
| 867 | + RiskColorEnum colorEnum = map.get(name); | |
| 868 | + crisis = crisis & colorEnum.getId(); | |
| 869 | + } | |
| 870 | + } | |
| 871 | + } | |
| 872 | + risks.setCrisis(crisis); | |
| 873 | + risks.setPublishId(0); | |
| 874 | + risks.setPublishName("system-worker"); | |
| 875 | + risksService.addRisks(risks); | |
| 876 | + } | |
| 877 | + | |
| 878 | + public HighScoreResult queryRisk(List<String> id, Integer parentId) { | |
| 879 | + HighScoreResult highScoreResult = new HighScoreResult(); | |
| 880 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 881 | + List data = new ArrayList(); | |
| 882 | + List dat1a = new ArrayList(); | |
| 883 | + Integer score = null; | |
| 884 | + if (CollectionUtils.isNotEmpty(id)) { | |
| 885 | + score = 0; | |
| 886 | + for (String i : id) { | |
| 887 | + basicConfigQuery.setId(i); | |
| 888 | + List<BasicConfig> basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 889 | + if (CollectionUtils.isNotEmpty(basicConfigs)) { | |
| 890 | + Integer crisis = null; | |
| 891 | + for (BasicConfig basicConfig : basicConfigs) { | |
| 892 | + Map<String, Object> map = new HashMap<>(); | |
| 893 | + map.put("id", basicConfig.getId()); | |
| 894 | + map.put("name", basicConfig.getName()); | |
| 895 | + map.put("code", basicConfig.getCode()); | |
| 896 | + RiskDetails riskDetails = new RiskDetails(); | |
| 897 | + if (StringUtils.isNotEmpty(basicConfig.getCode())) { | |
| 898 | + score += NumberUtils.toInt(basicConfig.getCode(), 0); | |
| 899 | + riskDetails.setScore(NumberUtils.toInt(basicConfig.getCode())); | |
| 900 | + } | |
| 901 | + riskDetails.setCreated(new Date()); | |
| 902 | + riskDetails.setYn(YnEnums.YES.getId()); | |
| 903 | + riskDetails.setModified(new Date()); | |
| 904 | + riskDetails.setPatientId(parentId); | |
| 905 | + riskDetails.setTitle(basicConfig.getName()); | |
| 906 | + | |
| 907 | + riskDetails.setPublishId(0); | |
| 908 | + riskDetails.setPublishName("system-worker"); | |
| 909 | + BasicConfig basicConfig1 = basicConfigService.getOneBasicConfigById(basicConfig.getParentId()); | |
| 910 | + if (null != basicConfig1) { | |
| 911 | + Map<String, Object> map1 = new HashMap<>(); | |
| 912 | + map1.put("id", basicConfig1.getId()); | |
| 913 | + String name = basicConfig1.getName(); | |
| 914 | + if (name.indexOf("预警") > -1) { | |
| 915 | + name = name.replace("预警", ""); | |
| 916 | + } | |
| 917 | + map1.put("name", name); | |
| 918 | + crisis = SyncDataWork.map.get(name) == null ? null : SyncDataWork.map.get(name).getId(); | |
| 919 | + map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); | |
| 920 | + dat1a.add(map1); | |
| 921 | + } | |
| 922 | + riskDetails.setCrisis(crisis); | |
| 923 | + riskDetailsService.addRiskDetails(riskDetails); | |
| 924 | + data.add(map); | |
| 925 | + } | |
| 926 | + } | |
| 927 | + } | |
| 928 | + } | |
| 929 | + highScoreResult.setHighRisk(data); | |
| 930 | + highScoreResult.setScore(score); | |
| 931 | + highScoreResult.setLevel(dat1a); | |
| 932 | + return highScoreResult; | |
| 933 | + } | |
| 934 | + | |
| 565 | 935 | |
| 566 | 936 | private void bandingMember(com.lymsh.mommybaby.maindata.model.Patients patients) { |
| 567 | 937 | MembersQuery membersQuery = new MembersQuery(); |