From 59010b7a3627dd180e9c1a6bdec725a9ab3b8723 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 17 Oct 2017 10:09:44 +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 --- .../platform/biz/service/SieveRecordService.java | 3 +- .../com/lyms/platform/pojo/SieveRecordModel.java | 11 ++ .../operate/web/controller/TestController.java | 175 ++++++++++++--------- .../operate/web/facade/SieveRecordFacade.java | 2 + 4 files changed, 112 insertions(+), 79 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveRecordService.java index 471618a..c172d07 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveRecordService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveRecordService.java @@ -28,7 +28,8 @@ public class SieveRecordService { query.start(sieveRecordQuery.getOffset()).end(sieveRecordQuery.getLimit()); } - return sieveRecordDao.query(query.addOrder(Sort.Direction.DESC, "created")); + query.addOrder(Sort.Direction.DESC, "time"); + return sieveRecordDao.query(query.addOrder(Sort.Direction.ASC, "created")); } public void save(SieveRecordModel model) { diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java index ffb0c96..7826839 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java @@ -24,6 +24,17 @@ public class SieveRecordModel extends Patients{ // 0 未导出 1 已经导出 private Integer status; + //保存时间的年月日 + private Date time; + + public Date getTime() { + return time; + } + + public void setTime(Date time) { + this.time = time; + } + public Integer getOperUserId() { return operUserId; } 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 7245b0d..2853660 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 @@ -25,8 +25,10 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -97,6 +99,13 @@ public class TestController { @Autowired private AntExRecordService recordService; + @Autowired + private PersonService personService; + + @Autowired + @Qualifier("commonThreadPool") + private ThreadPoolTaskExecutor commonThreadPool; + /** * 获取科室 */ @@ -357,99 +366,109 @@ public class TestController { 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()); + PersonModelQuery personModelQuery = new PersonModelQuery(); + personModelQuery.setYn(YnEnums.YES.getId()); - if (CollectionUtils.isNotEmpty(organizationList)) + List personModels = personService.queryPersons(personModelQuery); + if (CollectionUtils.isNotEmpty(personModels)) { - for (Organization organization : organizationList) { - - patientsQuery1.setHospitalId(organization.getId()+""); - List pats = patientsService.queryPatient(patientsQuery1); + int batchSize = 200; + for(int i = 0,end = 0 ; i < personModels.size() ; i += batchSize) + { + end += batchSize; + end = end > personModels.size() ? personModels.size() : end; + final List models = personModels.subList(i,batchSize); - 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); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + for(PersonModel model : models) + { + PatientsQuery patientsQuery1 = new PatientsQuery(); + patientsQuery1.setYn(YnEnums.YES.getId()); + patientsQuery1.setPid(model.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); + + commonThreadPool.execute(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())) + { - 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*7); + antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); + } + else if (i == 2) + { + antExRecordQuery.setcDueWeekStart(21*7); + antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); + } + else if (i == 3) + { + antExRecordQuery.setcDueWeekStart(28*7); + antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); + } + else if (i == 4) + { + antExRecordQuery.setcDueWeekStart(37*7); + antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); + } - 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*7); - antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); - } - else if (i == 2) - { - antExRecordQuery.setcDueWeekStart(21*7); - antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); - } - else if (i == 3) - { - antExRecordQuery.setcDueWeekStart(28*7); - antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); - } - else if (i == 4) - { - antExRecordQuery.setcDueWeekStart(37*7); - antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); - } + List list = recordService.queryAntExRecords(antExRecordQuery); + if (CollectionUtils.isNotEmpty(list)) + { + for (int j = 0 ; j < list.size() ; j++) + { + AntExRecordModel m = list.get(j); + if (j == (list.size() - 1)) + { + m.setIsFirst(1); + } + else + { + m.setIsFirst(2); + } + recordService.updateOne(m,m.getId()); + } - List list = recordService.queryAntExRecords(antExRecordQuery); - if (CollectionUtils.isNotEmpty(list)) - { - for (int j = 0 ; j < list.size() ; j++) - { - AntExRecordModel m = list.get(j); - if (j == (list.size() - 1)) - { - m.setIsFirst(1); - } - else - { - m.setIsFirst(2); + } } - recordService.updateOne(m,m.getId()); } - } } } - } + }); } + } - }).start(); - } + } + }); } } + return "updateCheckRecord finish"; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java index e8619ea..a97a927 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java @@ -114,6 +114,8 @@ public class SieveRecordFacade { private SieveRecordModel getPatientsData(YunBookbuildingAddRequest yunRequest) { SieveRecordModel patient = new SieveRecordModel(); + patient.setTime(DateUtil.getYMDTime()); + patient.setPatientId(yunRequest.getPatientdId()); patient.setMensStartDay(yunRequest.getMensStartDay()); -- 1.8.3.1