Commit 89fc05356128f585af3d3fc3327fe8e5ff5658cd

Authored by yangfei
1 parent c8f9bbe611
Exists in master and in 1 other branch dev

追访模块新增数据,修改数据

Showing 18 changed files with 391 additions and 125 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java View file @ 89fc053
... ... @@ -22,7 +22,11 @@
22 22 private IYunBookBuildingDao yunBookBuildingDao;
23 23 @Autowired
24 24 private IAntExChuDao antExChuDao;
  25 +
  26 +
  27 + //孕妇建档时生成孕检追访信息
25 28 public Patients addPregnantBookbuilding(Patients patient) {
  29 +
26 30 return yunBookBuildingDao.addYunBookbuilding(patient);
27 31 }
28 32 public void deletePregnantById(String id) {
platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java View file @ 89fc053
... ... @@ -1161,6 +1161,23 @@
1161 1161 isSendCoupon = sendCoupon;
1162 1162 }
1163 1163  
  1164 + public TrackDownRecord build() {
  1165 + TrackDownRecord downRecord = new TrackDownRecord();
  1166 + downRecord.setParentId(getId());
  1167 + downRecord.setPid(getPid());
  1168 + downRecord.setLastMenses(getLastMenses());
  1169 + downRecord.setUsername(getUsername());
  1170 + downRecord.setCityRegisterId(getCityRegisterId());
  1171 + downRecord.setBirth(getBirth());
  1172 + downRecord.setAreaRegisterId(getAreaRegisterId());
  1173 + downRecord.setCardNo(getCardNo());
  1174 + downRecord.setAddressRegister(getAddressRegister());
  1175 + downRecord.setPhone(getPhone());
  1176 + downRecord.setStreetRegisterId(getStreetRegisterId());
  1177 + downRecord.setAreaRegisterId(getAreaRegisterId());
  1178 + return downRecord;
  1179 + }
  1180 +
1164 1181 @Override
1165 1182 public boolean equals(Object o) {
1166 1183 if (this == o) return true;
platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java View file @ 89fc053
... ... @@ -1526,5 +1526,6 @@
1526 1526 public void setHunJianDoctor(String hunJianDoctor) {
1527 1527 this.hunJianDoctor = hunJianDoctor;
1528 1528 }
  1529 +
1529 1530 }
platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java View file @ 89fc053
... ... @@ -427,5 +427,28 @@
427 427 public void setPublishName(String publishName) {
428 428 this.publishName = publishName;
429 429 }
  430 +
  431 + /**
  432 + * 构建入追访列表的数据
  433 + *
  434 + * @return
  435 + */
  436 + public TrackDownRecord build() {
  437 + TrackDownRecord record = new TrackDownRecord();
  438 + record.setResidentsArchiveId(getId());
  439 + record.setAddressRegister(getAddress());
  440 + record.setAreaRegisterId(getAreaId());
  441 + record.setBirth(getBirthday());
  442 + record.setCityRegisterId(getCityId());
  443 + record.setUsername(getUsername());
  444 + record.setStreetRegisterId(getStreetId());
  445 + record.setPhone(getPhone());
  446 + record.setHospitalId(getHospitalId());
  447 + record.setSource(getId());
  448 + record.setCardNo(getCertificateNum());
  449 + // record.setStatus(1);
  450 + // record.setTrackType(TrackDownDateEnums.A.getId());
  451 + return record;
  452 + }
430 453 }
platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java View file @ 89fc053
... ... @@ -14,12 +14,15 @@
14 14  
15 15 private static final long serialVersionUID = SerialIdEnum.TrackDown.getCid();
16 16  
  17 + /**
  18 + * 追访ID 与下面一样
  19 + */
17 20 private String id;
18 21  
19 22 /**
20 23 * 追访ID
21 24 */
22   - private Date trackDownRecId;
  25 + private String trackDownRecId;
23 26  
24 27 private String parentId;
25 28  
... ... @@ -79,6 +82,15 @@
79 82 * 追访数据保存的类型
80 83 */
81 84 private Integer trackDownDateType;
  85 +
  86 +
  87 + public String getTrackDownRecId() {
  88 + return trackDownRecId;
  89 + }
  90 +
  91 + public void setTrackDownRecId(String trackDownRecId) {
  92 + this.trackDownRecId = trackDownRecId;
  93 + }
82 94  
83 95 public String getResidentsArchiveId() {
84 96 return residentsArchiveId;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 89fc053
... ... @@ -19,6 +19,7 @@
19 19 import com.lyms.platform.operate.web.request.BabyManageRequest;
20 20 import com.lyms.platform.operate.web.request.BookbuildingQueryRequest;
21 21 import com.lyms.platform.operate.web.result.*;
  22 +import com.lyms.platform.operate.web.service.ITrackDownService;
22 23 import com.lyms.platform.operate.web.utils.BabyListTask;
23 24 import com.lyms.platform.operate.web.utils.GrowthCountTask;
24 25 import com.lyms.platform.operate.web.utils.MongoUtil;
25 26  
... ... @@ -146,7 +147,11 @@
146 147 @Autowired
147 148 private MongoUtil mongoUtil;
148 149  
  150 + @Autowired
  151 + private ITrackDownService trackDownService;
149 152  
  153 + @Autowired
  154 + private TrackDownRecordService trackDownRecordService;
150 155 public BaseResponse getBabyBase(String babyId) {
151 156 //查询儿童的基本信息
152 157 BabyBasicResult base = new BabyBasicResult();
... ... @@ -472,6 +477,13 @@
472 477 }
473 478 }
474 479  
  480 + //建档开通增值服务,若前端没有传入服务信息,默认加入标准服务
  481 + if (CollectionUtils.isNotEmpty(request.getSerInfos())) {
  482 + Map<String, String> serInfo = new HashMap<>();
  483 + serInfo.put("serType",PatientSerEnums.SerTypeEnums.babyBzfw.getId().toString());
  484 + request.setSerInfos(Arrays.asList(serInfo));
  485 + }
  486 +
475 487 String hid = autoMatchFacade.getHospitalId(userId);
476 488  
477 489 BaseObjectResponse br = new BaseObjectResponse();
... ... @@ -642,6 +654,29 @@
642 654 patient.setPid(pm.getId());
643 655 patient.setCreated(new Date());
644 656 patients = yunBookbuildingService.addPregnantBookbuilding(patient);
  657 +
  658 + //添加产后追访信息
  659 + TrackDownRecord trackDownRecord = patient.build();
  660 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  661 + downRecordQuery.setParentId(trackDownRecord.getParentId());
  662 + //添加产后追访信息
  663 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  664 + if(CollectionUtils.isNotEmpty(records)){
  665 + TrackDownRecord trackDownRecord1 = records.get(0);
  666 + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.F.getId()){
  667 + trackDownRecord.setHospitalId(hid);
  668 + trackDownRecord.setSource(patient.getId());
  669 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  670 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  671 + }
  672 + }else{
  673 + trackDownRecord.setHospitalId(hid);
  674 + trackDownRecord.setSource(patient.getId());
  675 + trackDownRecord.setStatus(1);
  676 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  677 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  678 + }
  679 +
645 680 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), patients, OptActionEnums.ADD.getId(), "儿童建档时候添加孕妇建档");
646 681 }
647 682 }
... ... @@ -671,6 +706,11 @@
671 706 patient.setCreated(new Date());
672 707 patients = yunBookbuildingService.addPregnantBookbuilding(patient);
673 708  
  709 + //添加产后追访信息
  710 + TrackDownRecord trackDownRecord = patient.build();
  711 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  712 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  713 +
674 714 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), patients, OptActionEnums.ADD.getId(), "儿童建档时候添加孕妇建档");
675 715 }
676 716  
677 717  
678 718  
... ... @@ -710,24 +750,23 @@
710 750  
711 751 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), model, OptActionEnums.ADD.getId(), "儿童建档");
712 752 model = babyBookbuildingService.addBabyBookbuilding(model);
713   - //建档开通增值服务
714   - if (CollectionUtils.isNotEmpty(request.getSerInfos())) {
715 753  
716   - PatientService patientService = new PatientService();
717   - patientService.setPerType(2);
718   - patientService.setSerInfos(request.getSerInfos());
719   - patientService.setCreateUser(String.valueOf(userId));
720   - //开通日期与建档日期一致
721   - patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate()));
722   - patientService.setParentid(model.getId());
723   - patientService.setPid(model.getPid());
724   - try {
725   - patientServiceFacade.addPatientService(patientService, userId,request.getHospitalId());
726   - } catch (Exception e) {
727   - System.out.println("儿童建档服务开通异常!");
728   - e.printStackTrace();
729   - }
  754 + //开通增值服务
  755 + PatientService patientService = new PatientService();
  756 + patientService.setPerType(2);
  757 + patientService.setSerInfos(request.getSerInfos());
  758 + patientService.setCreateUser(String.valueOf(userId));
  759 + //开通日期与建档日期一致
  760 + patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate()));
  761 + patientService.setParentid(model.getId());
  762 + patientService.setPid(model.getPid());
  763 + try {
  764 + patientServiceFacade.addPatientService(patientService, userId,request.getHospitalId());
  765 + } catch (Exception e) {
  766 + System.out.println("儿童建档服务开通异常!");
  767 + e.printStackTrace();
730 768 }
  769 +
731 770  
732 771  
733 772 String bId = model.getId();
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ 89fc053
... ... @@ -18,6 +18,7 @@
18 18 import com.lyms.platform.operate.web.request.BookbuildingQueryRequest;
19 19 import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest;
20 20 import com.lyms.platform.operate.web.result.*;
  21 +import com.lyms.platform.operate.web.service.ITrackDownService;
21 22 import com.lyms.platform.operate.web.utils.JdbcUtil;
22 23 import com.lyms.platform.permission.dao.master.CouponMapper;
23 24 import com.lyms.platform.permission.model.Organization;
... ... @@ -140,6 +141,10 @@
140 141 @Autowired
141 142 private MongoTemplate mongoTemplate;
142 143  
  144 + @Autowired
  145 + private ITrackDownService trackDownService;
  146 + @Autowired
  147 + private TrackDownRecordService trackDownRecordService;
143 148 /**
144 149 * 根据患者的建档ID,查询还未使用的免费产检查券
145 150 *
146 151  
... ... @@ -267,8 +272,32 @@
267 272 patient.setModified(new Date());
268 273 patient.setOperator(userId);
269 274  
  275 + //新增孕妇档案
270 276 Patients p = yunBookbuildingService.addPregnantBookbuilding(patient);
271 277  
  278 + //添加产后追访信息
  279 + TrackDownRecord trackDownRecord = patient.build();
  280 + //添加产后追访信息
  281 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  282 + downRecordQuery.setParentId(trackDownRecord.getParentId());
  283 +
  284 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  285 + if(CollectionUtils.isNotEmpty(records)){
  286 + TrackDownRecord trackDownRecord1 = records.get(0);
  287 + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.C.getId()){
  288 + trackDownRecord.setHospitalId(yunRequest.getHospitalId());
  289 + trackDownRecord.setSource(patient.getId());
  290 + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId());
  291 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  292 + }
  293 + }else{
  294 + trackDownRecord.setHospitalId(yunRequest.getHospitalId());
  295 + trackDownRecord.setSource(patient.getId());
  296 + trackDownRecord.setStatus(1);
  297 + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId());
  298 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  299 + }
  300 +
272 301 operateLogFacade.addAddOptLog(userId, Integer.valueOf(yunRequest.getHospitalId()), p, OptActionEnums.ADD.getId(), "孕妇建档");
273 302  
274 303 /** 孕妇建档后把所有以前未使用的优惠券作废 */
... ... @@ -287,6 +316,7 @@
287 316 if (CollectionUtils.isNotEmpty(highScoreResult.getLevelId())) {
288 317 p1.setRiskLevelId(JsonUtil.array2JsonString(highScoreResult.getLevelId()));
289 318 }
  319 + //修改孕妇档案
290 320 yunBookbuildingService.updatePregnant(p1, p.getId());
291 321  
292 322 }
293 323  
... ... @@ -498,8 +528,32 @@
498 528 patient.setOperator(userId);
499 529 Patients p = yunBookbuildingService.addPregnantBookbuilding(patient);
500 530  
501   - operateLogFacade.addModifyOptLog(userId, Integer.valueOf(patient.getHospitalId()), p, null, OptActionEnums.UPDATE.getId(), "孕妇建档修改");
  531 + //添加产后追访信息
  532 + TrackDownRecord trackDownRecord = patient.build();
  533 + //添加产后追访信息
  534 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  535 + downRecordQuery.setParentId(trackDownRecord.getParentId());
502 536  
  537 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  538 + if(CollectionUtils.isNotEmpty(records)){
  539 + TrackDownRecord trackDownRecord1 = records.get(0);
  540 + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.C.getId()){
  541 + trackDownRecord.setHospitalId(yunRequest.getHospitalId());
  542 + trackDownRecord.setSource(patient.getId());
  543 + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId());
  544 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  545 + }
  546 + }else{
  547 + trackDownRecord.setHospitalId(yunRequest.getHospitalId());
  548 + trackDownRecord.setSource(patient.getId());
  549 + trackDownRecord.setStatus(1);
  550 + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId());
  551 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  552 + }
  553 +
  554 +
  555 + operateLogFacade.addAddOptLog(userId, Integer.valueOf(patient.getHospitalId()), patient, OptActionEnums.ADD.getId(), "孕妇建档");
  556 +
503 557 if (p == null || p.getId() == null) {
504 558 br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
505 559 br.setErrormsg("建档失败,保存异常");
... ... @@ -777,6 +831,10 @@
777 831 Patients beforePatient = yunBookbuildingService.findOneById(id);
778 832  
779 833 yunBookbuildingService.updatePregnant(patient, id);
  834 +
  835 + //更新产后追访信息
  836 + TrackDownRecord trackDownRecord = patient.build();
  837 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
780 838  
781 839 operateLogFacade.addModifyOptLog(userId, Integer.valueOf(beforePatient.getHospitalId()), beforePatient, patient, OptActionEnums.UPDATE.getId(), "孕妇建档修改");
782 840  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java View file @ 89fc053
... ... @@ -3,6 +3,7 @@
3 3 import com.lyms.platform.biz.service.*;
4 4 import com.lyms.platform.common.constants.ErrorCodeConstants;
5 5 import com.lyms.platform.common.enums.OptActionEnums;
  6 +import com.lyms.platform.common.enums.TrackDownDateEnums;
6 7 import com.lyms.platform.common.enums.YnEnums;
7 8 import com.lyms.platform.common.result.BaseListResponse;
8 9 import com.lyms.platform.common.result.BaseObjectResponse;
... ... @@ -12,6 +13,7 @@
12 13 import com.lyms.platform.common.utils.SystemConfig;
13 14 import com.lyms.platform.operate.web.request.FolicAcidAddRequest;
14 15 import com.lyms.platform.operate.web.request.FolicAcidQueryRequest;
  16 +import com.lyms.platform.operate.web.service.ITrackDownService;
15 17 import com.lyms.platform.operate.web.utils.CommonsHelper;
16 18 import com.lyms.platform.operate.web.utils.FunvCommonUtil;
17 19 import com.lyms.platform.permission.model.Organization;
... ... @@ -22,6 +24,7 @@
22 24 import com.lyms.platform.pojo.DataPermissionsModel;
23 25 import com.lyms.platform.pojo.FolicAcid;
24 26 import com.lyms.platform.pojo.ResidentsArchiveModel;
  27 +import com.lyms.platform.pojo.TrackDownRecord;
25 28 import com.lyms.platform.query.DataPermissionsModelQuery;
26 29 import com.lyms.platform.query.FolicAcidQuery;
27 30 import com.lyms.platform.query.ResidentsArchiveQuery;
... ... @@ -57,6 +60,8 @@
57 60 private DataPermissionService dataPermissionService;
58 61 @Autowired
59 62 private PatientsService patientsService;
  63 + @Autowired
  64 + private ITrackDownService trackDownService;
60 65  
61 66 @Autowired
62 67 private OperateLogFacade operateLogFacade;
... ... @@ -127,10 +132,11 @@
127 132 model.setVcCardNo(addRequest.getVcCardNo());
128 133  
129 134 ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(model);
130   -
131   -
132   -
133   -
  135 + //新增婚检追访信息
  136 + TrackDownRecord record = residentsArchiveModel.build();
  137 + record.setStatus(1);
  138 + record.setTrackType(TrackDownDateEnums.A.getId());
  139 + trackDownService.addOrupdateTrackDownRecord(userId,residentsArchiveModel.build());
134 140 id = addOrUpdate(addRequest,userId,residentsArchiveModel.getId());
135 141 }else {
136 142 id = addOrUpdate(addRequest,userId,addRequest.getParentId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java View file @ 89fc053
... ... @@ -12,6 +12,7 @@
12 12 import com.lyms.platform.common.utils.*;
13 13 import com.lyms.platform.operate.web.request.*;
14 14 import com.lyms.platform.operate.web.result.*;
  15 +import com.lyms.platform.operate.web.service.ITrackDownService;
15 16 import com.lyms.platform.operate.web.utils.CommonsHelper;
16 17 import com.lyms.platform.permission.model.Organization;
17 18 import com.lyms.platform.permission.model.OrganizationQuery;
18 19  
... ... @@ -98,8 +99,9 @@
98 99  
99 100 @Autowired
100 101 private PatientServiceFacade patientServiceFacade;
  102 + @Autowired
  103 + private ITrackDownService trackDownService;
101 104  
102   -
103 105 private static Map<Integer, String> ONE_ENUMS = new HashMap<>();
104 106  
105 107 private static Map<String, List> babyMap = new HashMap<>();
106 108  
... ... @@ -275,7 +277,20 @@
275 277 sieveService.deleteSieve(deliverAddRequest.getParentId(), hospitalId, null);
276 278  
277 279 maternalDeliverModel.setYn(YnEnums.YES.getId());
  280 + //新增分娩信息
278 281 matDeliverService.addMatDeliver(maternalDeliverModel);
  282 +
  283 + //添加产后追访信息
  284 + if (CollectionUtils.isNotEmpty(patients)) {
  285 + TrackDownRecord trackDownRecord = patients.get(0).build();
  286 + trackDownRecord.setHospitalId(maternalDeliverModel.getHospitalId());
  287 + trackDownRecord.setStatus(1);
  288 + trackDownRecord.setSource(maternalDeliverModel.getId());
  289 + trackDownRecord.setStatus(1);
  290 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  291 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  292 + }
  293 +
279 294  
280 295 operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), maternalDeliverModel, OptActionEnums.ADD.getId(), "添加分娩");
281 296  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java View file @ 89fc053
... ... @@ -2,9 +2,11 @@
2 2  
3 3 import com.lyms.platform.biz.service.MatDeliverFollowService;
4 4 import com.lyms.platform.biz.service.MatDeliverService;
  5 +import com.lyms.platform.biz.service.PatientsService;
5 6 import com.lyms.platform.common.constants.ErrorCodeConstants;
6 7 import com.lyms.platform.common.enums.OptActionEnums;
7 8 import com.lyms.platform.common.enums.PostpartumFollowMakeEnums;
  9 +import com.lyms.platform.common.enums.TrackDownDateEnums;
8 10 import com.lyms.platform.common.result.BaseListResponse;
9 11 import com.lyms.platform.common.result.BaseObjectResponse;
10 12 import com.lyms.platform.common.result.BaseResponse;
... ... @@ -13,6 +15,7 @@
13 15 import com.lyms.platform.operate.web.request.MatdeliverFollowRequest;
14 16 import com.lyms.platform.operate.web.result.MatdeliverFollowListResult;
15 17 import com.lyms.platform.operate.web.result.MatdeliverFollowResult;
  18 +import com.lyms.platform.operate.web.service.ITrackDownService;
16 19 import com.lyms.platform.operate.web.utils.CollectionUtils;
17 20 import com.lyms.platform.operate.web.utils.ResponseUtil;
18 21 import com.lyms.platform.permission.model.Organization;
... ... @@ -21,6 +24,8 @@
21 24 import com.lyms.platform.permission.service.UsersService;
22 25 import com.lyms.platform.pojo.MatdeliverFollowModel;
23 26 import com.lyms.platform.pojo.MaternalDeliverModel;
  27 +import com.lyms.platform.pojo.Patients;
  28 +import com.lyms.platform.pojo.TrackDownRecord;
24 29 import com.lyms.platform.query.MatDeliverFollowQuery;
25 30 import org.apache.commons.lang.StringUtils;
26 31 import org.apache.log4j.Logger;
... ... @@ -52,6 +57,10 @@
52 57 private AutoMatchFacade autoMatchFacade;
53 58 @Autowired
54 59 private OperateLogFacade operateLogFacade;
  60 + @Autowired
  61 + private PatientsService patientsService;
  62 + @Autowired
  63 + private ITrackDownService trackDownService;
55 64  
56 65 public BaseResponse matdeliverFollowMakeInit(Integer id) {
57 66 Map map = new HashMap();
... ... @@ -138,6 +147,8 @@
138 147 * @return
139 148 */
140 149 public BaseResponse addOrUpdateMatDeliverFollow(MatDeliverFollowAddRequest matDeliverFollowAddRequest, Integer userId) {
  150 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  151 +
141 152 BaseResponse baseResponse = new BaseResponse();
142 153 matDeliverFollowAddRequest.setUpdateDateStr(new Date());
143 154 matDeliverFollowAddRequest.setUpdateUser(String.valueOf(userId));
... ... @@ -177,7 +188,6 @@
177 188 }
178 189 baseResponse.setObject(matDeliverFollowAddRequest.getId());
179 190  
180   - String hospitalId = autoMatchFacade.getHospitalId(userId);
181 191  
182 192 operateLogFacade.addModifyOptLog(userId, Integer.valueOf(hospitalId), before, matDeliverFollowAddRequest.convertToDataModel(), OptActionEnums.UPDATE.getId(), "修复访视记录");
183 193  
... ... @@ -195,6 +205,19 @@
195 205 //获取分娩记录
196 206 MaternalDeliverModel maternalDeliverModel = matDeliverService.getOneMatDeliver(matDeliverFollowAddRequest.getDeliverId());
197 207 if (maternalDeliverModel != null) {
  208 + //产妇第一次随访
  209 + if(StringUtils.isNotEmpty(maternalDeliverModel.getMatFollowId())){
  210 + Patients patient = patientsService.findOnePatientById(maternalDeliverModel.getParentId());
  211 +
  212 + //添加产后追访信息
  213 + TrackDownRecord trackDownRecord = patient.build();
  214 + trackDownRecord.setHospitalId(hospitalId);
  215 + trackDownRecord.setStatus(1);
  216 + trackDownRecord.setSource(maternalDeliverModel.getId());
  217 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  218 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  219 + }
  220 +
198 221 //在分娩记录上记录随访部分信息
199 222 maternalDeliverModel.setMatFollowId(matdeliverFollowModel.getId());
200 223 updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel);
... ... @@ -203,7 +226,6 @@
203 226 }
204 227 baseResponse.setObject(matdeliverFollowModel.getId());
205 228  
206   - String hospitalId = autoMatchFacade.getHospitalId(userId);
207 229 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), matdeliverFollowModel, OptActionEnums.ADD.getId(), "新增访视记录");
208 230 }
209 231  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java View file @ 89fc053
... ... @@ -255,12 +255,23 @@
255 255 babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
256 256 babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
257 257 babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest);
258   - }
  258 + }else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == ps.getSerType().intValue()) {
  259 + BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest();
  260 + babyBookbuildingAddRequest.setId(ps.getParentid());
  261 + babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
  262 + babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
  263 + babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest);
  264 + }
259 265 } else {//孕妇建档服务数据处理
260 266 if (PatientSerEnums.SerTypeEnums.yqjzzd.getId() == Integer.parseInt(serInfo.get("serType"))) {//孕期精准指导同步到建档
261 267 YunBookbuildingAddRequest yunBookbuildingAddRequest = new YunBookbuildingAddRequest();
262 268 yunBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
263 269 yunBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
  270 + bookbuildingFacade.updatePregnantById(ps.getParentid(), yunBookbuildingAddRequest, userId);
  271 + }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){
  272 + YunBookbuildingAddRequest yunBookbuildingAddRequest = new YunBookbuildingAddRequest();
  273 + yunBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
  274 + yunBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
264 275 bookbuildingFacade.updatePregnantById(ps.getParentid(), yunBookbuildingAddRequest, userId);
265 276 }
266 277 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java View file @ 89fc053
... ... @@ -2,10 +2,7 @@
2 2  
3 3 import com.lyms.platform.biz.service.*;
4 4 import com.lyms.platform.common.constants.ErrorCodeConstants;
5   -import com.lyms.platform.common.enums.OptActionEnums;
6   -import com.lyms.platform.common.enums.ServiceStatusEnums;
7   -import com.lyms.platform.common.enums.ServiceTypeEnums;
8   -import com.lyms.platform.common.enums.YnEnums;
  5 +import com.lyms.platform.common.enums.*;
9 6 import com.lyms.platform.common.result.BaseObjectResponse;
10 7 import com.lyms.platform.common.result.BaseResponse;
11 8 import com.lyms.platform.common.utils.Assert;
12 9  
... ... @@ -17,16 +14,14 @@
17 14 import com.lyms.platform.operate.web.result.HighScoreResult;
18 15 import com.lyms.platform.operate.web.result.PostReviewListResult;
19 16 import com.lyms.platform.operate.web.result.PostReviewResult;
  17 +import com.lyms.platform.operate.web.service.ITrackDownService;
20 18 import com.lyms.platform.permission.model.Organization;
21 19 import com.lyms.platform.permission.model.Users;
22 20 import com.lyms.platform.permission.service.CouponService;
23 21 import com.lyms.platform.permission.service.OrganizationService;
24 22 import com.lyms.platform.permission.service.UsersService;
25 23 import com.lyms.platform.pojo.*;
26   -import com.lyms.platform.query.MatDeliverQuery;
27   -import com.lyms.platform.query.PatientsQuery;
28   -import com.lyms.platform.query.PostReviewQuery;
29   -import com.lyms.platform.query.ReferralApplyOrderQuery;
  24 +import com.lyms.platform.query.*;
30 25 import org.apache.commons.collections.CollectionUtils;
31 26 import org.apache.commons.lang.StringUtils;
32 27 import org.apache.commons.lang.math.NumberUtils;
33 28  
... ... @@ -67,8 +62,11 @@
67 62  
68 63 @Autowired
69 64 private CouponService couponService;
70   -
71 65 @Autowired
  66 + private ITrackDownService trackDownService;
  67 + @Autowired
  68 + private TrackDownRecordService trackDownRecordService;
  69 + @Autowired
72 70 private OperateLogFacade operateLogFacade;
73 71  
74 72 /**
... ... @@ -108,6 +106,25 @@
108 106 }
109 107 postReviewModel.setOperator(userId);
110 108 Patients patients1 = patientsService.findOnePatientById(postReviewRequest.getParentId());
  109 +
  110 + //第一次访视时,添加产后追访
  111 + if(patients1.getPostViewTimes()==null||patients1.getPostViewTimes()<1){
  112 + //添加产后追访信息
  113 + TrackDownRecord trackDownRecord = patients1.build();
  114 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  115 + downRecordQuery.setParentId(trackDownRecord.getParentId());
  116 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  117 +
  118 + if(CollectionUtils.isNotEmpty(records)){
  119 + TrackDownRecord trackDownRecord1 = records.get(0);
  120 + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.F.getId()){
  121 + trackDownRecord.setHospitalId(hospital);
  122 + trackDownRecord.setSource(postReviewModel.getId());
  123 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  124 + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord);
  125 + }
  126 + }
  127 + }
111 128  
112 129 autoCreatedPatient(postReviewRequest,hospital,groupId);
113 130  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java View file @ 89fc053
... ... @@ -6,6 +6,7 @@
6 6 import com.lyms.platform.common.constants.ErrorCodeConstants;
7 7 import com.lyms.platform.common.enums.MedicalAdviceEnum;
8 8 import com.lyms.platform.common.enums.PhysiologyStatusEnum;
  9 +import com.lyms.platform.common.enums.TrackDownDateEnums;
9 10 import com.lyms.platform.common.enums.YnEnums;
10 11 import com.lyms.platform.common.result.BaseListResponse;
11 12 import com.lyms.platform.common.result.BaseObjectResponse;
12 13  
... ... @@ -18,10 +19,10 @@
18 19 import com.lyms.platform.operate.web.result.PremaritalCheckupHistoryResult;
19 20 import com.lyms.platform.operate.web.result.PremaritalCheckupPageResult;
20 21 import com.lyms.platform.operate.web.result.PremaritalCheckupResult;
  22 +import com.lyms.platform.operate.web.service.ITrackDownService;
21 23 import com.lyms.platform.operate.web.utils.CommonsHelper;
22 24 import com.lyms.platform.operate.web.utils.FunvCommonUtil;
23 25 import com.lyms.platform.operate.web.utils.UnitConstants;
24   -import com.lyms.platform.operate.web.utils.UnitUtils;
25 26 import com.lyms.platform.permission.model.Organization;
26 27 import com.lyms.platform.permission.model.Users;
27 28 import com.lyms.platform.permission.service.OrganizationService;
... ... @@ -29,6 +30,7 @@
29 30 import com.lyms.platform.pojo.BasicConfig;
30 31 import com.lyms.platform.pojo.PremaritalCheckup;
31 32 import com.lyms.platform.pojo.ResidentsArchiveModel;
  33 +import com.lyms.platform.pojo.TrackDownRecord;
32 34 import com.lyms.platform.query.PremaritalCheckupQuery;
33 35 import com.lyms.platform.query.ResidentsArchiveQuery;
34 36 import org.apache.commons.collections.CollectionUtils;
... ... @@ -60,6 +62,8 @@
60 62 private AutoMatchFacade autoMatchFacade;
61 63 @Autowired
62 64 private UsersService usersService;
  65 + @Autowired
  66 + private ITrackDownService trackDownService;
63 67  
64 68 /**
65 69 * 查询单个(男/女)婚前检查
... ... @@ -732,6 +736,21 @@
732 736 checkup.setHospitalId(addRequest.getHospitalId());
733 737 PremaritalCheckup premaritalCheckup = premaritalCheckupService.addPremaritalCheckup(checkup);
734 738 id = premaritalCheckup.getId();
  739 +
  740 + //新增婚前检查结束,男的结束流程,女的进入怀孕建档)
  741 + if (model.getSex().equals(SystemConfig.WOMAN_ID)) {
  742 + //新增婚检追访信息
  743 + TrackDownRecord record = model.build();
  744 + record.setStatus(1);
  745 + record.setTrackType(TrackDownDateEnums.B.getId());
  746 + trackDownService.addOrupdateTrackDownRecord(userId,record);
  747 + } else if (model.getSex().equals(SystemConfig.MAN_ID)) {
  748 + //新增婚检追访信息
  749 + TrackDownRecord record = model.build();
  750 + record.setStatus(0);
  751 + trackDownService.addOrupdateTrackDownRecord(userId,record);
  752 + }
  753 +
735 754 }
736 755 return id;
737 756 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java View file @ 89fc053
1 1 package com.lyms.platform.operate.web.facade;
2 2  
3   -import com.lyms.platform.beans.MsgListRequest;
4 3 import com.lyms.platform.beans.MsgRequest;
5 4 import com.lyms.platform.biz.service.BasicConfigService;
6 5 import com.lyms.platform.biz.service.PremaritalCheckupService;
7 6  
8 7  
... ... @@ -12,13 +11,15 @@
12 11 import com.lyms.platform.common.result.BaseObjectResponse;
13 12 import com.lyms.platform.common.result.BaseResponse;
14 13 import com.lyms.platform.common.utils.*;
15   -import com.lyms.platform.operate.web.request.*;
  14 +import com.lyms.platform.operate.web.request.ResidentsArchiveAddRequest;
  15 +import com.lyms.platform.operate.web.request.ResidentsArchiveQueryRequest;
  16 +import com.lyms.platform.operate.web.request.WomenGuideSmsRequest;
16 17 import com.lyms.platform.operate.web.result.BasicConfigResult;
17 18 import com.lyms.platform.operate.web.result.ResidentsArchiveHistoryResult;
18 19 import com.lyms.platform.operate.web.result.ResidentsArchiveResult;
  20 +import com.lyms.platform.operate.web.service.ITrackDownService;
19 21 import com.lyms.platform.operate.web.utils.CommonsHelper;
20 22 import com.lyms.platform.operate.web.utils.FunvCommonUtil;
21   -import com.lyms.platform.operate.web.utils.MessageCenterService;
22 23 import com.lyms.platform.permission.model.Organization;
23 24 import com.lyms.platform.permission.model.Users;
24 25 import com.lyms.platform.permission.service.OrganizationService;
... ... @@ -26,6 +27,7 @@
26 27 import com.lyms.platform.pojo.PremaritalCheckup;
27 28 import com.lyms.platform.pojo.ResidentsArchiveModel;
28 29 import com.lyms.platform.pojo.SmsConfigModel;
  30 +import com.lyms.platform.pojo.TrackDownRecord;
29 31 import com.lyms.platform.query.PremaritalCheckupQuery;
30 32 import com.lyms.platform.query.ResidentsArchiveQuery;
31 33 import org.apache.commons.collections.CollectionUtils;
... ... @@ -64,6 +66,8 @@
64 66 private SmsConfigFacade smsConfigFacade;
65 67 @Autowired
66 68 private SyncDataService syncDataService;
  69 + @Autowired
  70 + private ITrackDownService trackDownService;
67 71  
68 72 public BaseObjectResponse findResidentsArchive(ResidentsArchiveQueryRequest queryRequest,Integer userId){
69 73  
... ... @@ -294,6 +298,9 @@
294 298  
295 299 model.setId(id);
296 300 residentsArchiveService.updateResident(model,id);
  301 + //修改追访基本信息
  302 + trackDownService.addOrupdateTrackDownRecord(userId,model.build());
  303 +
297 304 }catch (Exception e){
298 305 return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg("系统异常,修改数据失败");
299 306 }
... ... @@ -375,6 +382,12 @@
375 382  
376 383 ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(archiveModel);
377 384  
  385 + //新增婚检追访信息
  386 + TrackDownRecord record = residentsArchiveModel.build();
  387 + record.setStatus(1);
  388 + record.setTrackType(TrackDownDateEnums.A.getId());
  389 + trackDownService.addOrupdateTrackDownRecord(userId,residentsArchiveModel.build());
  390 +
378 391 if (residentsArchiveModel == null || StringUtils.isEmpty(residentsArchiveModel.getId())){
379 392 br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);
380 393 br.setErrormsg("建档失败,保存异常");
... ... @@ -386,6 +399,7 @@
386 399 br.setData(residentsArchiveModel.getId());
387 400 return br;
388 401 }
  402 +
389 403  
390 404 /**
391 405 * 通过ID查看居民建档详情
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/StopPregnancyFacade.java View file @ 89fc053
... ... @@ -11,12 +11,16 @@
11 11 import com.lyms.platform.operate.web.request.StopPregRequest;
12 12 import com.lyms.platform.operate.web.result.AntexListResult;
13 13 import com.lyms.platform.operate.web.result.StopPregResult;
  14 +import com.lyms.platform.operate.web.service.ITrackDownService;
14 15 import com.lyms.platform.permission.model.Users;
15 16 import com.lyms.platform.permission.model.UsersQuery;
16 17 import com.lyms.platform.permission.service.CouponService;
17 18 import com.lyms.platform.permission.service.UsersService;
18 19 import com.lyms.platform.pojo.*;
19   -import com.lyms.platform.query.*;
  20 +import com.lyms.platform.query.AntExChuQuery;
  21 +import com.lyms.platform.query.MatDeliverQuery;
  22 +import com.lyms.platform.query.PatientsQuery;
  23 +import com.lyms.platform.query.StopPregQuery;
20 24 import org.apache.commons.collections.CollectionUtils;
21 25 import org.springframework.beans.factory.annotation.Autowired;
22 26 import org.springframework.stereotype.Component;
... ... @@ -64,6 +68,8 @@
64 68  
65 69 @Autowired
66 70 private OperateLogFacade operateLogFacade;
  71 + @Autowired
  72 + private ITrackDownService trackDownService;
67 73  
68 74 /**
69 75 * 更新终止妊娠
... ... @@ -107,6 +113,20 @@
107 113 if (patient != null) {
108 114 patient.setFmDate(DateUtil.parseYMD(request.getStopDate()));
109 115 yunBookbuildingService.updatePregnant(patient, patient.getId());
  116 +
  117 + //当前孕妇是孕28周后,进入产后复查追访,否则结束流程
  118 + int dueWeek = DateUtil.getWeek2(patient.getLastMenses(), patient.getBookbuildingDate());
  119 + TrackDownRecord trackDownRecord = patient.build();
  120 + if(dueWeek>28){//进入产后复查
  121 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  122 + //--终止妊娠后不显示追访
  123 + trackDownRecord.setStatus(1);
  124 + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord);
  125 + }else{//结束流程
  126 + //--终止妊娠后不显示追访
  127 + trackDownRecord.setStatus(0);
  128 + }
  129 + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord);
110 130 }
111 131 }
112 132 }
113 133  
... ... @@ -192,11 +212,26 @@
192 212 } else if (patient.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId()) {
193 213 patient.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
194 214 }
  215 +
195 216 patient.setFmDate(DateUtil.parseYMD(request.getStopDate()));
196 217 patient.setType(3);
197 218 sieveService.deleteSieve(pat.getId(), hospital, pat.getLastMenses());
198 219 //分娩状态 0未终止妊娠 1终止妊娠
199 220 yunBookbuildingService.updatePregnant(patient, patient.getId());
  221 +
  222 + //当前孕妇是孕28周后,进入产后复查追访,否则结束流程
  223 + int dueWeek = DateUtil.getWeek2(patient.getLastMenses(), patient.getBookbuildingDate());
  224 + TrackDownRecord trackDownRecord = patient.build();
  225 + if(dueWeek>28){//进入产后复查
  226 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId());
  227 + //--终止妊娠后不显示追访
  228 + trackDownRecord.setStatus(1);
  229 + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord);
  230 + }else{//结束流程
  231 + //--终止妊娠后不显示追访
  232 + trackDownRecord.setStatus(0);
  233 + }
  234 + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord);
200 235 }
201 236 }
202 237  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java View file @ 89fc053
... ... @@ -104,19 +104,11 @@
104 104 void execute();
105 105  
106 106 /**
107   - * 单条数据狐狸
  107 + * 单条数据处理
108 108 *
109 109 * @param model
110 110 */
111 111 void handOneByOne(T model);
112   -
113   - /**
114   - * 构建加入到追访列表的数据
115   - *
116   - * @param model
117   - * @return
118   - */
119   - TrackDownRecord build(T model);
120 112 }
121 113  
122 114 /**
123 115  
... ... @@ -158,31 +150,11 @@
158 150 List<TrackDownRecord> records = downRecordService.queryTrackDown(downRecordQuery);
159 151 if (CollectionUtils.isEmpty(records)) {
160 152 logger.info("FMTrackDownDataLoader addTrackDown by id :" + model.getId());
161   - downRecordService.addTrackDown(build(model));
  153 + downRecordService.addTrackDown(model.build());
162 154 }
163 155 }
164 156  
165   - @Override
166   - public TrackDownRecord build(Patients model) {
167   - TrackDownRecord downRecord = new TrackDownRecord();
168   - downRecord.setParentId(model.getId());
169   - downRecord.setPid(model.getPid());
170   - downRecord.setSource(model.getId());
171   - downRecord.setLastMenses(model.getLastMenses());
172   - downRecord.setUsername(model.getUsername());
173   - downRecord.setCityRegisterId(model.getCityRegisterId());
174   - downRecord.setBirth(model.getBirth());
175   - downRecord.setAreaRegisterId(model.getAreaRegisterId());
176   - downRecord.setCardNo(model.getCardNo());
177   - downRecord.setAddressRegister(model.getAddressRegister());
178   - downRecord.setHospitalId(model.getHospitalId());
179   - downRecord.setPhone(model.getPhone());
180   - downRecord.setStreetRegisterId(model.getStreetRegisterId());
181   - downRecord.setAreaRegisterId(model.getAreaRegisterId());
182   - downRecord.setStatus(1);
183   - downRecord.setTrackType(TrackDownDateEnums.E.getId());
184   - return downRecord;
185   - }
  157 +
186 158 }
187 159  
188 160  
... ... @@ -228,7 +200,6 @@
228 200 }
229 201 }
230 202  
231   - @Override
232 203 public TrackDownRecord build(Patients model) {
233 204 TrackDownRecord downRecord = new TrackDownRecord();
234 205 downRecord.setParentId(model.getId());
... ... @@ -266,7 +237,6 @@
266 237  
267 238 }
268 239  
269   - @Override
270 240 public TrackDownRecord build(Patients model) {
271 241 return null;
272 242 }
... ... @@ -320,7 +290,6 @@
320 290 }
321 291 }
322 292  
323   - @Override
324 293 public TrackDownRecord build(PremaritalCheckup model) {
325 294 if (StringUtils.isEmpty(model.getParentId())) {
326 295 return null;
327 296  
328 297  
... ... @@ -394,36 +363,14 @@
394 363  
395 364 if (CollectionUtils.isEmpty(DATA)) {
396 365 logger.info("HJTrackDownDataLoader addTrackDown by id :" + model.getId());
397   - downRecordService.addTrackDown(build(model));
  366 + downRecordService.addTrackDown(model.build());
398 367 } else {
399 368 //TODO 如果有婚检还存在的情况
400 369 }
401 370 }
402 371 }
403   -
  372 + }
404 373 /**
405   - * 构建入追访列表的数据
406   - *
407   - * @param model
408   - * @return
409   - */
410   - public TrackDownRecord build(ResidentsArchiveModel model) {
411   - TrackDownRecord record = new TrackDownRecord();
412   - record.setResidentsArchiveId(model.getId());
413   - record.setAddressRegister(model.getAddress());
414   - record.setAreaRegisterId(model.getAreaId());
415   - record.setBirth(model.getBirthday());
416   - record.setCityRegisterId(model.getCityId());
417   - record.setUsername(model.getUsername());
418   - record.setStreetRegisterId(model.getStreetId());
419   - record.setPhone(model.getPhone());
420   - record.setHospitalId(model.getHospitalId());
421   - record.setStatus(1);
422   - record.setSource(model.getId());
423   - record.setCardNo(model.getCertificateNum());
424   - record.setTrackType(TrackDownDateEnums.A.getId());
425   - return record;
426   - }
427 374 }
428 375  
429 376 /**
... ... @@ -473,7 +420,6 @@
473 420 }
474 421 }
475 422  
476   - @Override
477 423 public TrackDownRecord build(MaternalDeliverModel model) {
478 424 TrackDownRecord record = new TrackDownRecord();
479 425 record.setParentId(model.getId());
... ... @@ -517,7 +463,7 @@
517 463 dischargeAbstractMotherQuery.setPage(page);
518 464 dischargeAbstractMotherQuery.setLimit(limit);
519 465  
520   - data= dischargeAbstractMotherService.query(dischargeAbstractMotherQuery);
  466 + data = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery);
521 467 //查询妇女建档
522 468 if (CollectionUtils.isNotEmpty(data)) {
523 469 for (DischargeAbstractMotherModel model : data) {
... ... @@ -547,7 +493,6 @@
547 493 }
548 494 }
549 495  
550   - @Override
551 496 public TrackDownRecord build(DischargeAbstractMotherModel model) {
552 497  
553 498 Patients patients = patientsService.findOnePatientById(model.getPatientId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java View file @ 89fc053
... ... @@ -3,11 +3,14 @@
3 3 import com.lyms.platform.common.result.BaseObjectResponse;
4 4 import com.lyms.platform.common.result.BaseResponse;
5 5 import com.lyms.platform.pojo.TrackDown;
  6 +import com.lyms.platform.pojo.TrackDownRecord;
6 7  
7 8 import javax.servlet.http.HttpServletResponse;
8 9 import java.util.Date;
9 10  
10 11 public interface ITrackDownService extends IBaseService {
  12 + //新增或更新追访状态
  13 + boolean addOrupdateTrackDownRecord(Integer userId,TrackDownRecord trackDownRecord);
11 14  
12 15 BaseResponse add(Integer userId, TrackDown trackDown);
13 16  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java View file @ 89fc053
... ... @@ -179,6 +179,25 @@
179 179 return antexcCount + antexCount;
180 180 }
181 181  
  182 + //新增或更新追访状态
  183 + @Override
  184 + public boolean addOrupdateTrackDownRecord(Integer userId, TrackDownRecord trackDownRecord) {
  185 + try {
  186 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  187 + downRecordQuery.setParentId(trackDownRecord.getParentId());
  188 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  189 + if(CollectionUtils.isNotEmpty(records)){
  190 + TrackDownRecord trackDownRecord1 = records.get(0);
  191 + trackDownRecordService.updateTrackDown(trackDownRecord,trackDownRecord1.getId());
  192 + }else{
  193 + trackDownRecordService.addTrackDown(trackDownRecord);
  194 + }
  195 + return true;
  196 + }catch (Exception e){
  197 + return false;
  198 + }
  199 + }
  200 +
182 201 public BaseResponse add(Integer userId, TrackDown trackDown) {
183 202 String hospitalId = autoMatchFacade.getHospitalId(userId);
184 203 //婚前检查 怀孕建档 的时候没有pid
185 204  
... ... @@ -213,17 +232,33 @@
213 232 return new BaseResponse().setErrorcode(4016).setErrormsg("您还没有孕妇的档案,请去医院建档.");
214 233 }
215 234 }
216   - String recordId=trackDown.getId();
217   - trackDown.setId(null);
218   - trackDown.setYn(YnEnums.YES.getId());
219   - trackDown.setCreated(new Date());
220   - trackDown.setHospitalId(hospitalId);
221   - trackDown.setOperaterId(userId);
222   - trackDown.setModified(new Date());
223   - trackDownService.add(trackDown);
  235 + //追访列表ID
  236 + if(trackDown.getTrackDownRecId()!=null){
  237 + TrackDownRecord trackDownRecord = trackDownRecordService.getTrackDown(trackDown.getTrackDownRecId());
  238 + if(trackDownRecord!=null){
  239 + //当传入的状态和数据库一致时才能进行有效操作
  240 + if(trackDownRecord.getTrackType().intValue()==trackDown.getTrackDownDateType()){
  241 + trackDown.setId(null);
  242 + trackDown.setYn(YnEnums.YES.getId());
  243 + trackDown.setCreated(new Date());
  244 + trackDown.setHospitalId(hospitalId);
  245 + trackDown.setOperaterId(userId);
  246 + trackDown.setModified(new Date());
  247 + trackDownService.add(trackDown);
  248 + String recordId=trackDown.getTrackDownRecId();
  249 + updateRecordStatus(trackDown, recordId);
  250 + return RespBuilder.buildSuccess(trackDown.getId());
  251 + }else{
  252 + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"数据已经被修改请回到列表刷新后再操作!");
  253 + }
  254 + }else{
  255 + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"传入的trackDownRecId没有找到数据");
  256 + }
  257 + }else{
  258 + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"请传入trackDownRecId");
  259 + }
224 260  
225   - updateRecordStatus(trackDown, recordId);
226   - return RespBuilder.buildSuccess(trackDown.getId());
  261 +
227 262 }
228 263  
229 264 /**
230 265  
... ... @@ -235,20 +270,10 @@
235 270 private void updateRecordStatus(TrackDown trackDown, String id) {
236 271 //如果是扭转到下一个流程的话就需要修改record表
237 272 if (TrackDownTransferEnums.B.getId() == trackDown.getTrackDownTransfer()) {
238   - //
  273 +
239 274 TrackDownRecord trackDownRecord = new TrackDownRecord();
240 275 Integer nextId=TrackDownDateEnums.getEnum(trackDown.getTrackDownDateType()).getNextid();
241   -
242   - TrackDownRecordQuery trackDownRecordQuery = new TrackDownRecordQuery();
243   - trackDownRecordQuery.setParentId(trackDown.getParentId());
244   - trackDownRecordQuery.setTrackType(nextId);
245   - //如果需要进入的列表没有这个人的记录
246   - if(0==trackDownRecordService.queryTrackDownCount(trackDownRecordQuery)){
247   - trackDownRecord.setTrackType(nextId);
248   - }else {
249   - //设置为不显示
250   - trackDownRecord.setStatus(0);
251   - }
  276 + trackDownRecord.setTrackType(nextId);
252 277 trackDownRecordService.updateTrackDown(trackDownRecord,id);
253 278  
254 279 } else if (TrackDownTransferEnums.C.getId() == trackDown.getTrackDownTransfer()) {