diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 6a4959e..c651548 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -19,6 +19,7 @@ import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.worker.SieveWorker; import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; @@ -1114,19 +1115,27 @@ public class SieveFacade { List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); + String[] dates = null; + if (StringUtils.isNotEmpty(cqSieveQueryRequest.getTime())) { + dates = cqSieveQueryRequest.getTime().split(" - "); + } BasicConfigQuery basicQuery = new BasicConfigQuery(); basicQuery.setYn(YnEnums.YES.getId()); basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); + int addrType = 0; if (StringUtils.isNotEmpty(cqSieveQueryRequest.getProvinceId())) { basicQuery.setParentId(cqSieveQueryRequest.getProvinceId()); + addrType = 1; } if (StringUtils.isNotEmpty(cqSieveQueryRequest.getCityId())) { basicQuery.setParentId(cqSieveQueryRequest.getCityId()); + addrType = 2; } if (StringUtils.isNotEmpty(cqSieveQueryRequest.getAreaId())) { basicQuery.setParentId(cqSieveQueryRequest.getAreaId()); + addrType = 3; } //x轴标题数据 @@ -1153,8 +1162,7 @@ public class SieveFacade { sieveQuery.setHospitalIds(currentUserHospPermissions); sieveQuery.setYn(YnEnums.YES.getId()); sieveQuery.setStatus(3); - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getTime())) { - String[] dates = cqSieveQueryRequest.getTime().split(" - "); + if (dates != null) { sieveQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { sieveQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); @@ -1168,16 +1176,15 @@ public class SieveFacade { map.put("name", "产筛人数"); map.put("type", "bar"); map.put("data", csItems); - + series.add(map); DiagnosisQuery diagnosisQuery = new DiagnosisQuery(); diagnosisQuery.setHospitalIds(currentUserHospPermissions); - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getTime())) { - String[] dates = cqSieveQueryRequest.getTime().split(" - "); - sieveQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates != null) { + diagnosisQuery.setResultDateStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { - sieveQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); + diagnosisQuery.setResultDateEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); } } @@ -1185,11 +1192,88 @@ public class SieveFacade { List dItems = new ArrayList<>(); csItems.add(String.valueOf(diagnosisCount)); Map dMap = new HashMap(); - map.put("name", "产筛人数"); - map.put("type", "bar"); - map.put("data", dItems); + dMap.put("name", "诊断人数"); + dMap.put("type", "bar"); + dMap.put("data", dItems); series.add(dMap); + List> result = new ArrayList<>(); + +// List titles = new ArrayList<>(); +// titles.add("序号"); +// titles.add("地市名称"); +// titles.add("机构数"); +// titles.add("应筛查人数"); +// titles.add("产筛总数"); +// titles.add("诊断总人数"); +// result.add(titles); + + int num = 1; + if (CollectionUtils.isNotEmpty(configList)) + { + + for (BasicConfig c : configList) { + List items = new ArrayList<>(); + items.add(String.valueOf(num)); + items.add(c.getName()); + + OrganizationQuery query = new OrganizationQuery(); + query.setYn(YnEnums.YES.getId()); + if (addrType == 1) { + query.setCityId(c.getId()); + } else if (addrType == 2) { + query.setAreaId(c.getId()); + } + //查询机构数 + List orgs = organizationService.queryOrganization(query); + int orgSize = CollectionUtils.isNotEmpty(orgs) ? orgs.size() : 0; + items.add(String.valueOf(orgSize)); + + + List hids = getConditionHospitalIds(currentUserHospPermissions, orgs); + + + //应筛查人数 + SieveQuery ySieveQuery = new SieveQuery(); + ySieveQuery.setHospitalIds(hids); + if (dates != null) { + ySieveQuery.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + ySieveQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); + } + } + int ycount = sieveService.queryListCount(ySieveQuery); + items.add(String.valueOf(ycount)); + + //产筛总数 + SieveQuery sieveQuery1 = new SieveQuery(); + sieveQuery1.setHospitalIds(hids); + sieveQuery1.setYn(YnEnums.YES.getId()); + sieveQuery1.setStatus(3); + if (dates != null) { + sieveQuery1.setResultTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + sieveQuery1.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); + } + } + int sieveFinishCountAll = sieveService.queryListCount(sieveQuery1); + items.add(String.valueOf(sieveFinishCountAll)); + + //诊断总人数 + DiagnosisQuery diagnosisQuery1 = new DiagnosisQuery(); + diagnosisQuery1.setHospitalIds(currentUserHospPermissions); + if (dates != null) { + diagnosisQuery1.setResultDateStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + diagnosisQuery1.setResultDateEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); + } + } + int diagnosisCountAll = diagnosisService.queryDiagnosisCount(diagnosisQuery1); + items.add(String.valueOf(diagnosisCountAll)); + num++; + } + } + Map datas = new HashMap<>(); datas.put("series", series); datas.put("xAxis", xAxis); @@ -1198,6 +1282,16 @@ public class SieveFacade { .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas); } + private List getConditionHospitalIds(List currentUserHospPermissions, List conditionHospitals) { + List hids = new ArrayList<>(); + for (Organization org : conditionHospitals) { + hids.add(String.valueOf(org.getId())); + } + hids.retainAll(currentUserHospPermissions); + + return hids; + } + @Autowired private BasicConfigService basicConfigService;