Commit 534afd45b53f0df29d42584cd192953a94e21214

Authored by yangfei
1 parent 144eef15bc

追访自动任务数据流转处理

Showing 1 changed file with 28 additions and 14 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ 534afd4
... ... @@ -288,7 +288,7 @@
288 288 handSieveTrack();
289 289  
290 290 //开始处理产检、产筛追访数据进入分娩追访,由于数据量比较大暂时关闭,后期进行分页处理
291   - patientAutoFm();
  291 + // patientAutoFm();
292 292  
293 293 //自动流转产后复查转出或产后访视转出
294 294 trackAutoFlow();
... ... @@ -334,7 +334,7 @@
334 334  
335 335  
336 336 /**
337   - * 开始处理产检、产筛追访数据进入分娩追访
  337 + * 开始处理产检、产筛追访数据
338 338 */
339 339 public void patientAutoFm() {
340 340 //添加产后追访信息
341 341  
... ... @@ -344,19 +344,32 @@
344 344 System.out.println("开始处理产检、产筛追访数据进入产后复查追访:" + records.size());
345 345 for (TrackDownRecord tr : records) {
346 346 Patients patients = iPatientDao.getPatient(tr.getParentId());
347   - if (patients != null && patients.getType() == 3) {//产妇
348   - System.out.println("产检追访已经分娩:" + patients.getId());
349   - //分娩距当前时间天数
350   - int day = DateUtil.daysBetween(patients.getFmDate(), new Date());
351   - if (day <= 60) {//产后60天内,可做产后访视或产后复查环节
352   - if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访
353   - tr.setTrackType(TrackDownDateEnums.G.getId());
354   - } else {
355   - tr.setTrackType(TrackDownDateEnums.F.getId());
  347 + if (patients != null){
  348 + if( patients.getType() == 3) {//产妇
  349 + System.out.println("产检追访已经分娩:" + patients.getId());
  350 + //分娩距当前时间天数
  351 + int day = DateUtil.daysBetween(patients.getFmDate(), new Date());
  352 + if (day <= 60) {//产后60天内,可做产后访视或产后复查环节
  353 + if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访
  354 + tr.setTrackType(TrackDownDateEnums.G.getId());
  355 + } else {
  356 + tr.setTrackType(TrackDownDateEnums.F.getId());
  357 + }
  358 + } else {//否则不显示
  359 + System.out.println("开始处理产检、产筛追访数据进入分娩追访:" + patients.getId());
  360 + tr.setStatus(0);
356 361 }
357   - } else {//否则不显示
358   - System.out.println("开始处理产检、产筛追访数据进入分娩追访:" + patients.getId());
359   - tr.setStatus(0);
  362 + }if(patients.getType() == 1){
  363 + if (patients.getLastMenses() != null) {
  364 + int week = DateUtil.getWeek2(patients.getLastMenses(), new Date());
  365 + if (week > 20) {//不能做产前筛查追访,显示产前检查追访
  366 + if (tr.getTrackType() == TrackDownDateEnums.C.getId()) {
  367 + tr.setTrackType(TrackDownDateEnums.I.getId());
  368 + } else if (tr.getTrackType() == TrackDownDateEnums.H.getId()) {
  369 + tr.setTrackType(TrackDownDateEnums.E.getId());
  370 + }
  371 + }
  372 + }
360 373 }
361 374 trackDownRecordService.updateTrackDown(tr, tr.getId());
362 375 }
... ... @@ -373,6 +386,7 @@
373 386 downRecordQuery.setTrackTypes(Arrays.asList(TrackDownDateEnums.C.getId(), TrackDownDateEnums.H.getId()));
374 387  
375 388 List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  389 + System.out.println("开始处理孕周大于20周自动进入产检追访:"+records.size());
376 390 for (TrackDownRecord tr : records) {
377 391 Patients patients = iPatientDao.getPatient(tr.getParentId());
378 392 if (patients == null || tr == null) {