Commit ed6c6c92c04550ba87b6e78453f0d40440187f74
1 parent
1d35b07ca5
Exists in
master
and in
6 other branches
同步
Showing 7 changed files with 156 additions and 11 deletions
- platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/ConvertHelper.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java
- platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java
- platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java
- platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java
- platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml
platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java
View file @
ed6c6c9
... | ... | @@ -143,8 +143,12 @@ |
143 | 143 | private Date checkupTimeEnd; |
144 | 144 | |
145 | 145 | private Boolean checkupExist; |
146 | + //大于修改时间 | |
147 | + private Date gteModified; | |
148 | + //大于创建时间 | |
149 | + //大于创建时间 | |
150 | + private Date gteCreated; | |
146 | 151 | |
147 | - | |
148 | 152 | @Override |
149 | 153 | public MongoQuery convertToQuery() { |
150 | 154 | MongoCondition condition = MongoCondition.newInstance(); |
... | ... | @@ -314,6 +318,12 @@ |
314 | 318 | } |
315 | 319 | } |
316 | 320 | |
321 | + if (null != gteModified && null != gteCreated) { | |
322 | + MongoCondition mongoCondition = new MongoCondition("modified", gteModified, MongoOper.GTE); | |
323 | + MongoCondition condition2 = new MongoCondition("created", gteCreated, MongoOper.GTE); | |
324 | + condition = condition.orCondition(new MongoCondition[]{mongoCondition, condition2}); | |
325 | + } | |
326 | + | |
317 | 327 | if (StringUtils.isNotBlank(trackHospitalId)) { |
318 | 328 | MongoCondition c = MongoCondition.newInstance(); |
319 | 329 | MongoCondition con1 = MongoCondition.newInstance("trackHospitalId", trackHospitalId, MongoOper.IS); |
... | ... | @@ -352,6 +362,22 @@ |
352 | 362 | |
353 | 363 | //0 或者空不是 1是 |
354 | 364 | private Integer hasHj; |
365 | + | |
366 | + public Date getGteModified() { | |
367 | + return gteModified; | |
368 | + } | |
369 | + | |
370 | + public void setGteModified(Date gteModified) { | |
371 | + this.gteModified = gteModified; | |
372 | + } | |
373 | + | |
374 | + public Date getGteCreated() { | |
375 | + return gteCreated; | |
376 | + } | |
377 | + | |
378 | + public void setGteCreated(Date gteCreated) { | |
379 | + this.gteCreated = gteCreated; | |
380 | + } | |
355 | 381 | |
356 | 382 | public Boolean getCheckupExist() { |
357 | 383 | return checkupExist; |
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/ConvertHelper.java
View file @
ed6c6c9
... | ... | @@ -576,6 +576,26 @@ |
576 | 576 | return localPatient; |
577 | 577 | } |
578 | 578 | |
579 | + | |
580 | + public static com.lymsh.mommybaby.maindata.model.Patients convertResidents(ResidentsArchiveModel residents) { | |
581 | + com.lymsh.mommybaby.maindata.model.Patients localPatient = new com.lymsh.mommybaby.maindata.model.Patients(); | |
582 | + localPatient.setCreated(residents.getCreated()); | |
583 | + localPatient.setYn(residents.getYn()); | |
584 | + localPatient.setForeignId(residents.getId()); | |
585 | + localPatient.setUsername(residents.getUsername()); | |
586 | + localPatient.setAge(residents.getAge()); | |
587 | + localPatient.setBirth(residents.getBirthday()); | |
588 | + localPatient.setPhone(residents.getPhone()); | |
589 | + localPatient.setPid(residents.getId()); | |
590 | + localPatient.setLastCheckEmployeeId(residents.getBuildDoctor()); | |
591 | + localPatient.setHospitalForeignId(residents.getHospitalId()); | |
592 | + //妇女 | |
593 | + localPatient.setType(4); | |
594 | + localPatient.setPublishId(0); | |
595 | + localPatient.setPublishName(AUTO_WORKER); | |
596 | + return localPatient; | |
597 | + } | |
598 | + | |
579 | 599 | /** |
580 | 600 | * 转换医生用户信息 |
581 | 601 | * |
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java
View file @
ed6c6c9
... | ... | @@ -57,6 +57,9 @@ |
57 | 57 | private YunBookbuildingService yunBookbuildingService; |
58 | 58 | @Autowired |
59 | 59 | private BasicConfigService basicConfigService; |
60 | + | |
61 | + @Autowired | |
62 | + private ResidentsArchiveService residentsArchiveService; | |
60 | 63 | /** |
61 | 64 | * 工作线程池 |
62 | 65 | */ |
... | ... | @@ -882,6 +885,9 @@ |
882 | 885 | handleAntEx(patients, mamiPatient, stopWatch3); |
883 | 886 | |
884 | 887 | logger.info(stopWatch3.toString()); |
888 | + | |
889 | + | |
890 | + syncResidents(hospitalId); | |
885 | 891 | } catch (Exception e) { |
886 | 892 | ERROR_LOGGER.error("handl patient :" + patients.getId() + ", hospitalId:" + hospitalId, e); |
887 | 893 | } |
... | ... | @@ -896,6 +902,45 @@ |
896 | 902 | ERROR_LOGGER.error("sync worker error.hospitalId:" + hospitalId, e); |
897 | 903 | } finally { |
898 | 904 | countDownLatch.countDown(); |
905 | + } | |
906 | + } | |
907 | + } | |
908 | + | |
909 | + /** | |
910 | + * 同步妇女档案 | |
911 | + * @param hospitalId | |
912 | + */ | |
913 | + private void syncResidents(String hospitalId) | |
914 | + { | |
915 | + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); | |
916 | + query.setHospitalId(hospitalId); | |
917 | + query.setYn(YnEnums.YES.getId()); | |
918 | + | |
919 | + if (-1 != readLastSyncTime()) { | |
920 | + query.setGteModified(new Date(readLastSyncTime())); | |
921 | + query.setGteCreated(new Date(readLastSyncTime())); | |
922 | + } | |
923 | + | |
924 | + StopWatch stopWatch2 = new StopWatch("SyncWork-" + hospitalId + "-query residents"); | |
925 | + stopWatch2.start("queryResidentsQuery"); | |
926 | + List<ResidentsArchiveModel> modelList = residentsArchiveService.queryResident(query); | |
927 | + stopWatch2.stop(); | |
928 | + logger.info(stopWatch2.toString()); | |
929 | + logger.info("query residents by hospitalId:" + hospitalId + ", list size :" + modelList.size()); | |
930 | + | |
931 | + | |
932 | + if (CollectionUtils.isNotEmpty(modelList)) | |
933 | + { | |
934 | + for (ResidentsArchiveModel model : modelList) | |
935 | + { | |
936 | + com.lymsh.mommybaby.maindata.model.Patients mamiPatient = ConvertHelper | |
937 | + .convertResidents(model); | |
938 | + | |
939 | + if (StringUtils.isBlank(mamiPatient.getPhone())) { | |
940 | + continue; | |
941 | + } | |
942 | + //增加建档记录 | |
943 | + patientsService.aouPatients(mamiPatient); | |
899 | 944 | } |
900 | 945 | } |
901 | 946 | } |
platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java
View file @
ed6c6c9
... | ... | @@ -82,6 +82,9 @@ |
82 | 82 | @Autowired |
83 | 83 | private UsersService usersService; |
84 | 84 | |
85 | + @Autowired | |
86 | + private MatDeliverService matDeliverService; | |
87 | + | |
85 | 88 | /** |
86 | 89 | * 生成孕妇的AMS推送消息 |
87 | 90 | * @param generateHospitalId 医院id |
... | ... | @@ -234,7 +237,7 @@ |
234 | 237 | hearingDiagnoseService, |
235 | 238 | babyPatientExtendEarFollowUpService, |
236 | 239 | patientServiceService, |
237 | - usersService); | |
240 | + usersService,matDeliverService); | |
238 | 241 | pool.execute(worker); |
239 | 242 | } |
240 | 243 |
platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java
View file @
ed6c6c9
... | ... | @@ -290,7 +290,7 @@ |
290 | 290 | if (serviceType == com.lyms.platform.common.enums.ServiceTypeEnums.ALL_SERVICE.getId()) { |
291 | 291 | Integer[] status = null; |
292 | 292 | if (serviceStatus == ServiceStatusEnums.ALL_OPEN.getId()) { |
293 | - status = new Integer[]{ServiceStatusEnums.STANDARD_OPEN.getId(),ServiceStatusEnums.ADD_OPEN.getId()}; | |
293 | + //status = new Integer[]{ServiceStatusEnums.STANDARD_OPEN.getId(),ServiceStatusEnums.ADD_OPEN.getId()}; | |
294 | 294 | |
295 | 295 | } |
296 | 296 | else if (serviceStatus == ServiceStatusEnums.ALL_NO_OPEN.getId()) |
platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java
View file @
ed6c6c9
... | ... | @@ -2,12 +2,10 @@ |
2 | 2 | |
3 | 3 | import com.lyms.platform.beans.MsgListRequest; |
4 | 4 | import com.lyms.platform.beans.MsgRequest; |
5 | -import com.lyms.platform.biz.service.BabyBookbuildingService; | |
6 | -import com.lyms.platform.biz.service.PostReviewService; | |
7 | -import com.lyms.platform.biz.service.SmsTemplateService; | |
8 | -import com.lyms.platform.biz.service.YunBookbuildingService; | |
5 | +import com.lyms.platform.biz.service.*; | |
9 | 6 | import com.lyms.platform.common.enums.*; |
10 | 7 | import com.lyms.platform.common.utils.DateUtil; |
8 | +import com.lyms.platform.common.utils.JsonUtil; | |
11 | 9 | import com.lyms.platform.common.utils.StringUtils; |
12 | 10 | import com.lyms.platform.msg.service.IBaseService; |
13 | 11 | import com.lyms.platform.msg.utils.DateUtils; |
14 | 12 | |
... | ... | @@ -16,11 +14,13 @@ |
16 | 14 | import com.lyms.platform.permission.service.*; |
17 | 15 | import com.lyms.platform.pojo.*; |
18 | 16 | import com.lyms.platform.query.BabyModelQuery; |
17 | +import com.lyms.platform.query.MatDeliverQuery; | |
19 | 18 | import com.lyms.platform.query.PatientsQuery; |
20 | 19 | import com.lyms.platform.query.SmsTemplateQuery; |
21 | 20 | import org.apache.commons.collections.CollectionUtils; |
22 | 21 | import org.slf4j.Logger; |
23 | 22 | import org.slf4j.LoggerFactory; |
23 | +import org.springframework.beans.factory.annotation.Autowired; | |
24 | 24 | import org.springframework.data.domain.Sort; |
25 | 25 | import org.springframework.data.mongodb.core.MongoTemplate; |
26 | 26 | import org.springframework.data.mongodb.core.query.Criteria; |
... | ... | @@ -63,6 +63,10 @@ |
63 | 63 | |
64 | 64 | private UsersService usersService; |
65 | 65 | |
66 | + | |
67 | + | |
68 | + private MatDeliverService matDeliverService; | |
69 | + | |
66 | 70 | public TempleteMsgGenerateWorker(List<SmsConfigModel> configs, IBaseService baseService, |
67 | 71 | YunBookbuildingService yunBookbuildingService, |
68 | 72 | SmsTemplateService smsTemplateService, |
... | ... | @@ -95,7 +99,8 @@ |
95 | 99 | BabyPatientExtendEarHearingDiagnoseService hearingDiagnoseService, |
96 | 100 | BabyPatientExtendEarFollowUpService babyPatientExtendEarFollowUpService, |
97 | 101 | PatientServiceService patientServiceService, |
98 | - UsersService usersService) { | |
102 | + UsersService usersService, | |
103 | + MatDeliverService matDeliverService) { | |
99 | 104 | this.configs = configs; |
100 | 105 | this.baseService = baseService; |
101 | 106 | this.yunBookbuildingService = yunBookbuildingService; |
... | ... | @@ -108,6 +113,7 @@ |
108 | 113 | this.babyPatientExtendEarFollowUpService = babyPatientExtendEarFollowUpService; |
109 | 114 | this.patientServiceService = patientServiceService; |
110 | 115 | this.usersService = usersService; |
116 | + this.matDeliverService = matDeliverService; | |
111 | 117 | } |
112 | 118 | |
113 | 119 | @Override |
... | ... | @@ -1695,6 +1701,9 @@ |
1695 | 1701 | patientsQuery.setYn(YnEnums.YES.getId()); |
1696 | 1702 | patientsQuery.setHospitalId(tempHid); |
1697 | 1703 | |
1704 | + patientsQuery.setFmDateStart(DateUtil.addDay(new Date(), 1)); | |
1705 | + patientsQuery.setFmDateEnd(DateUtil.addDay(new Date(),-60)); | |
1706 | + | |
1698 | 1707 | List buildType = new ArrayList(); |
1699 | 1708 | buildType.add(0); |
1700 | 1709 | buildType.add(2); |
... | ... | @@ -1788,8 +1797,7 @@ |
1788 | 1797 | && serviceStatus == ServiceStatusEnums.ADD_ALL.getId()){ |
1789 | 1798 | addPuerperaMessages(template, config, service, tempHid, sendTimeType, patientsQuery, messages, start, end); |
1790 | 1799 | } else { |
1791 | - PatientsQuery query = getPatientsQuery(template, false); | |
1792 | - addPuerperaMessages(template, config, service, tempHid, sendTimeType, query, messages, start, end); | |
1800 | + addPuerperaMessages(template, config, service, tempHid, sendTimeType, patientsQuery, messages, start, end); | |
1793 | 1801 | } |
1794 | 1802 | } |
1795 | 1803 | } |
... | ... | @@ -1831,6 +1839,7 @@ |
1831 | 1839 | Integer start, |
1832 | 1840 | Integer end) { |
1833 | 1841 | List<Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); |
1842 | + System.out.println(patientsQuery.convertToQuery().convertToMongoQuery().toString()); | |
1834 | 1843 | for (Patients pat : patientses) { |
1835 | 1844 | if (pat.getDueDate() == null) { |
1836 | 1845 | continue; |
1837 | 1846 | |
... | ... | @@ -1843,9 +1852,33 @@ |
1843 | 1852 | if (queryPostOrder(pat.getDueDate(), start, tempHid, sendTimeType, pat.getId())) { |
1844 | 1853 | continue; |
1845 | 1854 | } |
1855 | + String content = template.getContent(); | |
1856 | + if (template.getContent().contains("#剖宫产#") || template.getContent().contains("#顺产#")) | |
1857 | + { | |
1858 | + MatDeliverQuery deliverQuery = new MatDeliverQuery(); | |
1859 | + deliverQuery.setPid(pat.getPid()); | |
1860 | + deliverQuery.setCreatedStart(pat.getLastMenses()); | |
1861 | + if (template.getContent().contains("#剖宫产#")) | |
1862 | + { | |
1863 | + content = content.replace("#剖宫产#", ""); | |
1864 | + deliverQuery.setDeliveryModeQueryJson("\"fmfs\":\"2\""); | |
1865 | + } | |
1866 | + else | |
1867 | + { | |
1868 | + content = content.replace("#顺产#", ""); | |
1869 | + deliverQuery.setDeliveryModeQueryJson("\"fmfs\":\"1\""); | |
1870 | + } | |
1871 | + | |
1872 | + List<MaternalDeliverModel> list = matDeliverService.query(deliverQuery); | |
1873 | + if (CollectionUtils.isEmpty(list)) | |
1874 | + { | |
1875 | + continue; | |
1876 | + } | |
1877 | + } | |
1878 | + | |
1846 | 1879 | //短信前缀 |
1847 | 1880 | String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.CHANOBJ.getId()); |
1848 | - String messageContent = "【" + messagePrefix + "】" + template.getContent(); | |
1881 | + String messageContent = "【" + messagePrefix + "】" + content; | |
1849 | 1882 | messageContent = HelperUtils.replaceName(pat.getUsername(), messageContent); |
1850 | 1883 | |
1851 | 1884 | String days = "产后" + HelperUtils.getKeyword(start, end, "天"); |
platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml
View file @
ed6c6c9
... | ... | @@ -492,6 +492,23 @@ |
492 | 492 | |
493 | 493 | |
494 | 494 | |
495 | + <!--处理追访预约时间延期--> | |
496 | + <bean id="handleTrackDownJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> | |
497 | + <!-- 要调用的bean --> | |
498 | + <property name="targetObject" ref="trackDownFacade"></property> | |
499 | + <!-- 要调用的Method --> | |
500 | + <property name="targetMethod" value="handleTrackDown"></property> | |
501 | + <!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 --> | |
502 | + <property name="concurrent" value="false"></property> | |
503 | + </bean> | |
504 | + | |
505 | + <bean id="handleTrackDownTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> | |
506 | + <property name="jobDetail" ref="handleTrackDownJob"/> | |
507 | + <property name="cronExpression" value="0 20 8 * * ? "></property> | |
508 | + </bean> | |
509 | + | |
510 | + | |
511 | + | |
495 | 512 | <!-- 总调度,用于启动定时器 --> |
496 | 513 | <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
497 | 514 | <property name="triggers" > |
... | ... | @@ -521,6 +538,7 @@ |
521 | 538 | |
522 | 539 | <ref bean="autoGetSieveTrigger" /> |
523 | 540 | <ref bean="genWeightTrigger" /> |
541 | + <ref bean="handleTrackDownTrigger" /> | |
524 | 542 | |
525 | 543 | <!--陵城孕前优生临床检查自动保存到表 |
526 | 544 | <ref bean="dzlcTyTrigger" />--> |