diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java index f9d73ee..5ab1bd6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java @@ -84,260 +84,266 @@ public class QuanChanPatientWorker implements Callable> { AntExChuQuery antExChuQuery1 = new AntExChuQuery();//初诊 antExChuQuery1.setYn(YnEnums.YES.getId()); - for (Patients patients : patientses) { - StopWatch stopWatch = new StopWatch("QuanChanPatientWorker -" + patients.getId()); - QuanChanResult chanResult = new QuanChanResult(); - chanResult.setYi("-"); - chanResult.setEr("-"); - chanResult.setSan("-"); - chanResult.setSi("-"); - chanResult.setWu("-"); - chanResult.convertToResult(patients); - //antExQuery.setParentId(patients.getId()); - antExQuery.setPid(patients.getPid()); - antExQuery.setYn(YnEnums.YES.getId()); - //初诊查询 - antExChuQuery1.setPid(patients.getPid()); - //antExChuQuery1.setParentId(patients.getId()); - //增加查询本次产程条数 - antExChuQuery1.setStart(patients.getLastMenses()); - List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); - //复诊次数 - List ant = null; - int i = 0; - if (CollectionUtils.isNotEmpty(chu)) { - for (AntExChuModel a : chu) {//唐山滦县导出判断初诊是否是本院 - if (StringUtils.isNotEmpty(a.getHospitalId())) { - if (a.getHospitalId().equals(hospital)) { - chanResult.setYi("本院"); - } else { - chanResult.setYi("外院"); + try { + for (Patients patients : patientses) { + StopWatch stopWatch = new StopWatch("QuanChanPatientWorker -" + patients.getId()); + QuanChanResult chanResult = new QuanChanResult(); + chanResult.setYi("-"); + chanResult.setEr("-"); + chanResult.setSan("-"); + chanResult.setSi("-"); + chanResult.setWu("-"); + chanResult.convertToResult(patients); + //antExQuery.setParentId(patients.getId()); + antExQuery.setPid(patients.getPid()); + antExQuery.setYn(YnEnums.YES.getId()); + //初诊查询 + antExChuQuery1.setPid(patients.getPid()); + //antExChuQuery1.setParentId(patients.getId()); + //增加查询本次产程条数 + antExChuQuery1.setStart(patients.getLastMenses()); + List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); + //复诊次数 + List ant = null; + int i = 0; + if (CollectionUtils.isNotEmpty(chu)) { + for (AntExChuModel a : chu) {//唐山滦县导出判断初诊是否是本院 + if (StringUtils.isNotEmpty(a.getHospitalId())) { + if (a.getHospitalId().equals(hospital)) { + chanResult.setYi("本院"); + } else { + chanResult.setYi("外院"); + } + break; } - break; } - } - ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery()); + ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery()); - //唐山滦县判断复诊是否是本院 - if (CollectionUtils.isNotEmpty(ant)) { - for (int k = 0; k < ant.size(); k++) { - if (k >= 4) { - break; - } - if (0 == k) { - if (ant.get(k).getHospitalId().equals(hospital)) { - chanResult.setEr("本院"); - } else { - chanResult.setEr("外院"); + //唐山滦县判断复诊是否是本院 + if (CollectionUtils.isNotEmpty(ant)) { + for (int k = 0; k < ant.size(); k++) { + if (k >= 4) { + break; } - } else if (1 == k) { - if (ant.get(k).getHospitalId().equals(hospital)) { - chanResult.setSan("本院"); - } else { - chanResult.setSan("外院"); - } - } else if (2 == k) { - if (ant.get(k).getHospitalId().equals(hospital)) { - chanResult.setSi("本院"); - } else { - chanResult.setSi("外院"); - } - } else if (3 == k) { - if (ant.get(k).getHospitalId().equals(hospital)) { - chanResult.setWu("本院"); - } else { - chanResult.setWu("外院"); + if (0 == k) { + if (ant.get(k).getHospitalId().equals(hospital)) { + chanResult.setEr("本院"); + } else { + chanResult.setEr("外院"); + } + } else if (1 == k) { + if (ant.get(k).getHospitalId().equals(hospital)) { + chanResult.setSan("本院"); + } else { + chanResult.setSan("外院"); + } + } else if (2 == k) { + if (ant.get(k).getHospitalId().equals(hospital)) { + chanResult.setSi("本院"); + } else { + chanResult.setSi("外院"); + } + } else if (3 == k) { + if (ant.get(k).getHospitalId().equals(hospital)) { + chanResult.setWu("本院"); + } else { + chanResult.setWu("外院"); + } } } + i = ant.size(); } - i = ant.size(); } - } - //系统初诊次数 - int ichu = CollectionUtils.isEmpty(chu) ? 0 : chu.size(); - chanResult.setCjTimes(ichu + i); + //系统初诊次数 + int ichu = CollectionUtils.isEmpty(chu) ? 0 : chu.size(); + chanResult.setCjTimes(ichu + i); - //出院小结 - DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); - dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); - dischargeAbstractMotherQuery.setPatientId(patients.getId()); - List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); - if (dischargeAbstractMotherModels != null && dischargeAbstractMotherModels.size() > 0) { - chanResult.setCyxj("有"); - } else { - chanResult.setCyxj("无"); - } - //产后访视 - MatDeliverFollowQuery mfQuery = new MatDeliverFollowQuery(); - mfQuery.setPid(patients.getPid()); - List maternalDeliverList = matDeliverFollowService.query(mfQuery); - if (maternalDeliverList != null && maternalDeliverList.size() > 0) { - chanResult.setChfs("有"); - } else { - chanResult.setChfs("无"); - } - PostReviewQuery pReviewQuery = new PostReviewQuery(); - pReviewQuery.setYn(YnEnums.YES.getId()); - pReviewQuery.setParentId(patients.getId()); - //产后复查记录 - List reviewModels = postReviewService.findWithList(pReviewQuery); - if (reviewModels != null && reviewModels.size() > 0) { - chanResult.setChfc("有"); - } else { - chanResult.setChfc("无"); - } + //出院小结 + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + dischargeAbstractMotherQuery.setPatientId(patients.getId()); + List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + if (dischargeAbstractMotherModels != null && dischargeAbstractMotherModels.size() > 0) { + chanResult.setCyxj("有"); + } else { + chanResult.setCyxj("无"); + } + //产后访视 + MatDeliverFollowQuery mfQuery = new MatDeliverFollowQuery(); + mfQuery.setPid(patients.getPid()); + List maternalDeliverList = matDeliverFollowService.query(mfQuery); + if (maternalDeliverList != null && maternalDeliverList.size() > 0) { + chanResult.setChfs("有"); + } else { + chanResult.setChfs("无"); + } + PostReviewQuery pReviewQuery = new PostReviewQuery(); + pReviewQuery.setYn(YnEnums.YES.getId()); + pReviewQuery.setParentId(patients.getId()); + //产后复查记录 + List reviewModels = postReviewService.findWithList(pReviewQuery); + if (reviewModels != null && reviewModels.size() > 0) { + chanResult.setChfc("有"); + } else { + chanResult.setChfc("无"); + } - if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { - if (NumberUtils.isNumber(patients.getBookbuildingDoctor())) { - Users users = usersService.getUsers(NumberUtils.toInt(patients.getBookbuildingDoctor())); - if (null != users) { - chanResult.setlName(users.getName()); + if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { + if (NumberUtils.isNumber(patients.getBookbuildingDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(patients.getBookbuildingDoctor())); + if (null != users) { + chanResult.setlName(users.getName()); + } else { + chanResult.setlName(patients.getBookbuildingDoctor()); + } } else { chanResult.setlName(patients.getBookbuildingDoctor()); } - } else { - chanResult.setlName(patients.getBookbuildingDoctor()); - } - } - chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); - //注册地址 - chanResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); - chanResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); - try { - if (StringUtils.isNotEmpty(patients.getSource())) { - Patients pat = patientsService.findOnePatientById(patients.getSource()); - chanResult.setFirstBH(organizationService.getOrganization(Integer.valueOf(pat.getHospitalId())).getName()); - } else { - chanResult.setFirstBH(organizationService.getOrganization(Integer.valueOf(patients.getHospitalId())).getName()); } - } catch (Exception e) { - chanResult.setFirstBH(""); - } - //乡镇/街道 - chanResult.setStreet(CommonsHelper.getName1(patients.getStreetRegisterId(), basicConfigService)); - MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); - matDeliverQuery.setPid(patients.getPid()); - matDeliverQuery.setCreatedStart(patients.getLastMenses()); - matDeliverQuery.setYn(YnEnums.YES.getId()); - stopWatch.start("query matdeliver"); - List maternalDeliverModels = matDeliverService.query(matDeliverQuery); - if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { - chanResult.setTireNumber(TaiShuEnums.getTitle(maternalDeliverModels.get(0).getTireNumber() + "")); + chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); + //注册地址 + chanResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); + chanResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); try { - chanResult.setfCh(organizationService.getOrganization(Integer.valueOf(maternalDeliverModels.get(0).getHospitalId())).getName()); + if (StringUtils.isNotEmpty(patients.getSource())) { + Patients pat = patientsService.findOnePatientById(patients.getSource()); + chanResult.setFirstBH(organizationService.getOrganization(Integer.valueOf(pat.getHospitalId())).getName()); + } else { + chanResult.setFirstBH(organizationService.getOrganization(Integer.valueOf(patients.getHospitalId())).getName()); + } } catch (Exception e) { - chanResult.setfCh(""); + chanResult.setFirstBH(""); } - } - stopWatch.stop(); - //复查次数 - PostReviewQuery postReviewQuery = new PostReviewQuery(); - postReviewQuery.setPid(patients.getPid()); - postReviewQuery.setYn(YnEnums.YES.getId()); - //增加查询本次产程条数 - postReviewQuery.setStart(patients.getFmDate()); - - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setPid(patients.getPid()); - patientsQuery.setLastMensesStart(patients.getFmDate()); - List patientses = patientsService.queryPatient(patientsQuery); - if (CollectionUtils.isNotEmpty(patientses)) { - postReviewQuery.setEnd(patientses.get(0).getLastMenses()); - } - - stopWatch.start("query postreview list"); - List withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); - if (CollectionUtils.isNotEmpty(withList)) { - Users users = usersService.getUsers(NumberUtils.toInt(withList.get(0).getProdDoctor())); - if (null != users) { - chanResult.setCheckDoctor(users.getName()); - } else { - chanResult.setCheckDoctor(withList.get(0).getProdDoctor()); + //乡镇/街道 + chanResult.setStreet(CommonsHelper.getName1(patients.getStreetRegisterId(), basicConfigService)); + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setPid(patients.getPid()); + matDeliverQuery.setCreatedStart(patients.getLastMenses()); + matDeliverQuery.setYn(YnEnums.YES.getId()); + stopWatch.start("query matdeliver"); + List maternalDeliverModels = matDeliverService.query(matDeliverQuery); + if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { + chanResult.setTireNumber(TaiShuEnums.getTitle(maternalDeliverModels.get(0).getTireNumber() + "")); + try { + chanResult.setfCh(organizationService.getOrganization(Integer.valueOf(maternalDeliverModels.get(0).getHospitalId())).getName()); + } catch (Exception e) { + chanResult.setfCh(""); + } } - } - String nextCheckTime = ""; - if (CollectionUtils.isNotEmpty(withList)) { - chanResult.setcTimes(withList.size()); - if (null != withList.get(0).getNextCheckTime()) { - nextCheckTime = DateUtil.getyyyy_MM_dd(withList.get(0).getNextCheckTime()); + stopWatch.stop(); + //复查次数 + PostReviewQuery postReviewQuery = new PostReviewQuery(); + postReviewQuery.setPid(patients.getPid()); + postReviewQuery.setYn(YnEnums.YES.getId()); + //增加查询本次产程条数 + postReviewQuery.setStart(patients.getFmDate()); + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setPid(patients.getPid()); + patientsQuery.setLastMensesStart(patients.getFmDate()); + List patientses = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(patientses)) { + postReviewQuery.setEnd(patientses.get(0).getLastMenses()); } - postReviewQuery.setHospitalId(hospital); - withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + stopWatch.start("query postreview list"); + List withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if (CollectionUtils.isNotEmpty(withList)) { + Users users = usersService.getUsers(NumberUtils.toInt(withList.get(0).getProdDoctor())); + if (null != users) { + chanResult.setCheckDoctor(users.getName()); + } else { + chanResult.setCheckDoctor(withList.get(0).getProdDoctor()); + } + } + String nextCheckTime = ""; if (CollectionUtils.isNotEmpty(withList)) { - //本院产后复查次数不为空 - chanResult.setcHTimes(withList.size()); + chanResult.setcTimes(withList.size()); + if (null != withList.get(0).getNextCheckTime()) { + nextCheckTime = DateUtil.getyyyy_MM_dd(withList.get(0).getNextCheckTime()); + } + postReviewQuery.setHospitalId(hospital); + + withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if (CollectionUtils.isNotEmpty(withList)) { + //本院产后复查次数不为空 + chanResult.setcHTimes(withList.size()); // if (null != patients.getPostViewTimes()) { // chanResult.setcHTimes(patients.getPostViewTimes()); // } else { // chanResult.setcHTimes(withList.size()); // } + } } - } - stopWatch.stop(); - chanResult.setServiceType(ServiceTypeEnums.getTitleById(patients.getServiceType())); - chanResult.setServiceStatus(ServiceStatusEnums.getNameById(patients.getServiceStatus())); - chanResult.setNextCheckTime(nextCheckTime); - //操作者 + stopWatch.stop(); + chanResult.setServiceType(ServiceTypeEnums.getTitleById(patients.getServiceType())); + chanResult.setServiceStatus(ServiceStatusEnums.getNameById(patients.getServiceStatus())); + chanResult.setNextCheckTime(nextCheckTime); + //操作者 // chanResult.setOperator(); - //高危因素 - List factor = patients.getRiskFactorId(); - if (CollectionUtils.isNotEmpty(factor)) { - StringBuilder sb = new StringBuilder(56); - for (String srt : factor) { - if (StringUtils.isNotEmpty(srt)) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(srt); - if (null != basicConfig && sb.indexOf(basicConfig.getName()) == -1) { - sb.append(basicConfig.getName()).append(','); + //高危因素 + List factor = patients.getRiskFactorId(); + if (CollectionUtils.isNotEmpty(factor)) { + StringBuilder sb = new StringBuilder(56); + for (String srt : factor) { + if (StringUtils.isNotEmpty(srt)) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(srt); + if (null != basicConfig && sb.indexOf(basicConfig.getName()) == -1) { + sb.append(basicConfig.getName()).append(','); + } } } - } - if (sb.toString().endsWith(",")) { - chanResult.setrFactor(sb.substring(0, sb.length() - 1)); - } else { - chanResult.setrFactor(sb.toString()); - } + if (sb.toString().endsWith(",")) { + chanResult.setrFactor(sb.substring(0, sb.length() - 1)); + } else { + chanResult.setrFactor(sb.toString()); + } - if (!"-".equals(chanResult.getrFactor()) && StringUtils.isNotEmpty(patients.getoRiskFactor())) { - chanResult.setrFactor(chanResult.getrFactor() + "," + patients.getoRiskFactor()); + if (!"-".equals(chanResult.getrFactor()) && StringUtils.isNotEmpty(patients.getoRiskFactor())) { + chanResult.setrFactor(chanResult.getrFactor() + "," + patients.getoRiskFactor()); + } else if (StringUtils.isNotEmpty(patients.getoRiskFactor())) { + chanResult.setrFactor(patients.getoRiskFactor()); + } } else if (StringUtils.isNotEmpty(patients.getoRiskFactor())) { chanResult.setrFactor(patients.getoRiskFactor()); } - } else if (StringUtils.isNotEmpty(patients.getoRiskFactor())) { - chanResult.setrFactor(patients.getoRiskFactor()); - } - List level = new ArrayList(); - if (StringUtils.isNotEmpty(patients.getRiskLevelId())) { - try { - List list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); - for (String str : list) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); - if (null != basicConfig) { - Map map = new HashMap(); - basicConfig.replenRisk(map); - // String name = basicConfig.getName(); - // if (name.indexOf("预警") > -1) { - // name = name.replace("预警", ""); - // } - // map.put("name", name); - // map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - level.add(map); + List level = new ArrayList(); + if (StringUtils.isNotEmpty(patients.getRiskLevelId())) { + try { + List list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); + for (String str : list) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); + if (null != basicConfig) { + Map map = new HashMap(); + basicConfig.replenRisk(map); + // String name = basicConfig.getName(); + // if (name.indexOf("预警") > -1) { + // name = name.replace("预警", ""); + // } + // map.put("name", name); + // map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + level.add(map); + } } + } catch (Exception e) { + ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); } - } catch (Exception e) { - ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); + chanResult.setrLevel(HighScoreResult.filter(level)); } - chanResult.setrLevel(HighScoreResult.filter(level)); - } - chanResult.sethScore(patients.getRiskScore()); - data.add(chanResult); - logger.debug(stopWatch.toString()); + chanResult.sethScore(patients.getRiskScore()); + data.add(chanResult); + logger.debug(stopWatch.toString()); + } + }catch (Exception e) + { + ExceptionUtils.catchException(e, "convertToQuanCPatient get result error."); } + return data; } }