From 618dee8a76e40439b74b42c18c02d7b34995341f Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sun, 28 May 2023 14:30:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A4=E7=99=8C=E5=AF=BC=E5=87=BA=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BookbuildingFacade.java | 13 +- .../operate/web/facade/CancerScreeningFacade.java | 294 +++++++++------------ .../web/request/YunBookbuildingAddRequest.java | 16 +- .../service/impl/CervicalCancerServiceImpl.java | 250 +++++++----------- 4 files changed, 224 insertions(+), 349 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 871d835..790a8b0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -232,9 +232,9 @@ public class BookbuildingFacade { */ public BaseObjectResponse addPregnantBookbuilding( YunBookbuildingAddRequest yunRequest, Integer uId, boolean isSync) { - if (yunRequest.getBooksuifangDoctors()!=null){ - yunRequest.setBooksuifangDoctor(JSON.toJSONString(yunRequest.getBooksuifangDoctors())); - } +// if (yunRequest.getBooksuifangDoctor()!=null){ +// yunRequest.setBooksuifangDoctor(JSON.toJSONString(yunRequest.getBooksuifangDoctor())); +// } if (StringUtils.isNotEmpty(yunRequest.getOrgName())) { OrganizationQuery organizationQuery = new OrganizationQuery(); @@ -353,7 +353,8 @@ public class BookbuildingFacade { patient.setNextCheckTime(DateUtil.parseYMD(yunRequest.getNextCheckTime())); patient.setcDueWeek(yunRequest.getcDueWeek());//前端计算出来的孕周 - patient.setBooksuifangDoctor(yunRequest.getBooksuifangDoctor()); + DoctorDTO doctorDTO = yunRequest.getBooksuifangDoctor(); + patient.setBooksuifangDoctor(doctorDTO != null ? String.valueOf(doctorDTO.getId()) : null); //承德市妇幼通过就诊卡号查询到病人id保存下来 if ("2100001291".equals(patient.getHospitalId()) && StringUtils.isNotEmpty(yunRequest.getVcCardNo())) { patient.setBlNum(cdfyHisService.getIdByVcCardNo(yunRequest.getVcCardNo())); @@ -1219,8 +1220,8 @@ public class BookbuildingFacade { patient.setYyzyfmHospitalId(yunRequest.getYyzyfmHospitalId()); patient.setNextCheckTime(DateUtil.parseYMD(yunRequest.getNextCheckTime())); patient.setcDueWeek(yunRequest.getcDueWeek());//前端计算出来的孕周 - - patient.setBooksuifangDoctor(yunRequest.getBooksuifangDoctor()); + DoctorDTO doctorDTO = yunRequest.getBooksuifangDoctor(); + patient.setBooksuifangDoctor(doctorDTO != null ? String.valueOf(doctorDTO.getId()) : null); patient.setModified(new Date()); patient.setBuildDays(DateUtil.getDays(DateUtil.parseYMD(yunRequest.getLastMenstrualPeriod()), DateUtil.parseYMD(yunRequest.getBookbuildingDate()))); // patient.setHospitalId(autoMatchFacade.getHospitalId(userId)); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java index 33b69b0..29ba6b2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java @@ -86,116 +86,10 @@ public class CancerScreeningFacade { * @return */ public BaseResponse list(CancerScreeningRequest queryRequest, Integer id) { - //根据用户id获取医院ID String hospitalId = autoMatchFacade.getHospitalId(id); - Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); - //查询条件 - CancerScreeningQuery query = new CancerScreeningQuery(); - - if (StringUtils.isNotEmpty(queryRequest.getHospitalId())) - { - query.setHospitalId(queryRequest.getHospitalId()); - } - query.setYqDaysStart(queryRequest.getYqDaysStart()); - query.setYqDaysEnd(queryRequest.getYqDaysEnd()); - query.setIsFollow(queryRequest.getIsFollow()); - query.setLimit(queryRequest.getLimit()); - query.setPage(queryRequest.getPage()); - query.setNeed("need"); - query.setYn(YnEnums.YES.getId()); - query.setQueryNo(queryRequest.getQueryNo()); - if (queryRequest.getStatus() != null) - { - query.setStatus(queryRequest.getStatus()); - } - if (queryRequest.getPosition() == 1) - { - query.setHospitalId(hospitalId); - } - else if (queryRequest.getPosition() == 2) - { - query.setOrgAreaId(organization.getAreaId()); - } - else if (queryRequest.getPosition() == 3) - { - query.setOrgCityId(organization.getCityId()); - if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) - { - query.setOrgAreaId(queryRequest.getOrgAreaId()); - } - } - else if (queryRequest.getPosition() == 4) - { - query.setOrgProvinceId(organization.getProvinceId()); - if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) - { - query.setOrgCityId(queryRequest.getOrgCityId()); - } - if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) - { - query.setOrgAreaId(queryRequest.getOrgAreaId()); - } - } - else - { - if(StringUtils.isNotEmpty(queryRequest.getOrgProvinceId())) - { - query.setOrgProvinceId(queryRequest.getOrgProvinceId()); - } - if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) - { - query.setOrgCityId(queryRequest.getOrgCityId()); - } - if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) - { - query.setOrgAreaId(queryRequest.getOrgAreaId()); - } - } - if (StringUtils.isNotEmpty(queryRequest.getExamineDate())) { - String[] arrs = queryRequest.getExamineDate().split(" - "); - Date start = DateUtil.parseYMD(arrs[0]); - Date end = DateUtil.parseYMD(arrs[1]); - end = DateUtil.getDayLastSecond(end); - query.setStartExamineDate(start); - query.setEndExamineDate(end); - } - if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) { - String[] arrs = queryRequest.getCheckDate().split(" - "); - query.setCreatedStart(DateUtil.parseYMD(arrs[0])); - query.setCreatedEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); - } - - query.setLeftRight(queryRequest.getLeftRight()); - query.setRxcsLevel(queryRequest.getRxcsLevel()); - query.setRxxLevel(queryRequest.getRxxLevel()); - query.setYcRxajc(queryRequest.getYcRxajc());//是否有过乳腺检查 sz ,cs ,xx - query.setRxPgz(queryRequest.getRxPgz());//乳腺彩超分级左 "0" "1" .... - query.setRxlPgy(queryRequest.getRxlPgy());//乳腺彩超分级右 - - query.setProvinceId(queryRequest.getProvinceId()); - query.setCityId(queryRequest.getCityId()); - query.setAreaId(queryRequest.getAreaId()); - query.setStreetId(queryRequest.getStreetId()); - query.setRxlYyz(queryRequest.getRxlYyz()); - query.setRxlYyy(queryRequest.getRxlYyy()); - query.setRxlYdz(queryRequest.getRxlYdz()); - query.setRxlYdy(queryRequest.getRxlYdy()); - query.setRxlJcjg(queryRequest.getRxlJcjg()); - query.setRxlJy(queryRequest.getRxlJy()); - query.setRxJy(queryRequest.getRxJy()); - query.setSfZhzd(queryRequest.getSfZhzd()); - //隆化-乳腺癌检查异常 - query.setBreastAbnormity(queryRequest.getBreastAbnormity()); - //超声所见 - query.setNewRxCssj(queryRequest.getNewRxCssj()); - //隆化乳腺X钼靶检查 - query.setRxXJc(queryRequest.getRxXJc()); - //最后诊断 内容字段 yn(0未见异常,1异常);yc(异常项1-9) - query.setZhJd(queryRequest.getZhJd()); - query.setZhzd(queryRequest.getZhzd()); + CancerScreeningQuery query = getCancerScreeningQuery(queryRequest, hospitalId); List list = new ArrayList(); - //System.out.println(query.convertToQuery().convertToMongoQuery()); List modelList = cancerScreenService.queryCancerScreList(query); if (CollectionUtils.isNotEmpty(modelList)) { for (CancerScreeningModel model : modelList) { @@ -314,7 +208,7 @@ public class CancerScreeningFacade { public void exportLasc(CancerScreeningRequest queryRequest, Integer id, HttpServletResponse response){ List > datas = getLascList(queryRequest, id); Map cnames = new LinkedHashMap <>(); - cnames.put("xz", "乡镇"); + // cnames.put("xz", "乡镇"); cnames.put("created", "检查日期"); cnames.put("name", "姓名"); cnames.put("age", "年龄"); @@ -326,76 +220,136 @@ public class CancerScreeningFacade { public List > getLascList(CancerScreeningRequest queryRequest, Integer id) { List > lascList = new LinkedList <>(); - - //获取当前用户获取对应的 乡镇列表 String hospitalId = autoMatchFacade.getHospitalId(id); - Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); - List items = basicConfigService.queryByParentId(organization.getAreaId()); - if (CollectionUtils.isNotEmpty(items)) { - for (BasicConfig item : items) { - - //获取该乡镇所有的女性建档数据 - List residentsIds = getResidentsIds(hospitalId, item); - if (CollectionUtils.isNotEmpty(residentsIds)) { - //查询条件 - CancerScreeningQuery query = new CancerScreeningQuery(); - query.setResidentIds(residentsIds); - query.setLimit(queryRequest.getLimit()); - query.setPage(queryRequest.getPage()); - query.setNeed("need"); - query.setYn(YnEnums.YES.getId()); - query.setQueryNo(queryRequest.getQueryNo()); - if (hospitalId != null) { - query.setHospitalId(hospitalId); - } - if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) { - String[] arrs = queryRequest.getCheckDate().split(" - "); - query.setCreatedStart(DateUtil.parseYMD(arrs[0])); - query.setCreatedEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); - } + CancerScreeningQuery query = getCancerScreeningQuery(queryRequest, hospitalId); + List modelList = cancerScreenService.queryCancerScreList(query); + if (CollectionUtils.isNotEmpty(modelList)) { + for (CancerScreeningModel model : modelList) { + Map map = new HashMap <>(); + map.put("created", DateUtil.getyyyy_MM_dd(model.getCreated()));//检查日期 + map.put("name", model.getUsername());//姓名 + map.put("age", DateUtil.getAge(model.getBirthday()));//年龄 + map.put("cardNum", model.getCertificateNum());//证件号 + map.put("phone", model.getPhone());//联系方式 + map.put("liveAddress", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(), + model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService));//住址 + lascList.add(map); + } + } + return lascList; + } - query.setYcRxajc(queryRequest.getYcRxajc());//是否有过乳腺检查 sz ,cs ,xx - query.setRxPgz(queryRequest.getRxPgz());//乳腺彩超分级左 "0" "1" .... - query.setRxlPgy(queryRequest.getRxlPgy());//乳腺彩超分级右 - - query.setProvinceId(queryRequest.getProvinceId()); - query.setCityId(queryRequest.getCityId()); - query.setAreaId(queryRequest.getAreaId()); - query.setStreetId(queryRequest.getStreetId()); - query.setRxlYyz(queryRequest.getRxlYyz()); - query.setRxlYyy(queryRequest.getRxlYyy()); - query.setRxlYdz(queryRequest.getRxlYdz()); - query.setRxlYdy(queryRequest.getRxlYdy()); - query.setRxlJcjg(queryRequest.getRxlJcjg()); - query.setRxlJy(queryRequest.getRxlJy()); - query.setRxJy(queryRequest.getRxJy()); - query.setSfZhzd(queryRequest.getSfZhzd()); - - System.out.println(query.convertToQuery().convertToMongoQuery()); - List modelList = cancerScreenService.queryCancerScreList(query); - if (CollectionUtils.isNotEmpty(modelList)) { - for (CancerScreeningModel model : modelList) { - Map map = new HashMap <>(); -// map.put("id", model.getId()); - map.put("xz", item.getName());//乡镇 -// map.put("sfJcsj", DateUtil.getyyyy_MM_dd(model.getSfJcsj()));//检查日期 - map.put("created", DateUtil.getyyyy_MM_dd(model.getCreated()));//检查日期 - map.put("name", model.getUsername());//姓名 - map.put("age", DateUtil.getAge(model.getBirthday()));//年龄 - map.put("cardNum", model.getCertificateNum());//证件号 - map.put("phone", model.getPhone());//联系方式 - map.put("liveAddress", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(), - model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService));//住址 - lascList.add(map); - } - } + private CancerScreeningQuery getCancerScreeningQuery(CancerScreeningRequest queryRequest, String hospitalId) { + + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + //查询条件 + CancerScreeningQuery query = new CancerScreeningQuery(); + if (StringUtils.isNotEmpty(queryRequest.getHospitalId())) + { + query.setHospitalId(queryRequest.getHospitalId()); + } + query.setYqDaysStart(queryRequest.getYqDaysStart()); + query.setYqDaysEnd(queryRequest.getYqDaysEnd()); + query.setIsFollow(queryRequest.getIsFollow()); + query.setLimit(queryRequest.getLimit()); + query.setPage(queryRequest.getPage()); + query.setNeed("need"); + query.setYn(YnEnums.YES.getId()); + query.setQueryNo(queryRequest.getQueryNo()); + if (queryRequest.getStatus() != null) + { + query.setStatus(queryRequest.getStatus()); + } + if (queryRequest.getPosition() != null){ + if (queryRequest.getPosition() == 1) + { + query.setHospitalId(hospitalId); + } + else if (queryRequest.getPosition() == 2) + { + query.setOrgAreaId(organization.getAreaId()); + } + else if (queryRequest.getPosition() == 3) + { + query.setOrgCityId(organization.getCityId()); + if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) + { + query.setOrgAreaId(queryRequest.getOrgAreaId()); + } + } + else if (queryRequest.getPosition() == 4) + { + query.setOrgProvinceId(organization.getProvinceId()); + if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) + { + query.setOrgCityId(queryRequest.getOrgCityId()); + } + if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) + { + query.setOrgAreaId(queryRequest.getOrgAreaId()); + } + } + else + { + if(StringUtils.isNotEmpty(queryRequest.getOrgProvinceId())) + { + query.setOrgProvinceId(queryRequest.getOrgProvinceId()); + } + if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) + { + query.setOrgCityId(queryRequest.getOrgCityId()); + } + if(StringUtils.isNotEmpty(queryRequest.getOrgCityId())) + { + query.setOrgAreaId(queryRequest.getOrgAreaId()); } } + } + if (StringUtils.isNotEmpty(queryRequest.getExamineDate())) { + String[] arrs = queryRequest.getExamineDate().split(" - "); + Date start = DateUtil.parseYMD(arrs[0]); + Date end = DateUtil.parseYMD(arrs[1]); + end = DateUtil.getDayLastSecond(end); + query.setStartExamineDate(start); + query.setEndExamineDate(end); + } + if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) { + String[] arrs = queryRequest.getCheckDate().split(" - "); + query.setCreatedStart(DateUtil.parseYMD(arrs[0])); + query.setCreatedEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(arrs[1]))); } - return lascList; + query.setLeftRight(queryRequest.getLeftRight()); + query.setRxcsLevel(queryRequest.getRxcsLevel()); + query.setRxxLevel(queryRequest.getRxxLevel()); + query.setYcRxajc(queryRequest.getYcRxajc());//是否有过乳腺检查 sz ,cs ,xx + query.setRxPgz(queryRequest.getRxPgz());//乳腺彩超分级左 "0" "1" .... + query.setRxlPgy(queryRequest.getRxlPgy());//乳腺彩超分级右 + + query.setProvinceId(queryRequest.getProvinceId()); + query.setCityId(queryRequest.getCityId()); + query.setAreaId(queryRequest.getAreaId()); + query.setStreetId(queryRequest.getStreetId()); + query.setRxlYyz(queryRequest.getRxlYyz()); + query.setRxlYyy(queryRequest.getRxlYyy()); + query.setRxlYdz(queryRequest.getRxlYdz()); + query.setRxlYdy(queryRequest.getRxlYdy()); + query.setRxlJcjg(queryRequest.getRxlJcjg()); + query.setRxlJy(queryRequest.getRxlJy()); + query.setRxJy(queryRequest.getRxJy()); + query.setSfZhzd(queryRequest.getSfZhzd()); + //隆化-乳腺癌检查异常 + query.setBreastAbnormity(queryRequest.getBreastAbnormity()); + //超声所见 + query.setNewRxCssj(queryRequest.getNewRxCssj()); + //隆化乳腺X钼靶检查 + query.setRxXJc(queryRequest.getRxXJc()); + //最后诊断 内容字段 yn(0未见异常,1异常);yc(异常项1-9) + query.setZhJd(queryRequest.getZhJd()); + query.setZhzd(queryRequest.getZhzd()); + return query; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java index bb51c47..b8bd833 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java @@ -52,10 +52,10 @@ public class YunBookbuildingAddRequest { private FilePathModel filePath; //随访医生 - private String booksuifangDoctor; + //private String booksuifangDoctor; //随访医生 - private DoctorDTO booksuifangDoctors; + private DoctorDTO booksuifangDoctor; //孕妇证件核验方式 1 自动核验 2人工核验 private String patientVerifType; @@ -107,22 +107,14 @@ public class YunBookbuildingAddRequest { this.level = level; } - public String getBooksuifangDoctor() { + public DoctorDTO getBooksuifangDoctor() { return booksuifangDoctor; } - public void setBooksuifangDoctor(String booksuifangDoctor) { + public void setBooksuifangDoctor(DoctorDTO booksuifangDoctor) { this.booksuifangDoctor = booksuifangDoctor; } - public DoctorDTO getBooksuifangDoctors() { - return booksuifangDoctors; - } - - public void setBooksuifangDoctors(DoctorDTO booksuifangDoctors) { - this.booksuifangDoctors = booksuifangDoctors; - } - public String getAddressId() { return addressId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java index 6e5d7bd..d6fd35c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java @@ -145,71 +145,96 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { */ @Override public BaseListResponse listPage(CervicalCancerListRequest param,Integer userId) { - String hospitalId = autoMatchFacade.getHospitalId(userId); - Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + Query query = extracted(param, hospitalId); + long count = mongoTemplate.count(query, CervicalCancerModel.class); + param.mysqlBuild((int) count); + query.skip(param.getOffset()).limit(param.getLimit()); + List cervicalCancerModels = mongoTemplate.find(query, CervicalCancerModel.class); + List results = new LinkedList<>(); + for (CervicalCancerModel model : cervicalCancerModels) { + CervicalCancerModelResult result = new CervicalCancerModelResult(); + getOtherStr(result, model); + results.add(result); + } + + + BaseListResponse baseListResponse = new BaseListResponse(); + baseListResponse.setData(results); + baseListResponse.setPageInfo(param.getPageInfo()); + return baseListResponse; + } + + private Query extracted(CervicalCancerListRequest param, String hospitalId) { Query query = new Query(); + + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + boolean isCurrent = false; if (param.getStatus() != null) { Criteria c = Criteria.where("position").is(param.getStatus()); query.addCriteria(c); } - if (param.getPosition() == 1) + if(param.getPosition() != null) { - isCurrent = true; - Criteria c = Criteria.where("hospitalId").is(hospitalId); - query.addCriteria(c); - } - else if (param.getPosition() == 2) - { - Criteria c = Criteria.where("orgAreaId").is(organization.getAreaId()); - query.addCriteria(c); - } - else if (param.getPosition() == 3) - { - Criteria c = Criteria.where("orgCityId").is(organization.getCityId()); - query.addCriteria(c); - if(StringUtils.isNotEmpty(param.getOrgAreaId())) - { - Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); - query.addCriteria(c1); - } - } - else if (param.getPosition() == 4) - { - Criteria c = Criteria.where("orgProvinceId").is(organization.getProvinceId()); - query.addCriteria(c); - if(StringUtils.isNotEmpty(param.getOrgCityId())) + if (param.getPosition() == 1) { - Criteria c1 = Criteria.where("orgCityId").is(param.getOrgCityId()); - query.addCriteria(c1); + isCurrent = true; + Criteria c = Criteria.where("hospitalId").is(hospitalId); + query.addCriteria(c); } - if(StringUtils.isNotEmpty(param.getOrgAreaId())) + else if (param.getPosition() == 2) { - Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); - query.addCriteria(c1); + Criteria c = Criteria.where("orgAreaId").is(organization.getAreaId()); + query.addCriteria(c); } - } - else - { - if(StringUtils.isNotEmpty(param.getOrgProvinceId())) + else if (param.getPosition() == 3) { - Criteria c1 = Criteria.where("orgProvinceId").is(param.getOrgProvinceId()); - query.addCriteria(c1); + Criteria c = Criteria.where("orgCityId").is(organization.getCityId()); + query.addCriteria(c); + if(StringUtils.isNotEmpty(param.getOrgAreaId())) + { + Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); + query.addCriteria(c1); + } } - if(StringUtils.isNotEmpty(param.getOrgCityId())) + else if (param.getPosition() == 4) { - Criteria c1 = Criteria.where("orgCityId").is(param.getOrgCityId()); - query.addCriteria(c1); + Criteria c = Criteria.where("orgProvinceId").is(organization.getProvinceId()); + query.addCriteria(c); + if(StringUtils.isNotEmpty(param.getOrgCityId())) + { + Criteria c1 = Criteria.where("orgCityId").is(param.getOrgCityId()); + query.addCriteria(c1); + } + if(StringUtils.isNotEmpty(param.getOrgAreaId())) + { + Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); + query.addCriteria(c1); + } } - if(StringUtils.isNotEmpty(param.getOrgAreaId())) + else { - Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); - query.addCriteria(c1); + if(StringUtils.isNotEmpty(param.getOrgProvinceId())) + { + Criteria c1 = Criteria.where("orgProvinceId").is(param.getOrgProvinceId()); + query.addCriteria(c1); + } + if(StringUtils.isNotEmpty(param.getOrgCityId())) + { + Criteria c1 = Criteria.where("orgCityId").is(param.getOrgCityId()); + query.addCriteria(c1); + } + if(StringUtils.isNotEmpty(param.getOrgAreaId())) + { + Criteria c1 = Criteria.where("orgAreaId").is(param.getOrgAreaId()); + query.addCriteria(c1); + } } } + if (StringUtils.isNotEmpty(param.getHospitalId()) && !isCurrent) { Criteria c = Criteria.where("hospitalId").is(param.getHospitalId()); @@ -277,10 +302,10 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { query.addCriteria(Criteria.where("tbs").is(param.getTbs())); } if (StringUtils.isNotEmpty(param.getZhzdSelect())) { - query.addCriteria(Criteria.where("zhzdSelect."+param.getZhzdSelect()).is(true)); + query.addCriteria(Criteria.where("zhzdSelect."+ param.getZhzdSelect()).is(true)); } if (StringUtils.isNotEmpty(param.getZzblxSelect())) { - query.addCriteria(Criteria.where("zzblxSelect."+param.getZzblxSelect()).is(true)); + query.addCriteria(Criteria.where("zzblxSelect."+ param.getZzblxSelect()).is(true)); } if (StringUtils.isNotEmpty(param.getHpv())) { @@ -329,22 +354,7 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { } query.with(new Sort(Sort.Direction.DESC, "created")); - long count = mongoTemplate.count(query, CervicalCancerModel.class); - param.mysqlBuild((int) count); - query.skip(param.getOffset()).limit(param.getLimit()); - List cervicalCancerModels = mongoTemplate.find(query, CervicalCancerModel.class); - List results = new LinkedList<>(); - for (CervicalCancerModel model : cervicalCancerModels) { - CervicalCancerModelResult result = new CervicalCancerModelResult(); - getOtherStr(result, model); - results.add(result); - } - - - BaseListResponse baseListResponse = new BaseListResponse(); - baseListResponse.setData(results); - baseListResponse.setPageInfo(param.getPageInfo()); - return baseListResponse; + return query; } /** @@ -391,7 +401,7 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { public void exportGja(CervicalCancerListRequest param,Integer userId, HttpServletResponse response) { List > datas = getGjaList(param, userId); Map cnames = new LinkedHashMap <>(); - cnames.put("xz", "乡镇"); + //cnames.put("xz", "乡镇"); cnames.put("checkPackage", "检查套餐"); cnames.put("created", "检查日期"); cnames.put("name", "姓名"); @@ -406,105 +416,23 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { List > gjaList = new LinkedList <>(); //获取当前用户获取对应的 乡镇列表 String hospitalId = autoMatchFacade.getHospitalId(userId); - Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); - List items = basicConfigService.queryByParentId(organization.getAreaId()); - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(items)) { - for (BasicConfig item : items) { - //获取该乡镇所有的女性建档数据 - List residentsIds = getResidentsIds(hospitalId, item); - - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(residentsIds)) { - Query query = new Query(); - query.addCriteria(Criteria.where("parentId").in(residentsIds)); - - String keyword = param.getKeyword(); - if (StringUtils.isNotEmpty(keyword)) { - Criteria c = new Criteria().orOperator(Criteria.where("name").is(keyword), Criteria.where("phone").is(keyword)); - query.addCriteria(c); - } - //承德市妇幼定制 检查套餐 - Integer checkPackage = param.getCheckPackage(); - if (null!=checkPackage) { - query.addCriteria(Criteria.where("checkPackage").is(checkPackage)); - } - String hasAcceptTreatment = param.getHasAcceptTreatment(); - if (StringUtils.isNotEmpty(hasAcceptTreatment)) { - query.addCriteria(Criteria.where("hasAcceptTreatment").is(hasAcceptTreatment)); - } - String idCardNo = param.getIdCardNo(); - if (StringUtils.isNotEmpty(idCardNo)) { - query.addCriteria(Criteria.where("idCardNo").is(idCardNo)); - } - - String fklcjczd = param.getFklcjczd();//妇科检查临床诊断异常项 - if (StringUtils.isNotEmpty(fklcjczd)) { - query.addCriteria(Criteria.where("formData.fklcjczd") - .elemMatch(Criteria.where("$eq").is(Integer.parseInt(fklcjczd)))); - } - String tBSflbz = param.gettBSflbz();//TBS分类报告结果 - if (StringUtils.isNotEmpty(tBSflbz)) { - query.addCriteria(Criteria.where("formData.TBSflbz").is(Integer.parseInt(tBSflbz))); - } - String lstZD = param.getLstZD();//最后诊断异常项 - if (StringUtils.isNotEmpty(lstZD)) { - query.addCriteria(Criteria.where("formData.lstZD") - .elemMatch(Criteria.where("$eq").is(Integer.parseInt(lstZD)))); - } - if (org.apache.commons.lang.StringUtils.isNotEmpty(param.getCheckDate())) { - String[] arrs = param.getCheckDate().split(" - "); - query.addCriteria(Criteria.where("created").gte(DateUtil.parseYMD(arrs[0])) - .lte(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1))); - } - - if (org.apache.commons.lang.StringUtils.isNotEmpty(param.getCheckDate())) { - String[] arrs = param.getCheckDate().split(" - "); - query.addCriteria(Criteria.where("created").gte(DateUtil.parseYMD(arrs[0])) - .lte(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1))); - } - query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); - String provinceId = param.getProvinceId(); - if (StringUtils.isNotEmpty(provinceId)) { - query.addCriteria(Criteria.where("provinceId").is(provinceId)); - String cityId = param.getCityId(); - if (StringUtils.isNotEmpty(cityId)) { - query.addCriteria(Criteria.where("cityId").is(cityId)); - String areaId = param.getAreaId(); - if (StringUtils.isNotEmpty(areaId)) { - query.addCriteria(Criteria.where("areaId").is(areaId)); - String streetId = param.getStreetId(); - if (StringUtils.isNotEmpty(streetId)) { - query.addCriteria(Criteria.where("streetId").is(streetId)); - } - } - } - } - query.with(new Sort(Sort.Direction.DESC, "created")); - long count = mongoTemplate.count(query, CervicalCancerModel.class); - param.mysqlBuild((int) count); - query.skip(param.getOffset()).limit(param.getLimit()); - List cervicalCancerModels = mongoTemplate.find(query, CervicalCancerModel.class); - - for (CervicalCancerModel model : cervicalCancerModels) { - Map map = new HashMap <>(); - map.put("xz", item.getName());//乡镇 - map.put("checkPackage", null!=model.getCheckPackage()?model.getCheckPackage()==1?"宫颈癌筛查":"宫颈+B超检查":"");//检查套餐 - map.put("created", DateUtil.getyyyy_MM_dd(model.getCreated()));//检查日期 - map.put("name", model.getName());//姓名 - map.put("age", model.getAge());//年龄 - map.put("cardNum", model.getIdCardNo());//证件号 - map.put("phone", model.getPhone());//联系方式 - map.put("liveAddress", CommonsHelper.getResidence( - model.getProvinceId(),model.getCityId(), - model.getAreaId(),model.getStreetId(), - null,basicConfigService));//住址 - - gjaList.add(map); - } - } - + Query query = extracted(param, hospitalId); + List cervicalCancerModels = mongoTemplate.find(query, CervicalCancerModel.class); + for (CervicalCancerModel model : cervicalCancerModels) { + Map map = new HashMap <>(); + //map.put("xz", item.getName());//乡镇 + map.put("checkPackage", null!=model.getCheckPackage()?model.getCheckPackage()==1?"宫颈癌筛查":"宫颈+B超检查":"");//检查套餐 + map.put("created", DateUtil.getyyyy_MM_dd(model.getCreated()));//检查日期 + map.put("name", model.getName());//姓名 + map.put("age", model.getAge());//年龄 + map.put("cardNum", model.getIdCardNo());//证件号 + map.put("phone", model.getPhone());//联系方式 + map.put("liveAddress", CommonsHelper.getResidence( + model.getProvinceId(),model.getCityId(), + model.getAreaId(),model.getStreetId(), + null,basicConfigService));//住址 + gjaList.add(map); } - - } return gjaList; } -- 1.8.3.1