Commit a68d0316cbb7a3e47a9d70452b242958bb02e139

Authored by yangfei
1 parent 126cf8b3cf

追访数据个节点更新

Showing 10 changed files with 241 additions and 180 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ a68d031
1 1 package com.lyms.platform.biz.service;
2 2  
3 3 import com.lyms.platform.biz.RemoteService;
4   -import com.lyms.platform.biz.RemoteUrlEnum;
5 4 import com.lyms.platform.biz.dal.*;
6 5 import com.lyms.platform.common.dao.operator.MongoQuery;
7 6 import com.lyms.platform.common.enums.SieveStatusEnums;
  7 +import com.lyms.platform.common.enums.TrackDownDateEnums;
8 8 import com.lyms.platform.common.enums.YnEnums;
9 9 import com.lyms.platform.common.utils.DateUtil;
10 10 import com.lyms.platform.common.utils.PropertiesUtils;
11 11  
... ... @@ -46,7 +46,10 @@
46 46 private PatientCheckTicketService patientCheckTicketService;
47 47 @Autowired
48 48 private RemoteService remoteService;
  49 + @Autowired
  50 + private TrackDownRecordService trackDownRecordService;
49 51  
  52 +
50 53 public Patients addPatient(Patients obj) {
51 54 return iPatientDao.addPatient(obj);
52 55 }
... ... @@ -239,6 +242,51 @@
239 242 }
240 243 }**/
241 244 }
  245 +
  246 + /**
  247 + * 处理预产期前两周的孕妇数据,进入分娩住院追访
  248 + */
  249 + public void dandleReachDue(){
  250 + //查询出满足预产期前两周的孕妇
  251 + Date endDate = new Date();
  252 + Date start = DateUtil.addDay(DateUtil.formatDate(endDate), -14);
  253 +
  254 + PatientsQuery patientsQuery = new PatientsQuery();
  255 + patientsQuery.setDueDateEnd(endDate);
  256 + patientsQuery.setDueDateStart(start);
  257 + patientsQuery.setYn(YnEnums.YES.getId());
  258 + patientsQuery.setDueStatus(0);
  259 + patientsQuery.setType(1);
  260 + List<Patients> patientses = iPatientDao.queryPatient(patientsQuery.convertToQuery());
  261 + if (CollectionUtils.isNotEmpty(patientses)) {
  262 + logger.info("处理预产期前两周的孕妇数据,进入分娩住院追访 size:" + patientses.size());
  263 + for(Patients patient:patientses){
  264 + if(patient.getHospitalId().equals("216")){
  265 + System.out.println("cardNo:"+patient.getCardNo());
  266 + }
  267 + //添加产后追访信息
  268 + TrackDownRecord trackDownRecord = patient.build();
  269 + //添加产后追访信息
  270 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  271 + downRecordQuery.setParentId(trackDownRecord.getParentId());
  272 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  273 + //不存在追访或者追访未结束流程并且追访类型小于分娩住院
  274 + if(CollectionUtils.isEmpty(records)||(records.get(0).getStatus() == 1 && records.get(0).getTrackType()<TrackDownDateEnums.E.getId())){
  275 + trackDownRecord.setHospitalId(patient.getHospitalId());
  276 + trackDownRecord.setSource(patient.getId());
  277 + trackDownRecord.setStatus(1);
  278 + trackDownRecord.setTrackType(TrackDownDateEnums.E.getId());
  279 + if(CollectionUtils.isEmpty(records)){
  280 + trackDownRecordService.addTrackDown(trackDownRecord);
  281 + }else{
  282 + trackDownRecordService.updateTrackDown(trackDownRecord,records.get(0).getId());
  283 + }
  284 + }
  285 + }
  286 + }
  287 + }
  288 +
  289 +
242 290  
243 291 /**
244 292 * 删除过期产筛的数据,删掉自动到期的部分
platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java View file @ a68d031
1 1 package com.lyms.platform.pojo;
2 2  
3 3 import com.lyms.platform.beans.SerialIdEnum;
  4 +import com.lyms.platform.common.enums.TrackDownDateEnums;
4 5 import com.lyms.platform.common.result.BaseModel;
5 6 import org.apache.commons.lang.math.NumberUtils;
6 7 import org.springframework.data.mongodb.core.mapping.Document;
... ... @@ -806,6 +807,32 @@
806 807  
807 808 public void setExtPlacentas(List<ExtPlacenta> extPlacentas) {
808 809 this.extPlacentas = extPlacentas;
  810 + }
  811 +
  812 + public TrackDownRecord build(Patients patients) {
  813 + if (null == patients) {
  814 + return null;
  815 + }
  816 + TrackDownRecord downRecord = new TrackDownRecord();
  817 + downRecord.setParentId(getParentId());
  818 + downRecord.setPid(getPid());
  819 + downRecord.setLastMenses(patients.getLastMenses());
  820 + downRecord.setUsername(patients.getUsername());
  821 + downRecord.setCityRegisterId(patients.getCityRegisterId());
  822 + downRecord.setBirth(patients.getBirth());
  823 + downRecord.setAreaRegisterId(patients.getAreaRegisterId());
  824 + downRecord.setCardNo(patients.getCardNo());
  825 + downRecord.setAddressRegister(patients.getAddressRegister());
  826 + downRecord.setPhone(patients.getPhone());
  827 + downRecord.setStreetRegisterId(patients.getStreetRegisterId());
  828 + downRecord.setAreaRegisterId(patients.getAreaRegisterId());
  829 +
  830 + //默认值
  831 + downRecord.setSource(getId());
  832 + downRecord.setHospitalId(getHospitalId());
  833 + downRecord.setStatus(1);
  834 + downRecord.setTrackType(TrackDownDateEnums.F.getId());
  835 + return downRecord;
809 836 }
810 837 }
platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java View file @ a68d031
1 1 package com.lyms.platform.pojo;
2 2  
3 3 import com.lyms.platform.beans.SerialIdEnum;
  4 +import com.lyms.platform.common.enums.TrackDownDateEnums;
4 5 import com.lyms.platform.common.result.BaseModel;
5 6 import com.lyms.platform.common.utils.DateUtil;
6 7 import org.springframework.data.mongodb.core.mapping.Document;
... ... @@ -1175,6 +1176,10 @@
1175 1176 downRecord.setPhone(getPhone());
1176 1177 downRecord.setStreetRegisterId(getStreetRegisterId());
1177 1178 downRecord.setAreaRegisterId(getAreaRegisterId());
  1179 + //默认值
  1180 + downRecord.setHospitalId(getHospitalId());
  1181 + downRecord.setStatus(1);
  1182 + downRecord.setTrackType(TrackDownDateEnums.C.getId());
1178 1183 return downRecord;
1179 1184 }
1180 1185  
platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java View file @ a68d031
1 1 package com.lyms.platform.pojo;
2 2  
3 3 import com.lyms.platform.beans.SerialIdEnum;
  4 +import com.lyms.platform.common.enums.TrackDownDateEnums;
4 5 import com.lyms.platform.common.result.BaseModel;
  6 +import com.lyms.platform.common.utils.StringUtils;
5 7 import org.springframework.data.mongodb.core.mapping.Document;
6 8  
7 9 import java.util.Date;
... ... @@ -1525,6 +1527,30 @@
1525 1527  
1526 1528 public void setHunJianDoctor(String hunJianDoctor) {
1527 1529 this.hunJianDoctor = hunJianDoctor;
  1530 + }
  1531 +
  1532 + public TrackDownRecord build(ResidentsArchiveModel resid) {
  1533 + if (StringUtils.isEmpty(getParentId())) {
  1534 + return null;
  1535 + }
  1536 + TrackDownRecord record = new TrackDownRecord();
  1537 +
  1538 + record.setResidentsArchiveId(resid.getId());
  1539 + record.setAddressRegister(resid.getAddressRegister());
  1540 + record.setAreaRegisterId(resid.getAreaRegisterId());
  1541 + record.setBirth(resid.getBirthday());
  1542 + record.setCityRegisterId(resid.getCityRegisterId());
  1543 + record.setUsername(resid.getUsername());
  1544 + record.setStreetRegisterId(resid.getStreetRegisterId());
  1545 + record.setPhone(resid.getPhone());
  1546 +
  1547 + //默认值
  1548 + record.setSource(getId());
  1549 + record.setHospitalId(getHospitalId());
  1550 + record.setStatus(1);
  1551 + record.setCardNo(getCertificateNum());
  1552 + record.setTrackType(TrackDownDateEnums.B.getId());
  1553 + return record;
1528 1554 }
1529 1555  
1530 1556 }
platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java View file @ a68d031
1 1 package com.lyms.platform.pojo;
2 2  
3 3 import com.lyms.platform.beans.SerialIdEnum;
  4 +import com.lyms.platform.common.enums.TrackDownDateEnums;
4 5 import com.lyms.platform.common.result.BaseModel;
5 6 import org.springframework.data.mongodb.core.mapping.Document;
6 7  
... ... @@ -446,8 +447,8 @@
446 447 record.setHospitalId(getHospitalId());
447 448 record.setSource(getId());
448 449 record.setCardNo(getCertificateNum());
449   - // record.setStatus(1);
450   - // record.setTrackType(TrackDownDateEnums.A.getId());
  450 + record.setStatus(1);
  451 + record.setTrackType(TrackDownDateEnums.A.getId());
451 452 return record;
452 453 }
453 454 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java View file @ a68d031
... ... @@ -26,6 +26,11 @@
26 26 @Autowired
27 27 private ITrackDownService trackDownService;
28 28  
  29 + @Autowired
  30 + private TrackDownFacade downFacade;
  31 + @Autowired
  32 + private TrackDownJobFacade downJobFacade;
  33 +
29 34 @ResponseBody
30 35 @TokenRequired
31 36 @RequestMapping(value = "/mother/{parentId}/{trackType}", method = RequestMethod.GET)
... ... @@ -91,9 +96,6 @@
91 96 public BaseResponse list(TrackDownQueryRequest downQueryRequest,HttpServletRequest request){
92 97 return downFacade.list(downQueryRequest,getUserId(request));
93 98 }
94   - @Autowired
95   - private TrackDownFacade downFacade;
96   - @Autowired
97   - private TrackDownJobFacade downJobFacade;
  99 +
98 100 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java View file @ a68d031
... ... @@ -282,15 +282,11 @@
282 282  
283 283 //添加产后追访信息
284 284 if (CollectionUtils.isNotEmpty(patients)) {
285   - TrackDownRecord trackDownRecord = patients.get(0).build();
  285 + TrackDownRecord trackDownRecord = maternalDeliverModel.build(patients.get(0));
286 286 trackDownRecord.setHospitalId(maternalDeliverModel.getHospitalId());
287   - trackDownRecord.setStatus(1);
288 287 trackDownRecord.setSource(maternalDeliverModel.getId());
289   - trackDownRecord.setStatus(1);
290   - trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
291 288 trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
292 289 }
293   -
294 290  
295 291 operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), maternalDeliverModel, OptActionEnums.ADD.getId(), "添加分娩");
296 292  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ a68d031
... ... @@ -97,6 +97,8 @@
97 97 private MongoTemplate mongoTemplate;
98 98  
99 99  
  100 +
  101 +
100 102 /**
101 103 * 修改产妇的社区
102 104 *
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java View file @ a68d031
... ... @@ -54,21 +54,6 @@
54 54  
55 55 @Autowired
56 56 private PatientsService patientsService;
57   -
58   - @PostConstruct
59   - private void init() {
60   - //婚前检查数据加载
61   - downJobHandlers.add(new HJTrackDownDataLoader());
62   - //怀孕数据加载
63   - downJobHandlers.add(new HYTrackDownDataLoader());
64   - //产检数据加载
65   - downJobHandlers.add(new CJTrackDownDataLoader());
66   - //分娩数据加载
67   - downJobHandlers.add(new FMTrackDownDataLoader());
68   - //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样
69   - downJobHandlers.add(new CHTrackDownDataLoader());
70   - }
71   -
72 57 /**
73 58 * 妇女建档
74 59 */
... ... @@ -81,19 +66,6 @@
81 66 @Autowired
82 67 private PremaritalCheckupService premaritalCheckupService;
83 68  
84   -
85   - public BaseResponse doBatchExecute(Integer d) {
86   - for (final TrackDownDataLoader downDataLoader : downJobHandlers) {
87   - commonThreadPool.execute(new Thread() {
88   - @Override
89   - public void run() {
90   - downDataLoader.execute();
91   - }
92   - });
93   - }
94   - return new BaseResponse().setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setErrorcode(ErrorCodeConstants.SUCCESS);
95   - }
96   -
97 69 interface TrackDownDataLoader<T> {
98 70 //分页的条数
99 71 int limit = 100;
... ... @@ -112,6 +84,50 @@
112 84 }
113 85  
114 86 /**
  87 + * 产筛追访数据加载
  88 + */
  89 + class CSTrackDownDataLoader implements TrackDownDataLoader<Patients> {
  90 + @Override
  91 + public void execute() {
  92 + }
  93 +
  94 + @Override
  95 + public void handOneByOne(Patients model) {
  96 + }
  97 +
  98 + public TrackDownRecord build(Patients model) {
  99 + return null;
  100 + }
  101 + }
  102 +
  103 +
  104 + @PostConstruct
  105 + private void init() {
  106 + //婚前检查数据加载
  107 + downJobHandlers.add(new HJTrackDownDataLoader());
  108 + //怀孕数据加载
  109 + downJobHandlers.add(new HYTrackDownDataLoader());
  110 + //产检数据加载
  111 + downJobHandlers.add(new CJTrackDownDataLoader());
  112 + //分娩数据加载
  113 + downJobHandlers.add(new FMTrackDownDataLoader());
  114 + //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样
  115 + downJobHandlers.add(new CHTrackDownDataLoader());
  116 + }
  117 +
  118 +
  119 + public BaseResponse doBatchExecute(Integer d) {
  120 + for (final TrackDownDataLoader downDataLoader : downJobHandlers) {
  121 + commonThreadPool.execute(new Thread() {
  122 + @Override
  123 + public void run() {
  124 + downDataLoader.execute();
  125 + }
  126 + });
  127 + }
  128 + return new BaseResponse().setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setErrorcode(ErrorCodeConstants.SUCCESS);
  129 + }
  130 + /**
115 131 * 分娩追访数据加载
116 132 */
117 133 class FMTrackDownDataLoader implements TrackDownDataLoader<Patients> {
... ... @@ -150,7 +166,11 @@
150 166 List<TrackDownRecord> records = downRecordService.queryTrackDown(downRecordQuery);
151 167 if (CollectionUtils.isEmpty(records)) {
152 168 logger.info("FMTrackDownDataLoader addTrackDown by id :" + model.getId());
153   - downRecordService.addTrackDown(model.build());
  169 + TrackDownRecord downRecord = model.build();
  170 + downRecord.setHospitalId(model.getHospitalId());
  171 + downRecord.setStatus(1);
  172 + downRecord.setTrackType(TrackDownDateEnums.E.getId());
  173 + downRecordService.addTrackDown(downRecord);
154 174 }
155 175 }
156 176  
157 177  
158 178  
159 179  
... ... @@ -194,55 +214,19 @@
194 214 List<TrackDownRecord> records = downRecordService.queryTrackDown(downRecordQuery);
195 215 if (CollectionUtils.isEmpty(records)) {
196 216 logger.info("CJTrackDownDataLoader addTrackDown by id :" + model.getId());
197   - downRecordService.addTrackDown(build(model));
  217 + TrackDownRecord downRecord = model.build();
  218 + downRecord.setHospitalId(model.getHospitalId());
  219 + downRecord.setStatus(1);
  220 + downRecord.setTrackType(TrackDownDateEnums.C.getId());
  221 + downRecordService.addTrackDown(downRecord);
198 222 } else {
199 223 //TODO 处理已经在追访列表的情况
200 224 }
201 225 }
  226 + }
202 227  
203   - public TrackDownRecord build(Patients model) {
204   - TrackDownRecord downRecord = new TrackDownRecord();
205   - downRecord.setParentId(model.getId());
206   - downRecord.setPid(model.getPid());
207   - downRecord.setLastMenses(model.getLastMenses());
208   - downRecord.setUsername(model.getUsername());
209   - downRecord.setCityRegisterId(model.getCityRegisterId());
210   - downRecord.setBirth(model.getBirth());
211   - downRecord.setAreaRegisterId(model.getAreaRegisterId());
212   - downRecord.setCardNo(model.getCardNo());
213   - downRecord.setAddressRegister(model.getAddressRegister());
214   - downRecord.setHospitalId(model.getHospitalId());
215   - downRecord.setPhone(model.getPhone());
216   - downRecord.setStreetRegisterId(model.getStreetRegisterId());
217   - downRecord.setAreaRegisterId(model.getAreaRegisterId());
218   - downRecord.setStatus(1);
219   - downRecord.setSource(model.getId());
220   - downRecord.setTrackType(TrackDownDateEnums.C.getId());
221   - return downRecord;
222   - }
223   - }
224 228  
225 229 /**
226   - * 产筛追访数据加载
227   - */
228   - class CSTrackDownDataLoader implements TrackDownDataLoader<Patients> {
229   -
230   - @Override
231   - public void execute() {
232   -
233   - }
234   -
235   - @Override
236   - public void handOneByOne(Patients model) {
237   -
238   - }
239   -
240   - public TrackDownRecord build(Patients model) {
241   - return null;
242   - }
243   - }
244   -
245   - /**
246 230 * 怀孕建档数据加载
247 231 * <p/>
248 232 * 完成婚检流程并没有建档
249 233  
... ... @@ -283,38 +267,21 @@
283 267 Integer count = patientsService.queryPatientCount(patientsQuery1);
284 268 if (null != count && count == 0) {
285 269 logger.info("HYTrackDownDataLoader addTrackDown by id :" + model.getId());
286   - TrackDownRecord down = build(model);
287   - if (null != down) {
288   - downRecordService.addTrackDown(down);
  270 + ResidentsArchiveModel resid = residentsArchiveService.getResident(model.getParentId());
  271 + if (null != resid) {
  272 + TrackDownRecord downRecord = model.build(resid);
  273 + // downRecord.setSource(model.getId());
  274 + // downRecord.setHospitalId(model.getHospitalId());
  275 + // downRecord.setStatus(1);
  276 + // downRecord.setCardNo(model.getCertificateNum());
  277 + // downRecord.setTrackType(TrackDownDateEnums.B.getId());
  278 +
  279 + if (null != downRecord) {
  280 + downRecordService.addTrackDown(downRecord);
  281 + }
289 282 }
290 283 }
291 284 }
292   -
293   - public TrackDownRecord build(PremaritalCheckup model) {
294   - if (StringUtils.isEmpty(model.getParentId())) {
295   - return null;
296   - }
297   - TrackDownRecord record = new TrackDownRecord();
298   -
299   - ResidentsArchiveModel resid = residentsArchiveService.getResident(model.getParentId());
300   - if (null == resid) {
301   - return null;
302   - }
303   - record.setResidentsArchiveId(resid.getId());
304   - record.setSource(model.getId());
305   - record.setAddressRegister(resid.getAddressRegister());
306   - record.setAreaRegisterId(resid.getAreaRegisterId());
307   - record.setBirth(resid.getBirthday());
308   - record.setCityRegisterId(resid.getCityRegisterId());
309   - record.setUsername(resid.getUsername());
310   - record.setStreetRegisterId(resid.getStreetRegisterId());
311   - record.setPhone(resid.getPhone());
312   - record.setHospitalId(model.getHospitalId());
313   - record.setStatus(1);
314   - record.setCardNo(model.getCertificateNum());
315   - record.setTrackType(TrackDownDateEnums.B.getId());
316   - return record;
317   - }
318 285 }
319 286  
320 287  
... ... @@ -363,7 +330,8 @@
363 330  
364 331 if (CollectionUtils.isEmpty(DATA)) {
365 332 logger.info("HJTrackDownDataLoader addTrackDown by id :" + model.getId());
366   - downRecordService.addTrackDown(model.build());
  333 + TrackDownRecord record = model.build();
  334 + downRecordService.addTrackDown(record);
367 335 } else {
368 336 //TODO 如果有婚检还存在的情况
369 337 }
370 338  
371 339  
... ... @@ -413,32 +381,17 @@
413 381  
414 382 if (CollectionUtils.isEmpty(DATA)) {
415 383 logger.info("HJTrackDownDataLoader addTrackDown by id :" + model.getId());
416   - downRecordService.addTrackDown(build(model));
  384 + Patients patients = patientsService.findOnePatientById(model.getParentId());
  385 + TrackDownRecord record = model.build(patients);
  386 + downRecordService.addTrackDown(record);
  387 +
417 388 } else {
418 389 //TODO 如果有婚检还存在的情况
419 390 }
420 391 }
421 392 }
422 393  
423   - public TrackDownRecord build(MaternalDeliverModel model) {
424   - TrackDownRecord record = new TrackDownRecord();
425   - record.setParentId(model.getId());
426 394  
427   - Patients patients = patientsService.findOnePatientById(model.getParentId());
428   - record.setAddressRegister(patients.getAddressRegister());
429   - record.setAreaRegisterId(patients.getAreaRegisterId());
430   - record.setBirth(patients.getBirth());
431   - record.setCityRegisterId(patients.getCityRegisterId());
432   - record.setUsername(patients.getUsername());
433   - record.setStreetRegisterId(patients.getStreetRegisterId());
434   - record.setPhone(patients.getPhone());
435   - record.setHospitalId(model.getHospitalId());
436   - record.setStatus(1);
437   - record.setSource(model.getId());
438   - record.setCardNo(patients.getCardNo());
439   - record.setTrackType(TrackDownDateEnums.F.getId());
440   - return record;
441   - }
442 395 }
443 396  
444 397  
445 398  
446 399  
447 400  
448 401  
... ... @@ -446,27 +399,30 @@
446 399 * 产后访视追访数据加载
447 400 * 1.分娩并出院有出院小结的孕妇
448 401 */
449   - class CHTrackDownDataLoader implements TrackDownDataLoader<DischargeAbstractMotherModel> {
  402 + class CHTrackDownDataLoader implements TrackDownDataLoader<MaternalDeliverModel> {
450 403  
451 404 @Override
452 405 public void execute() {
453 406 int page = 0;
454   - List<DischargeAbstractMotherModel> data = null;
  407 +
  408 + List<MaternalDeliverModel> data = null;
455 409 do {
456 410  
457 411 logger.info("CHTrackDownDataLoader execute ");
458 412  
459   - DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery();
460   - dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId());
461   - dischargeAbstractMotherQuery.setSort("createDate asc");
462   - dischargeAbstractMotherQuery.setNeed("1");
463   - dischargeAbstractMotherQuery.setPage(page);
464   - dischargeAbstractMotherQuery.setLimit(limit);
  413 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery();
  414 + matDeliverQuery.setYn(YnEnums.YES.getId());
465 415  
466   - data = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery);
  416 + matDeliverQuery.setSort("createDate asc");
  417 + matDeliverQuery.setNeed("1");
  418 + matDeliverQuery.setPage(page);
  419 + matDeliverQuery.setLimit(limit);
  420 +
  421 + data = matDeliverService.query(matDeliverQuery);
  422 +
467 423 //查询妇女建档
468 424 if (CollectionUtils.isNotEmpty(data)) {
469   - for (DischargeAbstractMotherModel model : data) {
  425 + for (MaternalDeliverModel model : data) {
470 426 handOneByOne(model);
471 427 }
472 428 }
473 429  
474 430  
475 431  
476 432  
... ... @@ -475,53 +431,23 @@
475 431 }
476 432  
477 433 @Override
478   - public void handOneByOne(DischargeAbstractMotherModel model) {
  434 + public void handOneByOne(MaternalDeliverModel model) {
479 435  
480   -
481 436 TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
482 437 downRecordQuery.setParentId(model.getId());
483 438 List<TrackDownRecord> records = downRecordService.queryTrackDown(downRecordQuery);
484 439 if (CollectionUtils.isEmpty(records)) {
485 440 logger.info("CHTrackDownDataLoader addTrackDown by id :" + model.getId());
486   - TrackDownRecord trackDownRecord = build(model);
487   - if (null != trackDownRecord) {
488   - downRecordService.addTrackDown(trackDownRecord);
489   - trackDownRecord.setId(null);
490   - trackDownRecord.setTrackType(TrackDownDateEnums.G.getId());
491   - downRecordService.addTrackDown(trackDownRecord);
  441 + Patients patients = patientsService.findOnePatientById(model.getParentId());
  442 + if (null != patients) {
  443 + TrackDownRecord trackDownRecord = model.build(patients);
  444 + if (null != trackDownRecord) {
  445 + downRecordService.addTrackDown(trackDownRecord);
  446 + }
492 447 }
493 448 }
494 449 }
495   -
496   - public TrackDownRecord build(DischargeAbstractMotherModel model) {
497   -
498   - Patients patients = patientsService.findOnePatientById(model.getPatientId());
499   - if (null == patients) {
500   - return null;
501   - }
502   - TrackDownRecord downRecord = new TrackDownRecord();
503   - downRecord.setParentId(model.getPatientId());
504   - downRecord.setSource(model.getId());
505   - downRecord.setPid(model.getPid());
506   - downRecord.setLastMenses(patients.getLastMenses());
507   - downRecord.setUsername(patients.getUsername());
508   - downRecord.setCityRegisterId(patients.getCityRegisterId());
509   - downRecord.setBirth(patients.getBirth());
510   - downRecord.setAreaRegisterId(patients.getAreaRegisterId());
511   - downRecord.setCardNo(patients.getCardNo());
512   - downRecord.setAddressRegister(patients.getAddressRegister());
513   - downRecord.setHospitalId(model.getHospitalId());
514   - downRecord.setPhone(patients.getPhone());
515   - downRecord.setStreetRegisterId(patients.getStreetRegisterId());
516   - downRecord.setAreaRegisterId(patients.getAreaRegisterId());
517   - downRecord.setStatus(1);
518   - downRecord.setTrackType(TrackDownDateEnums.F.getId());
519   - return downRecord;
520   - }
521 450 }
522   -
523   - @Autowired
524   - private DischargeAbstractMotherService dischargeAbstractMotherService;
525 451 @Autowired
526 452 private MatDeliverService matDeliverService;
527 453 }
platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml View file @ a68d031
... ... @@ -61,6 +61,16 @@
61 61 <property name="concurrent" value="false"></property>
62 62 </bean>
63 63  
  64 + <!--预产期两周前自动创建分娩住院追访任务 -->
  65 + <bean id="dandleReachDue" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  66 + <!-- 要调用的bean -->
  67 + <property name="targetObject" ref="patientsServiceLocal"></property>
  68 + <!-- 要调用的Method -->
  69 + <property name="targetMethod" value="dandleReachDue"></property>
  70 + <!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 -->
  71 + <property name="concurrent" value="false"></property>
  72 + </bean>
  73 +
64 74 <bean id="delSieveTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
65 75 <!-- 要调用的bean -->
66 76 <property name="targetObject" ref="patientsServiceLocal"></property>
... ... @@ -142,6 +152,12 @@
142 152 </bean>
143 153  
144 154 <!-- 配置一个触发器 -->
  155 + <bean id="dandleReachDueTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  156 + <property name="jobDetail" ref="dandleReachDue"></property>
  157 + <property name="cronExpression" value="0 0 2 * * ?"></property>
  158 + </bean>
  159 +
  160 + <!-- 配置一个触发器 -->
145 161 <bean id="delSieveTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
146 162 <property name="jobDetail" ref="delSieveTask"></property>
147 163 <property name="cronExpression" value="0 30 3 * * ?"></property>
148 164  
... ... @@ -188,7 +204,15 @@
188 204 <property name="repeatCount" value="0" />
189 205 </bean>
190 206  
  207 + <!-- 分娩前20周分娩住院追访配置项目启动后任务就执行一次 -->
  208 + <bean id="firstDandleReachDueTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
  209 + <property name="jobDetail" ref="dandleReachDue" />
  210 + <property name="startDelay" value="500" />
  211 + <property name="repeatInterval" value="0" />
  212 + <property name="repeatCount" value="0" />
  213 + </bean>
191 214  
  215 +
192 216 <!-- 孕妇学校定时任务 -->
193 217 <bean id="courseWorker" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
194 218 <!-- 要调用的bean -->
... ... @@ -216,6 +240,10 @@
216 240 <ref bean="correctSieveOrderTrigger"/>
217 241 <ref bean="autoInsertIdTrigger"/>
218 242 <ref bean="courseTrigger"/>
  243 + <!--预产期前两周自动创建分娩住院追访-->
  244 + <ref bean="dandleReachDueTrigger"/>
  245 + <!--预产期前两周自动创建分娩住院追访启动时执行一次-->
  246 + <ref bean="firstDandleReachDueTrigger" />
219 247 <!--乐陵住院系统同步-->
220 248 <!--<ref bean="synLlHisDataTrigger"/>-->
221 249 <!--乐陵住院启动时执行一次-->