From 75c8a9753946db3bc2c1646eb61ab8a3cd1eced2 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 13 Oct 2017 10:26:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E6=A3=80=E8=8A=82=E7=82=B9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/dal/impl/AntenatalExaminationDaoImpl.java | 33 +++---- .../platform/biz/service/AntExRecordService.java | 4 +- .../com/lyms/platform/pojo/AntExRecordModel.java | 2 +- .../operate/web/controller/TestController.java | 102 +++++++++++++++++++++ 4 files changed, 116 insertions(+), 25 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java index 8ecf04c..09d188e 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java @@ -137,28 +137,17 @@ public class AntenatalExaminationDaoImpl extends BaseMongoDAOImpl= "+startWeek+" && week <= "+endWeek+")" + -// " { " + -// " emit(this._id,{checkTime:end,parentId:this.parentId}); " + -// " } " + -// " } " + -// "}"; - String map = "function(){ " + - " if (this.hospitalId == '"+hospitalId+"' && this.checkTime != null && this.lastMenses != null) { " + - " var end = this.checkTime; " + - " var week = parseInt(this.cDay/7); " + - " if (week >= "+startWeek+" && week <= "+endWeek+")" + - " { " + - " emit(this._id,{checkTime:end,parentId:this.parentId}); " + - " } " + - " } " + - "}"; + String map = "function(){ " + + " if (this.hospitalId == '"+hospitalId+"' && this.checkTime != null && this.lastMenses != null) { " + + " var end = this.checkTime; " + + " var week = parseInt(this.cDay/7); " + + " if (week >= "+startWeek+" && week <= "+endWeek+")" + + " { " + + " emit(this._id,{checkTime:end,parentId:this.parentId}); " + + " } " + + " } " + + "}"; + String reduce = "function(key, values) { return values.toString(); }"; DBCollection collections =this.mongoTemplate.getCollection("lyms_antexrecord"); diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java index 0edad80..93ec2c6 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java @@ -58,13 +58,13 @@ public class AntExRecordService { * @param antExRecordQuery * @return */ - public List queryAntExRecords1(AntExRecordQuery antExRecordQuery) { + public List queryAntExRecords(AntExRecordQuery antExRecordQuery,String sortField) { MongoQuery query = antExRecordQuery.convertToQuery(); if (StringUtils.isNotEmpty(antExRecordQuery.getNeed())) { antExRecordQuery.mysqlBuild(iAntExRecordMDao.count(query)); query.start(antExRecordQuery.getOffset()).end(antExRecordQuery.getLimit()); } - return iAntExRecordMDao.queryRecord(query.addOrder(Sort.Direction.DESC, "checkTime")); + return iAntExRecordMDao.queryRecord(query.addOrder(Sort.Direction.DESC, sortField)); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java index 6b3ea86..169b3a7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java @@ -81,7 +81,7 @@ public class AntExRecordModel extends BaseModel { private String streetId; // 0~12 孕周 16~20 孕周 21~24 孕周 28~36 孕周 37~ 分娩 - // 1 表示在上面各个孕周范围内的第一次检查,2 不是 + // 1 表示在上面各个孕周范围内的第一次检查,2或者空表示 不是 private Integer isFirst; public Integer getIsFirst() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index e0cdd42..62843fb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -93,6 +93,10 @@ public class TestController { @Autowired private GenSequenceIdService genIdService; + + @Autowired + private AntExRecordService recordService; + /** * 获取科室 */ @@ -344,6 +348,104 @@ public class TestController { /** + * 计算产检是不是对应孕周断中的第一次 + * @param hospitalId + * @return + */ + @RequestMapping(value = "/updateCheckRecord", method = RequestMethod.GET) + @ResponseBody + public String updateCheckRecord(@RequestParam(required = false) String hospitalId + ) { + + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(hospitalId)) + { + organizationQuery.setId(Integer.parseInt(hospitalId)); + } + List organizationList = organizationService.queryOrganization(organizationQuery); + + PatientsQuery patientsQuery1 = new PatientsQuery(); + patientsQuery1.setYn(YnEnums.YES.getId()); + + if (CollectionUtils.isNotEmpty(organizationList)) + { + for (Organization organization : organizationList) { + + patientsQuery1.setHospitalId(organization.getId()+""); + List pats = patientsService.queryPatient(patientsQuery1); + + int batchSize = 1000; + int end = 0; + for (int i = 0; i < pats.size(); i += batchSize) { + end = (end + batchSize); + if (end > pats.size()) { + end = pats.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = pats.subList(i, end); + + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + for (Patients pat : tempList) { + antExRecordQuery.setParentId(pat.getId()); + if (StringUtils.isNotEmpty(pat.getId())) + { + + for (int i = 0 ; i < 5 ; i++) + { + if (i == 0) + { + antExRecordQuery.setcDueWeekStart(0); + antExRecordQuery.setcDueWeekEnd((12 + 1) * 7 - 1); + } + else if (i == 1) + { + antExRecordQuery.setcDueWeekStart(16); + antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); + } + else if (i == 2) + { + antExRecordQuery.setcDueWeekStart(21); + antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); + } + else if (i == 3) + { + antExRecordQuery.setcDueWeekStart(28); + antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); + } + else if (i == 4) + { + antExRecordQuery.setcDueWeekStart(37); + antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); + } + } + List list = recordService.queryAntExRecords(antExRecordQuery); + if (CollectionUtils.isNotEmpty(list)) + { + AntExRecordModel m = list.get(list.size() - 1); + m.setIsFirst(1); + recordService.updateOne(m,m.getId()); + } + } + + } + } + } + }).start(); + + } + } + } + return "updateCheckRecord finish"; + } + + + + /** * 修正产后复查次数 * @param hospitalId * @return -- 1.8.3.1