From da54ca2b92d90473e845227225c6f130caadefb5 Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Wed, 29 May 2019 16:00:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=96=E5=8C=BA=E5=8D=AB=E7=94=9F=E9=99=A2?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/PatientFacade.java | 276 +++++++++++---------- 1 file changed, 141 insertions(+), 135 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 8275eea..cf561d2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -114,6 +114,7 @@ public class PatientFacade { @Autowired private PatientWeightService patientWeightService; + /** * 修改产妇的社区 * @@ -404,154 +405,158 @@ public class PatientFacade { List hospitalList = null; List fmHospitalList = null; - //区域范围内孕妇 - if (isRegion) { - - //徐倩说的额改成只查询分娩医院记录 不管是否隐藏建档 20180703 10:01 - //http://jira.healthbaby.com.cn/browse/WEB-2711 - if (type != 3) { - patientsQuery.setExtEnable(false); - } + //辖区卫生院关闭权限 + if (StringUtils.isEmpty(riskPatientsQueryRequest.getTownOrgId())) { + //区域范围内孕妇 + if (isRegion) { + + //徐倩说的额改成只查询分娩医院记录 不管是否隐藏建档 20180703 10:01 + //http://jira.healthbaby.com.cn/browse/WEB-2711 + if (type != 3) { + patientsQuery.setExtEnable(false); + } - //王平说的 必须要给区域医院权限,不然他就是蠢逼 201611124 16:41 - hospitalList = new ArrayList<>(); - fmHospitalList = new ArrayList<>(); + //王平说的 必须要给区域医院权限,不然他就是蠢逼 201611124 16:41 + hospitalList = new ArrayList<>(); + fmHospitalList = new ArrayList<>(); - String hospital = autoMatchFacade.getHospitalId(userId); - if (null != hospital) { - hospitalList.add(hospital); - } - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); - dataPermissionsModelQuery.setUserId(userId); - List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); - if (CollectionUtils.isNotEmpty(permissionsModels)) { - Set set = permissionsModels.get(0).getData().keySet(); - Iterator it = set.iterator(); - while (it.hasNext()) { - String id = it.next(); - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) { - hospitalList.add(id); - } + String hospital = autoMatchFacade.getHospitalId(userId); + if (null != hospital) { + hospitalList.add(hospital); } - } - if (StringUtils.isNotEmpty(riskPatientsQueryRequest.gethId())) { - List orgId = new ArrayList<>(); - orgId.add(riskPatientsQueryRequest.gethId()); - hospitalList.retainAll(orgId); - } else if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCprovinceId())) { - OrganizationQuery organizationQuery = new OrganizationQuery(); - organizationQuery.setYn(YnEnums.YES.getId()); - organizationQuery.setProvinceId(riskPatientsQueryRequest.getCprovinceId()); - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCcityId())) { - organizationQuery.setCityId(riskPatientsQueryRequest.getCcityId()); - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCareaId())) { - organizationQuery.setAreaId(riskPatientsQueryRequest.getCareaId()); - } - } - List orgId = new ArrayList<>(); - List organizations = organizationService.queryOrganization(organizationQuery); - if (CollectionUtils.isNotEmpty(organizations)) { - for (Organization org : organizations) { - if (null != org.getId()) { - orgId.add(org.getId() + ""); + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(userId); + List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + Set set = permissionsModels.get(0).getData().keySet(); + Iterator it = set.iterator(); + while (it.hasNext()) { + String id = it.next(); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) { + hospitalList.add(id); } } } - if (CollectionUtils.isEmpty(orgId)) { - hospitalList = new ArrayList<>(); - } else { + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.gethId())) { + List orgId = new ArrayList<>(); + orgId.add(riskPatientsQueryRequest.gethId()); hospitalList.retainAll(orgId); - } - } - patientsQuery.setHospitalList(hospitalList); - - fmHospitalList.addAll(hospitalList); - - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { - OrganizationQuery organizationQuery = new OrganizationQuery(); - organizationQuery.setYn(YnEnums.YES.getId()); - organizationQuery.setProvinceId(riskPatientsQueryRequest.getFprovinceId()); - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFcityId())) { - organizationQuery.setCityId(riskPatientsQueryRequest.getFcityId()); - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFareaId())) { - organizationQuery.setAreaId(riskPatientsQueryRequest.getFareaId()); + } else if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCprovinceId())) { + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setProvinceId(riskPatientsQueryRequest.getCprovinceId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCcityId())) { + organizationQuery.setCityId(riskPatientsQueryRequest.getCcityId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getCareaId())) { + organizationQuery.setAreaId(riskPatientsQueryRequest.getCareaId()); + } + } + List orgId = new ArrayList<>(); + List organizations = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(organizations)) { + for (Organization org : organizations) { + if (null != org.getId()) { + orgId.add(org.getId() + ""); + } + } + } + if (CollectionUtils.isEmpty(orgId)) { + hospitalList = new ArrayList<>(); + } else { + hospitalList.retainAll(orgId); } } - List orgId = new ArrayList<>(); - List organizations = organizationService.queryOrganization(organizationQuery); - if (CollectionUtils.isNotEmpty(organizations)) { - for (Organization org : organizations) { - if (null != org.getId()) { - orgId.add(org.getId() + ""); + patientsQuery.setHospitalList(hospitalList); + + fmHospitalList.addAll(hospitalList); + + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setProvinceId(riskPatientsQueryRequest.getFprovinceId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFcityId())) { + organizationQuery.setCityId(riskPatientsQueryRequest.getFcityId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFareaId())) { + organizationQuery.setAreaId(riskPatientsQueryRequest.getFareaId()); } } + List orgId = new ArrayList<>(); + List organizations = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(organizations)) { + for (Organization org : organizations) { + if (null != org.getId()) { + orgId.add(org.getId() + ""); + } + } + } + if (CollectionUtils.isEmpty(orgId)) { + fmHospitalList = new ArrayList<>(); + } else { + fmHospitalList.retainAll(orgId); + } + } else { + //没有选择分娩医院 并且未产妇查询的时候 就只查询主档案 + if (type == 3) { + patientsQuery.setExtSource(false); + } } - if (CollectionUtils.isEmpty(orgId)) { - fmHospitalList = new ArrayList<>(); + + + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFmHospital())) { + patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); } else { - fmHospitalList.retainAll(orgId); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { + patientsQuery.setFmHospitalList(fmHospitalList); + } } } else { - //没有选择分娩医院 并且未产妇查询的时候 就只查询主档案 - if (type == 3) { - patientsQuery.setExtSource(false); - } - } - - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFmHospital())) { patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); - } else { - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { - patientsQuery.setFmHospitalList(fmHospitalList); + String hospital = autoMatchFacade.getHospitalId(userId); + if (null != hospital) { + patientsQuery.setHospitalId(hospital); } - } - } else { - patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); - String hospital = autoMatchFacade.getHospitalId(userId); - if (null != hospital) { - patientsQuery.setHospitalId(hospital); - } + //根据疾病进行查询 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDiseaseType())) { + MongoCondition criteria = new MongoCondition("hospitalId", hospital, MongoOper.IS); - //根据疾病进行查询 - if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDiseaseType())) { - MongoCondition criteria = new MongoCondition("hospitalId", hospital, MongoOper.IS); + List mongoCondits = new ArrayList<>(); + //乙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.YIGAN.getId())) { + mongoCondits.add(new MongoCondition("ygbmky", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygbmky", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("ygbmkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygbmkt", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("ygeky", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygeky", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("ygekt", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygekt", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("yghxkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("yghxkt", "", MongoOper.NE))); - List mongoCondits = new ArrayList<>(); - //乙肝查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.YIGAN.getId())) { - mongoCondits.add(new MongoCondition("ygbmky", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygbmky", "", MongoOper.NE))); - mongoCondits.add(new MongoCondition("ygbmkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygbmkt", "", MongoOper.NE))); - mongoCondits.add(new MongoCondition("ygeky", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygeky", "", MongoOper.NE))); - mongoCondits.add(new MongoCondition("ygekt", true, MongoOper.EXISTS).orCondition(new MongoCondition("ygekt", "", MongoOper.NE))); - mongoCondits.add(new MongoCondition("yghxkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("yghxkt", "", MongoOper.NE))); - - } - //丙肝查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.BINGGAN.getId())) { - mongoCondits.add(new MongoCondition("bg", true, MongoOper.EXISTS).orCondition(new MongoCondition("bg", "", MongoOper.NE))); - } - //梅毒查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.MEIDU.getId())) { - mongoCondits.add(new MongoCondition("syjg", true, MongoOper.EXISTS).orCondition(new MongoCondition("syjg", "", MongoOper.NE))); - mongoCondits.add(new MongoCondition("hivkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("hivkt", "", MongoOper.NE))); + } + //丙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.BINGGAN.getId())) { + mongoCondits.add(new MongoCondition("bg", true, MongoOper.EXISTS).orCondition(new MongoCondition("bg", "", MongoOper.NE))); + } + //梅毒查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.MEIDU.getId())) { + mongoCondits.add(new MongoCondition("syjg", true, MongoOper.EXISTS).orCondition(new MongoCondition("syjg", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("hivkt", true, MongoOper.EXISTS).orCondition(new MongoCondition("hivkt", "", MongoOper.NE))); - } - criteria = criteria.orCondition(mongoCondits.toArray(new MongoCondition[mongoCondits.size()])); + } + criteria = criteria.orCondition(mongoCondits.toArray(new MongoCondition[mongoCondits.size()])); - List antExChuModels = antExService.queryAntExChu(criteria.toMongoQuery()); - List pIds = new ArrayList<>(); - for (AntExChuModel antChu : antExChuModels) { - pIds.add(antChu.getPid()); + List antExChuModels = antExService.queryAntExChu(criteria.toMongoQuery()); + List pIds = new ArrayList<>(); + for (AntExChuModel antChu : antExChuModels) { + pIds.add(antChu.getPid()); + } + patientsQuery.setpIds(pIds); } - patientsQuery.setpIds(pIds); - } /* boolean result = autoMatchFacade.checkBStatus(userId); if(!result){ patientsQuery.setEnable("0"); }*/ + } + } patientsQuery.setNeed(needPage); @@ -1046,13 +1051,13 @@ public class PatientFacade { } } - public void zcKeyPregnantWomenExcel(String ids, HttpServletResponse response,Integer userId) { + public void zcKeyPregnantWomenExcel(String ids, HttpServletResponse response, Integer userId) { try { //1 获取list数据 List authors = Arrays.asList(ids.split(",")); Query query = Query.query(Criteria.where("id").in(authors)); - List patientsList = mongoTemplate.find(query, Patients.class); + List patientsList = mongoTemplate.find(query, Patients.class); String hospital = autoMatchFacade.getHospitalId(userId); List keyPregnantWomenExcelModelList = new ArrayList<>(); @@ -1075,9 +1080,9 @@ public class PatientFacade { AntExChuModel data = antExService.findOne(patients.getId()); //孕次:怀孕次数== 查看母子实现 - keyPregnantWomenExcelModel.setPregnancyTimes(data==null?0:(data.getPregnancyTimes()==null ? 0:data.getPregnancyTimes())); + keyPregnantWomenExcelModel.setPregnancyTimes(data == null ? 0 : (data.getPregnancyTimes() == null ? 0 : data.getPregnancyTimes())); //产次:生产次数== 查看母子实现 - keyPregnantWomenExcelModel.setProdTime(data==null?1:(data.getProdTime()==null ? 1:data.getProdTime()+1)); + keyPregnantWomenExcelModel.setProdTime(data == null ? 1 : (data.getProdTime() == null ? 1 : data.getProdTime() + 1)); //预产期:产妇预产期==dueDate keyPregnantWomenExcelModel.setDueDate(DateUtil.getyyyy_MM_dd(patients.getDueDate())); //居住地址:现住地址== addressRegister(孕妇居住地)addressPostRest(产后休养地) @@ -1126,8 +1131,8 @@ public class PatientFacade { header.put("husbandPhone", "丈夫手机"); header.put("rFactor", "重点疾病"); header.put("rLevel", "高危等级"); - header.put("acknowledgingTiem","确认时间"); - header.put("exportime","随访-第一次日期"); + header.put("acknowledgingTiem", "确认时间"); + header.put("exportime", "随访-第一次日期"); response.setContentType("application/force-download"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(("重点孕妇登记表.xls").getBytes("UTF-8"), "ISO-8859-1")); ExcelUtil.toExcel(response.getOutputStream(), list, header); @@ -1136,8 +1141,10 @@ public class PatientFacade { // ExcelUtil.writeWhExclFile(path, response.getOutputStream(), list); } catch (Exception e) { - ExceptionUtils.catchException(e, e.getMessage()); } + ExceptionUtils.catchException(e, e.getMessage()); + } } + private String getBasicConfig(String id) { if (com.lyms.platform.common.utils.StringUtils.isEmpty(id)) { return ""; @@ -1148,6 +1155,7 @@ public class PatientFacade { } return ""; } + private void getRiskLevelId(Patients patients, KeyPregnantWomenExcelModel keyPregnantWomenExcelModel) { List level = new ArrayList(); if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getRiskLevelId())) { @@ -1192,14 +1200,11 @@ public class PatientFacade { } if (!"-".equals(keyPregnantWomenExcelModel.getrFactor()) && org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) { - keyPregnantWomenExcelModel.setrFactor(keyPregnantWomenExcelModel.getrFactor()+","+patients.getoRiskFactor()); - }else if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) - { + keyPregnantWomenExcelModel.setrFactor(keyPregnantWomenExcelModel.getrFactor() + "," + patients.getoRiskFactor()); + } else if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) { keyPregnantWomenExcelModel.setrFactor(patients.getoRiskFactor()); } - } - else if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) - { + } else if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) { keyPregnantWomenExcelModel.setrFactor(patients.getoRiskFactor()); } } @@ -1417,6 +1422,7 @@ public class PatientFacade { patientManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); return patientManagerResult; } + public PatientManagerResult healthHandbookExcelManager(PatientManagerRequest patientManagerRequest) { PatientManagerResult patientManagerResult = new PatientManagerResult(); @@ -1491,13 +1497,13 @@ public class PatientFacade { //身份证号码:孕妇身份证号码 ==cardNo healthHandbookExcelModel.setCardNo(patients.getCardNo()); //发放机构:当前机构名称== 当前机构名称 - String hospitalName= couponMapper.getHospitalName(patients.getHospitalId()); - healthHandbookExcelModel.setOrganization(hospitalName==null?"诸城市人民医院":hospitalName); + String hospitalName = couponMapper.getHospitalName(patients.getHospitalId()); + healthHandbookExcelModel.setOrganization(hospitalName == null ? "诸城市人民医院" : hospitalName); //镇街、村居或单位:现住地址 healthHandbookExcelModel.setAddress(patients.getAddress()); //孩次:分娩儿童数 AntExChuModel data = antExService.findOne(patients.getId()); - healthHandbookExcelModel.setChildTime(data==null?1:(data.getProdTime()==null ? 1:data.getProdTime()+1)); + healthHandbookExcelModel.setChildTime(data == null ? 1 : (data.getProdTime() == null ? 1 : data.getProdTime() + 1)); //孕期:当前使用有孕== 有孕 healthHandbookExcelModel.setGestation(healthHandbookExcelModel.getGestation()); //发放日期:当前日期 -- 1.8.3.1