Commit 7e2e6185c63ad29b3cc9957eaaf6b60c8f692210
1 parent
0d4a0c7a37
Exists in
master
and in
6 other branches
增加处理从怀孕建档追访扭转到孕妇产检
Showing 6 changed files with 64 additions and 18 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownRecordDao.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TrackDownRecordDaoImpl.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TrackDownRecordService.java
- platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownRecordDao.java
View file @
7e2e618
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TrackDownRecordDaoImpl.java
View file @
7e2e618
| ... | ... | @@ -6,6 +6,7 @@ |
| 6 | 6 | import com.lyms.platform.common.dao.operator.MongoOper; |
| 7 | 7 | import com.lyms.platform.common.dao.operator.MongoQuery; |
| 8 | 8 | import com.lyms.platform.common.dao.operator.Page; |
| 9 | +import com.lyms.platform.pojo.Patients; | |
| 9 | 10 | import com.lyms.platform.pojo.TrackDownRecord; |
| 10 | 11 | import org.bson.types.ObjectId; |
| 11 | 12 | import org.slf4j.Logger; |
| ... | ... | @@ -34,6 +35,9 @@ |
| 34 | 35 | //日志调测器 |
| 35 | 36 | private static final Logger logger = LoggerFactory.getLogger(TrackDownRecordDaoImpl.class); |
| 36 | 37 | |
| 38 | + public void findAndModify(MongoQuery query, TrackDownRecord obj) { | |
| 39 | + updateMulti(query.convertToMongoQuery(), obj); | |
| 40 | + } | |
| 37 | 41 | @Override |
| 38 | 42 | public TrackDownRecord addTrackDown(TrackDownRecord downRecord) { |
| 39 | 43 | return save(downRecord); |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TrackDownRecordService.java
View file @
7e2e618
| ... | ... | @@ -42,6 +42,10 @@ |
| 42 | 42 | return iTrackDownRecordDao.addTrackDown(downRecord); |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | + public void findAndMoidify(TrackDownRecordQuery query,TrackDownRecord downRecord){ | |
| 46 | + iTrackDownRecordDao.findAndModify(query.convertToQuery(),downRecord); | |
| 47 | + } | |
| 48 | + | |
| 45 | 49 | public void updateTrackDown(TrackDownRecord obj, String id) { |
| 46 | 50 | obj.setModified(new Date()); |
| 47 | 51 | iTrackDownRecordDao.updateTrackDown(obj, id); |
platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java
View file @
7e2e618
| ... | ... | @@ -38,6 +38,7 @@ |
| 38 | 38 | private String parentId; |
| 39 | 39 | private List<String> pids; |
| 40 | 40 | private String hospitalId; |
| 41 | + private String residentsArchiveId; | |
| 41 | 42 | /** |
| 42 | 43 | * 末次月经 |
| 43 | 44 | */ |
| ... | ... | @@ -132,6 +133,14 @@ |
| 132 | 133 | return trackType; |
| 133 | 134 | } |
| 134 | 135 | |
| 136 | + public String getResidentsArchiveId() { | |
| 137 | + return residentsArchiveId; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public void setResidentsArchiveId(String residentsArchiveId) { | |
| 141 | + this.residentsArchiveId = residentsArchiveId; | |
| 142 | + } | |
| 143 | + | |
| 135 | 144 | public void setTrackType(Integer trackType) { |
| 136 | 145 | this.trackType = trackType; |
| 137 | 146 | } |
| ... | ... | @@ -140,6 +149,9 @@ |
| 140 | 149 | MongoCondition condition=MongoCondition.newInstance(); |
| 141 | 150 | if(StringUtils.isNotEmpty(provinceId)){ |
| 142 | 151 | condition= condition.and("provinceId",provinceId, MongoOper.IS); |
| 152 | + } | |
| 153 | + if(StringUtils.isNotEmpty(residentsArchiveId)){ | |
| 154 | + condition= condition.and("residentsArchiveId",residentsArchiveId, MongoOper.IS); | |
| 143 | 155 | } |
| 144 | 156 | if(StringUtils.isNotEmpty(cityId)){ |
| 145 | 157 | condition= condition.and("cityId",cityId, MongoOper.IS); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
View file @
7e2e618
| 1 | 1 | package com.lyms.platform.operate.web.service; |
| 2 | 2 | |
| 3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 4 | +import com.lyms.platform.common.result.BaseResponse; | |
| 4 | 5 | import com.lyms.platform.pojo.TrackDown; |
| 5 | 6 | |
| 6 | 7 | import javax.servlet.http.HttpServletResponse; |
| ... | ... | @@ -8,7 +9,7 @@ |
| 8 | 9 | |
| 9 | 10 | public interface ITrackDownService extends IBaseService { |
| 10 | 11 | |
| 11 | - BaseObjectResponse add(Integer userId, TrackDown trackDown); | |
| 12 | + BaseResponse add(Integer userId, TrackDown trackDown); | |
| 12 | 13 | |
| 13 | 14 | BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); |
| 14 | 15 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
View file @
7e2e618
| 1 | 1 | package com.lyms.platform.operate.web.service.impl; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.biz.service.PatientsService; | |
| 4 | +import com.lyms.platform.biz.service.ResidentsArchiveService; | |
| 3 | 5 | import com.lyms.platform.biz.service.TrackDownRecordService; |
| 4 | 6 | import com.lyms.platform.biz.service.TrackDownService; |
| 5 | 7 | import com.lyms.platform.common.enums.*; |
| 8 | +import com.lyms.platform.common.result.*; | |
| 6 | 9 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 7 | -import com.lyms.platform.common.result.BaseObjectResponse; | |
| 8 | -import com.lyms.platform.common.result.PageResult; | |
| 9 | -import com.lyms.platform.common.result.RespBuilder; | |
| 10 | 10 | import com.lyms.platform.common.utils.DateUtil; |
| 11 | 11 | import com.lyms.platform.common.utils.EnumUtil; |
| 12 | 12 | import com.lyms.platform.common.utils.StringUtils; |
| ... | ... | @@ -17,6 +17,7 @@ |
| 17 | 17 | import com.lyms.platform.operate.web.utils.ResponseUtil; |
| 18 | 18 | import com.lyms.platform.permission.dao.master.CouponMapper; |
| 19 | 19 | import com.lyms.platform.pojo.*; |
| 20 | +import com.lyms.platform.query.PatientsQuery; | |
| 20 | 21 | import com.lyms.platform.query.TrackDownRecordQuery; |
| 21 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | 23 | import org.springframework.data.domain.Sort; |
| 23 | 24 | |
| 24 | 25 | |
| ... | ... | @@ -178,27 +179,40 @@ |
| 178 | 179 | return antexcCount + antexCount; |
| 179 | 180 | } |
| 180 | 181 | |
| 181 | - public BaseObjectResponse add(Integer userId, TrackDown trackDown) { | |
| 182 | + public BaseResponse add(Integer userId, TrackDown trackDown) { | |
| 182 | 183 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 183 | - /* if(StringUtils.isNotEmpty(trackDown.getResidentsArchiveId())) { // 怀孕建档是lyms_resident | |
| 184 | - ResidentsArchiveModel archiveModel = mongoTemplate.findById(trackDown.getResidentsArchiveId(), ResidentsArchiveModel.class); | |
| 185 | - Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(archiveModel.getCertificateNum())).with(new Sort(Sort.Direction.DESC, "created")), Patients.class); | |
| 186 | - if(patients != null) { | |
| 187 | - String parentId = mongoUtil.doHidePatient(patients.getId(), hospitalId); | |
| 188 | - trackDown.setPid(mongoUtil.getPid(parentId)); | |
| 189 | - trackDown.setParentId(parentId); | |
| 190 | - } | |
| 191 | - } else { | |
| 192 | - String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId); | |
| 193 | - trackDown.setPid(mongoUtil.getPid(parentId)); | |
| 194 | - trackDown.setParentId(parentId); | |
| 195 | - }*/ | |
| 196 | 184 | //婚前检查 怀孕建档 的时候没有pid |
| 197 | 185 | if (TrackDownDateEnums.A.getId() != trackDown.getTrackDownDateType() && TrackDownDateEnums.B.getId() != trackDown.getTrackDownDateType()) { |
| 198 | 186 | String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId); |
| 199 | 187 | trackDown.setPid(mongoUtil.getPid(parentId)); |
| 200 | 188 | trackDown.setParentId(parentId); |
| 201 | 189 | } |
| 190 | + //怀孕建档扭转直孕期检查的时候需要有孕妇的档案才可以扭转 | |
| 191 | + if (TrackDownTransferEnums.B.getId() == trackDown.getTrackDownTransfer() && | |
| 192 | + TrackDownDateEnums.B.getId() == trackDown.getTrackDownDateType() | |
| 193 | + &&StringUtils.isNotEmpty(trackDown.getParentId())) { | |
| 194 | + | |
| 195 | + ResidentsArchiveModel archiveModel = residentsArchiveService.getResident(trackDown.getParentId()); | |
| 196 | + //TODO 需要去验证或者绑定孕妇的建档记录,不然不能进行后续的操作 | |
| 197 | + PatientsQuery patientsQuery1 = new PatientsQuery(); | |
| 198 | + patientsQuery1.setCardNo(archiveModel.getCertificateNum()); | |
| 199 | + patientsQuery1.setPcerteTypeId(archiveModel.getCertificateTypeId()); | |
| 200 | + patientsQuery1.setHospitalId(hospitalId); | |
| 201 | + patientsQuery1.setType(1); | |
| 202 | + patientsQuery1.setYn(YnEnums.YES.getId()); | |
| 203 | + List<Patients> patientses= patientsService.queryPatient(patientsQuery1); | |
| 204 | + if(CollectionUtils.isNotEmpty(patientses)){ | |
| 205 | + TrackDownRecordQuery trackDownRecordQuery = new TrackDownRecordQuery(); | |
| 206 | + trackDownRecordQuery.setResidentsArchiveId(trackDown.getParentId()); | |
| 207 | + | |
| 208 | + TrackDownRecord trackDownRecord = new TrackDownRecord(); | |
| 209 | + trackDownRecord.setParentId(patientses.get(0).getId()); | |
| 210 | + //修改绑定建档信息的id | |
| 211 | + trackDownRecordService.findAndMoidify(trackDownRecordQuery,trackDownRecord); | |
| 212 | + }else { | |
| 213 | + return new BaseResponse().setErrorcode(4016).setErrormsg("您还没有孕妇的档案,请去医院建档."); | |
| 214 | + } | |
| 215 | + } | |
| 202 | 216 | String recordId=trackDown.getId(); |
| 203 | 217 | trackDown.setId(null); |
| 204 | 218 | trackDown.setYn(YnEnums.YES.getId()); |
| ... | ... | @@ -245,6 +259,15 @@ |
| 245 | 259 | |
| 246 | 260 | @Autowired |
| 247 | 261 | private TrackDownRecordService trackDownRecordService; |
| 262 | + @Autowired | |
| 263 | + private PatientsService patientsService; | |
| 264 | + | |
| 265 | + | |
| 266 | + /** | |
| 267 | + * 妇女建档 | |
| 268 | + */ | |
| 269 | + @Autowired | |
| 270 | + private ResidentsArchiveService residentsArchiveService; | |
| 248 | 271 | |
| 249 | 272 | @Override |
| 250 | 273 | public BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId) { |