Commit 7e2e6185c63ad29b3cc9957eaaf6b60c8f692210

Authored by jiangjiazhi
1 parent 0d4a0c7a37

增加处理从怀孕建档追访扭转到孕妇产检

Showing 6 changed files with 64 additions and 18 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownRecordDao.java View file @ 7e2e618
... ... @@ -35,5 +35,7 @@
35 35 List<TrackDownRecord> queryTrackDown(MongoQuery query);
36 36  
37 37 Page<TrackDownRecord> findPage(MongoQuery query);
  38 +
  39 + void findAndModify(MongoQuery query, TrackDownRecord obj);
38 40 }
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) {