From c0a8f76403bdd6d66f2c2071e58759e14a7b54f8 Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Sun, 9 Jun 2019 23:04:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/MatDeliverFacade.java | 11 +++++++---- .../operate/web/facade/SaveByV2ThreadPoolFacade.java | 12 ++++++++---- .../operate/web/worker/SyncV2HistoryWorkerx.java | 17 ++++++++++++++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index aa05ae0..3bbae00 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -2929,7 +2929,7 @@ public class MatDeliverFacade { Connection connection = BookbuildingFacade.getConnection(); String sql = "select * " + "from V_SYNC_TO_V3_PDR pdr " + - "where pdr.PDR_CHILDBIRTHDAY > sysdate - 290 " + + "where pdr.PDR_CHILDBIRTHDAY > sysdate - 29 " + "and to_char(pdr.PDR_CHILDBIRTHDAY,'YYYY-MM') BETWEEN '"+param.getStartTime()+ "' and '"+ param.getEndTime() +"'"; List list = new ArrayList(1024); try { @@ -2971,7 +2971,7 @@ public class MatDeliverFacade { String nbChildsex = resultSet.getString("NB_CHILDSEX"); double nbChildweight = resultSet.getDouble("NB_CHILDWEIGHT"); String nbLength = resultSet.getString("NB_LENGTH"); - baby.setDueTime(DateUtil.getymdhm(nbChildbirthday)); + baby.setDueTime(DateUtil.getyyyy_MM_dd(nbChildbirthday)); baby.setPregnancyOut(getPregnancyOutByV2(nbChantype)); baby.setBabyGender(nbChildsex); @@ -2990,7 +2990,7 @@ public class MatDeliverFacade { // TODO 2019/6/9 14:54 dongqing 分娩医院 matDeliverAddRequest.setFmHospital("216"); // TODO 2019/6/9 14:55 dongqing 接生者 - matDeliverAddRequest.setDeliverDoctor(""); + matDeliverAddRequest.setDeliverDoctor("1000000185"); matDeliverAddRequest.setDeliveryMode(new HashedMap()); list.add(matDeliverAddRequest); } @@ -3022,7 +3022,10 @@ public class MatDeliverFacade { }); } service.shutdown(); - return null; + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject("当前同步数:" + list.size()); + + return baseResponse; } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SaveByV2ThreadPoolFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SaveByV2ThreadPoolFacade.java index e0edd0c..f54e6a3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SaveByV2ThreadPoolFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SaveByV2ThreadPoolFacade.java @@ -12,6 +12,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @@ -34,6 +35,9 @@ public class SaveByV2ThreadPoolFacade { @Autowired BookbuildingFacade bookbuildingFacade; + + @Autowired + private MongoTemplate mongoTemplate; /** * 保存历史数据,根据时间和医院id * @@ -59,7 +63,7 @@ public class SaveByV2ThreadPoolFacade { if (end > lists.size()) { end = lists.size(); } - Future f = commonThreadPool.submit(new SyncV2HistoryWorkerx(bookbuildingFacade, lists.subList(i, end))); + Future f = commonThreadPool.submit(new SyncV2HistoryWorkerx(bookbuildingFacade, lists.subList(i, end), mongoTemplate)); } } @@ -119,12 +123,12 @@ public class SaveByV2ThreadPoolFacade { String sql = "select " + str + " from " + " (select p.* from V_SYNC_TO_V3_PATIENT p " + " left join V_SYNC_TO_V3_PDR pdr on pdr.p_no = p.p_no " + - " where pdr.p_no is null and to_char(p.P_FILINGTIME,'YYY-MM') BETWEEN '" + startTime + "' and '" + endTime + "' and ( p.P_ADDRESSCOUNTY='160' OR p.P_POSTPARTUMCOUNTY='160' OR p.P_RRCOUNTY ='160')" + - " and p.P_LASTMENSTRUALPERIOD > sysdate - 294" + + " where pdr.p_no is null and to_char(p.P_FILINGTIME,'YYYY-MM') BETWEEN '" + startTime + "' and '" + endTime + "' and ( p.P_ADDRESSCOUNTY='160' OR p.P_POSTPARTUMCOUNTY='160' OR p.P_RRCOUNTY ='160')" + + " and p.P_LASTMENSTRUALPERIOD > sysdate - 2940" + " union " + " select p.* from V_SYNC_TO_V3_PATIENT p " + " right join V_SYNC_TO_V3_PDR pdr on pdr.p_no = p.p_no " + - " where pdr.PDR_CHILDBIRTHDAY > sysdate - 290 and pdr.p_no is not null and to_char(pdr.PDR_CHILDBIRTHDAY,'YYYY-MM') BETWEEN '" + startTime + "' AND '" + endTime + "'" + + " where pdr.PDR_CHILDBIRTHDAY > sysdate - 29 and pdr.p_no is not null and to_char(pdr.PDR_CHILDBIRTHDAY,'YYYY-MM') BETWEEN '" + startTime + "' AND '" + endTime + "'" + ") t"; return sql; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SyncV2HistoryWorkerx.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SyncV2HistoryWorkerx.java index 1d95bf0..e7b2294 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SyncV2HistoryWorkerx.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SyncV2HistoryWorkerx.java @@ -5,6 +5,7 @@ import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.biz.service.PostReviewService; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; import com.lyms.platform.operate.web.facade.BookbuildingFacade; @@ -18,6 +19,9 @@ import com.lyms.platform.query.AntExQuery; import com.lyms.platform.query.PostReviewQuery; import org.apache.commons.collections.CollectionUtils; import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import java.util.Date; import java.util.List; @@ -35,20 +39,27 @@ public class SyncV2HistoryWorkerx implements Callable { private List lists; - public SyncV2HistoryWorkerx(BookbuildingFacade bookbuildingFacade, List lists) { + private MongoTemplate mongoTemplate; + + public SyncV2HistoryWorkerx(BookbuildingFacade bookbuildingFacade, List lists, MongoTemplate mongoTemplate) { this.bookbuildingFacade = bookbuildingFacade; this.lists = lists; + this.mongoTemplate = mongoTemplate; } @Override public BaseObjectResponse call() throws Exception { BaseObjectResponse p=null; for (YunBookbuildingAddRequest list : lists) { + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(list.getPregnantCertificateNum())), Patients.class); + if (patients != null) { + continue; + } //董勤让写死的 list.setHospitalId("216");//todo list.setBookbuildingDoctor("1000000185");//todo - - p = bookbuildingFacade.addPregnantBookbuilding(list, null, false); + list.setBookbuildingDate(DateUtil.getyyyy_MM_dd(new Date())); + p = bookbuildingFacade.addPregnantBookbuilding(list, null, false); System.out.println("当前线程名称:"+Thread.currentThread().getName()+"===保存好建档_id:"+p.getData()); } return p; -- 1.8.3.1