diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java index d70abb1..dea8356 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java @@ -1,23 +1,14 @@ package com.lyms.platform.operate.web.facade; -import com.lyms.platform.biz.service.PatientsService; -import com.lyms.platform.biz.service.PremaritalCheckupService; -import com.lyms.platform.biz.service.ResidentsArchiveService; -import com.lyms.platform.biz.service.TrackDownRecordService; +import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.StringUtils; -import com.lyms.platform.pojo.Patients; -import com.lyms.platform.pojo.PremaritalCheckup; -import com.lyms.platform.pojo.ResidentsArchiveModel; -import com.lyms.platform.pojo.TrackDownRecord; -import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.PremaritalCheckupQuery; -import com.lyms.platform.query.ResidentsArchiveQuery; -import com.lyms.platform.query.TrackDownRecordQuery; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -306,7 +297,7 @@ public class TrackDownJobFacade { premaritalCheckupQuery.setNeed("1"); premaritalCheckupQuery.setPage(page); premaritalCheckupQuery.setLimit(limit); - data= premaritalCheckupService.queryPremaritalCheckup(premaritalCheckupQuery); + data = premaritalCheckupService.queryPremaritalCheckup(premaritalCheckupQuery); //查询妇女建档 // data = residentsArchiveService.queryResident(archiveQuery); @@ -328,8 +319,8 @@ public class TrackDownJobFacade { Integer count = patientsService.queryPatientCount(patientsQuery1); if (null != count && count == 0) { logger.info("HYTrackDownDataLoader addTrackDown by id :" + model.getId()); - TrackDownRecord down= build(model); - if(null!=down){ + TrackDownRecord down = build(model); + if (null != down) { downRecordService.addTrackDown(down); } } @@ -337,7 +328,7 @@ public class TrackDownJobFacade { @Override public TrackDownRecord build(PremaritalCheckup model) { - if(StringUtils.isEmpty(model.getParentId())){ + if (StringUtils.isEmpty(model.getParentId())) { return null; } TrackDownRecord record = new TrackDownRecord(); @@ -437,4 +428,75 @@ public class TrackDownJobFacade { return record; } } + + /** + * 产后访视数据加载 + */ + class CHFSTrackDownDataLoader implements TrackDownDataLoader { + + @Override + public void execute() { + int page = 1; + List data = null; + do { + MatDeliverQuery deliverQuery = new MatDeliverQuery(); + deliverQuery.setYn(YnEnums.YES.getId()); + deliverQuery.setSort("created asc"); + deliverQuery.setNeed("1"); + deliverQuery.setPage(page); + deliverQuery.setLimit(limit); + + //查询妇女建档 + data = matDeliverService.query(deliverQuery); + if (CollectionUtils.isNotEmpty(data)) { + for (MaternalDeliverModel model : data) { + //单条数据处理 + handOneByOne(model); + } + } + page++; + } while (CollectionUtils.isNotEmpty(data) && data.size() == limit); + } + + @Override + public void handOneByOne(MaternalDeliverModel model) { + if (null != model && StringUtils.isNotEmpty(model.getId())) { + PremaritalCheckupQuery premaritalCheckupQuery = new PremaritalCheckupQuery(); + premaritalCheckupQuery.setYn(YnEnums.YES.getId()); + premaritalCheckupQuery.setParentId(model.getId()); + premaritalCheckupQuery.setSexType(1); + List DATA = premaritalCheckupService.queryPremaritalCheckup(premaritalCheckupQuery); + + if (CollectionUtils.isEmpty(DATA)) { + logger.info("HJTrackDownDataLoader addTrackDown by id :" + model.getId()); + downRecordService.addTrackDown(build(model)); + } else { + //TODO 如果有婚检还存在的情况 + } + } + } + + @Override + public TrackDownRecord build(MaternalDeliverModel model) { + TrackDownRecord record = new TrackDownRecord(); + record.setParentId(model.getId()); + + Patients patients =patientsService.findOnePatientById(model.getParentId()); + record.setAddressRegister(patients.getAddressRegister()); + record.setAreaRegisterId(patients.getAreaRegisterId()); + record.setBirth(patients.getBirth()); + record.setCityRegisterId(patients.getCityRegisterId()); + record.setUsername(patients.getUsername()); + record.setStreetRegisterId(patients.getStreetRegisterId()); + record.setPhone(patients.getPhone()); + record.setHospitalId(model.getHospitalId()); + record.setStatus(1); + record.setCardNo(patients.getCardNo()); + record.setTrackType(TrackDownDateEnums.F.getId()); + return record; + } + } + + @Autowired + private MatDeliverService matDeliverService; } \ No newline at end of file