Commit bafd942c125f91005f952c55878c564358c9cdbe
1 parent
dd94d6fbe3
Exists in
master
and in
6 other branches
儿童诊断管理
Showing 7 changed files with 500 additions and 5 deletions
- platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java
- platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java
- platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java
platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java
View file @
bafd942
| ... | ... | @@ -9,6 +9,7 @@ |
| 9 | 9 | private String endBirthDate; |
| 10 | 10 | private String hospitalizationNo; |
| 11 | 11 | private String babyName; |
| 12 | + private String type; | |
| 12 | 13 | private String finalDiagnosis; |
| 13 | 14 | //是否建档 1.未建档 2.已建档 |
| 14 | 15 | private Integer isbuild; |
| ... | ... | @@ -27,6 +28,14 @@ |
| 27 | 28 | |
| 28 | 29 | public void setStartDischargeDate(String startDischargeDate) { |
| 29 | 30 | this.startDischargeDate = startDischargeDate; |
| 31 | + } | |
| 32 | + | |
| 33 | + public String getType() { | |
| 34 | + return type; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public void setType(String type) { | |
| 38 | + this.type = type; | |
| 30 | 39 | } |
| 31 | 40 | |
| 32 | 41 | public String getEndDischargeDate() { |
platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml
View file @
bafd942
| ... | ... | @@ -127,6 +127,9 @@ |
| 127 | 127 | <if test="isbuild != null"> |
| 128 | 128 | and isbuild = #{isbuild} |
| 129 | 129 | </if> |
| 130 | + <if test="type != null"> | |
| 131 | + and type = #{type} | |
| 132 | + </if> | |
| 130 | 133 | </where> |
| 131 | 134 | </sql> |
| 132 | 135 | |
| ... | ... | @@ -153,5 +156,6 @@ |
| 153 | 156 | <include refid="babyDiagnosesCondition"/> |
| 154 | 157 | |
| 155 | 158 | </select> |
| 159 | + | |
| 156 | 160 | </mapper> |
platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java
View file @
bafd942
| ... | ... | @@ -12,6 +12,8 @@ |
| 12 | 12 | private String blh; |
| 13 | 13 | |
| 14 | 14 | private String syxh; |
| 15 | + // 1新生儿科 2 产科住院数据 | |
| 16 | + private String type; | |
| 15 | 17 | |
| 16 | 18 | |
| 17 | 19 | //姓名 |
| ... | ... | @@ -66,6 +68,14 @@ |
| 66 | 68 | |
| 67 | 69 | //是否建档 1未建档 2已建档 |
| 68 | 70 | private Integer isbuild; |
| 71 | + | |
| 72 | + public String getType() { | |
| 73 | + return type; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setType(String type) { | |
| 77 | + this.type = type; | |
| 78 | + } | |
| 69 | 79 | |
| 70 | 80 | public Integer getId() { |
| 71 | 81 | return id; |
platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java
View file @
bafd942
| ... | ... | @@ -1008,6 +1008,76 @@ |
| 1008 | 1008 | |
| 1009 | 1009 | |
| 1010 | 1010 | /** |
| 1011 | + * 秦皇岛分别获取新生儿科、产科住院数据 | |
| 1012 | + * | |
| 1013 | + * @param lrrqStart | |
| 1014 | + * @param lrrqEnd | |
| 1015 | + * @param type 1新生儿科 2 产科住院数据 | |
| 1016 | + * @Author: 武涛涛 | |
| 1017 | + * @Date: 2020/7/14 9:55 | |
| 1018 | + */ | |
| 1019 | + public List<BabyDischargeDiagnosisModel> queryNewBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { | |
| 1020 | + //新生儿科和产科返回数据字段相同 | |
| 1021 | + List<BabyDischargeDiagnosisModel> list = null; | |
| 1022 | + | |
| 1023 | + //新生儿科, | |
| 1024 | + if("1".equals(type)){ | |
| 1025 | + // 1 获取基础数据 | |
| 1026 | + Connection conn = null; | |
| 1027 | + String sql = "select blh,syxh,hzxm,birth,birthtime,sex,sfzh,lxdh,lxdz,lxr,lxrdh,curraddr,lrrq,ryrq,rqrq,cyrq,cqrq,cyzddm,cyzdmc,ksdm,bqdm,mblh,msyxh from VW_LYMS_XSE_BRSYK where cyrq is not null and mblh is null "; | |
| 1028 | + try { | |
| 1029 | + | |
| 1030 | + if (StringUtils.isNotEmpty(lrrqStart) && StringUtils.isNotEmpty(lrrqEnd)) { | |
| 1031 | + sql += " and lrrq >= CONVERT(varchar(100),'" + lrrqStart + "', 120) and lrrq <= CONVERT(varchar(100),'" + lrrqEnd + "', 120)"; | |
| 1032 | + } | |
| 1033 | + | |
| 1034 | + conn = com.lyms.hospitalapi.qhdfy.ConnTools.makeHisConnection(); | |
| 1035 | + QueryRunner queryRunner = new QueryRunner(); | |
| 1036 | + | |
| 1037 | + list = queryRunner.query(conn, sql, new BeanListHandler<BabyDischargeDiagnosisModel>(BabyDischargeDiagnosisModel.class)); | |
| 1038 | + } catch (Exception e) { | |
| 1039 | + ExceptionUtils.catchException(e, "queryNewBabyDiagnose error. sql:" + sql); | |
| 1040 | + } finally { | |
| 1041 | + DbUtils.closeQuietly(conn); | |
| 1042 | + } | |
| 1043 | + // 2 获取详情数据,查询80数据库获取详情,在将结果遍历填充到list详情字段 | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + }//产科住院数据 | |
| 1049 | + else if ("2".equals(type)){ | |
| 1050 | + //1 获取基础数据 | |
| 1051 | + Connection conn = null; | |
| 1052 | + String sql = "select blh,syxh,hzxm,birth,birthtime,sex,sfzh,lxdh,lxdz,lxr,lxrdh,curraddr,lrrq,ryrq,rqrq,cyrq,cqrq,cyzddm,cyzdmc,ksdm,bqdm,mblh,msyxh from VW_LYMS_XSE_BRSYK where cyrq is not null and mblh is null "; | |
| 1053 | + try { | |
| 1054 | + | |
| 1055 | + if (StringUtils.isNotEmpty(lrrqStart) && StringUtils.isNotEmpty(lrrqEnd)) { | |
| 1056 | + sql += " and lrrq >= CONVERT(varchar(100),'" + lrrqStart + "', 120) and lrrq <= CONVERT(varchar(100),'" + lrrqEnd + "', 120)"; | |
| 1057 | + } | |
| 1058 | + | |
| 1059 | + conn = com.lyms.hospitalapi.qhdfy.ConnTools.makeHisConnection(); | |
| 1060 | + QueryRunner queryRunner = new QueryRunner(); | |
| 1061 | + | |
| 1062 | + list = queryRunner.query(conn, sql, new BeanListHandler<BabyDischargeDiagnosisModel>(BabyDischargeDiagnosisModel.class)); | |
| 1063 | + } catch (Exception e) { | |
| 1064 | + ExceptionUtils.catchException(e, "queryNewBabyDiagnose error. sql:" + sql); | |
| 1065 | + } finally { | |
| 1066 | + DbUtils.closeQuietly(conn); | |
| 1067 | + } | |
| 1068 | + // 2 获取详情数据,查询80数据库获取详情,在将结果遍历填充到list详情字段 | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + } | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + return list; | |
| 1077 | + } | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + /** | |
| 1011 | 1081 | * |
| 1012 | 1082 | * 根据病历号(住院号)查询对应人的身份证号码 |
| 1013 | 1083 | * @param blNo |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java
View file @
bafd942
| ... | ... | @@ -571,8 +571,43 @@ |
| 571 | 571 | return babyBookbuildingFacade.getBabyDiacrisisList(babyDiagnoseQuery, page, limit); |
| 572 | 572 | } |
| 573 | 573 | |
| 574 | + /** | |
| 575 | + * 秦皇岛 (新生儿科诊断,产科病房诊断)list | |
| 576 | + * @param babyDiagnoseQuery | |
| 577 | + * @param page | |
| 578 | + * @param limit | |
| 579 | + * @Author: 武涛涛 | |
| 580 | + * @Date: 2020/7/14 10:30 | |
| 581 | + */ | |
| 582 | + @ResponseBody | |
| 583 | + @RequestMapping(value = "/getBabyLeaveHospitaiacrisisQhd", method = RequestMethod.GET) | |
| 584 | + @TokenRequired | |
| 585 | + public BaseResponse getBabyLeaveHospitaiacrisisQhd(BabyDiagnoseQuery babyDiagnoseQuery, | |
| 586 | + @RequestParam("page") Integer page, | |
| 587 | + @RequestParam("type") String type, | |
| 588 | + @RequestParam("limit") Integer limit) { | |
| 589 | + return babyBookbuildingFacade.getBabyDiacrisisListQhd(babyDiagnoseQuery, page, limit,type); | |
| 590 | + } | |
| 574 | 591 | |
| 592 | + | |
| 575 | 593 | /** |
| 594 | + * 秦皇岛 产科门诊诊断 list | |
| 595 | + * | |
| 596 | + | |
| 597 | + * @Author: 武涛涛 | |
| 598 | + * @Date: 2020/7/15 9:31 | |
| 599 | + */ | |
| 600 | + @ResponseBody | |
| 601 | + @RequestMapping(value = "/getObstetricDiagnosisQhd", method = RequestMethod.GET) | |
| 602 | + @TokenRequired | |
| 603 | + public BaseResponse getObstetricDiagnosisQhd(HttpServletRequest httpServletRequest,BabyManageRequest babyManageRequest) { | |
| 604 | + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); | |
| 605 | + | |
| 606 | + return babyBookbuildingFacade.getObstetricDiagnosisQhd(babyManageRequest,loginState.getId()); | |
| 607 | + } | |
| 608 | + | |
| 609 | + | |
| 610 | + /** | |
| 576 | 611 | * 处理历史数据 按照时间返回获取保存,格式:lrrqStart=2019062414:41:00&lrrqEnd=2019062418:41:00 |
| 577 | 612 | * |
| 578 | 613 | * @param lrrqStart |
| ... | ... | @@ -588,6 +623,27 @@ |
| 588 | 623 | return babyBookbuildingFacade.queryNewBabyDiagnose(lrrqStart, lrrqEnd); |
| 589 | 624 | } |
| 590 | 625 | |
| 626 | + /** | |
| 627 | + * 秦皇岛 处理历史数据 按照时间返回获取保存,格式:lrrqStart=2019062414:41:00&lrrqEnd=2019062418:41:00 | |
| 628 | + * 将视图数据存储到本地mysql数据库,提供列表查询使用。 | |
| 629 | + * | |
| 630 | + * @param request | |
| 631 | + * @param response | |
| 632 | + * @param lrrqStart | |
| 633 | + * @param type 1 新生儿科、2 产科住院数据 | |
| 634 | + * @param lrrqEnd | |
| 635 | + * @Author: 武涛涛 | |
| 636 | + * @Date: 2020/7/14 10:14 | |
| 637 | + */ | |
| 638 | + @ResponseBody | |
| 639 | + @RequestMapping(value = "/queryNewBabyDiagnoseQhd", method = RequestMethod.GET) | |
| 640 | + public BaseResponse queryNewBabyDiagnoseQhd(HttpServletRequest request, HttpServletResponse response, | |
| 641 | + @RequestParam(value = "lrrqStart", required = true) String lrrqStart, | |
| 642 | + @RequestParam(value = "type", required = true) String type, | |
| 643 | + @RequestParam(value = "lrrqEnd", required = true) String lrrqEnd | |
| 644 | + ) { | |
| 645 | + return babyBookbuildingFacade.queryNewBabyDiagnoseQhd(lrrqStart, lrrqEnd, type); | |
| 646 | + } | |
| 591 | 647 | |
| 592 | 648 | /** |
| 593 | 649 | * 获取可以导出的医院列表 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
View file @
bafd942
| ... | ... | @@ -21,10 +21,7 @@ |
| 21 | 21 | import com.lyms.platform.operate.web.result.*; |
| 22 | 22 | import com.lyms.platform.operate.web.service.BabyAfterVisitService; |
| 23 | 23 | import com.lyms.platform.operate.web.service.ITrackDownService; |
| 24 | -import com.lyms.platform.operate.web.utils.BabyListTask; | |
| 25 | -import com.lyms.platform.operate.web.utils.CommonsHelper; | |
| 26 | -import com.lyms.platform.operate.web.utils.GrowthCountTask; | |
| 27 | -import com.lyms.platform.operate.web.utils.MongoUtil; | |
| 24 | +import com.lyms.platform.operate.web.utils.*; | |
| 28 | 25 | import com.lyms.platform.permission.model.*; |
| 29 | 26 | import com.lyms.platform.permission.service.*; |
| 30 | 27 | import com.lyms.platform.pojo.*; |
| 31 | 28 | |
| ... | ... | @@ -136,8 +133,11 @@ |
| 136 | 133 | @Autowired |
| 137 | 134 | private SyncDataService syncDataService; |
| 138 | 135 | |
| 139 | - | |
| 140 | 136 | @Autowired |
| 137 | + private AntExRecordService recordService; | |
| 138 | + @Autowired | |
| 139 | + private CommonService commonService; | |
| 140 | + @Autowired | |
| 141 | 141 | private AreaCountFacade areaCountFacade; |
| 142 | 142 | |
| 143 | 143 | @Autowired |
| 144 | 144 | |
| 145 | 145 | |
| ... | ... | @@ -2305,8 +2305,121 @@ |
| 2305 | 2305 | objectResponse.setErrormsg("成功"); |
| 2306 | 2306 | return objectResponse; |
| 2307 | 2307 | } |
| 2308 | + public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { | |
| 2308 | 2309 | |
| 2310 | + String hospitalName = ""; | |
| 2311 | + String hospitalId = ""; | |
| 2312 | + //得到当前登录的医院id | |
| 2313 | + List<String> hospitalIdList = new ArrayList<>(); | |
| 2314 | + List<BabyManageListResult> list = null; | |
| 2315 | + BabyModelQuery babyQuery = null; | |
| 2316 | + List<BabyModel> models = null; | |
| 2317 | + try { | |
| 2318 | + if (userId != null) { | |
| 2319 | + Users dbuser = usersService.getUsers(userId); | |
| 2320 | + if (dbuser != null) { | |
| 2321 | + hospitalId = String.valueOf(dbuser.getOrgId()); | |
| 2322 | + hospitalIdList.add(hospitalId); | |
| 2323 | + hospitalName = organizationService.getOrganization(Integer.valueOf(hospitalId)).getName(); | |
| 2324 | + } | |
| 2325 | + } | |
| 2326 | + //获取全部儿童信息 | |
| 2327 | + list = new ArrayList<>(); | |
| 2328 | + babyQuery = new BabyModelQuery(); | |
| 2329 | + babyQuery.setNeed("true"); | |
| 2330 | + babyQuery.setPage(request.getPage()); | |
| 2331 | + babyQuery.setLimit(request.getLimit()); | |
| 2332 | + babyQuery.setQueryNo(request.getQueryNo()); | |
| 2333 | + babyQuery.setHospitalIdList(hospitalIdList); | |
| 2334 | + List buildType = new ArrayList(); | |
| 2335 | + buildType.add(1);//儿童直接建档 | |
| 2336 | + buildType.add(2);//产妇分娩建档 | |
| 2337 | + babyQuery.setBuildTypeList(buildType); | |
| 2338 | + babyQuery.setDataStatus(true);//排除自动建档数据 | |
| 2339 | + babyQuery.setYn(YnEnums.YES.getId()); | |
| 2340 | + babyQuery.setMphone(request.getMphone());//母亲联系方式 | |
| 2341 | + if (StringUtils.isNotEmpty(request.getBirth())) {//生日 | |
| 2342 | + String birthStr = request.getBirth(); | |
| 2343 | + String[] dates = birthStr.split(" - "); | |
| 2344 | + babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); | |
| 2345 | + babyQuery.setBirthEnd(new Date(DateUtil.parseYMD(dates[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); | |
| 2346 | + } | |
| 2347 | + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); | |
| 2348 | + //如果有高危儿多项就加一下 | |
| 2349 | + if(CollectionUtils.isNotEmpty(request.getHighRiskInfos())){ | |
| 2350 | + List<String> parentids = new ArrayList<>(); | |
| 2351 | + for (BabyModel model: models) { | |
| 2352 | + if(StringUtils.isNotEmpty(model.getParentId())){ | |
| 2353 | + parentids.add(model.getParentId()); | |
| 2354 | + } | |
| 2355 | + } | |
| 2356 | + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); | |
| 2357 | + antExRecordQuery.setNeed("true"); | |
| 2358 | + antExRecordQuery.setParentIds(parentids); | |
| 2359 | + antExRecordQuery.setrFactorList(request.getHighRiskInfos());//高危儿多项 | |
| 2360 | + List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); | |
| 2361 | + List<String> antExRecordModelparentids = new ArrayList<>(); | |
| 2362 | + for (AntExRecordModel antExRecordModel: antExRecordModelList) { | |
| 2363 | + if(StringUtils.isNotEmpty(antExRecordModel.getParentId())){ | |
| 2364 | + antExRecordModelparentids.add(antExRecordModel.getParentId()); | |
| 2365 | + } | |
| 2366 | + } | |
| 2367 | + //如果有高危条件,没有查询到高危信息,那就返回null | |
| 2368 | + if(CollectionUtils.isEmpty(antExRecordModelparentids)){ | |
| 2369 | + models = null; | |
| 2370 | + babyQuery.mysqlBuild(0); | |
| 2371 | + }else { | |
| 2372 | + babyQuery.setParentIds(antExRecordModelparentids); | |
| 2373 | + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); | |
| 2309 | 2374 | |
| 2375 | + } | |
| 2376 | + | |
| 2377 | + } | |
| 2378 | + } catch (NumberFormatException e) { | |
| 2379 | + e.printStackTrace(); | |
| 2380 | + } | |
| 2381 | + | |
| 2382 | + if (CollectionUtils.isNotEmpty(models)) { | |
| 2383 | + int batchSize = 50; | |
| 2384 | + int end = 0; | |
| 2385 | + List<Future> futures = new ArrayList<>(); | |
| 2386 | + for (int i = 0; i < models.size(); i += batchSize) { | |
| 2387 | + end = (end + batchSize); | |
| 2388 | + if (end > models.size()) { | |
| 2389 | + end = models.size(); | |
| 2390 | + } | |
| 2391 | + List<BabyModel> ms = models.subList(i, end); | |
| 2392 | + Callable c = new BabyListQhdTask( | |
| 2393 | + basicConfigFacade, | |
| 2394 | + recordService, | |
| 2395 | + commonService, | |
| 2396 | + basicConfigService, | |
| 2397 | + organizationService, | |
| 2398 | + babyCheckFacade, | |
| 2399 | + ms, hospitalName); | |
| 2400 | + Future f = commonThreadPool.submit(c); | |
| 2401 | + futures.add(f); | |
| 2402 | + } | |
| 2403 | + if (CollectionUtils.isNotEmpty(futures)) { | |
| 2404 | + for (Future f : futures) { | |
| 2405 | + try { | |
| 2406 | + list.addAll((List<BabyManageListResult>) f.get()); | |
| 2407 | + } catch (Exception e) { | |
| 2408 | + ExceptionUtils.catchException(e, "baby list error."); | |
| 2409 | + } | |
| 2410 | + } | |
| 2411 | + } | |
| 2412 | + } | |
| 2413 | + | |
| 2414 | + BaseListResponse objectResponse = new BaseListResponse(); | |
| 2415 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 2416 | + objectResponse.setData(list); | |
| 2417 | + objectResponse.setPageInfo(babyQuery.getPageInfo()); | |
| 2418 | + objectResponse.setErrormsg("成功"); | |
| 2419 | + return objectResponse; | |
| 2420 | + } | |
| 2421 | + | |
| 2422 | + | |
| 2310 | 2423 | public BaseResponse updateEndCase(BabyCheckRequest request, Integer userId) { |
| 2311 | 2424 | BaseObjectResponse br = new BaseObjectResponse(); |
| 2312 | 2425 | BabyModel bm = new BabyModel(); |
| 2313 | 2426 | |
| 2314 | 2427 | |
| 2315 | 2428 | |
| ... | ... | @@ -4190,9 +4303,79 @@ |
| 4190 | 4303 | objectResponse.setErrormsg("成功"); |
| 4191 | 4304 | return objectResponse; |
| 4192 | 4305 | } |
| 4306 | + /** | |
| 4307 | + * 秦皇岛 诊断(新生儿,产科)管理查询 list | |
| 4308 | + * | |
| 4309 | + * @param babyDiagnoseQuery | |
| 4310 | + * @param page | |
| 4311 | + * @param limit | |
| 4312 | + * @param type | |
| 4313 | + * @Author: 武涛涛 | |
| 4314 | + * @Date: 2020/7/14 11:31 | |
| 4315 | + */ | |
| 4316 | + public BaseListResponse getBabyDiacrisisListQhd(BabyDiagnoseQuery babyDiagnoseQuery, Integer page, Integer limit,String type) { | |
| 4317 | + List<Map<String, Object>> result = new ArrayList<>(); | |
| 4193 | 4318 | |
| 4319 | + babyDiagnoseQuery.setLimit(limit); | |
| 4320 | + babyDiagnoseQuery.setPage(page); | |
| 4321 | + babyDiagnoseQuery.setNeed("true"); | |
| 4322 | + babyDiagnoseQuery.setSort(" cyrq desc "); | |
| 4323 | + if(StringUtils.isNotEmpty(type)){ | |
| 4324 | + babyDiagnoseQuery.setType(type); | |
| 4325 | + } | |
| 4326 | + if (StringUtils.isNotEmpty(babyDiagnoseQuery.getStartDischargeDate()) && StringUtils.isNotEmpty(babyDiagnoseQuery.getEndDischargeDate())) { | |
| 4327 | + babyDiagnoseQuery.setStartDischargeDate(babyDiagnoseQuery.getStartDischargeDate() + " 00:00:00"); | |
| 4328 | + babyDiagnoseQuery.setEndDischargeDate(babyDiagnoseQuery.getEndDischargeDate() + " 23:59:59"); | |
| 4329 | + } | |
| 4330 | + if (StringUtils.isNotEmpty(babyDiagnoseQuery.getStartBirthDate()) && StringUtils.isNotEmpty(babyDiagnoseQuery.getEndBirthDate())) { | |
| 4331 | + babyDiagnoseQuery.setStartBirthDate(babyDiagnoseQuery.getStartBirthDate() + " 00:00:00"); | |
| 4332 | + babyDiagnoseQuery.setEndBirthDate(babyDiagnoseQuery.getEndBirthDate() + " 23:59:59"); | |
| 4333 | + } | |
| 4334 | + List<BabyDiagnoseModel> babyDiagnoseModels = babyDiagnoseService.queryBabyDiagnosesList(babyDiagnoseQuery); | |
| 4335 | + if (babyDiagnoseModels.size() > 0) { | |
| 4336 | + for (BabyDiagnoseModel info : babyDiagnoseModels) { | |
| 4337 | + Map<String, Object> map = new HashMap<>(); | |
| 4338 | + if (null != info.getCyrq()) { | |
| 4339 | + map.put("dischargeDate", DateUtil.getyyyy_MM_dd(info.getCyrq())); | |
| 4340 | + if (null != info.getBirth()) { | |
| 4341 | + map.put("birth", DateUtil.getyyyy_MM_dd(info.getBirth())); | |
| 4342 | + map.put("monthAge", DateUtil.getBabyMonthAge(info.getBirth(), new Date())); | |
| 4343 | + } | |
| 4344 | + map.put("babyName", info.getHzxm()); | |
| 4345 | + map.put("sex", info.getSex()); | |
| 4346 | + map.put("hospitalizationNo", info.getBlh()); | |
| 4347 | + map.put("dischargeDiagnosis", info.getCyzdmc()); | |
| 4348 | + map.put("contactsPhone", info.getLxrdh()); | |
| 4349 | + map.put("contactPhone", info.getLxdh()); | |
| 4350 | + map.put("contacts", info.getLxr()); | |
| 4351 | + result.add(map); | |
| 4352 | + } | |
| 4353 | + } | |
| 4354 | + } | |
| 4355 | + BaseListResponse objectResponse = new BaseListResponse(); | |
| 4356 | + objectResponse.setPageInfo(babyDiagnoseQuery.getPageInfo()); | |
| 4357 | + objectResponse.setData(result); | |
| 4358 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 4359 | + objectResponse.setErrormsg("成功"); | |
| 4360 | + return objectResponse; | |
| 4361 | + } | |
| 4194 | 4362 | |
| 4363 | + | |
| 4195 | 4364 | /** |
| 4365 | + * 秦皇岛 产科门诊诊断 list | |
| 4366 | + * | |
| 4367 | + * @param babyManageRequest | |
| 4368 | + * @param userId | |
| 4369 | + * @Author: 武涛涛 | |
| 4370 | + * @Date: 2020/7/15 15:59 | |
| 4371 | + */ | |
| 4372 | + public BaseListResponse getObstetricDiagnosisQhd(BabyManageRequest babyManageRequest, Integer userId) { | |
| 4373 | + | |
| 4374 | + return queryObstetricDiagnosisQhdList(babyManageRequest, userId); | |
| 4375 | + } | |
| 4376 | + | |
| 4377 | + | |
| 4378 | + /** | |
| 4196 | 4379 | * 查询一段时间新生儿诊断记录 |
| 4197 | 4380 | * |
| 4198 | 4381 | * @param lrrqStart 录入日期开始 |
| 4199 | 4382 | |
| ... | ... | @@ -4205,7 +4388,13 @@ |
| 4205 | 4388 | .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(size); |
| 4206 | 4389 | } |
| 4207 | 4390 | |
| 4391 | + public BaseObjectResponse queryNewBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { | |
| 4208 | 4392 | |
| 4393 | + int size = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,type); | |
| 4394 | + return new BaseObjectResponse() | |
| 4395 | + .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(size); | |
| 4396 | + } | |
| 4397 | + | |
| 4209 | 4398 | /** |
| 4210 | 4399 | * 处理数据 |
| 4211 | 4400 | * |
| 4212 | 4401 | |
| ... | ... | @@ -4238,7 +4427,43 @@ |
| 4238 | 4427 | return CollectionUtils.isNotEmpty(list) ? list.size() : 0; |
| 4239 | 4428 | } |
| 4240 | 4429 | |
| 4430 | + /** | |
| 4431 | + * 秦皇岛处理儿童诊断数据 | |
| 4432 | + * | |
| 4433 | + * @param lrrqStart | |
| 4434 | + * @param lrrqEnd | |
| 4435 | + * @param type 1 新生儿科、2 产科住院数据 | |
| 4436 | + * @Author: 武涛涛 | |
| 4437 | + * @Date: 2020/7/14 10:13 | |
| 4438 | + */ | |
| 4439 | + public int handleBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { | |
| 4241 | 4440 | |
| 4441 | + List<BabyDischargeDiagnosisModel> list = qhdfyHisService.queryNewBabyDiagnoseQhd(lrrqStart, lrrqEnd,type); | |
| 4442 | + | |
| 4443 | + if (CollectionUtils.isNotEmpty(list)) { | |
| 4444 | + Map param = new HashMap(); | |
| 4445 | + for (BabyDischargeDiagnosisModel model : list) { | |
| 4446 | + param.put("blh", model.getBlh()); | |
| 4447 | + | |
| 4448 | + try { | |
| 4449 | + List<BabyDiagnoseModel> dbList = babyDiagnoseService.queryBabyDiagnoses(param); | |
| 4450 | + if (CollectionUtils.isEmpty(dbList)) { | |
| 4451 | + BabyDiagnoseModel babyDiagnoseModel = model.convertToDataModel(); | |
| 4452 | + /* 注意:会有个问题,就是以前历史数据会不能区分是1 新生儿科或2 产科住院数据*/ | |
| 4453 | + babyDiagnoseModel.setType(type); | |
| 4454 | + babyDiagnoseService.addBabyDiagnose(babyDiagnoseModel); | |
| 4455 | + System.out.println("handleBabyDiagnose success " + model.getBlh()); | |
| 4456 | + } | |
| 4457 | + } catch (Exception e) { | |
| 4458 | + ExceptionUtils.catchException(e, "handleBabyDiagnose error."); | |
| 4459 | + continue; | |
| 4460 | + } | |
| 4461 | + } | |
| 4462 | + } | |
| 4463 | + | |
| 4464 | + return CollectionUtils.isNotEmpty(list) ? list.size() : 0; | |
| 4465 | + } | |
| 4466 | + | |
| 4242 | 4467 | /** |
| 4243 | 4468 | * 获取当前时间前一个小时的数据 |
| 4244 | 4469 | */ |
| ... | ... | @@ -4252,6 +4477,9 @@ |
| 4252 | 4477 | System.out.println("lrrqStart =" + lrrqStart); |
| 4253 | 4478 | System.out.println("lrrqEnd =" + lrrqEnd); |
| 4254 | 4479 | int size = handleBabyDiagnose(lrrqStart, lrrqEnd); |
| 4480 | + //秦皇岛诊断数据定时同步到mysql数据库中 | |
| 4481 | +// int size1 = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,"1"); | |
| 4482 | +// int size2 = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,"2"); | |
| 4255 | 4483 | System.out.println("autoGetBabyDiagnose size " + size); |
| 4256 | 4484 | } |
| 4257 | 4485 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java
View file @
bafd942
| 1 | +package com.lyms.platform.operate.web.utils; | |
| 2 | + | |
| 3 | +import com.lyms.platform.biz.service.AntExRecordService; | |
| 4 | +import com.lyms.platform.biz.service.BasicConfigService; | |
| 5 | +import com.lyms.platform.biz.service.CommonService; | |
| 6 | +import com.lyms.platform.common.enums.ServiceStatusEnums; | |
| 7 | +import com.lyms.platform.common.enums.ServiceTypeEnums; | |
| 8 | +import com.lyms.platform.common.enums.SexEnum; | |
| 9 | +import com.lyms.platform.common.utils.DateUtil; | |
| 10 | +import com.lyms.platform.common.utils.StringUtils; | |
| 11 | +import com.lyms.platform.operate.web.facade.BabyCheckFacade; | |
| 12 | +import com.lyms.platform.operate.web.facade.BasicConfigFacade; | |
| 13 | +import com.lyms.platform.operate.web.result.BabyManageListResult; | |
| 14 | +import com.lyms.platform.permission.service.OrganizationService; | |
| 15 | +import com.lyms.platform.pojo.AntExRecordModel; | |
| 16 | +import com.lyms.platform.pojo.BabyModel; | |
| 17 | +import com.lyms.platform.pojo.BasicConfig; | |
| 18 | +import com.lyms.platform.query.AntExRecordQuery; | |
| 19 | +import org.apache.commons.collections.CollectionUtils; | |
| 20 | +import org.springframework.data.domain.Sort; | |
| 21 | + | |
| 22 | +import java.util.ArrayList; | |
| 23 | +import java.util.Date; | |
| 24 | +import java.util.List; | |
| 25 | +import java.util.concurrent.Callable; | |
| 26 | + | |
| 27 | +/** | |
| 28 | + * Created by lqy on 2016/11/30. | |
| 29 | + */ | |
| 30 | +public class BabyListQhdTask implements Callable { | |
| 31 | + | |
| 32 | + private BasicConfigService basicConfigService; | |
| 33 | + | |
| 34 | + private OrganizationService organizationService; | |
| 35 | + | |
| 36 | + private BabyCheckFacade babyCheckFacade; | |
| 37 | + | |
| 38 | + private List<BabyModel> models; | |
| 39 | + | |
| 40 | + private String hospitalName; | |
| 41 | + | |
| 42 | + private BasicConfigFacade basicConfigFacade; | |
| 43 | + | |
| 44 | + private AntExRecordService recordService; | |
| 45 | + private CommonService commonService; | |
| 46 | + | |
| 47 | + public BabyListQhdTask( | |
| 48 | + BasicConfigFacade basicConfigFacade, | |
| 49 | + AntExRecordService recordService, | |
| 50 | + CommonService commonService, | |
| 51 | + BasicConfigService basicConfigService, | |
| 52 | + OrganizationService organizationService, | |
| 53 | + BabyCheckFacade babyCheckFacade, | |
| 54 | + List<BabyModel> models, | |
| 55 | + String hospitalName) { | |
| 56 | + this.basicConfigFacade = basicConfigFacade; | |
| 57 | + this.recordService = recordService; | |
| 58 | + this.commonService = commonService; | |
| 59 | + this.basicConfigService = basicConfigService; | |
| 60 | + this.organizationService = organizationService; | |
| 61 | + this.babyCheckFacade = babyCheckFacade; | |
| 62 | + this.models = models; | |
| 63 | + this.hospitalName = hospitalName; | |
| 64 | + | |
| 65 | + } | |
| 66 | + | |
| 67 | + @Override | |
| 68 | + public List<BabyManageListResult> call() throws Exception { | |
| 69 | + List<BabyManageListResult> list = new ArrayList<>(); | |
| 70 | + if (CollectionUtils.isNotEmpty(models)) { | |
| 71 | + for (BabyModel model : models) { | |
| 72 | + BabyManageListResult result = new BabyManageListResult(); | |
| 73 | + result.setId(model.getId()); | |
| 74 | + if (model.getHighRisk() == null || model.getHighRisk() == 0) { | |
| 75 | + result.setHighRisk("健康"); | |
| 76 | + } else if (model.getHighRisk() == 1) { | |
| 77 | + result.setHighRisk("高危"); | |
| 78 | + } | |
| 79 | + if(StringUtils.isNotEmpty(model.getParentId())){ | |
| 80 | + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); | |
| 81 | + antExRecordQuery.setParentId(model.getParentId());//产检记录没有yn | |
| 82 | + List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); | |
| 83 | + if(CollectionUtils.isNotEmpty(antExRecordModelList)){ | |
| 84 | + AntExRecordModel antExRecordModel = antExRecordModelList.get(0); | |
| 85 | + if(antExRecordModel!=null && CollectionUtils.isNotEmpty(antExRecordModel.gethRisk())){ | |
| 86 | + List list1 = antExRecordModel.gethRisk(); | |
| 87 | + if(CollectionUtils.isNotEmpty(list1)){ | |
| 88 | + String ri = commonService.resloveFactor(list1); | |
| 89 | + result.setHighRiskInfo(ri); | |
| 90 | + } | |
| 91 | + } | |
| 92 | + } | |
| 93 | + } | |
| 94 | + result.setSex(model.getSex() == null ? "" : StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); | |
| 95 | + result.setBabyName(StringUtils.emptyDeal(model.getName())); | |
| 96 | + result.setBirthday(StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); | |
| 97 | + result.setMommyName(StringUtils.emptyDeal(model.getMname())); | |
| 98 | + result.setMommnyPhone(StringUtils.emptyDeal(model.getMphone())); | |
| 99 | + result.setMommnyEncryptPhone(StringUtils.encryPhone(model.getMphone())); | |
| 100 | + result.setMonthAge(StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); | |
| 101 | + result.setPatientId(model.getParentId()); | |
| 102 | + result.setBuildTime(DateUtil.getyyyy_MM_dd(model.getBuildDate())); | |
| 103 | + result.setHospitalName(hospitalName); | |
| 104 | + result.setMcertNo(model.getMcertNo()); | |
| 105 | + result.setMcertTypeId(model.getMcertTypeId()); | |
| 106 | + String diagnose = ""; | |
| 107 | + result.setDiagnose(StringUtils.emptyDeal(diagnose)); | |
| 108 | + | |
| 109 | + list.add(result); | |
| 110 | + } | |
| 111 | + } | |
| 112 | + return list; | |
| 113 | + } | |
| 114 | + | |
| 115 | + | |
| 116 | +} |