From bafd942c125f91005f952c55878c564358c9cdbe Mon Sep 17 00:00:00 2001 From: wtt Date: Wed, 15 Jul 2020 16:12:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E8=AF=8A=E6=96=AD=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/model/BabyDiagnoseQuery.java | 9 + .../mainOrm/master/BabyDiagnoseMapper.xml | 4 + .../com/lyms/platform/pojo/BabyDiagnoseModel.java | 10 + .../lyms/hospitalapi/qhdfy/QhdfyHisService.java | 70 ++++++ .../web/controller/BabyBuildController.java | 56 +++++ .../operate/web/facade/BabyBookbuildingFacade.java | 238 ++++++++++++++++++++- .../operate/web/utils/BabyListQhdTask.java | 118 ++++++++++ 7 files changed, 500 insertions(+), 5 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java index a9c2d87..70640bb 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyDiagnoseQuery.java @@ -9,6 +9,7 @@ public class BabyDiagnoseQuery extends BaseQuery { private String endBirthDate; private String hospitalizationNo; private String babyName; + private String type; private String finalDiagnosis; //是否建档 1.未建档 2.已建档 private Integer isbuild; @@ -29,6 +30,14 @@ public class BabyDiagnoseQuery extends BaseQuery { this.startDischargeDate = startDischargeDate; } + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + public String getEndDischargeDate() { return endDischargeDate; } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml index a1d118b..d514567 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/BabyDiagnoseMapper.xml @@ -127,6 +127,9 @@ and isbuild = #{isbuild} + + and type = #{type} + @@ -153,4 +156,5 @@ + \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java index 2351a2e..70029a3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDiagnoseModel.java @@ -12,6 +12,8 @@ public class BabyDiagnoseModel { private String blh; private String syxh; + // 1新生儿科 2 产科住院数据 + private String type; //姓名 @@ -67,6 +69,14 @@ public class BabyDiagnoseModel { //是否建档 1未建档 2已建档 private Integer isbuild; + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + public Integer getId() { return id; } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java index cd114d6..33eeafd 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java @@ -1008,6 +1008,76 @@ public class QhdfyHisService { /** + * 秦皇岛分别获取新生儿科、产科住院数据 + * + * @param lrrqStart + * @param lrrqEnd + * @param type 1新生儿科 2 产科住院数据 + * @Author: 武涛涛 + * @Date: 2020/7/14 9:55 + */ + public List queryNewBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { + //新生儿科和产科返回数据字段相同 + List list = null; + + //新生儿科, + if("1".equals(type)){ + // 1 获取基础数据 + Connection conn = null; + 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 "; + try { + + if (StringUtils.isNotEmpty(lrrqStart) && StringUtils.isNotEmpty(lrrqEnd)) { + sql += " and lrrq >= CONVERT(varchar(100),'" + lrrqStart + "', 120) and lrrq <= CONVERT(varchar(100),'" + lrrqEnd + "', 120)"; + } + + conn = com.lyms.hospitalapi.qhdfy.ConnTools.makeHisConnection(); + QueryRunner queryRunner = new QueryRunner(); + + list = queryRunner.query(conn, sql, new BeanListHandler(BabyDischargeDiagnosisModel.class)); + } catch (Exception e) { + ExceptionUtils.catchException(e, "queryNewBabyDiagnose error. sql:" + sql); + } finally { + DbUtils.closeQuietly(conn); + } + // 2 获取详情数据,查询80数据库获取详情,在将结果遍历填充到list详情字段 + + + + + }//产科住院数据 + else if ("2".equals(type)){ + //1 获取基础数据 + Connection conn = null; + 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 "; + try { + + if (StringUtils.isNotEmpty(lrrqStart) && StringUtils.isNotEmpty(lrrqEnd)) { + sql += " and lrrq >= CONVERT(varchar(100),'" + lrrqStart + "', 120) and lrrq <= CONVERT(varchar(100),'" + lrrqEnd + "', 120)"; + } + + conn = com.lyms.hospitalapi.qhdfy.ConnTools.makeHisConnection(); + QueryRunner queryRunner = new QueryRunner(); + + list = queryRunner.query(conn, sql, new BeanListHandler(BabyDischargeDiagnosisModel.class)); + } catch (Exception e) { + ExceptionUtils.catchException(e, "queryNewBabyDiagnose error. sql:" + sql); + } finally { + DbUtils.closeQuietly(conn); + } + // 2 获取详情数据,查询80数据库获取详情,在将结果遍历填充到list详情字段 + + + + } + + + + return list; + } + + + /** * * 根据病历号(住院号)查询对应人的身份证号码 * @param blNo diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 3e548a2..60cb53b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -571,6 +571,41 @@ public class BabyBuildController extends BaseController { return babyBookbuildingFacade.getBabyDiacrisisList(babyDiagnoseQuery, page, limit); } + /** + * 秦皇岛 (新生儿科诊断,产科病房诊断)list + * @param babyDiagnoseQuery + * @param page + * @param limit + * @Author: 武涛涛 + * @Date: 2020/7/14 10:30 + */ + @ResponseBody + @RequestMapping(value = "/getBabyLeaveHospitaiacrisisQhd", method = RequestMethod.GET) + @TokenRequired + public BaseResponse getBabyLeaveHospitaiacrisisQhd(BabyDiagnoseQuery babyDiagnoseQuery, + @RequestParam("page") Integer page, + @RequestParam("type") String type, + @RequestParam("limit") Integer limit) { + return babyBookbuildingFacade.getBabyDiacrisisListQhd(babyDiagnoseQuery, page, limit,type); + } + + + /** + * 秦皇岛 产科门诊诊断 list + * + + * @Author: 武涛涛 + * @Date: 2020/7/15 9:31 + */ + @ResponseBody + @RequestMapping(value = "/getObstetricDiagnosisQhd", method = RequestMethod.GET) + @TokenRequired + public BaseResponse getObstetricDiagnosisQhd(HttpServletRequest httpServletRequest,BabyManageRequest babyManageRequest) { + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + + return babyBookbuildingFacade.getObstetricDiagnosisQhd(babyManageRequest,loginState.getId()); + } + /** * 处理历史数据 按照时间返回获取保存,格式:lrrqStart=2019062414:41:00&lrrqEnd=2019062418:41:00 @@ -588,6 +623,27 @@ public class BabyBuildController extends BaseController { return babyBookbuildingFacade.queryNewBabyDiagnose(lrrqStart, lrrqEnd); } + /** + * 秦皇岛 处理历史数据 按照时间返回获取保存,格式:lrrqStart=2019062414:41:00&lrrqEnd=2019062418:41:00 + * 将视图数据存储到本地mysql数据库,提供列表查询使用。 + * + * @param request + * @param response + * @param lrrqStart + * @param type 1 新生儿科、2 产科住院数据 + * @param lrrqEnd + * @Author: 武涛涛 + * @Date: 2020/7/14 10:14 + */ + @ResponseBody + @RequestMapping(value = "/queryNewBabyDiagnoseQhd", method = RequestMethod.GET) + public BaseResponse queryNewBabyDiagnoseQhd(HttpServletRequest request, HttpServletResponse response, + @RequestParam(value = "lrrqStart", required = true) String lrrqStart, + @RequestParam(value = "type", required = true) String type, + @RequestParam(value = "lrrqEnd", required = true) String lrrqEnd + ) { + return babyBookbuildingFacade.queryNewBabyDiagnoseQhd(lrrqStart, lrrqEnd, type); + } /** * 获取可以导出的医院列表 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 8e5482a..c63696b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -21,10 +21,7 @@ import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.service.ITrackDownService; -import com.lyms.platform.operate.web.utils.BabyListTask; -import com.lyms.platform.operate.web.utils.CommonsHelper; -import com.lyms.platform.operate.web.utils.GrowthCountTask; -import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.*; @@ -136,7 +133,10 @@ public class BabyBookbuildingFacade { @Autowired private SyncDataService syncDataService; - + @Autowired + private AntExRecordService recordService; + @Autowired + private CommonService commonService; @Autowired private AreaCountFacade areaCountFacade; @@ -2305,6 +2305,119 @@ public class BabyBookbuildingFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { + + String hospitalName = ""; + String hospitalId = ""; + //得到当前登录的医院id + List hospitalIdList = new ArrayList<>(); + List list = null; + BabyModelQuery babyQuery = null; + List models = null; + try { + if (userId != null) { + Users dbuser = usersService.getUsers(userId); + if (dbuser != null) { + hospitalId = String.valueOf(dbuser.getOrgId()); + hospitalIdList.add(hospitalId); + hospitalName = organizationService.getOrganization(Integer.valueOf(hospitalId)).getName(); + } + } + //获取全部儿童信息 + list = new ArrayList<>(); + babyQuery = new BabyModelQuery(); + babyQuery.setNeed("true"); + babyQuery.setPage(request.getPage()); + babyQuery.setLimit(request.getLimit()); + babyQuery.setQueryNo(request.getQueryNo()); + babyQuery.setHospitalIdList(hospitalIdList); + List buildType = new ArrayList(); + buildType.add(1);//儿童直接建档 + buildType.add(2);//产妇分娩建档 + babyQuery.setBuildTypeList(buildType); + babyQuery.setDataStatus(true);//排除自动建档数据 + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setMphone(request.getMphone());//母亲联系方式 + if (StringUtils.isNotEmpty(request.getBirth())) {//生日 + String birthStr = request.getBirth(); + String[] dates = birthStr.split(" - "); + babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); + babyQuery.setBirthEnd(new Date(DateUtil.parseYMD(dates[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); + } + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); + //如果有高危儿多项就加一下 + if(CollectionUtils.isNotEmpty(request.getHighRiskInfos())){ + List parentids = new ArrayList<>(); + for (BabyModel model: models) { + if(StringUtils.isNotEmpty(model.getParentId())){ + parentids.add(model.getParentId()); + } + } + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setNeed("true"); + antExRecordQuery.setParentIds(parentids); + antExRecordQuery.setrFactorList(request.getHighRiskInfos());//高危儿多项 + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); + List antExRecordModelparentids = new ArrayList<>(); + for (AntExRecordModel antExRecordModel: antExRecordModelList) { + if(StringUtils.isNotEmpty(antExRecordModel.getParentId())){ + antExRecordModelparentids.add(antExRecordModel.getParentId()); + } + } + //如果有高危条件,没有查询到高危信息,那就返回null + if(CollectionUtils.isEmpty(antExRecordModelparentids)){ + models = null; + babyQuery.mysqlBuild(0); + }else { + babyQuery.setParentIds(antExRecordModelparentids); + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); + + } + + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } + + if (CollectionUtils.isNotEmpty(models)) { + int batchSize = 50; + int end = 0; + List futures = new ArrayList<>(); + for (int i = 0; i < models.size(); i += batchSize) { + end = (end + batchSize); + if (end > models.size()) { + end = models.size(); + } + List ms = models.subList(i, end); + Callable c = new BabyListQhdTask( + basicConfigFacade, + recordService, + commonService, + basicConfigService, + organizationService, + babyCheckFacade, + ms, hospitalName); + Future f = commonThreadPool.submit(c); + futures.add(f); + } + if (CollectionUtils.isNotEmpty(futures)) { + for (Future f : futures) { + try { + list.addAll((List) f.get()); + } catch (Exception e) { + ExceptionUtils.catchException(e, "baby list error."); + } + } + } + } + + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(list); + objectResponse.setPageInfo(babyQuery.getPageInfo()); + objectResponse.setErrormsg("成功"); + return objectResponse; + } public BaseResponse updateEndCase(BabyCheckRequest request, Integer userId) { @@ -4190,6 +4303,76 @@ public class BabyBookbuildingFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + /** + * 秦皇岛 诊断(新生儿,产科)管理查询 list + * + * @param babyDiagnoseQuery + * @param page + * @param limit + * @param type + * @Author: 武涛涛 + * @Date: 2020/7/14 11:31 + */ + public BaseListResponse getBabyDiacrisisListQhd(BabyDiagnoseQuery babyDiagnoseQuery, Integer page, Integer limit,String type) { + List> result = new ArrayList<>(); + + babyDiagnoseQuery.setLimit(limit); + babyDiagnoseQuery.setPage(page); + babyDiagnoseQuery.setNeed("true"); + babyDiagnoseQuery.setSort(" cyrq desc "); + if(StringUtils.isNotEmpty(type)){ + babyDiagnoseQuery.setType(type); + } + if (StringUtils.isNotEmpty(babyDiagnoseQuery.getStartDischargeDate()) && StringUtils.isNotEmpty(babyDiagnoseQuery.getEndDischargeDate())) { + babyDiagnoseQuery.setStartDischargeDate(babyDiagnoseQuery.getStartDischargeDate() + " 00:00:00"); + babyDiagnoseQuery.setEndDischargeDate(babyDiagnoseQuery.getEndDischargeDate() + " 23:59:59"); + } + if (StringUtils.isNotEmpty(babyDiagnoseQuery.getStartBirthDate()) && StringUtils.isNotEmpty(babyDiagnoseQuery.getEndBirthDate())) { + babyDiagnoseQuery.setStartBirthDate(babyDiagnoseQuery.getStartBirthDate() + " 00:00:00"); + babyDiagnoseQuery.setEndBirthDate(babyDiagnoseQuery.getEndBirthDate() + " 23:59:59"); + } + List babyDiagnoseModels = babyDiagnoseService.queryBabyDiagnosesList(babyDiagnoseQuery); + if (babyDiagnoseModels.size() > 0) { + for (BabyDiagnoseModel info : babyDiagnoseModels) { + Map map = new HashMap<>(); + if (null != info.getCyrq()) { + map.put("dischargeDate", DateUtil.getyyyy_MM_dd(info.getCyrq())); + if (null != info.getBirth()) { + map.put("birth", DateUtil.getyyyy_MM_dd(info.getBirth())); + map.put("monthAge", DateUtil.getBabyMonthAge(info.getBirth(), new Date())); + } + map.put("babyName", info.getHzxm()); + map.put("sex", info.getSex()); + map.put("hospitalizationNo", info.getBlh()); + map.put("dischargeDiagnosis", info.getCyzdmc()); + map.put("contactsPhone", info.getLxrdh()); + map.put("contactPhone", info.getLxdh()); + map.put("contacts", info.getLxr()); + result.add(map); + } + } + } + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setPageInfo(babyDiagnoseQuery.getPageInfo()); + objectResponse.setData(result); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + + /** + * 秦皇岛 产科门诊诊断 list + * + * @param babyManageRequest + * @param userId + * @Author: 武涛涛 + * @Date: 2020/7/15 15:59 + */ + public BaseListResponse getObstetricDiagnosisQhd(BabyManageRequest babyManageRequest, Integer userId) { + + return queryObstetricDiagnosisQhdList(babyManageRequest, userId); + } /** @@ -4205,6 +4388,12 @@ public class BabyBookbuildingFacade { .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(size); } + public BaseObjectResponse queryNewBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { + + int size = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,type); + return new BaseObjectResponse() + .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(size); + } /** * 处理数据 @@ -4238,6 +4427,42 @@ public class BabyBookbuildingFacade { return CollectionUtils.isNotEmpty(list) ? list.size() : 0; } + /** + * 秦皇岛处理儿童诊断数据 + * + * @param lrrqStart + * @param lrrqEnd + * @param type 1 新生儿科、2 产科住院数据 + * @Author: 武涛涛 + * @Date: 2020/7/14 10:13 + */ + public int handleBabyDiagnoseQhd(String lrrqStart, String lrrqEnd, String type) { + + List list = qhdfyHisService.queryNewBabyDiagnoseQhd(lrrqStart, lrrqEnd,type); + + if (CollectionUtils.isNotEmpty(list)) { + Map param = new HashMap(); + for (BabyDischargeDiagnosisModel model : list) { + param.put("blh", model.getBlh()); + + try { + List dbList = babyDiagnoseService.queryBabyDiagnoses(param); + if (CollectionUtils.isEmpty(dbList)) { + BabyDiagnoseModel babyDiagnoseModel = model.convertToDataModel(); + /* 注意:会有个问题,就是以前历史数据会不能区分是1 新生儿科或2 产科住院数据*/ + babyDiagnoseModel.setType(type); + babyDiagnoseService.addBabyDiagnose(babyDiagnoseModel); + System.out.println("handleBabyDiagnose success " + model.getBlh()); + } + } catch (Exception e) { + ExceptionUtils.catchException(e, "handleBabyDiagnose error."); + continue; + } + } + } + + return CollectionUtils.isNotEmpty(list) ? list.size() : 0; + } /** * 获取当前时间前一个小时的数据 @@ -4252,6 +4477,9 @@ public class BabyBookbuildingFacade { System.out.println("lrrqStart =" + lrrqStart); System.out.println("lrrqEnd =" + lrrqEnd); int size = handleBabyDiagnose(lrrqStart, lrrqEnd); + //秦皇岛诊断数据定时同步到mysql数据库中 +// int size1 = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,"1"); +// int size2 = handleBabyDiagnoseQhd(lrrqStart, lrrqEnd,"2"); System.out.println("autoGetBabyDiagnose size " + size); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java new file mode 100644 index 0000000..583bb48 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabyListQhdTask.java @@ -0,0 +1,118 @@ +package com.lyms.platform.operate.web.utils; + +import com.lyms.platform.biz.service.AntExRecordService; +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.CommonService; +import com.lyms.platform.common.enums.ServiceStatusEnums; +import com.lyms.platform.common.enums.ServiceTypeEnums; +import com.lyms.platform.common.enums.SexEnum; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.BabyCheckFacade; +import com.lyms.platform.operate.web.facade.BasicConfigFacade; +import com.lyms.platform.operate.web.result.BabyManageListResult; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.AntExRecordModel; +import com.lyms.platform.pojo.BabyModel; +import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.query.AntExRecordQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.data.domain.Sort; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.Callable; + +/** + * Created by lqy on 2016/11/30. + */ +public class BabyListQhdTask implements Callable { + + private BasicConfigService basicConfigService; + + private OrganizationService organizationService; + + private BabyCheckFacade babyCheckFacade; + + private List models; + + private String hospitalName; + + private BasicConfigFacade basicConfigFacade; + + private AntExRecordService recordService; + private CommonService commonService; + + public BabyListQhdTask( + BasicConfigFacade basicConfigFacade, + AntExRecordService recordService, + CommonService commonService, + BasicConfigService basicConfigService, + OrganizationService organizationService, + BabyCheckFacade babyCheckFacade, + List models, + String hospitalName) { + this.basicConfigFacade = basicConfigFacade; + this.recordService = recordService; + this.commonService = commonService; + this.basicConfigService = basicConfigService; + this.organizationService = organizationService; + this.babyCheckFacade = babyCheckFacade; + this.models = models; + this.hospitalName = hospitalName; + + } + + @Override + public List call() throws Exception { + List list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(models)) { + for (BabyModel model : models) { + BabyManageListResult result = new BabyManageListResult(); + result.setId(model.getId()); + if (model.getHighRisk() == null || model.getHighRisk() == 0) { + result.setHighRisk("健康"); + } else if (model.getHighRisk() == 1) { + result.setHighRisk("高危"); + } + if(StringUtils.isNotEmpty(model.getParentId())){ + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setParentId(model.getParentId());//产检记录没有yn + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); + if(CollectionUtils.isNotEmpty(antExRecordModelList)){ + AntExRecordModel antExRecordModel = antExRecordModelList.get(0); + if(antExRecordModel!=null && CollectionUtils.isNotEmpty(antExRecordModel.gethRisk())){ + List list1 = antExRecordModel.gethRisk(); + if(CollectionUtils.isNotEmpty(list1)){ + String ri = commonService.resloveFactor(list1); + result.setHighRiskInfo(ri); + } + } + } + } + result.setSex(model.getSex() == null ? "" : StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); + result.setBabyName(StringUtils.emptyDeal(model.getName())); + result.setBirthday(StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); + result.setMommyName(StringUtils.emptyDeal(model.getMname())); + result.setMommnyPhone(StringUtils.emptyDeal(model.getMphone())); + result.setMommnyEncryptPhone(StringUtils.encryPhone(model.getMphone())); + result.setMonthAge(StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); + result.setPatientId(model.getParentId()); + result.setBuildTime(DateUtil.getyyyy_MM_dd(model.getBuildDate())); + result.setHospitalName(hospitalName); + result.setMcertNo(model.getMcertNo()); + result.setMcertTypeId(model.getMcertTypeId()); + String diagnose = ""; + result.setDiagnose(StringUtils.emptyDeal(diagnose)); + + list.add(result); + } + } + return list; + } + + +} + + -- 1.8.3.1