From 23cb5ce5f7fb4214a3508daf70ca3b28a1b1e4da Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 10 Mar 2020 10:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E8=BF=BD=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/lyms/platform/pojo/Patients.java | 10 +++++++ .../lyms/platform/pojo/ResidentsArchiveModel.java | 21 +++++++++++++++ .../com/lyms/platform/pojo/TrackDownRecord.java | 10 +++++++ .../com/lyms/platform/query/PatientsQuery.java | 22 +++++++++++++++ .../lyms/platform/query/ResidentsArchiveQuery.java | 20 ++++++++++++++ .../web/controller/TrackDownController.java | 4 +-- .../operate/web/facade/BookbuildingFacade.java | 23 +++++++++++++++- .../operate/web/facade/ResidentsArchiveFacade.java | 31 +++++++++++++++++++--- .../web/request/ResidentsArchiveAddRequest.java | 11 ++++++++ .../operate/web/service/ITrackDownService.java | 2 +- .../web/service/impl/TrackDownServiceImpl.java | 23 +++++++++++++--- 11 files changed, 166 insertions(+), 11 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index dc43426..7e82a69 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -322,6 +322,16 @@ public class Patients extends BaseModel { //条码号 private String numberCode; + private String trackHospitalId; + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + public String getNumberCode() { return numberCode; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java index c3f0dad..7188a24 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java @@ -6,6 +6,7 @@ import com.lyms.platform.common.result.BaseModel; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; +import java.util.List; /** * 居民健康档案(妇女健康 )模型 @@ -60,6 +61,7 @@ public class ResidentsArchiveModel extends BaseModel { private String areaId; private String streetId; private String address; + private List childExtAddrs; //户籍地址 private String provinceRegisterId; private String cityRegisterId; @@ -176,6 +178,25 @@ public class ResidentsArchiveModel extends BaseModel { private String photo; + + private String trackHospitalId; + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + + public List getChildExtAddrs() { + return childExtAddrs; + } + + public void setChildExtAddrs(List childExtAddrs) { + this.childExtAddrs = childExtAddrs; + } + public String getPhoto() { return photo; } 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 f04a5cf..1e665ce 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 @@ -81,6 +81,16 @@ public class TrackDownRecord extends BaseModel { //历史数据是否处理 private boolean isHistory; + private String trackHospitalId; + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + public boolean isHistory() { return isHistory; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index c06014f..8958fb9 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -368,6 +368,16 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { //条码号 private String numberCode; + private String trackHospitalId; + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + public String getNumberCode() { return numberCode; } @@ -718,6 +728,18 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } } + + if (org.apache.commons.lang.StringUtils.isNotBlank(trackHospitalId)) { + MongoCondition c = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("trackHospitalId", trackHospitalId, MongoOper.IS); + MongoCondition con2 = MongoCondition.newInstance("hospitalId", trackHospitalId, MongoOper.IS); + if (c1 != null) { + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); + } else { + c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); + } + } + if (existRiskLevel) { MongoCondition c = MongoCondition.newInstance(); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java index 2be3d9a..e64cabb 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java @@ -48,6 +48,7 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative private String professionTypeId; //医院ID private String hospitalId; + private String trackHospitalId; //年龄 private Integer age; /************联系方式*************/ @@ -135,6 +136,14 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative //历史数据是否同步 private boolean isHistory; + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + public boolean isHistory() { return isHistory; } @@ -339,6 +348,17 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative } } + if (StringUtils.isNotBlank(trackHospitalId)) { + MongoCondition c = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("trackHospitalId", trackHospitalId, MongoOper.IS); + MongoCondition con2 = MongoCondition.newInstance("hospitalId", trackHospitalId, MongoOper.IS); + if (c1 != null) { + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); + } else { + c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); + } + } + if (StringUtils.isNotBlank(queryNo)) { MongoCondition c = MongoCondition.newInstance(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java index 3ba5515..3c3eb5b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -86,9 +86,9 @@ public class TrackDownController extends BaseController { @RequestMapping(value = "/all", method = RequestMethod.GET) public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, - Integer check, String checkup, String pregnantBuild, Integer followupStatus, String isDeliver, Integer encryption) { + Integer check, String checkup, String pregnantBuild, Integer followupStatus, String isDeliver, Integer encryption,@RequestParam(required = false,defaultValue = "false") boolean isArea) { return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, - page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, encryption); + page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, encryption,isArea); } @ResponseBody diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 162383a..bb0eaa1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -178,6 +178,9 @@ public class BookbuildingFacade { private ITrackDownService trackDownService; @Autowired + private PostVisitHospitalService postVisitHospitalService; + + @Autowired private TrackDownRecordService trackDownRecordService; @Autowired @@ -341,7 +344,7 @@ public class BookbuildingFacade { //生成条形码 getNumberCode(patient); - + getTrackHospital(patient); //孕妇档案 Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); @@ -510,6 +513,21 @@ public class BookbuildingFacade { return br; } + private void getTrackHospital(Patients patients) + { + if (CollectionUtils.isNotEmpty(patients.getChildExtAddrs())) + { + PostVisitHospitalModelQuery postQuery = new PostVisitHospitalModelQuery(); + postQuery.setAreaTiters(patients.getChildExtAddrs()); + List postVisitHospitalModels = postVisitHospitalService.queryPostVisitHospitalModel(postQuery); + if (CollectionUtils.isNotEmpty(postVisitHospitalModels)) + { + System.out.println("setTrackHospitalId==="+postVisitHospitalModels.get(0).getPostHosptial()); + patients.setTrackHospitalId(postVisitHospitalModels.get(0).getPostHosptial()); + } + } + } + private void getNumberCode(Patients patients) { @@ -579,6 +597,9 @@ public class BookbuildingFacade { trackDownRecord.setSieveAppointmentDate(new Date()); //设置默认分娩住院时间 trackDownRecord.setFmzyAppointmentDate(new Date()); + + trackDownRecord.setTrackHospitalId(patient.getTrackHospitalId()); + trackDownService.addOrupdateTrackDownRecord(userId, trackDownRecord); } }); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java index fcafec7..e127a4d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java @@ -21,10 +21,8 @@ import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; -import com.lyms.platform.pojo.PremaritalCheckup; -import com.lyms.platform.pojo.ResidentsArchiveModel; -import com.lyms.platform.pojo.SmsConfigModel; -import com.lyms.platform.pojo.TrackDownRecord; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.PostVisitHospitalModelQuery; import com.lyms.platform.query.PremaritalCheckupQuery; import com.lyms.platform.query.ResidentsArchiveQuery; import com.lyms.platform.query.TrackDownRecordQuery; @@ -67,6 +65,9 @@ public class ResidentsArchiveFacade { @Autowired private ITrackDownService trackDownService; @Autowired + private PostVisitHospitalService postVisitHospitalService; + + @Autowired private TrackDownRecordService trackDownRecordService; public BaseObjectResponse findResidentsArchive(ResidentsArchiveQueryRequest queryRequest, Integer userId) { @@ -295,6 +296,8 @@ public class ResidentsArchiveFacade { model.setPublishName(users.getName()); } + getTrackHospital(model); + model.setId(id); residentsArchiveService.updateResident(model, id); @@ -379,6 +382,8 @@ public class ResidentsArchiveFacade { archiveModel.setBuildDoctor(u.getName()); }*/ + getTrackHospital(archiveModel); + ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(archiveModel); //新增婚检追访信息,默认进入婚检追访 @@ -439,9 +444,27 @@ public class ResidentsArchiveFacade { } } + trackDownRecord.setTrackHospitalId(residentsArchiveModel.getTrackHospitalId()); + trackDownService.addOrupdateTrackDownRecord(userId, trackDownRecord); } + + private void getTrackHospital(ResidentsArchiveModel residentsArchiveModel) + { + if (CollectionUtils.isNotEmpty(residentsArchiveModel.getChildExtAddrs())) + { + PostVisitHospitalModelQuery postQuery = new PostVisitHospitalModelQuery(); + postQuery.setAreaTiters(residentsArchiveModel.getChildExtAddrs()); + List postVisitHospitalModels = postVisitHospitalService.queryPostVisitHospitalModel(postQuery); + if (CollectionUtils.isNotEmpty(postVisitHospitalModels)) + { + residentsArchiveModel.setTrackHospitalId(postVisitHospitalModels.get(0).getPostHosptial()); + } + } + } + + /** * 通过ID查看居民建档详情 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ResidentsArchiveAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ResidentsArchiveAddRequest.java index 797d6ac..76d1381 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ResidentsArchiveAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ResidentsArchiveAddRequest.java @@ -9,6 +9,7 @@ import com.lyms.platform.pojo.ResidentsArchiveModel; import org.hibernate.validator.constraints.NotEmpty; import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -81,6 +82,7 @@ public class ResidentsArchiveAddRequest implements IBasicRequestConvert childExtAddrs; //户籍地址 private String provinceRegisterId; private String cityRegisterId; @@ -253,11 +255,20 @@ public class ResidentsArchiveAddRequest implements IBasicRequestConvert getChildExtAddrs() { + return childExtAddrs; + } + + public void setChildExtAddrs(List childExtAddrs) { + this.childExtAddrs = childExtAddrs; + } + public String getPhoto() { return photo; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java index 7f45322..67df5db 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -18,7 +18,7 @@ public interface ITrackDownService extends IBaseService { BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, - Integer check, String checkup, String pregnantBuild, Integer followupStatus, String isDeliver, Integer encryption); + Integer check, String checkup, String pregnantBuild, Integer followupStatus, String isDeliver, Integer encryption,boolean isArea); void Export(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index 6a80d92..f9368b5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -73,7 +73,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS @Override public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, - Integer followupStatus, String isDeliver, Integer encryption) { + Integer followupStatus, String isDeliver, Integer encryption,boolean isArea) { String hospitalId = autoMatchFacade.getHospitalId(userId); List> restList = new ArrayList<>(); Integer archiveModelCount = 0; @@ -85,7 +85,16 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS query.setNeed("1"); query.setYn(YnEnums.YES.getId()); query.setQueryNo(key); - query.setHospitalId(hospitalId); + + if (isArea) + { + query.setTrackHospitalId(hospitalId); + } + else + { + query.setHospitalId(hospitalId); + } + //只查询女性 query.setSex(SystemConfig.WOMAN_ID); query.setStartBuildDay(buildStart); @@ -142,7 +151,15 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS patientsQuery.setNeed("need"); patientsQuery.setLimit(limit); patientsQuery.setPage(page); - patientsQuery.setHospitalId(hospitalId); + if (isArea) + { + patientsQuery.setTrackHospitalId(hospitalId); + } + else + { + patientsQuery.setHospitalId(hospitalId); + } + patientsQuery.setQueryNo(key); patientsQuery.setFollowupStatus(followupStatus); patientsQuery.setIsDeliver(isDeliver); -- 1.8.3.1