Commit 93c68d95bb6afbf828f820168fc03fe4583df467

Authored by yangfei
1 parent 15e85a6334

自动生成追访信息

Showing 3 changed files with 35 additions and 8 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ 93c68d9
... ... @@ -284,27 +284,54 @@
284 284 * 处理产后复查、产后追访数据显示及自动流转
285 285 */
286 286 public void dandleAutoReachDue() {
  287 + //处理产筛20周自动流转数据
  288 + new Thread(new Runnable() {
  289 + @Override
  290 + public void run() {
  291 + handSieveTrack();
  292 + }
  293 + }).start();
  294 +
287 295 //添加产后追访信息
288 296 TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
289 297 downRecordQuery.setTrackTypes(Arrays.asList(TrackDownDateEnums.F.getId(), TrackDownDateEnums.G.getId(),
290   - TrackDownDateEnums.K.getId()));
  298 + TrackDownDateEnums.K.getId()));
291 299 List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
292 300 for (TrackDownRecord tr : records) {
293 301 Patients patients = iPatientDao.getPatient(tr.getParentId());
294   - if (patients != null&&patients.getFmDate()!=null) {//分娩时间不为空
  302 + if (patients != null && patients.getFmDate() != null) {//分娩时间不为空
295 303 //分娩距当前时间天数
296 304 int day = DateUtil.daysBetween(patients.getFmDate(), new Date());
297 305 if (day <= 60) {//产后60天内,可做产后访视或产后复查环节
298 306 if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访
299   - if(tr.getTrackType() == TrackDownDateEnums.K.getId()){//如果已经是产后复查已经转出,则不显示数据了
  307 + if (tr.getTrackType() == TrackDownDateEnums.K.getId()) {//如果已经是产后复查已经转出,则不显示数据了
300 308 tr.setStatus(0);
301   - }else{//否则进入产后复查追访
  309 + } else {//否则进入产后复查追访
302 310 tr.setTrackType(TrackDownDateEnums.J.getId());
303 311 }
304 312 trackDownRecordService.updateTrackDown(tr, tr.getId());
305 313 }
306 314 }
307 315 }
  316 + }
  317 + }
  318 +
  319 + /**
  320 + * 处理产筛追访数据,孕周大于20周自动进入产检追访
  321 + */
  322 + public void handSieveTrack() {
  323 + //添加产后追访信息
  324 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  325 + downRecordQuery.setTrackType(TrackDownDateEnums.C.getId());
  326 +
  327 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  328 + for (TrackDownRecord tr : records) {
  329 + Patients patients = iPatientDao.getPatient(tr.getParentId());
  330 + int week = DateUtil.getWeek2(patients.getLastMenses(), new Date());
  331 + if (week > 20) {//不能做产前筛查追访,显示产前检查追访
  332 + tr.setTrackType(TrackDownDateEnums.I.getId());
  333 + }
  334 + trackDownRecordService.updateTrackDown(tr, tr.getId());
308 335 }
309 336 }
310 337  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java View file @ 93c68d9
... ... @@ -213,11 +213,11 @@
213 213 //产后复查次数
214 214 map.put("fcCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)), PostReviewModel.class));
215 215 //产前检查次数(初诊+复诊)
216   - map.put("checkCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("hospitalId").is(hospitalId)), AntenatalExaminationModel.class) + mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId)), AntExChuModel.class));
  216 + map.put("checkCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("hospitalId").is(hospitalId).and("yn").is(1)), AntenatalExaminationModel.class) + mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)), AntExChuModel.class));
217 217  
218 218  
219 219 //复诊
220   - AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class);
  220 + AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class);
221 221 if (examinationModel != null) {
222 222 map.put("checkTime", DateUtil.getyyyy_MM_dd(examinationModel.getCheckDate())); //产检日期
223 223 if (examinationModel.getNextCheckTime() != null) {
... ... @@ -225,7 +225,7 @@
225 225 }
226 226 } else {
227 227 //初诊
228   - AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class);
  228 + AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class);
229 229 if (antExChuModel != null) {
230 230 map.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); // 产检日期
231 231 if (antExChuModel.getNextCheckTime() != null) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java View file @ 93c68d9
... ... @@ -116,7 +116,7 @@
116 116 //怀孕建档数据加载
117 117 // downJobHandlers.add(new HYTrackDownDataLoader());
118 118 //产检数据加载
119   - downJobHandlers.add(new CJTrackDownDataLoader());
  119 + // downJobHandlers.add(new CJTrackDownDataLoader());
120 120 //分娩数据加载,有自动任务处理
121 121 // downJobHandlers.add(new FMTrackDownDataLoader());
122 122 //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样