diff --git a/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java b/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java index ae25861..e92f8e9 100644 --- a/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java +++ b/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java @@ -768,7 +768,7 @@ public class SyncDataService { private void syncFuzhen(String pid, String parentId, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { - String sql = "select * from TMP_QHD_FZ where replace(parentid,'-','') = '"+parentId+"'"; + String sql = "select * from TMP_QHD_FZ where replace(parentid,'-','') = '"+parentId+"' order by CHECKDATE ASC "; long startTimes = System.currentTimeMillis(); List> list = JDBCUtil.getOracleListDataBySql(sql); long endTimes = System.currentTimeMillis(); 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 6b1d97f..344b2c5 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 @@ -9,6 +9,8 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.CompressEncodeingUtil; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; +import com.lyms.platform.operate.web.result.HighScoreResult; import com.lyms.platform.operate.web.service.SyncDataTaskService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.AntExChuModel; @@ -61,6 +63,10 @@ public class TestController { @Autowired private AntenatalExaminationService antenatalExaminationService; + + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + /** * 获取科室 */ @@ -292,6 +298,11 @@ public class TestController { } + /** + * 修改最后一次产检时间冗余到patient中 + * @param hid + * @return + */ @RequestMapping(value = "/syncPatNextTime", method = RequestMethod.GET) @ResponseBody public String syncPatNextTime(@RequestParam(required = true) String hid) { @@ -442,7 +453,11 @@ public class TestController { } - + /** + * 修改高危因素中包含健康的 把健康去掉 + * @param hid + * @return + */ @RequestMapping(value = "/modifyRiskFactor", method = RequestMethod.GET) @ResponseBody public String modifyRiskFactor(@RequestParam(required = true) String hid) { @@ -499,6 +514,65 @@ public class TestController { } + /** + * 更新产妇当前产程最后一次高危因素冗余到 patient中 + * @param hid + * @return + */ + @RequestMapping(value = "/updateChanLaskRisk", method = RequestMethod.GET) + @ResponseBody + public String updateChanLaskRisk(@RequestParam(required = true) String hid) { + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + patientQuery.setHospitalId(hid); + patientQuery.setType(3); + + List patientses = patientsService.queryPatient(patientQuery); + int batchSize = 500; + int end = 0; + for (int i = 0; i < patientses.size(); i += batchSize) { + end = (end + batchSize); + if (end > patientses.size()) { + end = patientses.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = patientses.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) + { + for (Patients pat : tempList) { + if (pat != null) + { + Date min = pat.getLastMenses(); + Date max = pat.getFmDate(); + if (min != null && max != null) + { + HighScoreResult highScoreResult = antenatalExaminationFacade.getPatLastRiskByDate(pat.getPid(),true,min,max); + PatientsQuery patientsQuery1 = new PatientsQuery(); + patientsQuery1.setId(pat.getId()); + patientsQuery1.setYn(YnEnums.YES.getId()); + + Patients patients1 = new Patients(); + patients1.setModified(new Date()); + patients1.setRiskScore(highScoreResult.getScore()); + patients1.setRiskFactorId(highScoreResult.getHighId()); + patients1.setRiskLevelId(JsonUtil.array2JsonString(highScoreResult.getLevelId())); + //设置其他的高危因素 + patients1.setoRiskFactor(highScoreResult.getOtherRisk()); + patientsService.findAndModify(patientsQuery1, patients1); + } + } + } + } + } + }).start(); + } + + return "updateChanLaskRisk finish"; + } + public static void main(String[] a) { try {