Commit e3c75cb586dd068482f09590ab4fe1b74c44f1e2

Authored by wtt
1 parent 0707f6500d

update

Showing 1 changed file with 139 additions and 106 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java View file @ e3c75cb
... ... @@ -128,35 +128,35 @@
128 128 * @Author: 武涛涛
129 129 * @Date: 2020/8/31 14:56
130 130 */
131   - private List <Map <String, String>> autoRisk(BabyAutoRiskRequest babyAutoRiskRequest, String hospitalId, Integer type, Integer ii) throws NoSuchFieldException, IllegalAccessException {
132   - Set <String> list = new HashSet <>();
133   - List <Map <String, String>> riskList = new ArrayList <>();
  131 + private List<Map<String, String>> autoRisk(BabyAutoRiskRequest babyAutoRiskRequest, String hospitalId, Integer type, Integer ii) throws NoSuchFieldException, IllegalAccessException {
  132 + Set<String> list = new HashSet<>();
  133 + List<Map<String, String>> riskList = new ArrayList<>();
134 134  
135 135 //获取儿童诊断配置
136 136 DiagnoseConfigQuery diagnoseConfigQuery = new DiagnoseConfigQuery();
137 137 diagnoseConfigQuery.setHospitalId(hospitalId);
138 138 diagnoseConfigQuery.setType("2");
139   - List <DiagnoseConfigModel> configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery);
  139 + List<DiagnoseConfigModel> configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery);
140 140  
141 141 //存储儿童诊断配置,单个项目状态信息
142   - Map <String, String> status = new HashMap <>();
  142 + Map<String, String> status = new HashMap<>();
143 143 if (CollectionUtils.isNotEmpty(configModels)) {
144 144 DiagnoseConfigModel model = configModels.get(0);
145   - List <Map <String, String>> configs = model.getConfigs();
  145 + List<Map<String, String>> configs = model.getConfigs();
146 146  
147 147 //判断儿童诊断配置是否开启
148 148 if (model == null || "0".equals(model.getEnable()) || configs == null || configs.size() == 0) {
149 149 return riskList;
150 150 }
151 151 if (CollectionUtils.isNotEmpty(configs)) {
152   - for (Map <String, String> map : configs) {
  152 + for (Map<String, String> map : configs) {
153 153 status.put(map.get("id"), map.get("status"));
154 154 }
155 155 }
156 156 }
157 157  
158 158 //获取诊断项详情
159   - Map <Integer, List <DiagnoseItemModel>> mapItems = getRiskConfig(configModels);
  159 + Map<Integer, List<DiagnoseItemModel>> mapItems = getRiskConfig(configModels);
160 160 if (mapItems != null && mapItems.size() > 0) {
161 161  
162 162 MaternalDeliverModel maternalDeliverModel = new MaternalDeliverModel();
... ... @@ -165,7 +165,7 @@
165 165 MatDeliverQuery deliverQuery = new MatDeliverQuery();
166 166 deliverQuery.setParentId(babyAutoRiskRequest.getParentId());
167 167 deliverQuery.setYn(YnEnums.YES.getId());
168   - List <MaternalDeliverModel> maternalDeliverModels = matDeliverService.query(deliverQuery);
  168 + List<MaternalDeliverModel> maternalDeliverModels = matDeliverService.query(deliverQuery);
169 169 if (CollectionUtils.isNotEmpty(maternalDeliverModels)) {
170 170 maternalDeliverModel = maternalDeliverModels.get(0);
171 171 }
... ... @@ -173,8 +173,8 @@
173 173 else if (type == 1) {
174 174 maternalDeliverModel = babyAutoRiskRequest.convertToDataModel();
175 175  
176   - List <MaternalDeliverModel.Baby> babiearr = new ArrayList <>();
177   - List <MatDeliverAddRequest.Baby> babies = babyAutoRiskRequest.getBabies();
  176 + List<MaternalDeliverModel.Baby> babiearr = new ArrayList<>();
  177 + List<MatDeliverAddRequest.Baby> babies = babyAutoRiskRequest.getBabies();
178 178 for (MatDeliverAddRequest.Baby baby : babies) {
179 179 MaternalDeliverModel.Baby babyModel = baby.convertToDataModel();
180 180 babiearr.add(babyModel);
... ... @@ -184,8 +184,8 @@
184 184 }//2 儿童检查
185 185 else if (type == 2) {
186 186 maternalDeliverModel = babyAutoRiskRequest.convertToDataModel();
187   - List <MaternalDeliverModel.Baby> babiearr = new ArrayList <>();
188   - List <MatDeliverAddRequest.Baby> babies = babyAutoRiskRequest.getBabies();
  187 + List<MaternalDeliverModel.Baby> babiearr = new ArrayList<>();
  188 + List<MatDeliverAddRequest.Baby> babies = babyAutoRiskRequest.getBabies();
189 189 for (MatDeliverAddRequest.Baby baby : babies) {
190 190 MaternalDeliverModel.Baby babyModel = baby.convertToDataModel();
191 191 babiearr.add(babyModel);
192 192  
193 193  
... ... @@ -196,12 +196,12 @@
196 196 /*孕母存在高危因素*/
197 197 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId())) {
198 198 //分娩时
199   - if(StringUtils.isNotEmpty(babyAutoRiskRequest.getParentId())){
  199 + if (StringUtils.isNotEmpty(babyAutoRiskRequest.getParentId())) {
200 200 Patients patients = patientsService.findOnePatientById(babyAutoRiskRequest.getParentId());
201 201 if (patients != null && CollectionUtils.isNotEmpty(patients.getRiskFactorId())) {
202   - List <String> riskFactorId = patients.getRiskFactorId();//孕妇存在的高危
  202 + List<String> riskFactorId = patients.getRiskFactorId();//孕妇存在的高危
203 203 //诊断项
204   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId());
  204 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId());
205 205 if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) {
206 206 for (DiagnoseItemModel item : items) {
207 207 if (ymczgwys(riskFactorId, item)) {
208 208  
... ... @@ -212,17 +212,17 @@
212 212 }
213 213 }
214 214 //儿童建档和儿童检查时
215   - if(CollectionUtils.isNotEmpty(babyAutoRiskRequest.getRiskFactorId())){
216   - List <String> riskFactorId = babyAutoRiskRequest.getRiskFactorId();//孕妇存在的高危
217   - //诊断项
218   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId());
219   - if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) {
220   - for (DiagnoseItemModel item : items) {
221   - if (ymczgwys(riskFactorId, item)) {
222   - list.addAll(item.getRiskIds());//item.getRiskIds() 诊断项,高危儿诊断项目
223   - }
  215 + if (CollectionUtils.isNotEmpty(babyAutoRiskRequest.getRiskFactorId())) {
  216 + List<String> riskFactorId = babyAutoRiskRequest.getRiskFactorId();//孕妇存在的高危
  217 + //诊断项
  218 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId());
  219 + if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) {
  220 + for (DiagnoseItemModel item : items) {
  221 + if (ymczgwys(riskFactorId, item)) {
  222 + list.addAll(item.getRiskIds());//item.getRiskIds() 诊断项,高危儿诊断项目
224 223 }
225 224 }
  225 + }
226 226 }
227 227  
228 228 }
... ... @@ -232,7 +232,7 @@
232 232 /*分娩孕周*/
233 233 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId()) && StringUtils.isNotEmpty(maternalDeliverModel.getDueWeek()) && type != 2) {
234 234 String dueWeek = com.lyms.platform.common.utils.StringUtils.dueWeekSwitchDays(maternalDeliverModel.getDueWeek());
235   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId());
  235 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId());
236 236 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(dueWeek)) {
237 237 for (DiagnoseItemModel item : items) {
238 238 item.setValueTwo(com.lyms.platform.common.utils.StringUtils.dueWeekSwitchDays(item.getValueTwo()));
... ... @@ -250,7 +250,7 @@
250 250 MatDeliverAddRequest.Placenta placenta = (MatDeliverAddRequest.Placenta) placentas.get(0);
251 251 if (placenta != null && StringUtils.isNotEmpty(placenta.getFetalPosition())) {
252 252 String fetalPosition = placenta.getFetalPosition();
253   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tfw.getId());
  253 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tfw.getId());
254 254 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(fetalPosition)) {
255 255 for (DiagnoseItemModel item : items) {
256 256 String valueTwo = item.getValueTwo();
257 257  
... ... @@ -264,12 +264,12 @@
264 264 }
265 265 /*脐带长度*/
266 266 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId()) && CollectionUtils.isNotEmpty(maternalDeliverModel.getExtPlacentas()) && type != 2) {
267   - List <MaternalDeliverModel.ExtPlacenta> extPlacentas = maternalDeliverModel.getExtPlacentas();
  267 + List<MaternalDeliverModel.ExtPlacenta> extPlacentas = maternalDeliverModel.getExtPlacentas();
268 268 if (CollectionUtils.isNotEmpty(extPlacentas)) {
269 269 MaternalDeliverModel.ExtPlacenta extPlacenta = extPlacentas.get(0);
270 270 if (extPlacenta != null && StringUtils.isNotEmpty(extPlacenta.getUmbilicalCordLength())) {
271 271 String umbilicalCordLength = extPlacenta.getUmbilicalCordLength();
272   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId());
  272 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId());
273 273 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(umbilicalCordLength)) {
274 274 for (DiagnoseItemModel item : items) {
275 275 if (compare(item, umbilicalCordLength) && CollectionUtils.isNotEmpty(item.getRiskIds())) {
276 276  
... ... @@ -282,12 +282,12 @@
282 282 }
283 283 /*脐带异常类型*/
284 284 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId()) && CollectionUtils.isNotEmpty(maternalDeliverModel.getExtPlacentas()) && type != 2) {
285   - List <MaternalDeliverModel.ExtPlacenta> extPlacentas = maternalDeliverModel.getExtPlacentas();
  285 + List<MaternalDeliverModel.ExtPlacenta> extPlacentas = maternalDeliverModel.getExtPlacentas();
286 286 if (CollectionUtils.isNotEmpty(extPlacentas)) {
287 287 MaternalDeliverModel.ExtPlacenta extPlacenta = extPlacentas.get(0);
288 288 if (extPlacenta != null && StringUtils.isNotEmpty(extPlacenta.getUmbilicalCordExType())) {
289 289 String umbilicalCordExType = extPlacenta.getUmbilicalCordExType();
290   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId());
  290 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId());
291 291 if (CollectionUtils.isNotEmpty(items)) {
292 292 for (DiagnoseItemModel item : items) {
293 293 String valueTwo = item.getValueTwo();
... ... @@ -312,7 +312,7 @@
312 312 }
313 313 }
314 314 if (StringUtils.isNotEmpty(fmfs)) {
315   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmfs.getId());
  315 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmfs.getId());
316 316 if (CollectionUtils.isNotEmpty(items)) {
317 317 for (DiagnoseItemModel item : items) {
318 318 String valueTwo = item.getValueTwo();
319 319  
320 320  
... ... @@ -326,15 +326,15 @@
326 326 }
327 327 /*胎儿畸形 7 */
328 328 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId()) && maternalDeliverModel.getBaby() != null && type != 2) {
329   - List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  329 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
330 330 if (CollectionUtils.isNotEmpty(baby)) {
331 331 MaternalDeliverModel.Baby baby1 = baby.get(ii);
332 332 if (baby1 != null) {
333   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId());
  333 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId());
334 334 if (CollectionUtils.isNotEmpty(items)) {
335 335 for (DiagnoseItemModel item : items) {
336 336 if (item != null && item.getTejx() != null) {
337   - Map <String, Object> tejx = item.getTejx();
  337 + Map<String, Object> tejx = item.getTejx();
338 338 if (tejx(baby1, tejx)) {
339 339 list.addAll(item.getRiskIds());
340 340 }
341 341  
... ... @@ -346,12 +346,12 @@
346 346 }
347 347 /*Apgar评分 8 */
348 348 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId()) && maternalDeliverModel.getBaby() != null && type != 2) {
349   - List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  349 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
350 350 if (CollectionUtils.isNotEmpty(baby)) {
351 351 MaternalDeliverModel.Baby baby1 = baby.get(ii);
352 352 if (baby1 != null) {
353 353 String[] strings = new String[3];
354   - Map <String, String> m = JsonUtil.getMap(baby1.getApgarScore());
  354 + Map<String, String> m = JsonUtil.getMap(baby1.getApgarScore());
355 355 if (MapUtils.isNotEmpty(m)) {
356 356 strings[0] = m.get("pf1") == null ? "" : m.get("pf1");
357 357 strings[1] = m.get("pf5") == null ? "" : m.get("pf5");
... ... @@ -359,7 +359,7 @@
359 359 }
360 360 for (int i = 0; i < strings.length; i++) {
361 361 if (StringUtils.isNotEmpty(strings[i])) {
362   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId());
  362 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId());
363 363 if (CollectionUtils.isNotEmpty(items)) {
364 364 for (DiagnoseItemModel item : items) {
365 365 if (compare(item, strings[i]) && CollectionUtils.isNotEmpty(item.getRiskIds())) {
366 366  
... ... @@ -375,12 +375,12 @@
375 375 }
376 376 /*窒息分钟 9 */
377 377 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId()) && maternalDeliverModel.getBaby() != null && type != 2) {
378   - List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  378 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
379 379 if (CollectionUtils.isNotEmpty(baby)) {
380 380 MaternalDeliverModel.Baby baby1 = baby.get(ii);
381 381 if (baby1 != null) {
382 382 String asphyxiaM = baby1.getAsphyxiaM();
383   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId());
  383 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId());
384 384 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(asphyxiaM)) {
385 385 for (DiagnoseItemModel item : items) {
386 386 if (compare(item, asphyxiaM) && CollectionUtils.isNotEmpty(item.getRiskIds())) {
... ... @@ -395,7 +395,7 @@
395 395 /*胎数 10 */
396 396 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId()) && maternalDeliverModel.getTireNumber() != null && type != 2) {
397 397 String tireNumber = maternalDeliverModel.getTireNumber().toString();
398   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId());
  398 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId());
399 399 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(tireNumber)) {
400 400 for (DiagnoseItemModel item : items) {
401 401  
... ... @@ -409,7 +409,7 @@
409 409  
410 410 /*体重 11 */
411 411 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId()) && maternalDeliverModel.getBaby() != null) {
412   - List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  412 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
413 413 if (CollectionUtils.isNotEmpty(baby)) {
414 414 MaternalDeliverModel.Baby baby1 = baby.get(ii);
415 415 if (baby1 != null) {
... ... @@ -420,7 +420,7 @@
420 420 babyWeight = babyWe.toString();
421 421 }
422 422  
423   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId());
  423 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId());
424 424 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyWeight)) {
425 425 for (DiagnoseItemModel item : items) {
426 426 if (compare(item, babyWeight) && CollectionUtils.isNotEmpty(item.getRiskIds())) {
... ... @@ -434,7 +434,7 @@
434 434  
435 435 /*血红蛋白 12 */
436 436 if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()) && maternalDeliverModel.getBaby() != null) {
437   - List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  437 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
438 438 if (CollectionUtils.isNotEmpty(baby)) {
439 439 MaternalDeliverModel.Baby baby1 = baby.get(ii);
440 440 if (baby1 != null) {
... ... @@ -444,7 +444,7 @@
444 444 Double bXhdb = Double.parseDouble(baby1.getBabyXhdb());
445 445 babyXhdb = bXhdb.toString();
446 446 }
447   - List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId());
  447 + List<DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId());
448 448 if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyXhdb)) {
449 449 for (DiagnoseItemModel item : items) {
450 450 if (compare(item, babyXhdb) && CollectionUtils.isNotEmpty(item.getRiskIds())) {
... ... @@ -460,7 +460,7 @@
460 460 }
461 461  
462 462 if (list.size() > 0) {
463   - List <String> ids = new ArrayList <>();
  463 + List<String> ids = new ArrayList<>();
464 464 for (String id : list) {
465 465 ids.add(id);
466 466 }
... ... @@ -479,8 +479,8 @@
479 479 * @Author: 武涛涛
480 480 * @Date: 2020/9/1 17:48
481 481 */
482   - private boolean tejx(MaternalDeliverModel.Baby baby1, Map <String, Object> tejx) throws NoSuchFieldException, IllegalAccessException {
483   - for (Map.Entry <String, Object> entry : tejx.entrySet()) {
  482 + private boolean tejx(MaternalDeliverModel.Baby baby1, Map<String, Object> tejx) throws NoSuchFieldException, IllegalAccessException {
  483 + for (Map.Entry<String, Object> entry : tejx.entrySet()) {
484 484 Field field = baby1.getClass().getDeclaredField(entry.getKey());//获取指定字段Field
485 485 field.setAccessible(true);//设置权限
486 486 boolean b = (boolean) field.get(baby1);
... ... @@ -500,8 +500,8 @@
500 500 * @Author: 武涛涛
501 501 * @Date: 2020/9/1 9:38
502 502 */
503   - private boolean ymczgwys(List <String> riskFactorId, DiagnoseItemModel item) {
504   - List <String> riskFactorIds = item.getRiskFactorIds();//诊断项,母亲存在的高危因素
  503 + private boolean ymczgwys(List<String> riskFactorId, DiagnoseItemModel item) {
  504 + List<String> riskFactorIds = item.getRiskFactorIds();//诊断项,母亲存在的高危因素
505 505 for (String ris : riskFactorIds) {
506 506 //孕妇存在的高危,诊断项,母亲存在的高危因素都有,说明符合,就添加
507 507 if (!riskFactorId.contains(ris)) {
... ... @@ -519,7 +519,7 @@
519 519 * @Author: 武涛涛
520 520 * @Date: 2020/8/31 17:05
521 521 */
522   - private boolean compare(List <DiagnoseItemModel> items, String fetalPosition) {
  522 + private boolean compare(List<DiagnoseItemModel> items, String fetalPosition) {
523 523 if (CollectionUtils.isNotEmpty(items)) {
524 524 for (DiagnoseItemModel item : items) {
525 525 String valueTwo = item.getValueTwo();
... ... @@ -543,8 +543,8 @@
543 543 * @Author: 武涛涛
544 544 * @Date: 2020/8/31 14:48
545 545 */
546   - private Map <Integer, List <DiagnoseItemModel>> getRiskConfig(List <DiagnoseConfigModel> configModels) {
547   - Map <Integer, List <DiagnoseItemModel>> mapItems = new HashMap <>();
  546 + private Map<Integer, List<DiagnoseItemModel>> getRiskConfig(List<DiagnoseConfigModel> configModels) {
  547 + Map<Integer, List<DiagnoseItemModel>> mapItems = new HashMap<>();
548 548  
549 549 if (CollectionUtils.isNotEmpty(configModels)) {
550 550 DiagnoseConfigModel configModel = configModels.get(0);
551 551  
... ... @@ -552,12 +552,12 @@
552 552 DiagnoseItemsQuery diagnoseItemsQuery = new DiagnoseItemsQuery();
553 553 diagnoseItemsQuery.setConfigId(configModel.getId());
554 554 //通过ConfigId获取儿童诊断配置-- 诊断配置项详情
555   - List <DiagnoseItemModel> diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery);
  555 + List<DiagnoseItemModel> diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery);
556 556 if (CollectionUtils.isNotEmpty(diagnoseItemModels)) {
557 557  
558 558 //遍历诊断依据枚举检查与诊断配置项是否匹配,将匹配的诊断项存储mapItems key是id,value DiagnoseItemModelList
559 559 for (BabyAutoDiagnoseEnums.BabyDiagnoseEnums diagnoses : BabyAutoDiagnoseEnums.BabyDiagnoseEnums.values()) {
560   - List <DiagnoseItemModel> diagnoseItemList = new ArrayList <>();
  560 + List<DiagnoseItemModel> diagnoseItemList = new ArrayList<>();
561 561 for (DiagnoseItemModel item : diagnoseItemModels) {
562 562 if (diagnoses.getId() == Integer.parseInt(item.getParentId())) {
563 563 diagnoseItemList.add(item);
... ... @@ -579,7 +579,7 @@
579 579 * @Author: 武涛涛
580 580 * @Date: 2020/8/31 13:58
581 581 */
582   - private boolean isEnableItem(Map <String, String> status, Integer id) {
  582 + private boolean isEnableItem(Map<String, String> status, Integer id) {
583 583 if (status != null && status.size() > 0) {
584 584 if ("true".equals(status.get(String.valueOf(id)))) {
585 585 return true;
586 586  
... ... @@ -656,14 +656,14 @@
656 656 */
657 657 private void saveAutoRisk(AutoBabyRiskRecord autoBabyRiskRecord) {
658 658 if (autoBabyRiskRecord != null && CollectionUtils.isNotEmpty(autoBabyRiskRecord.getDiagnosis())) {
659   - List <String> listc = new ArrayList <>();
660   - List <String> listh = new ArrayList <>();
  659 + List<String> listc = new ArrayList<>();
  660 + List<String> listh = new ArrayList<>();
661 661  
662 662 //孕妇分娩和儿童建档,只有一次,儿童检查会有多次
663 663 if (autoBabyRiskRecord.getType() != null && autoBabyRiskRecord.getType() == 2) {
664 664 getDiagnosisId(autoBabyRiskRecord, listc);
665 665 if (StringUtils.isNotEmpty(autoBabyRiskRecord.getHospitalId()) && StringUtils.isNotEmpty(autoBabyRiskRecord.getBabyId())) {
666   - List <AutoBabyRiskRecord> babyRiskRecordList = mongoTemplate.find(
  666 + List<AutoBabyRiskRecord> babyRiskRecordList = mongoTemplate.find(
667 667 Query.query(Criteria.where("babyId").is(autoBabyRiskRecord.getBabyId())
668 668 .and("yn").is(YnEnums.YES.getId()).and("hospitalId").is(autoBabyRiskRecord.getHospitalId())
669 669 ).with(new Sort(Sort.Direction.DESC, "modified")), AutoBabyRiskRecord.class);
670 670  
... ... @@ -711,10 +711,10 @@
711 711  
712 712 }
713 713  
714   - private void getDiagnosisId(AutoBabyRiskRecord autoBabyRiskRecord, List <String> listc) {
715   - List <Map <String, String>> diagnosis1 = autoBabyRiskRecord.getDiagnosis();
  714 + private void getDiagnosisId(AutoBabyRiskRecord autoBabyRiskRecord, List<String> listc) {
  715 + List<Map<String, String>> diagnosis1 = autoBabyRiskRecord.getDiagnosis();
716 716 for (int i = 0; i < diagnosis1.size(); i++) {
717   - Map <String, String> map = diagnosis1.get(i);
  717 + Map<String, String> map = diagnosis1.get(i);
718 718 if (map != null && map.containsKey("id")) {
719 719 listc.add(map.get("id"));
720 720 }
... ... @@ -729,7 +729,7 @@
729 729 * @Author: 武涛涛
730 730 * @Date: 2020/9/3 11:39
731 731 */
732   - private boolean diagnosiCompare(List <String> listc, List <String> listh) {
  732 + private boolean diagnosiCompare(List<String> listc, List<String> listh) {
733 733 if (CollectionUtils.isNotEmpty(listc) && CollectionUtils.isNotEmpty(listh)) {
734 734 for (String c : listc) {
735 735 //孕妇存在的高危,诊断项,母亲存在的高危因素都有,说明符合,就添加
... ... @@ -791,7 +791,7 @@
791 791 baseQuery.mysqlBuild((int) count);
792 792 query.skip(baseQuery.getOffset()).limit(antExManagerQueryRequest.getLimit());
793 793 System.out.println(query.toString());
794   - List <AutoBabyRiskRecord> models = mongoTemplate.find(query.with(new Sort(Sort.Direction.DESC, "created")), AutoBabyRiskRecord.class);
  794 + List<AutoBabyRiskRecord> models = mongoTemplate.find(query.with(new Sort(Sort.Direction.DESC, "created")), AutoBabyRiskRecord.class);
795 795 if (CollectionUtils.isNotEmpty(models)) {
796 796 for (AutoBabyRiskRecord model : models) {
797 797 Map map = new HashMap();
798 798  
799 799  
... ... @@ -812,11 +812,11 @@
812 812 map.put("diagnosisMonth", model.getDiagnosisMonth());//诊断月龄
813 813 //诊断月龄 可以创建时间和儿童生日作为条件
814 814 // map.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated()));
815   - List <Map <String, String>> diagnosis = model.getDiagnosis();
  815 + List<Map<String, String>> diagnosis = model.getDiagnosis();
816 816 map.put("diagnosis", diagnosis);//自动诊断结果
817   - List <String> stringLis = new ArrayList <>();
  817 + List<String> stringLis = new ArrayList<>();
818 818 if (CollectionUtils.isNotEmpty(diagnosis)) {
819   - for (Map <String, String> d : diagnosis) {
  819 + for (Map<String, String> d : diagnosis) {
820 820 if (d != null && d.containsKey("id")) {
821 821 stringLis.add(d.get("id"));
822 822 }
823 823  
... ... @@ -876,10 +876,10 @@
876 876 query.setYn(YnEnums.YES.getId());
877 877 query.setBuildId(autoBabyRiskRecord1.getBabyId());
878 878 //查询儿童的检查记录
879   - List <BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query);
  879 + List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query);
880 880 //诊断listmap转liststring
881   - List <String> list = new ArrayList <>();
882   - List <String> stringList = new ArrayList <>();
  881 + List<String> list = new ArrayList<>();
  882 + List<String> stringList = new ArrayList<>();
883 883 getDiagnosisId(autoBabyRiskRecord1, list);
884 884 if (CollectionUtils.isNotEmpty(babyCheckModels)) {
885 885 BabyCheckModel babyCheckModel = babyCheckModels.get(0);
886 886  
887 887  
888 888  
889 889  
890 890  
891 891  
892 892  
893 893  
894 894  
895 895  
896 896  
897 897  
898 898  
899 899  
... ... @@ -889,83 +889,116 @@
889 889 if (CollectionUtils.isNotEmpty(list)) {
890 890 stringList.addAll(list);
891 891 JSONArray jsonArray = JSONArray.fromObject(stringList);
892   - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyCheckModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyCheckModel.class);
  892 + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyCheckModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk", 1), BabyCheckModel.class);
893 893 }
894 894 } else if (CollectionUtils.isEmpty(babyCheckModels)) {
895   - Set <String> setbabyModel = new HashSet <>();
  895 + Set<String> setbabyModel = new HashSet<>();
896 896 BabyModelQuery babyQuery = new BabyModelQuery();
897 897 babyQuery.setId(autoBabyRiskRecord1.getBabyId());
898 898 babyQuery.setYn(YnEnums.YES.getId());
899   - List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  899 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
900 900 if (CollectionUtils.isNotEmpty(models)) {
901 901 BabyModel babyModel = models.get(0);
902   - List <String> babyModelList = JsonUtil.toList(babyModel.getDiagnose(), String.class);
  902 + List<String> babyModelList = JsonUtil.toList(babyModel.getDiagnose(), String.class);
903 903 setbabyModel.addAll(babyModelList);
904 904  
905 905 if (CollectionUtils.isNotEmpty(list)) {
906 906 setbabyModel.addAll(list);
907 907 JSONArray jsonArray = JSONArray.fromObject(setbabyModel);
908   - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class);
  908 + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk", 1), BabyModel.class);
909 909 }
910 910 }
911 911 }
912 912 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
913 913 }
914 914  
915   - /**
916   - * 1 根据传入的list 信息查询对应的儿保检查
917   - *
918   - * 2 判断是否有血红蛋白值,如果有就不执行
919   - *
920   - * 3 没有值,根据血红蛋白值获取,高危因素
921   - *
922   - * 4 没有值,更新儿保检查高危因素(累加高危)
923   - *
924   - */
925   - public BaseResponse saveLisBabyData( List<LisResultModelRequest> lisResultModelRequests) {
926 915  
927   - for (LisResultModelRequest modelRequest: lisResultModelRequests) {
  916 + public BaseResponse saveLisBabyData(List<LisResultModelRequest> lisResultModelRequests) {
928 917  
929   - if(StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo())){
  918 + for (LisResultModelRequest modelRequest : lisResultModelRequests) {
  919 +
  920 + if (StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo()) || StringUtils.isEmpty(modelRequest.getXhdb())) {
930 921 continue;
931 922 }
932 923 BabyModelQuery babyQuery = new BabyModelQuery();
933 924 babyQuery.setYn(YnEnums.YES.getId());
934 925 babyQuery.setHospitalId(modelRequest.getHospitalId());//查询上传医院儿童档案
935 926 babyQuery.setVcCardNo(modelRequest.getVcCardNo());
936   - List <BabyModel> builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  927 + List<BabyModel> builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
937 928 if (CollectionUtils.isNotEmpty(builds)) {
938 929 BabyModel babyModel = builds.get(0);
939   - if(babyModel ==null && StringUtils.isEmpty(babyModel.getId())){
  930 + if (babyModel == null && StringUtils.isEmpty(babyModel.getId())) {
940 931 continue;
941 932 }
942 933 //获取最新的儿保检查
943 934 BabyCheckModelQuery query = new BabyCheckModelQuery();
944 935 query.setYn(YnEnums.YES.getId());
945 936 query.setBuildId(babyModel.getId());
946   - List <BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query);
947   - if (CollectionUtils.isNotEmpty(babyCheckModels)) {
948   - BabyCheckModel babyCheckModel = babyCheckModels.get(0);
949   - if(babyCheckModel ==null && StringUtils.isEmpty(babyCheckModel.getId())){
950   - continue;
951   - }
952   - //获取当前儿保检查,诊断或高危因素
953   - Set <String> setbabyModel = new HashSet <>();
954   - List <String> babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class);
955   - // 血红蛋白值,根据自动诊断规则,生成高危因素。并且将血红蛋白赋值儿保检查
956   - //待续。。。。。
957   - babyModelList.add("");
  937 + List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query);
  938 + if (CollectionUtils.isEmpty(babyCheckModels)) {
  939 + continue;
  940 + }
  941 + BabyCheckModel babyCheckModel = babyCheckModels.get(0);
  942 + if (StringUtils.isEmpty(babyCheckModel.getId())) {
  943 + continue;
  944 + }
  945 + //获取当前儿保检查诊断高危因素
  946 + Set<String> setbabyModel = new HashSet<>();
  947 + List<String> babyModelList = new ArrayList<>();
  948 + try {
  949 + babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class);
  950 + } catch (Exception e) {
  951 + e.printStackTrace();
  952 + }
958 953  
959   - setbabyModel.addAll(babyModelList);
960   - JSONArray jsonArray = JSONArray.fromObject(setbabyModel);
961   - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class);
  954 + // 获取血红蛋白对应的高危因素
  955 + try {
  956 + BabyAutoRiskRequest babyAutoRiskRequest = new BabyAutoRiskRequest();
  957 + List<MatDeliverAddRequest.Baby> babies = new ArrayList<>();
  958 + MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby();
  959 + baby.setBabyXhdb(modelRequest.getXhdb());//设置自动诊断血红蛋白依据
  960 + babies.add(baby);
  961 + babyAutoRiskRequest.setBabies(babies);
  962 + List<Map<String, String>> maps = autoRisk(babyAutoRiskRequest, babyCheckModel.getHospitalId(), 2, 0);
  963 + babyModelList.addAll(getListMap(maps));
  964 + } catch (Exception e) {
  965 + e.printStackTrace();
  966 + }
  967 + // 注意:这里是不管以前有没有血红蛋白都会累加高危
  968 + setbabyModel.addAll(babyModelList);
962 969  
  970 + if(CollectionUtils.isNotEmpty(babyModelList)){
  971 + BabyCheckModel model = new BabyCheckModel();
  972 + JSONArray jsonArray = JSONArray.fromObject(setbabyModel);
  973 + model.setDiagnose(jsonArray.toString());
  974 + model.setHighRisk(1);
  975 + model.setHemoglobin(modelRequest.getXhdb());
  976 + model.setModified(new Date());
  977 + babyCheckService.updateBabyCheck(model, babyCheckModel.getId());
  978 + }else if(StringUtils.isEmpty(babyCheckModel.getHemoglobin())){//以前有血红蛋白,没有自动诊断高危是不更新
  979 + BabyCheckModel model = new BabyCheckModel();
  980 + model.setHemoglobin(modelRequest.getXhdb());
  981 + model.setModified(new Date());
  982 + babyCheckService.updateBabyCheck(model, babyCheckModel.getId());
963 983 }
  984 +
  985 +
964 986 }
965 987  
966 988 }
967 989  
968 990 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  991 + }
  992 +
  993 + private List<String> getListMap(List<Map<String, String>> maps) {
  994 + List<String> listc = new ArrayList<>();
  995 + for (int i = 0; i < maps.size(); i++) {
  996 + Map<String, String> map = maps.get(i);
  997 + if (map != null && map.containsKey("id")) {
  998 + listc.add(map.get("id"));
  999 + }
  1000 + }
  1001 + return listc;
969 1002 }
970 1003  
971 1004 }