diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java index cf57e5b..c2a9d27 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java @@ -48,9 +48,9 @@ public class MongoSyncService { public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0"); - public boolean syncData(String action, String id, String className, String json) { + public boolean syncData(String action, String id, String className, String json,String url) { - logger.info("action:" + action + ",id:"+id+",className:"+className+",json:"+json +"|"); + logger.info("action:" + action + ",id:"+id+",className:"+className+",json:"+json +"|"+"url:"+url); try { if ("UPDATEMULTI".equals(action)) { Class cla = Class.forName(LymsEncodeUtil.aesDecrypt(className, mongo_crypto_key)); @@ -166,7 +166,11 @@ public class MongoSyncService { } return false; } catch (Exception e) { - ExceptionUtils.catchException(e,"syncData Error. id :" +id+",action:" +action+",json:"+json +",className:"+className); + try { + ExceptionUtils.catchException(e,"syncData Error. id :" +id+",action:" +action+",json:"+json +",className:"+Class.forName(LymsEncodeUtil.aesDecrypt(className, mongo_crypto_key)).toString()+"url:"+url); + } catch (Exception e1) { + + } return true; } } diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index 21bf7c0..4243c2f 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -348,7 +348,7 @@ public final class StringUtils { if (value == null || !StringUtils.isNotEmpty(value.toString()) || "/".equals(value)) { return null; } - return value.toString() + unit; + return "正常".equals(value.toString()) ? value.toString() : value.toString() + unit; } public static List covertToList(String s, Class clazz) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java index 258ff25..8be748c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java @@ -44,7 +44,7 @@ public class MongoSyncController extends BaseController { return "success"; } - boolean boo = mongoSyncService.syncData(action,id, className, jsonData); + boolean boo = mongoSyncService.syncData(action,id, className, jsonData,""); if (boo) { return "success"; } 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 246eba2..28c927b 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 @@ -4183,4 +4183,64 @@ public class TestController extends BaseController { return "syncPatFirstTime finish"; } + + + + @RequestMapping(value = "/syncPatientByHospitalId", method = RequestMethod.GET) + @ResponseBody + public String syncPatientByHospitalId(@RequestParam(required = false) String hospitalId, String startDate,String endDate) { + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(hospitalId)) { + patientQuery.setHospitalId(hospitalId); + } + patientQuery.setCreatedTimeStart(DateUtil.parseYMD(startDate)); + patientQuery.setCreatedTimeEnd(DateUtil.parseYMD(endDate)); + //patientQuery.setId("5fe9830199325d067a7be05a"); + + List patientses = patientsService.queryPatient(patientQuery); + System.out.println("patientses size "+ patientses.size()); + int batchSize = 1000; + 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); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (Patients pat : tempList) { + String patientId = pat.getId(); + mongoTemplate.remove(Query.query(Criteria.where("_id").is(patientId)), Patients.class); + pat.setModified(new Date()); + patientsService.addPatient(pat); + + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(pat.getPid())) + { + PersonModelQuery personModelQuery = new PersonModelQuery(); + personModelQuery.setYn(YnEnums.YES.getId()); + personModelQuery.setId(pat.getPid()); + + List personModels = personService.queryPersons(personModelQuery); + if (CollectionUtils.isNotEmpty(personModels)) + { + PersonModel personModel = personModels.get(0); + personModel.setModified(new Date()); + mongoTemplate.remove(Query.query(Criteria.where("_id").is(pat.getPid())), PersonModel.class); + personService.addPerson(personModel); + } + } + } + } + } + }); + } + + return "syncPatientByHospitalId finish"; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java index d54192a..9a78ce8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java @@ -176,7 +176,7 @@ public class SyncDataTaskService { } else { - boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData()); + boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData(),url); } }