From 1492b5a0a5ad7dfd8496a38deb9a4996f63123b4 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Fri, 23 Feb 2018 10:42:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=BD=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/TrackDownRecord.java | 9 ++ .../operate/web/facade/TrackDownFacade.java | 8 ++ .../operate/web/facade/TrackDownJobFacade.java | 124 ++++++++++++++++----- 3 files changed, 111 insertions(+), 30 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java index 4152119..7e6b451 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java @@ -24,6 +24,7 @@ public class TrackDownRecord extends BaseModel{ private String id; private String username; + private String source; private Date birth; private String phone; private String cardNo; @@ -48,6 +49,14 @@ public class TrackDownRecord extends BaseModel{ //数据所在的列表 private Integer trackType; + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + public Integer getTrackType() { return trackType; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index 63911ad..ee75dab 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -81,6 +81,14 @@ public class TrackDownFacade { } /** + * 处理建档时候的追访功能 + * @param patients + */ + public void aop4Patient(Patients patients) { + + } + + /** * 转换为本地的查询条件 * * @param downQueryRequest 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 dea8356..2888415 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 @@ -7,6 +7,7 @@ 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.operate.web.utils.TrackDownConvertHelper; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; @@ -65,6 +66,8 @@ public class TrackDownJobFacade { downJobHandlers.add(new CJTrackDownDataLoader()); //分娩数据加载 downJobHandlers.add(new FMTrackDownDataLoader()); + //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样 + downJobHandlers.add(new CHTrackDownDataLoader()); } /** @@ -73,7 +76,6 @@ public class TrackDownJobFacade { @Autowired private ResidentsArchiveService residentsArchiveService; - /** * 婚前检查 */ @@ -166,6 +168,7 @@ public class TrackDownJobFacade { TrackDownRecord downRecord = new TrackDownRecord(); downRecord.setParentId(model.getId()); downRecord.setPid(model.getPid()); + downRecord.setSource(model.getId()); downRecord.setLastMenses(model.getLastMenses()); downRecord.setUsername(model.getUsername()); downRecord.setCityRegisterId(model.getCityRegisterId()); @@ -179,7 +182,6 @@ public class TrackDownJobFacade { downRecord.setAreaRegisterId(model.getAreaRegisterId()); downRecord.setStatus(1); downRecord.setTrackType(TrackDownDateEnums.E.getId()); -// downRecord.setDone(0); return downRecord; } } @@ -229,24 +231,7 @@ public class TrackDownJobFacade { @Override public TrackDownRecord build(Patients model) { - TrackDownRecord downRecord = new TrackDownRecord(); - downRecord.setParentId(model.getId()); - downRecord.setPid(model.getPid()); - downRecord.setLastMenses(model.getLastMenses()); - downRecord.setUsername(model.getUsername()); - downRecord.setCityRegisterId(model.getCityRegisterId()); - downRecord.setBirth(model.getBirth()); - downRecord.setAreaRegisterId(model.getAreaRegisterId()); - downRecord.setCardNo(model.getCardNo()); - downRecord.setAddressRegister(model.getAddressRegister()); - downRecord.setHospitalId(model.getHospitalId()); - downRecord.setPhone(model.getPhone()); - downRecord.setStreetRegisterId(model.getStreetRegisterId()); - downRecord.setAreaRegisterId(model.getAreaRegisterId()); -// downRecord.setDone(0); - downRecord.setStatus(1); - downRecord.setTrackType(TrackDownDateEnums.C.getId()); - return downRecord; + return TrackDownConvertHelper.patientToTrackDownRecord(model); } } @@ -283,12 +268,6 @@ public class TrackDownJobFacade { int page = 0; List data = null; do { - /* ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); - archiveQuery.setYn(YnEnums.YES.getId()); - archiveQuery.setSort("created asc"); - archiveQuery.setNeed("1"); - archiveQuery.setPage(page); - archiveQuery.setLimit(limit);*/ PremaritalCheckupQuery premaritalCheckupQuery = new PremaritalCheckupQuery(); premaritalCheckupQuery.setYn(YnEnums.YES.getId()); @@ -300,7 +279,6 @@ public class TrackDownJobFacade { data = premaritalCheckupService.queryPremaritalCheckup(premaritalCheckupQuery); //查询妇女建档 -// data = residentsArchiveService.queryResident(archiveQuery); if (CollectionUtils.isNotEmpty(data)) { for (PremaritalCheckup model : data) { handOneByOne(model); @@ -334,8 +312,11 @@ public class TrackDownJobFacade { TrackDownRecord record = new TrackDownRecord(); ResidentsArchiveModel resid = residentsArchiveService.getResident(model.getParentId()); + if (null == resid) { + return null; + } record.setParentId(resid.getId()); - + record.setSource(model.getId()); record.setAddressRegister(resid.getAddressRegister()); record.setAreaRegisterId(resid.getAreaRegisterId()); record.setBirth(resid.getBirthday()); @@ -422,7 +403,7 @@ public class TrackDownJobFacade { record.setPhone(model.getPhone()); record.setHospitalId(model.getHospitalId()); record.setStatus(1); -// record.setDone(0); + record.setSource(model.getId()); record.setCardNo(model.getCertificateNum()); record.setTrackType(TrackDownDateEnums.A.getId()); return record; @@ -481,7 +462,7 @@ public class TrackDownJobFacade { TrackDownRecord record = new TrackDownRecord(); record.setParentId(model.getId()); - Patients patients =patientsService.findOnePatientById(model.getParentId()); + Patients patients = patientsService.findOnePatientById(model.getParentId()); record.setAddressRegister(patients.getAddressRegister()); record.setAreaRegisterId(patients.getAreaRegisterId()); record.setBirth(patients.getBirth()); @@ -491,12 +472,95 @@ public class TrackDownJobFacade { record.setPhone(patients.getPhone()); record.setHospitalId(model.getHospitalId()); record.setStatus(1); + record.setSource(model.getId()); record.setCardNo(patients.getCardNo()); record.setTrackType(TrackDownDateEnums.F.getId()); return record; } } + + /** + * 产后访视追访数据加载 + * 1.分娩并出院有出院小结的孕妇 + */ + class CHTrackDownDataLoader implements TrackDownDataLoader { + + @Override + public void execute() { + int page = 0; + List data = null; + do { + + logger.info("CHTrackDownDataLoader execute "); + + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + dischargeAbstractMotherQuery.setSort("createDate asc"); + dischargeAbstractMotherQuery.setNeed("1"); + dischargeAbstractMotherQuery.setPage(page); + dischargeAbstractMotherQuery.setLimit(limit); + + dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + //查询妇女建档 + if (CollectionUtils.isNotEmpty(data)) { + for (DischargeAbstractMotherModel model : data) { + handOneByOne(model); + } + } + page++; + } while (CollectionUtils.isNotEmpty(data) && data.size() == limit); + } + + @Override + public void handOneByOne(DischargeAbstractMotherModel model) { + + + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(model.getId()); + List records = downRecordService.queryTrackDown(downRecordQuery); + if (CollectionUtils.isEmpty(records)) { + logger.info("FMTrackDownDataLoader addTrackDown by id :" + model.getId()); + TrackDownRecord trackDownRecord = build(model); + if (null != trackDownRecord) { + downRecordService.addTrackDown(trackDownRecord); + trackDownRecord.setId(null); + trackDownRecord.setTrackType(TrackDownDateEnums.G.getId()); + downRecordService.addTrackDown(trackDownRecord); + } + } + } + + @Override + public TrackDownRecord build(DischargeAbstractMotherModel model) { + + Patients patients = patientsService.findOnePatientById(model.getPatientId()); + if (null == patients) { + return null; + } + TrackDownRecord downRecord = new TrackDownRecord(); + downRecord.setParentId(model.getPatientId()); + downRecord.setSource(model.getId()); + downRecord.setPid(model.getPid()); + downRecord.setLastMenses(patients.getLastMenses()); + downRecord.setUsername(patients.getUsername()); + downRecord.setCityRegisterId(patients.getCityRegisterId()); + downRecord.setBirth(patients.getBirth()); + downRecord.setAreaRegisterId(patients.getAreaRegisterId()); + downRecord.setCardNo(patients.getCardNo()); + downRecord.setAddressRegister(patients.getAddressRegister()); + downRecord.setHospitalId(model.getHospitalId()); + downRecord.setPhone(patients.getPhone()); + downRecord.setStreetRegisterId(patients.getStreetRegisterId()); + downRecord.setAreaRegisterId(patients.getAreaRegisterId()); + downRecord.setStatus(1); + downRecord.setTrackType(TrackDownDateEnums.F.getId()); + return downRecord; + } + } + + @Autowired + private DischargeAbstractMotherService dischargeAbstractMotherService; @Autowired private MatDeliverService matDeliverService; } \ No newline at end of file -- 1.8.3.1