From b01039e03613a0236fb77b5e97f82e2f3462cdfe Mon Sep 17 00:00:00 2001 From: yangfei Date: Tue, 29 Aug 2017 15:37:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AC=E5=8A=9B=E8=AF=8A=E6=96=AD=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/EarController.java | 683 +++++++++++---------- .../operate/web/facade/BabyBookbuildingFacade.java | 67 +- .../platform/operate/web/result/InitFollowUp.java | 10 + 3 files changed, 423 insertions(+), 337 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java index 6061a1a..03e2493 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.controller; +import com.alibaba.fastjson.JSONObject; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; @@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -68,7 +70,7 @@ public class EarController extends BaseController { @ResponseBody @TokenRequired public BaseResponse checkBabyFollowUp(String babyId) { - + InitFollowUp initHearingDiagnose = new InitFollowUp(); if (StringUtils.isEmpty(babyId)) {//传入儿童档案id return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id"); } @@ -108,381 +110,396 @@ public class EarController extends BaseController { for (BabyPatientExtendEarHearingDiagnose hd : hdList) { //有一条记录是已经确诊,可以进行随访 if (hd.getIsconfirm() == 1) { - isConfirm = true; + if (org.apache.commons.lang.StringUtils.isNotEmpty(hd.getConfirmResult()))//确诊结果转换 ConfirmedEnums + { + String[] highFactors = hd.getConfirmResult().split(","); + List confiArr = new ArrayList(); + for (String hf : highFactors) { + if (org.apache.commons.lang.StringUtils.isNotEmpty(hf)) { + String name = ConfirmedEnums.getTitle(Integer.parseInt(hf)); + JSONObject confiJo = new JSONObject(); + confiJo.put("id", hf); + confiJo.put("name", name); + confiArr.add(confiJo); + } + } + initHearingDiagnose.setConfirmResult(confiArr); + initHearingDiagnose.setConfirmData(DateUtil.getyyyy_MM_dd(hd.getConfirmTime())); + isConfirm = true; + } } } - if (!isConfirm) {// //若没有听诊记录或所有听诊记录都未确诊。提示:该儿童还未听力确诊,不能进行随访。 - return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童听诊记录还未有确诊记录不能进行随访"); + if (!isConfirm) {// //若没有听诊记录或所有听诊记录都未确诊。提示:该儿童还未听力确诊,不能进行随访。 + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童听诊记录还未有确诊记录不能进行随访"); + } + //根据条件查询基础配置信息表 + return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - //根据条件查询基础配置信息表 - InitFollowUp initHearingDiagnose = new InitFollowUp(); - return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - - /** - * 进入新增听筛初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initScreen") - @ResponseBody - @TokenRequired - public BaseResponse initScreen() { - //根据条件查询基础配置信息表 - InitScreen initScreen = new InitScreen(); - initScreen.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); - initScreen.setDeafEnumsResult(DeafEnums.getDeafEnums()); - return initScreen.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - /** - * 检测儿童是否能够听筛 - * - * @param babyId 儿童档案id - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/checkBabySrccen") - @ResponseBody - @TokenRequired - public BaseResponse checkBabySrccen(String babyId, HttpServletRequest request) { - - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - if (loginState == null) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); + /** + * 进入新增听筛初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initScreen") + @ResponseBody + @TokenRequired + public BaseResponse initScreen () { + //根据条件查询基础配置信息表 + InitScreen initScreen = new InitScreen(); + initScreen.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); + initScreen.setDeafEnumsResult(DeafEnums.getDeafEnums()); + return initScreen.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - - if (StringUtils.isEmpty(babyId)) {//传入儿童档案id - return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id"); - } + /** + * 检测儿童是否能够听筛 + * + * @param babyId 儿童档案id + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/checkBabySrccen") + @ResponseBody + @TokenRequired + public BaseResponse checkBabySrccen (String babyId, HttpServletRequest request){ + + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + if (loginState == null) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); + } - //查询儿童听力基础信息 - //根据babyId查询是否存 - BabyPatientExtendEarQuery earQuery = new BabyPatientExtendEarQuery(); - earQuery.setBabyPatientId(babyId); - //当前登录人医院Id - String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); - //获取院内医院集合 - List hospiIds = babyEarFacade.getOrgHospitalIds(hospitalId); - earQuery.setCreateHospitalIds((String[]) hospiIds.toArray(new String[hospiIds.size()])); - - List babyPatientExtendEars = babyPatientExtendEarService.queryBabyPatientExtendEar(earQuery); - //是否听力建档 - if (CollectionUtils.isEmpty(babyPatientExtendEars)) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童还未完善听力建档"); - } + if (StringUtils.isEmpty(babyId)) {//传入儿童档案id + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id"); + } - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - /** - * 进入新增随访记录页面前,验证及初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initFollowUp") - @ResponseBody - @TokenRequired - public BaseResponse initFollowUp() { - //根据条件查询基础配置信息表 - InitFollowUp initHearingDiagnose = new InitFollowUp(); - initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); - return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } + //查询儿童听力基础信息 + //根据babyId查询是否存 + BabyPatientExtendEarQuery earQuery = new BabyPatientExtendEarQuery(); + earQuery.setBabyPatientId(babyId); + //当前登录人医院Id + String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); + //获取院内医院集合 + List hospiIds = babyEarFacade.getOrgHospitalIds(hospitalId); + earQuery.setCreateHospitalIds((String[]) hospiIds.toArray(new String[hospiIds.size()])); + + List babyPatientExtendEars = babyPatientExtendEarService.queryBabyPatientExtendEar(earQuery); + //是否听力建档 + if (CollectionUtils.isEmpty(babyPatientExtendEars)) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童还未完善听力建档"); + } - /** - * 听力诊断列表管理初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initHearingDiagnoseListData") - @ResponseBody - @TokenRequired - public BaseResponse initHearingDiagnoseListData() { - InitHearingDiagnoseListData baseResponse = new InitHearingDiagnoseListData(); - //状态 - baseResponse.setStatus(EnumUtil.toJson(HdEnums.StatusEnums.class)); - baseResponse.setSource(EnumUtil.toJson(HdEnums.SourceEnums.class)); - baseResponse.setIsConfirm(EnumUtil.toJson(HdEnums.IsConfirmEnums.class)); - baseResponse.setConfirmResult(EnumUtil.toJson(HdEnums.ConfirmResultEnums.class)); - baseResponse.setConfirmLevel(EnumUtil.toJson(HdEnums.ConfirmLevelEnums.class)); - return baseResponse; - } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); + } - /** - * 进入新增听力诊断页面前,验证及初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initHearingDiagnose") - @ResponseBody - public BaseResponse initHearingDiagnose(String babyId) { - //根据条件查询基础配置信息表 - InitHearingDiagnose initHearingDiagnose = new InitHearingDiagnose(); - initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); - initHearingDiagnose.setHearingDiagnosis(EnumUtil.toJson(HearingDiagnosisEnums.class)); - initHearingDiagnose.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); - initHearingDiagnose.setHandlingSuggestion(HdEnums.getHandlingSuggestionEnums()); - - //查询最后一次听诊时间 - //查询听诊记录 - BabyPatientExtendEarHearingDiagnoseQuery hdQuery = new BabyPatientExtendEarHearingDiagnoseQuery(); - hdQuery.setBabyId(babyId); - hdQuery.setSort("diagnose_time"); - List hdList = hearingDiagnoseService.queryBabyPatientExtendEarHearingDiagnose(hdQuery); - if (CollectionUtils.isNotEmpty(hdList)) { - BabyPatientExtendEarHearingDiagnose ehd = hdList.get(hdList.size() - 1); - initHearingDiagnose.setDiagnoseTime(DateUtil.getyyyy_MM_dd(ehd.getDiagnoseTime())); + /** + * 进入新增随访记录页面前,验证及初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initFollowUp") + @ResponseBody + @TokenRequired + public BaseResponse initFollowUp () { + //根据条件查询基础配置信息表 + InitFollowUp initHearingDiagnose = new InitFollowUp(); + initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); + return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - /** - * 进入新增听力诊断页面前,验证及初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/checkHearingDiagnose") - @ResponseBody - @TokenRequired - public BaseResponse checkHearingDiagnose(String babyId, HttpServletRequest request) { - //开发--跳过验证 - // if(StringUtils.isNotEmpty(babyId)){ - // //根据条件查询基础配置信息表 - // InitFollowUp aa = new InitFollowUp(); - // return aa.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - // } - //获取当前登录用户ID - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - if (loginState == null) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); + /** + * 听力诊断列表管理初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initHearingDiagnoseListData") + @ResponseBody + @TokenRequired + public BaseResponse initHearingDiagnoseListData () { + InitHearingDiagnoseListData baseResponse = new InitHearingDiagnoseListData(); + //状态 + baseResponse.setStatus(EnumUtil.toJson(HdEnums.StatusEnums.class)); + baseResponse.setSource(EnumUtil.toJson(HdEnums.SourceEnums.class)); + baseResponse.setIsConfirm(EnumUtil.toJson(HdEnums.IsConfirmEnums.class)); + baseResponse.setConfirmResult(EnumUtil.toJson(HdEnums.ConfirmResultEnums.class)); + baseResponse.setConfirmLevel(EnumUtil.toJson(HdEnums.ConfirmLevelEnums.class)); + return baseResponse; } - //当前登录人医院Id - String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); - if (StringUtils.isEmpty(babyId)) {//传入儿童档案id - return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id"); + /** + * 进入新增听力诊断页面前,验证及初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initHearingDiagnose") + @ResponseBody + public BaseResponse initHearingDiagnose (String babyId){ + //根据条件查询基础配置信息表 + InitHearingDiagnose initHearingDiagnose = new InitHearingDiagnose(); + initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); + initHearingDiagnose.setHearingDiagnosis(EnumUtil.toJson(HearingDiagnosisEnums.class)); + initHearingDiagnose.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); + initHearingDiagnose.setHandlingSuggestion(HdEnums.getHandlingSuggestionEnums()); + + //查询最后一次听诊时间 + //查询听诊记录 + BabyPatientExtendEarHearingDiagnoseQuery hdQuery = new BabyPatientExtendEarHearingDiagnoseQuery(); + hdQuery.setBabyId(babyId); + hdQuery.setSort("diagnose_time"); + List hdList = hearingDiagnoseService.queryBabyPatientExtendEarHearingDiagnose(hdQuery); + if (CollectionUtils.isNotEmpty(hdList)) { + BabyPatientExtendEarHearingDiagnose ehd = hdList.get(hdList.size() - 1); + initHearingDiagnose.setDiagnoseTime(DateUtil.getyyyy_MM_dd(ehd.getDiagnoseTime())); + } + return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery(); - query.setCheckHospitalId(hospitalId); - query.setBabyId(babyId); - // d、本院:初筛未通过或复筛确诊 - List screenList = screenService.queryBabyPatientExtendEarScreen(query); - if (screenList == null || screenList.size() == 0) {//没有听筛记录,查询转诊记录 - //查询听力转诊申请 // e、外院:有申请记录则允许进行新增听力筛查 - HighriskChangeHospitalQuery hcQuery = new HighriskChangeHospitalQuery(); - hcQuery.setIntoOrgid(hospitalId); - hcQuery.setTargetId(babyId); - List hchList = highchangeService.queryHighriskChangeHospital(hcQuery); - if (hchList == null || hchList.size() == 0) {//没有找到听力转诊申请 - return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("听诊诊断失败,儿童未做听筛"); + /** + * 进入新增听力诊断页面前,验证及初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/checkHearingDiagnose") + @ResponseBody + @TokenRequired + public BaseResponse checkHearingDiagnose (String babyId, HttpServletRequest request){ + //开发--跳过验证 + // if(StringUtils.isNotEmpty(babyId)){ + // //根据条件查询基础配置信息表 + // InitFollowUp aa = new InitFollowUp(); + // return aa.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); + // } + //获取当前登录用户ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + if (loginState == null) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); } - } else { - boolean isResu = false; - for (BabyPatientExtendEarScreen scr : screenList) { - if (scr.getOaeRight() == null) { - scr.setOaeRight(1); - } - if (scr.getOaeLeft() == null) { - scr.setOaeLeft(1); - } - if (scr.getAabrLeft() == null) { - scr.setAabrLeft(1); + //当前登录人医院Id + String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); + + if (StringUtils.isEmpty(babyId)) {//传入儿童档案id + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id"); + } + + BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery(); + query.setCheckHospitalId(hospitalId); + query.setBabyId(babyId); + // d、本院:初筛未通过或复筛确诊 + List screenList = screenService.queryBabyPatientExtendEarScreen(query); + if (screenList == null || screenList.size() == 0) {//没有听筛记录,查询转诊记录 + //查询听力转诊申请 // e、外院:有申请记录则允许进行新增听力筛查 + HighriskChangeHospitalQuery hcQuery = new HighriskChangeHospitalQuery(); + hcQuery.setIntoOrgid(hospitalId); + hcQuery.setTargetId(babyId); + List hchList = highchangeService.queryHighriskChangeHospital(hcQuery); + if (hchList == null || hchList.size() == 0) {//没有找到听力转诊申请 + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("听诊诊断失败,儿童未做听筛"); } - if (scr.getAabrRight() == null) { - scr.setAabrRight(1); + } else { + boolean isResu = false; + for (BabyPatientExtendEarScreen scr : screenList) { + if (scr.getOaeRight() == null) { + scr.setOaeRight(1); + } + if (scr.getOaeLeft() == null) { + scr.setOaeLeft(1); + } + if (scr.getAabrLeft() == null) { + scr.setAabrLeft(1); + } + if (scr.getAabrRight() == null) { + scr.setAabrRight(1); + } + //只要有听筛未通过的就可以进入听诊了 + if (scr.getOaeLeft() == -1 || scr.getOaeRight() == -1 || scr.getAabrLeft() == -1 || scr.getAabrRight() == -1) {//1=通过 -1=未通过 + isResu = true; + break; + } } - //只要有听筛未通过的就可以进入听诊了 - if (scr.getOaeLeft() == -1 || scr.getOaeRight() == -1 || scr.getAabrLeft() == -1 || scr.getAabrRight() == -1) {//1=通过 -1=未通过 - isResu = true; - break; + if (!isResu) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童听筛已通过,不能进行听力诊断"); } } - if (!isResu) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童听筛已通过,不能进行听力诊断"); - } - } - //根据条件查询基础配置信息表 - InitHearingDiagnose initHearingDiagnose = new InitHearingDiagnose(); - initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); + //根据条件查询基础配置信息表 + InitHearingDiagnose initHearingDiagnose = new InitHearingDiagnose(); + initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); - initHearingDiagnose.setHearingDiagnosis(EnumUtil.toJson(HearingDiagnosisEnums.class)); + initHearingDiagnose.setHearingDiagnosis(EnumUtil.toJson(HearingDiagnosisEnums.class)); - initHearingDiagnose.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); - - return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - - /** - * 随访模块列表管理初始化数据 - * - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initHighrFollowUpData") - @ResponseBody - @TokenRequired - public BaseResponse initHighrFollowUpData() { - InitFollowUpListData initFollowUpListData = new InitFollowUpListData(); - //确诊结果 - initFollowUpListData.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); - //是否结案 - initFollowUpListData.setIsClose(EnumUtil.toJson(IsCloseEnums.class)); - //来源 - initFollowUpListData.setSource(EnumUtil.toJson(SourceEnums.class)); - //干预治疗 - initFollowUpListData.setTreatment(EnumUtil.toJson(TreatmentEnums.class)); - return initFollowUpListData.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } + initHearingDiagnose.setHighRiskConfirms(EnumUtil.toJson(HighRiskEnum.class)); - /** - * 进入新增听力转诊页面前,验证及初始化数据 - * - * @param babyId 儿童档案ID - * @return - */ - @RequestMapping(method = RequestMethod.GET, value = "/initHighrChangeHosp") - @ResponseBody - @TokenRequired - public BaseResponse initHighrChangeHosp(String babyId, HttpServletRequest request) { - //根据babyId和当前医院id - //获取当前登录用户ID - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - if (loginState == null) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); + return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - //医院id - String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); - //根据医院id和儿童档案id获取听力筛查记录,获取一次初筛记录和最后一次复筛记录,将初筛和复筛的检测结果显示到转诊申请页。 - BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery(); - query.setCheckHospitalId(hospitalId); - query.setBabyId(babyId); - query.setStatus(0); - query.setSort("create_date"); - // d、本院:初筛未通过或复筛确诊 - List screenList = screenService.queryBabyPatientExtendEarScreen(query); - if (screenList == null && screenList.size() == 0) { - return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("该儿童还未听筛记录不能进行听力转诊"); + /** + * 随访模块列表管理初始化数据 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initHighrFollowUpData") + @ResponseBody + @TokenRequired + public BaseResponse initHighrFollowUpData () { + InitFollowUpListData initFollowUpListData = new InitFollowUpListData(); + //确诊结果 + initFollowUpListData.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class)); + //是否结案 + initFollowUpListData.setIsClose(EnumUtil.toJson(IsCloseEnums.class)); + //来源 + initFollowUpListData.setSource(EnumUtil.toJson(SourceEnums.class)); + //干预治疗 + initFollowUpListData.setTreatment(EnumUtil.toJson(TreatmentEnums.class)); + return initFollowUpListData.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - //根据医院ID和babyid查询听筛初筛第一条记录和复筛最后一条记录进行并集。前端显示 - Map map = new HashMap<>(); - //取第一条初筛记录结果 - BabyPatientExtendEarScreen firstScreen = screenList.get(0); - if (firstScreen.getOaeLeft() == null) { - firstScreen.setOaeLeft(1); - } - if (firstScreen.getOaeRight() == null) { - firstScreen.setOaeRight(1); - } - if (firstScreen.getAabrLeft() == null) { - firstScreen.setAabrLeft(1); - } - if (firstScreen.getAabrRight() == null) { - firstScreen.setAabrRight(1); - } - //初筛未通过 - StringBuffer firstResu = new StringBuffer(); - if (firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1 || firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1) {//oae未通过 - firstResu.append("未通过("); - } - if ((firstScreen.getOaeLeft() == -1 || firstScreen.getAabrLeft() == -1) && (firstScreen.getOaeRight() == -1 || firstScreen.getAabrRight() == -1)) {//oae未通过 - firstResu.append("双耳"); - } else if (firstScreen.getOaeLeft() == -1 || firstScreen.getAabrLeft() == -1) {//oae未通过 - firstResu.append("左耳"); - } else if (firstScreen.getOaeRight() == -1 || firstScreen.getAabrRight() == -1) {//aabr未通过 - firstResu.append("右耳"); - } - if (StringUtils.isNotEmpty(firstResu.toString())) { - firstResu.append(")"); - } - - map.put("firstResu", firstResu.toString()); - if ((firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1) && (firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1)) { - map.put("firstMethod", "OAE/AABR"); - } else if (firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1) { - map.put("firstMethod", "OAE"); - } else if (firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1) { - map.put("firstMethod", "AABR"); - } - //初筛时间 - map.put("firstTime", DateUtil.getyyyy_MM_dd(firstScreen.getScreenDate())); - - if (screenList.size() > 1) { - //取复筛记录最后一条结果 - BabyPatientExtendEarScreen endScreen = screenList.get(screenList.size() - 1); - //初筛未通过 - StringBuffer endResu = new StringBuffer(); - if ((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1)) {//oae未通过 - endResu.append("未通过("); + /** + * 进入新增听力转诊页面前,验证及初始化数据 + * + * @param babyId 儿童档案ID + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/initHighrChangeHosp") + @ResponseBody + @TokenRequired + public BaseResponse initHighrChangeHosp (String babyId, HttpServletRequest request){ + //根据babyId和当前医院id + //获取当前登录用户ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + if (loginState == null) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); + } + //医院id + String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); + + //根据医院id和儿童档案id获取听力筛查记录,获取一次初筛记录和最后一次复筛记录,将初筛和复筛的检测结果显示到转诊申请页。 + BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery(); + query.setCheckHospitalId(hospitalId); + query.setBabyId(babyId); + query.setStatus(0); + query.setSort("create_date"); + // d、本院:初筛未通过或复筛确诊 + List screenList = screenService.queryBabyPatientExtendEarScreen(query); + if (screenList == null && screenList.size() == 0) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("该儿童还未听筛记录不能进行听力转诊"); } - if (((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1)) && ((endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1))) {//oae未通过 - endResu.append("双耳"); + //根据医院ID和babyid查询听筛初筛第一条记录和复筛最后一条记录进行并集。前端显示 + Map map = new HashMap<>(); + //取第一条初筛记录结果 + BabyPatientExtendEarScreen firstScreen = screenList.get(0); - } else if ((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1)) {//oae未通过 - endResu.append("左耳"); - } else if ((endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1)) {//aabr未通过 - endResu.append("右耳"); + if (firstScreen.getOaeLeft() == null) { + firstScreen.setOaeLeft(1); } - if (StringUtils.isNotEmpty(endResu.toString())) { - endResu.append(")"); + if (firstScreen.getOaeRight() == null) { + firstScreen.setOaeRight(1); } - - map.put("endResu", endResu.toString()); - - if (endScreen.getOaeLeft() == null) { - endScreen.setOaeLeft(1); + if (firstScreen.getAabrLeft() == null) { + firstScreen.setAabrLeft(1); } - if (endScreen.getOaeRight() == null) { - endScreen.setOaeRight(1); + if (firstScreen.getAabrRight() == null) { + firstScreen.setAabrRight(1); } - if (endScreen.getAabrLeft() == null) { - endScreen.setAabrLeft(1); + //初筛未通过 + StringBuffer firstResu = new StringBuffer(); + if (firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1 || firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1) {//oae未通过 + firstResu.append("未通过("); } - if (endScreen.getAabrRight() == null) { - endScreen.setAabrRight(1); + if ((firstScreen.getOaeLeft() == -1 || firstScreen.getAabrLeft() == -1) && (firstScreen.getOaeRight() == -1 || firstScreen.getAabrRight() == -1)) {//oae未通过 + firstResu.append("双耳"); + } else if (firstScreen.getOaeLeft() == -1 || firstScreen.getAabrLeft() == -1) {//oae未通过 + firstResu.append("左耳"); + } else if (firstScreen.getOaeRight() == -1 || firstScreen.getAabrRight() == -1) {//aabr未通过 + firstResu.append("右耳"); + } + if (StringUtils.isNotEmpty(firstResu.toString())) { + firstResu.append(")"); } - if ((endScreen.getOaeLeft() == -1 || endScreen.getOaeRight() == -1) && (endScreen.getAabrLeft() == -1 || endScreen.getAabrRight() == -1)) { - map.put("endMethod", "OAE/AABR"); - } else if (endScreen.getOaeLeft() == -1 || endScreen.getOaeRight() == -1) { - map.put("endMethod", "OAE"); - } else if (endScreen.getAabrLeft() == -1 || endScreen.getAabrRight() == -1) { - map.put("endMethod", "AABR"); + map.put("firstResu", firstResu.toString()); + if ((firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1) && (firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1)) { + map.put("firstMethod", "OAE/AABR"); + } else if (firstScreen.getOaeLeft() == -1 || firstScreen.getOaeRight() == -1) { + map.put("firstMethod", "OAE"); + } else if (firstScreen.getAabrLeft() == -1 || firstScreen.getAabrRight() == -1) { + map.put("firstMethod", "AABR"); } //初筛时间 - map.put("endTime", DateUtil.getyyyy_MM_dd(endScreen.getScreenDate())); + map.put("firstTime", DateUtil.getyyyy_MM_dd(firstScreen.getScreenDate())); + + if (screenList.size() > 1) { + //取复筛记录最后一条结果 + BabyPatientExtendEarScreen endScreen = screenList.get(screenList.size() - 1); + //初筛未通过 + StringBuffer endResu = new StringBuffer(); + if ((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1)) {//oae未通过 + endResu.append("未通过("); + } + if (((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1)) && ((endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1))) {//oae未通过 + endResu.append("双耳"); + + } else if ((endScreen.getOaeLeft() != null && endScreen.getOaeLeft() == -1) || (endScreen.getAabrLeft() != null && endScreen.getAabrLeft() == -1)) {//oae未通过 + endResu.append("左耳"); + } else if ((endScreen.getOaeRight() != null && endScreen.getOaeRight() == -1) || (endScreen.getAabrRight() != null && endScreen.getAabrRight() == -1)) {//aabr未通过 + endResu.append("右耳"); + } + if (StringUtils.isNotEmpty(endResu.toString())) { + endResu.append(")"); + } + + map.put("endResu", endResu.toString()); + + if (endScreen.getOaeLeft() == null) { + endScreen.setOaeLeft(1); + } + if (endScreen.getOaeRight() == null) { + endScreen.setOaeRight(1); + } + if (endScreen.getAabrLeft() == null) { + endScreen.setAabrLeft(1); + } + if (endScreen.getAabrRight() == null) { + endScreen.setAabrRight(1); + } + + if ((endScreen.getOaeLeft() == -1 || endScreen.getOaeRight() == -1) && (endScreen.getAabrLeft() == -1 || endScreen.getAabrRight() == -1)) { + map.put("endMethod", "OAE/AABR"); + } else if (endScreen.getOaeLeft() == -1 || endScreen.getOaeRight() == -1) { + map.put("endMethod", "OAE"); + } else if (endScreen.getAabrLeft() == -1 || endScreen.getAabrRight() == -1) { + map.put("endMethod", "AABR"); + } + //初筛时间 + map.put("endTime", DateUtil.getyyyy_MM_dd(endScreen.getScreenDate())); + } + BaseResponse baseResp = new BaseResponse(); + baseResp.setObject(map); + return baseResp.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); } - BaseResponse baseResp = new BaseResponse(); - baseResp.setObject(map); - return baseResp.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); - } - /** - * 添加儿童建档 - * - * @return - */ - @RequestMapping(method = RequestMethod.POST) - @ResponseBody - @TokenRequired - public BaseObjectResponse add(BabyPatientExtendEar ear, BabyPatientExtendEarBirth earBirth, - BabyPatientExtendEarMother earMother, BabyPatientExtendEarFamily earFamily, HttpServletRequest request) { - return babyPatientExtendEarService.insert(ear, earBirth, earMother, earFamily, getUserId(request)); - } + /** + * 添加儿童建档 + * + * @return + */ + @RequestMapping(method = RequestMethod.POST) + @ResponseBody + @TokenRequired + public BaseObjectResponse add (BabyPatientExtendEar ear, BabyPatientExtendEarBirth earBirth, + BabyPatientExtendEarMother earMother, BabyPatientExtendEarFamily earFamily, HttpServletRequest request){ + return babyPatientExtendEarService.insert(ear, earBirth, earMother, earFamily, getUserId(request)); + } - /** - * 获取 添加儿童建档界面的 下拉列表数据 - * - * @return - */ - @RequestMapping(value = "/configs", method = RequestMethod.GET) - @ResponseBody - public BaseObjectResponse configs() { - return babyPatientExtendEarService.getConfigs(); - } + /** + * 获取 添加儿童建档界面的 下拉列表数据 + * + * @return + */ + @RequestMapping(value = "/configs", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse configs () { + return babyPatientExtendEarService.getConfigs(); + } -} + } 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 927f1aa..3662879 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 @@ -13,7 +13,10 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; -import com.lyms.platform.operate.web.request.*; +import com.lyms.platform.operate.web.request.BabyBookbuildingAddRequest; +import com.lyms.platform.operate.web.request.BabyGuideSmsequest; +import com.lyms.platform.operate.web.request.BabyManageRequest; +import com.lyms.platform.operate.web.request.BookbuildingQueryRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.BabyListTask; import com.lyms.platform.operate.web.utils.GrowthCountTask; @@ -1260,8 +1263,8 @@ public class BabyBookbuildingFacade { result.setMalformation(model.getMalformation()); result.setApgarScore(JsonUtil.str2Obj(model.getApgarScore(), Map.class)); - result.setHighRisk(model.getHighRisk()); + //result.setHighRiskReason(model.getHighRiskReason()); result.setExpVip(model.getExpVip()); result.setMremark(model.getMremark() == null ? "" : model.getMremark()); @@ -1818,6 +1821,62 @@ public class BabyBookbuildingFacade { return objectResponse; } + public HighScoreResult queryRisk(List id, boolean n) { + HighScoreResult highScoreResult = new HighScoreResult(); + BasicConfigQuery + basicConfigQuery = new BasicConfigQuery(); + List data = new ArrayList(); + List dat1a = new ArrayList(); + Integer score = null; + if (CollectionUtils.isNotEmpty(id)) { + score = 0; + for (String i : id) { + basicConfigQuery.setId(i); + List basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); + if (CollectionUtils.isNotEmpty(basicConfigs)) { + for (BasicConfig basicConfig : basicConfigs) { + Map map = new HashMap<>(); + map.put("id", basicConfig.getId()); + map.put("name", basicConfig.getName()); + map.put("code", basicConfig.getCode()); + basicConfigQuery.setId(basicConfig.getParentId()); + List basicConfigs2 = basicConfigService.queryBasicConfig(basicConfigQuery); + if (CollectionUtils.isNotEmpty(basicConfigs2)) { + for (BasicConfig bc : basicConfigs2) { + String name = bc.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + } + } + if (org.apache.commons.lang.StringUtils.isNotEmpty(basicConfig.getCode())) { + score += org.apache.commons.lang.math.NumberUtils.toInt(basicConfig.getCode(), 0); + } + if (n) { + BasicConfig basicConfig1 = basicConfigService.getOneBasicConfigById(basicConfig.getParentId()); + if (null != basicConfig1) { + Map map1 = new HashMap<>(); + map1.put("id", basicConfig1.getId()); + String name = basicConfig1.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + map1.put("name", name); + map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + dat1a.add(map1); + } + } + data.add(map); + } + } + } + } + highScoreResult.setHighRisk(data); + highScoreResult.setScore(score); + highScoreResult.setLevel(dat1a); + return highScoreResult; + } public List queryRisk(List id) { BasicConfigQuery @@ -2409,8 +2468,8 @@ public class BabyBookbuildingFacade { result.setDueType(babyModel.getDueType()); result.setMalformation(babyModel.getMalformation()); result.setApgarScore(JsonUtil.str2Obj(babyModel.getApgarScore(), Map.class)); - result.setmHighRiskReason(babyModel.getmHighRiskReason()); - + //母亲高危因素 + result.setmHighRiskReason2(queryRisk(babyModel.getmHighRiskReason(),false).getHighRisk()); result.setFatherProfessionTypeId(babyModel.getFproTypeId()); } else { patientsQuery.setPhoneOrCert(cardNo); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/InitFollowUp.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/InitFollowUp.java index 6ab1cb6..a68a99a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/InitFollowUp.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/InitFollowUp.java @@ -13,6 +13,16 @@ import java.util.Map; public class InitFollowUp extends BaseResponse { //确诊结果 private List> confirmResult; + //确诊时间 + private String confirmData; + + public String getConfirmData() { + return confirmData; + } + + public void setConfirmData(String confirmData) { + this.confirmData = confirmData; + } public List> getConfirmResult() { return confirmResult; -- 1.8.3.1