diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java index 8f9172b..a190e4f 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java @@ -610,11 +610,12 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { if ("1".equals(reportType)) { MongoCondition c = MongoCondition.newInstance(); MongoCondition con1 = MongoCondition.newInstance("reportType", reportType, MongoOper.IS); - MongoCondition con2 = MongoCondition.newInstance("reportType", false, MongoOper.EXISTS); + // MongoCondition con2 = MongoCondition.newInstance("reportType", false, MongoOper.EXISTS); + MongoCondition con3 = MongoCondition.newInstance("sieveType", 2, MongoOper.IS); if (c1 != null) { - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con3}).getCriteria()); } else { - c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); + c1 = c.orCondition(new MongoCondition[]{con1, con3}).getCriteria(); } } // reportType = 2/重取 3/失败 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java index 6c39133..96479da 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java @@ -338,8 +338,8 @@ public class SieveController extends BaseController { // TODO 2019/8/26 18:11 dongqing @RequestMapping(value = "/sieveHistory", method = RequestMethod.GET) - public void SieveHistory(Date startTime, Date endTime, String hospital) { - sieveFacade.SieveHistory(startTime, endTime, hospital); + public void SieveHistory(Date startTime, Date endTime, String hospital, String provinceId, String cityId, String areaId) { + sieveFacade.SieveHistory(startTime, endTime, hospital, provinceId, cityId, areaId); } 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 c96da25..5988070 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 @@ -544,7 +544,6 @@ public class SieveFacade { //查询产筛list List list = sieveService.queryList1(sieveQuery, "order"); - int batchSize = 4; int end = 0; List listFuture = new ArrayList<>(); @@ -2178,29 +2177,53 @@ public class SieveFacade { list.add(dataMap); } - public void SieveHistory(Date startTime, Date endTime, String hospitalId) { - SieveQuery sieveQuery = new SieveQuery(); - sieveQuery.setHospitalId(hospitalId); - if (null != startTime && null != endTime) { - sieveQuery.setCreatedStart(startTime); - sieveQuery.setCreatedEnd(endTime); - } - List sieveQuery1 = sieveService.queryList(sieveQuery); - System.out.println("条数" + sieveQuery1.size()); - if (CollectionUtils.isNotEmpty(sieveQuery1)) { - int batchSize = 100; - int ends = 0; - List futures = new ArrayList<>(); - for (int i = 0; i < sieveQuery1.size(); i += batchSize) { - ends = (ends + batchSize); - if (ends > sieveQuery1.size()) { - ends = sieveQuery1.size(); + public void SieveHistory(Date startTime, Date endTime, String hospitalId, String provinceId, String cityId, String areaId) { + List orgHospitalList = new ArrayList<>(); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(provinceId)) { + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + + organizationQuery.setProvinceId(provinceId); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(cityId)) { + organizationQuery.setCityId(cityId); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(areaId)) { + organizationQuery.setAreaId(areaId); + } + } + List organizations = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(organizations)) { + for (Organization org : organizations) { + if (null != org.getId()) { + orgHospitalList.add(org.getId() + ""); + } } - List mlist = sieveQuery1.subList(i, ends); - Callable c = new SieveHistory(mlist, patientsService, sieveService); - Future f = commonThreadPool.submit(c); - if (f != null) { - futures.add(f); + } + SieveQuery sieveQuery = new SieveQuery(); + if (StringUtils.isNotEmpty(hospitalId)) { + sieveQuery.setHospitalId(hospitalId); + } else if (null != startTime && null != endTime) { + sieveQuery.setCreatedStart(startTime); + sieveQuery.setCreatedEnd(endTime); + } else if (CollectionUtils.isNotEmpty(organizations)) { + sieveQuery.setHospitalIds(orgHospitalList); + } + + List sieveQuery1 = sieveService.queryList(sieveQuery); + if (CollectionUtils.isNotEmpty(sieveQuery1)) { + int batchSize = 100; + int ends = 0; + List futures = new ArrayList<>(); + for (int i = 0; i < sieveQuery1.size(); i += batchSize) { + ends = (ends + batchSize); + if (ends > sieveQuery1.size()) { + ends = sieveQuery1.size(); + } + List mlist = sieveQuery1.subList(i, ends); + Callable c = new SieveHistory(mlist, patientsService, sieveService); + Future f = commonThreadPool.submit(c); + if (f != null) { + futures.add(f); + } } } /*if (CollectionUtils.isNotEmpty(futures)) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java index 32b60c3..df58573 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java @@ -109,8 +109,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { } Map basicsInfo = new HashMap<>(); basicsInfo.put("basicsInfo", volumeComponentAnalysisModel); - - } return null;