diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java index 81c80ac..04724ca 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java @@ -22,7 +22,11 @@ public class YunBookbuildingService { private IYunBookBuildingDao yunBookBuildingDao; @Autowired private IAntExChuDao antExChuDao; + + + //孕妇建档时生成孕检追访信息 public Patients addPregnantBookbuilding(Patients patient) { + return yunBookBuildingDao.addYunBookbuilding(patient); } public void deletePregnantById(String id) { 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 c705ea9..fcc96d0 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 @@ -1161,6 +1161,23 @@ public class Patients extends BaseModel { isSendCoupon = sendCoupon; } + public TrackDownRecord build() { + TrackDownRecord downRecord = new TrackDownRecord(); + downRecord.setParentId(getId()); + downRecord.setPid(getPid()); + downRecord.setLastMenses(getLastMenses()); + downRecord.setUsername(getUsername()); + downRecord.setCityRegisterId(getCityRegisterId()); + downRecord.setBirth(getBirth()); + downRecord.setAreaRegisterId(getAreaRegisterId()); + downRecord.setCardNo(getCardNo()); + downRecord.setAddressRegister(getAddressRegister()); + downRecord.setPhone(getPhone()); + downRecord.setStreetRegisterId(getStreetRegisterId()); + downRecord.setAreaRegisterId(getAreaRegisterId()); + return downRecord; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java index 1b95c1d..cd85881 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PremaritalCheckup.java @@ -1526,4 +1526,5 @@ public class PremaritalCheckup extends BaseModel { public void setHunJianDoctor(String hunJianDoctor) { this.hunJianDoctor = hunJianDoctor; } + } 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 33b7dfc..3d4bcc7 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 @@ -427,4 +427,27 @@ public class ResidentsArchiveModel extends BaseModel{ public void setPublishName(String publishName) { this.publishName = publishName; } + + /** + * 构建入追访列表的数据 + * + * @return + */ + public TrackDownRecord build() { + TrackDownRecord record = new TrackDownRecord(); + record.setResidentsArchiveId(getId()); + record.setAddressRegister(getAddress()); + record.setAreaRegisterId(getAreaId()); + record.setBirth(getBirthday()); + record.setCityRegisterId(getCityId()); + record.setUsername(getUsername()); + record.setStreetRegisterId(getStreetId()); + record.setPhone(getPhone()); + record.setHospitalId(getHospitalId()); + record.setSource(getId()); + record.setCardNo(getCertificateNum()); + // record.setStatus(1); + // record.setTrackType(TrackDownDateEnums.A.getId()); + return record; + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java index 95c7c26..99be6bf 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java @@ -14,12 +14,15 @@ public class TrackDown extends BaseModel { private static final long serialVersionUID = SerialIdEnum.TrackDown.getCid(); + /** + * 追访ID 与下面一样 + */ private String id; /** * 追访ID */ - private Date trackDownRecId; + private String trackDownRecId; private String parentId; @@ -80,6 +83,15 @@ public class TrackDown extends BaseModel { */ private Integer trackDownDateType; + + public String getTrackDownRecId() { + return trackDownRecId; + } + + public void setTrackDownRecId(String trackDownRecId) { + this.trackDownRecId = trackDownRecId; + } + public String getResidentsArchiveId() { return residentsArchiveId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index b38d484..32a6c2a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -19,6 +19,7 @@ import com.lyms.platform.operate.web.request.BabyGuideSmsequest; import com.lyms.platform.operate.web.request.BabyManageRequest; import com.lyms.platform.operate.web.request.BookbuildingQueryRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.BabyListTask; import com.lyms.platform.operate.web.utils.GrowthCountTask; import com.lyms.platform.operate.web.utils.MongoUtil; @@ -146,7 +147,11 @@ public class BabyBookbuildingFacade { @Autowired private MongoUtil mongoUtil; + @Autowired + private ITrackDownService trackDownService; + @Autowired + private TrackDownRecordService trackDownRecordService; public BaseResponse getBabyBase(String babyId) { //查询儿童的基本信息 BabyBasicResult base = new BabyBasicResult(); @@ -472,6 +477,13 @@ public class BabyBookbuildingFacade { } } + //建档开通增值服务,若前端没有传入服务信息,默认加入标准服务 + if (CollectionUtils.isNotEmpty(request.getSerInfos())) { + Map serInfo = new HashMap<>(); + serInfo.put("serType",PatientSerEnums.SerTypeEnums.babyBzfw.getId().toString()); + request.setSerInfos(Arrays.asList(serInfo)); + } + String hid = autoMatchFacade.getHospitalId(userId); BaseObjectResponse br = new BaseObjectResponse(); @@ -642,6 +654,29 @@ public class BabyBookbuildingFacade { patient.setPid(pm.getId()); patient.setCreated(new Date()); patients = yunBookbuildingService.addPregnantBookbuilding(patient); + + //添加产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(trackDownRecord.getParentId()); + //添加产后追访信息 + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.F.getId()){ + trackDownRecord.setHospitalId(hid); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + }else{ + trackDownRecord.setHospitalId(hid); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setStatus(1); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), patients, OptActionEnums.ADD.getId(), "儿童建档时候添加孕妇建档"); } } @@ -671,6 +706,11 @@ public class BabyBookbuildingFacade { patient.setCreated(new Date()); patients = yunBookbuildingService.addPregnantBookbuilding(patient); + //添加产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), patients, OptActionEnums.ADD.getId(), "儿童建档时候添加孕妇建档"); } @@ -710,26 +750,25 @@ public class BabyBookbuildingFacade { operateLogFacade.addAddOptLog(userId, Integer.valueOf(hid), model, OptActionEnums.ADD.getId(), "儿童建档"); model = babyBookbuildingService.addBabyBookbuilding(model); - //建档开通增值服务 - if (CollectionUtils.isNotEmpty(request.getSerInfos())) { - - PatientService patientService = new PatientService(); - patientService.setPerType(2); - patientService.setSerInfos(request.getSerInfos()); - patientService.setCreateUser(String.valueOf(userId)); - //开通日期与建档日期一致 - patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate())); - patientService.setParentid(model.getId()); - patientService.setPid(model.getPid()); - try { - patientServiceFacade.addPatientService(patientService, userId,request.getHospitalId()); - } catch (Exception e) { - System.out.println("儿童建档服务开通异常!"); - e.printStackTrace(); - } + + //开通增值服务 + PatientService patientService = new PatientService(); + patientService.setPerType(2); + patientService.setSerInfos(request.getSerInfos()); + patientService.setCreateUser(String.valueOf(userId)); + //开通日期与建档日期一致 + patientService.setCreateDate(DateUtil.parseYMD(request.getBuildDate())); + patientService.setParentid(model.getId()); + patientService.setPid(model.getPid()); + try { + patientServiceFacade.addPatientService(patientService, userId,request.getHospitalId()); + } catch (Exception e) { + System.out.println("儿童建档服务开通异常!"); + e.printStackTrace(); } + String bId = model.getId(); if (model == null || bId == null) { br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); 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 7c558d9..cd4983a 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 @@ -18,6 +18,7 @@ import com.lyms.platform.operate.web.request.BookBuildManagerQueryRequest; import com.lyms.platform.operate.web.request.BookbuildingQueryRequest; import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.JdbcUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.Organization; @@ -140,6 +141,10 @@ public class BookbuildingFacade { @Autowired private MongoTemplate mongoTemplate; + @Autowired + private ITrackDownService trackDownService; + @Autowired + private TrackDownRecordService trackDownRecordService; /** * 根据患者的建档ID,查询还未使用的免费产检查券 * @@ -267,8 +272,32 @@ public class BookbuildingFacade { patient.setModified(new Date()); patient.setOperator(userId); + //新增孕妇档案 Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); + //添加产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + //添加产后追访信息 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(trackDownRecord.getParentId()); + + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.C.getId()){ + trackDownRecord.setHospitalId(yunRequest.getHospitalId()); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + }else{ + trackDownRecord.setHospitalId(yunRequest.getHospitalId()); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setStatus(1); + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + operateLogFacade.addAddOptLog(userId, Integer.valueOf(yunRequest.getHospitalId()), p, OptActionEnums.ADD.getId(), "孕妇建档"); /** 孕妇建档后把所有以前未使用的优惠券作废 */ @@ -287,6 +316,7 @@ public class BookbuildingFacade { if (CollectionUtils.isNotEmpty(highScoreResult.getLevelId())) { p1.setRiskLevelId(JsonUtil.array2JsonString(highScoreResult.getLevelId())); } + //修改孕妇档案 yunBookbuildingService.updatePregnant(p1, p.getId()); } @@ -498,7 +528,31 @@ public class BookbuildingFacade { patient.setOperator(userId); Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); - operateLogFacade.addModifyOptLog(userId, Integer.valueOf(patient.getHospitalId()), p, null, OptActionEnums.UPDATE.getId(), "孕妇建档修改"); + //添加产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + //添加产后追访信息 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(trackDownRecord.getParentId()); + + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.C.getId()){ + trackDownRecord.setHospitalId(yunRequest.getHospitalId()); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + }else{ + trackDownRecord.setHospitalId(yunRequest.getHospitalId()); + trackDownRecord.setSource(patient.getId()); + trackDownRecord.setStatus(1); + trackDownRecord.setTrackType(TrackDownDateEnums.C.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + + + operateLogFacade.addAddOptLog(userId, Integer.valueOf(patient.getHospitalId()), patient, OptActionEnums.ADD.getId(), "孕妇建档"); if (p == null || p.getId() == null) { br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); @@ -778,6 +832,10 @@ public class BookbuildingFacade { yunBookbuildingService.updatePregnant(patient, id); + //更新产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + operateLogFacade.addModifyOptLog(userId, Integer.valueOf(beforePatient.getHospitalId()), beforePatient, patient, OptActionEnums.UPDATE.getId(), "孕妇建档修改"); //如果当前是建档医院,那么需要修改其他非建档医院的数据 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java index 64b6b60..52aa3ec 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.OptActionEnums; +import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; @@ -12,6 +13,7 @@ import com.lyms.platform.common.utils.ExcelUtil; import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.FolicAcidAddRequest; import com.lyms.platform.operate.web.request.FolicAcidQueryRequest; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.permission.model.Organization; @@ -22,6 +24,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.DataPermissionsModel; import com.lyms.platform.pojo.FolicAcid; import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.pojo.TrackDownRecord; import com.lyms.platform.query.DataPermissionsModelQuery; import com.lyms.platform.query.FolicAcidQuery; import com.lyms.platform.query.ResidentsArchiveQuery; @@ -57,6 +60,8 @@ public class FolicAcidFacade { private DataPermissionService dataPermissionService; @Autowired private PatientsService patientsService; + @Autowired + private ITrackDownService trackDownService; @Autowired private OperateLogFacade operateLogFacade; @@ -127,10 +132,11 @@ public class FolicAcidFacade { model.setVcCardNo(addRequest.getVcCardNo()); ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(model); - - - - + //新增婚检追访信息 + TrackDownRecord record = residentsArchiveModel.build(); + record.setStatus(1); + record.setTrackType(TrackDownDateEnums.A.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,residentsArchiveModel.build()); id = addOrUpdate(addRequest,userId,residentsArchiveModel.getId()); }else { id = addOrUpdate(addRequest,userId,addRequest.getParentId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 0cf9bad..d5ae8e1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -12,6 +12,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; @@ -98,7 +99,8 @@ public class MatDeliverFacade { @Autowired private PatientServiceFacade patientServiceFacade; - + @Autowired + private ITrackDownService trackDownService; private static Map ONE_ENUMS = new HashMap<>(); @@ -275,8 +277,21 @@ public class MatDeliverFacade { sieveService.deleteSieve(deliverAddRequest.getParentId(), hospitalId, null); maternalDeliverModel.setYn(YnEnums.YES.getId()); + //新增分娩信息 matDeliverService.addMatDeliver(maternalDeliverModel); + //添加产后追访信息 + if (CollectionUtils.isNotEmpty(patients)) { + TrackDownRecord trackDownRecord = patients.get(0).build(); + trackDownRecord.setHospitalId(maternalDeliverModel.getHospitalId()); + trackDownRecord.setStatus(1); + trackDownRecord.setSource(maternalDeliverModel.getId()); + trackDownRecord.setStatus(1); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + + operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), maternalDeliverModel, OptActionEnums.ADD.getId(), "添加分娩"); /** 使用优惠券 */ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java index 4d65f4f..926741f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java @@ -2,9 +2,11 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.MatDeliverFollowService; import com.lyms.platform.biz.service.MatDeliverService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.OptActionEnums; import com.lyms.platform.common.enums.PostpartumFollowMakeEnums; +import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -13,6 +15,7 @@ import com.lyms.platform.operate.web.request.MatDeliverFollowAddRequest; import com.lyms.platform.operate.web.request.MatdeliverFollowRequest; import com.lyms.platform.operate.web.result.MatdeliverFollowListResult; import com.lyms.platform.operate.web.result.MatdeliverFollowResult; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.model.Organization; @@ -21,6 +24,8 @@ import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.MatdeliverFollowModel; import com.lyms.platform.pojo.MaternalDeliverModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.TrackDownRecord; import com.lyms.platform.query.MatDeliverFollowQuery; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -52,6 +57,10 @@ public class MatdeliverFollowFacade { private AutoMatchFacade autoMatchFacade; @Autowired private OperateLogFacade operateLogFacade; + @Autowired + private PatientsService patientsService; + @Autowired + private ITrackDownService trackDownService; public BaseResponse matdeliverFollowMakeInit(Integer id) { Map map = new HashMap(); @@ -138,6 +147,8 @@ public class MatdeliverFollowFacade { * @return */ public BaseResponse addOrUpdateMatDeliverFollow(MatDeliverFollowAddRequest matDeliverFollowAddRequest, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + BaseResponse baseResponse = new BaseResponse(); matDeliverFollowAddRequest.setUpdateDateStr(new Date()); matDeliverFollowAddRequest.setUpdateUser(String.valueOf(userId)); @@ -177,7 +188,6 @@ public class MatdeliverFollowFacade { } baseResponse.setObject(matDeliverFollowAddRequest.getId()); - String hospitalId = autoMatchFacade.getHospitalId(userId); operateLogFacade.addModifyOptLog(userId, Integer.valueOf(hospitalId), before, matDeliverFollowAddRequest.convertToDataModel(), OptActionEnums.UPDATE.getId(), "修复访视记录"); @@ -195,6 +205,19 @@ public class MatdeliverFollowFacade { //获取分娩记录 MaternalDeliverModel maternalDeliverModel = matDeliverService.getOneMatDeliver(matDeliverFollowAddRequest.getDeliverId()); if (maternalDeliverModel != null) { + //产妇第一次随访 + if(StringUtils.isNotEmpty(maternalDeliverModel.getMatFollowId())){ + Patients patient = patientsService.findOnePatientById(maternalDeliverModel.getParentId()); + + //添加产后追访信息 + TrackDownRecord trackDownRecord = patient.build(); + trackDownRecord.setHospitalId(hospitalId); + trackDownRecord.setStatus(1); + trackDownRecord.setSource(maternalDeliverModel.getId()); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + //在分娩记录上记录随访部分信息 maternalDeliverModel.setMatFollowId(matdeliverFollowModel.getId()); updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel); @@ -203,7 +226,6 @@ public class MatdeliverFollowFacade { } baseResponse.setObject(matdeliverFollowModel.getId()); - String hospitalId = autoMatchFacade.getHospitalId(userId); operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), matdeliverFollowModel, OptActionEnums.ADD.getId(), "新增访视记录"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java index 839cb78..cea6b44 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java @@ -255,13 +255,24 @@ public class PatientServiceFacade { babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest); - } + }else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == ps.getSerType().intValue()) { + BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest(); + babyBookbuildingAddRequest.setId(ps.getParentid()); + babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); + babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); + babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest); + } } else {//孕妇建档服务数据处理 if (PatientSerEnums.SerTypeEnums.yqjzzd.getId() == Integer.parseInt(serInfo.get("serType"))) {//孕期精准指导同步到建档 YunBookbuildingAddRequest yunBookbuildingAddRequest = new YunBookbuildingAddRequest(); yunBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); yunBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); bookbuildingFacade.updatePregnantById(ps.getParentid(), yunBookbuildingAddRequest, userId); + }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){ + YunBookbuildingAddRequest yunBookbuildingAddRequest = new YunBookbuildingAddRequest(); + yunBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); + yunBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); + bookbuildingFacade.updatePregnantById(ps.getParentid(), yunBookbuildingAddRequest, userId); } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java index 87d5c87..ffb7040 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java @@ -2,10 +2,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.OptActionEnums; -import com.lyms.platform.common.enums.ServiceStatusEnums; -import com.lyms.platform.common.enums.ServiceTypeEnums; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.Assert; @@ -17,16 +14,14 @@ import com.lyms.platform.operate.web.result.AntData; import com.lyms.platform.operate.web.result.HighScoreResult; import com.lyms.platform.operate.web.result.PostReviewListResult; import com.lyms.platform.operate.web.result.PostReviewResult; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.MatDeliverQuery; -import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.PostReviewQuery; -import com.lyms.platform.query.ReferralApplyOrderQuery; +import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; @@ -67,7 +62,10 @@ public class PostReviewFacade { @Autowired private CouponService couponService; - + @Autowired + private ITrackDownService trackDownService; + @Autowired + private TrackDownRecordService trackDownRecordService; @Autowired private OperateLogFacade operateLogFacade; @@ -109,6 +107,25 @@ public class PostReviewFacade { postReviewModel.setOperator(userId); Patients patients1 = patientsService.findOnePatientById(postReviewRequest.getParentId()); + //第一次访视时,添加产后追访 + if(patients1.getPostViewTimes()==null||patients1.getPostViewTimes()<1){ + //添加产后追访信息 + TrackDownRecord trackDownRecord = patients1.build(); + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(trackDownRecord.getParentId()); + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + if(trackDownRecord1.getStatus()==1&&trackDownRecord.getTrackType()!=TrackDownDateEnums.F.getId()){ + trackDownRecord.setHospitalId(hospital); + trackDownRecord.setSource(postReviewModel.getId()); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,trackDownRecord); + } + } + } + autoCreatedPatient(postReviewRequest,hospital,groupId); if (StringUtils.isEmpty(postReviewRequest.getId())) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java index 52353d3..5945ff3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java @@ -6,6 +6,7 @@ import com.lyms.platform.biz.service.ResidentsArchiveService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.MedicalAdviceEnum; import com.lyms.platform.common.enums.PhysiologyStatusEnum; +import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; @@ -18,10 +19,10 @@ import com.lyms.platform.operate.web.request.PremaritalCheckupQueryRequest; import com.lyms.platform.operate.web.result.PremaritalCheckupHistoryResult; import com.lyms.platform.operate.web.result.PremaritalCheckupPageResult; import com.lyms.platform.operate.web.result.PremaritalCheckupResult; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.operate.web.utils.UnitConstants; -import com.lyms.platform.operate.web.utils.UnitUtils; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; @@ -29,6 +30,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.PremaritalCheckup; import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.pojo.TrackDownRecord; import com.lyms.platform.query.PremaritalCheckupQuery; import com.lyms.platform.query.ResidentsArchiveQuery; import org.apache.commons.collections.CollectionUtils; @@ -60,6 +62,8 @@ public class PremaritalCheckupFacade { private AutoMatchFacade autoMatchFacade; @Autowired private UsersService usersService; + @Autowired + private ITrackDownService trackDownService; /** * 查询单个(男/女)婚前检查 @@ -732,6 +736,21 @@ public class PremaritalCheckupFacade { checkup.setHospitalId(addRequest.getHospitalId()); PremaritalCheckup premaritalCheckup = premaritalCheckupService.addPremaritalCheckup(checkup); id = premaritalCheckup.getId(); + + //新增婚前检查结束,男的结束流程,女的进入怀孕建档) + if (model.getSex().equals(SystemConfig.WOMAN_ID)) { + //新增婚检追访信息 + TrackDownRecord record = model.build(); + record.setStatus(1); + record.setTrackType(TrackDownDateEnums.B.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,record); + } else if (model.getSex().equals(SystemConfig.MAN_ID)) { + //新增婚检追访信息 + TrackDownRecord record = model.build(); + record.setStatus(0); + trackDownService.addOrupdateTrackDownRecord(userId,record); + } + } return id; } 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 07d6fa4..5f1b7df 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 @@ -1,6 +1,5 @@ package com.lyms.platform.operate.web.facade; -import com.lyms.platform.beans.MsgListRequest; import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.PremaritalCheckupService; @@ -12,13 +11,15 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; -import com.lyms.platform.operate.web.request.*; +import com.lyms.platform.operate.web.request.ResidentsArchiveAddRequest; +import com.lyms.platform.operate.web.request.ResidentsArchiveQueryRequest; +import com.lyms.platform.operate.web.request.WomenGuideSmsRequest; import com.lyms.platform.operate.web.result.BasicConfigResult; import com.lyms.platform.operate.web.result.ResidentsArchiveHistoryResult; import com.lyms.platform.operate.web.result.ResidentsArchiveResult; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.FunvCommonUtil; -import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; @@ -26,6 +27,7 @@ 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.query.PremaritalCheckupQuery; import com.lyms.platform.query.ResidentsArchiveQuery; import org.apache.commons.collections.CollectionUtils; @@ -64,6 +66,8 @@ public class ResidentsArchiveFacade{ private SmsConfigFacade smsConfigFacade; @Autowired private SyncDataService syncDataService; + @Autowired + private ITrackDownService trackDownService; public BaseObjectResponse findResidentsArchive(ResidentsArchiveQueryRequest queryRequest,Integer userId){ @@ -294,6 +298,9 @@ public class ResidentsArchiveFacade{ model.setId(id); residentsArchiveService.updateResident(model,id); + //修改追访基本信息 + trackDownService.addOrupdateTrackDownRecord(userId,model.build()); + }catch (Exception e){ return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg("系统异常,修改数据失败"); } @@ -375,6 +382,12 @@ public class ResidentsArchiveFacade{ ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(archiveModel); + //新增婚检追访信息 + TrackDownRecord record = residentsArchiveModel.build(); + record.setStatus(1); + record.setTrackType(TrackDownDateEnums.A.getId()); + trackDownService.addOrupdateTrackDownRecord(userId,residentsArchiveModel.build()); + if (residentsArchiveModel == null || StringUtils.isEmpty(residentsArchiveModel.getId())){ br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); br.setErrormsg("建档失败,保存异常"); @@ -387,6 +400,7 @@ public class ResidentsArchiveFacade{ return br; } + /** * 通过ID查看居民建档详情 * @param id diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/StopPregnancyFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/StopPregnancyFacade.java index c19a57d..7748813 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/StopPregnancyFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/StopPregnancyFacade.java @@ -11,12 +11,16 @@ import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.StopPregRequest; import com.lyms.platform.operate.web.result.AntexListResult; import com.lyms.platform.operate.web.result.StopPregResult; +import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.*; +import com.lyms.platform.query.AntExChuQuery; +import com.lyms.platform.query.MatDeliverQuery; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.StopPregQuery; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -64,6 +68,8 @@ public class StopPregnancyFacade { @Autowired private OperateLogFacade operateLogFacade; + @Autowired + private ITrackDownService trackDownService; /** * 更新终止妊娠 @@ -107,6 +113,20 @@ public class StopPregnancyFacade { if (patient != null) { patient.setFmDate(DateUtil.parseYMD(request.getStopDate())); yunBookbuildingService.updatePregnant(patient, patient.getId()); + + //当前孕妇是孕28周后,进入产后复查追访,否则结束流程 + int dueWeek = DateUtil.getWeek2(patient.getLastMenses(), patient.getBookbuildingDate()); + TrackDownRecord trackDownRecord = patient.build(); + if(dueWeek>28){//进入产后复查 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + //--终止妊娠后不显示追访 + trackDownRecord.setStatus(1); + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord); + }else{//结束流程 + //--终止妊娠后不显示追访 + trackDownRecord.setStatus(0); + } + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord); } } } @@ -192,11 +212,26 @@ public class StopPregnancyFacade { } else if (patient.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId()) { patient.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); } + patient.setFmDate(DateUtil.parseYMD(request.getStopDate())); patient.setType(3); sieveService.deleteSieve(pat.getId(), hospital, pat.getLastMenses()); //分娩状态 0未终止妊娠 1终止妊娠 yunBookbuildingService.updatePregnant(patient, patient.getId()); + + //当前孕妇是孕28周后,进入产后复查追访,否则结束流程 + int dueWeek = DateUtil.getWeek2(patient.getLastMenses(), patient.getBookbuildingDate()); + TrackDownRecord trackDownRecord = patient.build(); + if(dueWeek>28){//进入产后复查 + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + //--终止妊娠后不显示追访 + trackDownRecord.setStatus(1); + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord); + }else{//结束流程 + //--终止妊娠后不显示追访 + trackDownRecord.setStatus(0); + } + trackDownService.addOrupdateTrackDownRecord(patient.getOperator(),trackDownRecord); } } 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 b26db05..ce8438b 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 @@ -104,19 +104,11 @@ public class TrackDownJobFacade { void execute(); /** - * 单条数据狐狸 + * 单条数据处理 * * @param model */ void handOneByOne(T model); - - /** - * 构建加入到追访列表的数据 - * - * @param model - * @return - */ - TrackDownRecord build(T model); } /** @@ -158,31 +150,11 @@ public class TrackDownJobFacade { List records = downRecordService.queryTrackDown(downRecordQuery); if (CollectionUtils.isEmpty(records)) { logger.info("FMTrackDownDataLoader addTrackDown by id :" + model.getId()); - downRecordService.addTrackDown(build(model)); + downRecordService.addTrackDown(model.build()); } } - @Override - public TrackDownRecord build(Patients model) { - 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()); - 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.setStatus(1); - downRecord.setTrackType(TrackDownDateEnums.E.getId()); - return downRecord; - } + } @@ -228,7 +200,6 @@ public class TrackDownJobFacade { } } - @Override public TrackDownRecord build(Patients model) { TrackDownRecord downRecord = new TrackDownRecord(); downRecord.setParentId(model.getId()); @@ -266,7 +237,6 @@ public class TrackDownJobFacade { } - @Override public TrackDownRecord build(Patients model) { return null; } @@ -320,7 +290,6 @@ public class TrackDownJobFacade { } } - @Override public TrackDownRecord build(PremaritalCheckup model) { if (StringUtils.isEmpty(model.getParentId())) { return null; @@ -394,36 +363,14 @@ public class TrackDownJobFacade { if (CollectionUtils.isEmpty(DATA)) { logger.info("HJTrackDownDataLoader addTrackDown by id :" + model.getId()); - downRecordService.addTrackDown(build(model)); + downRecordService.addTrackDown(model.build()); } else { //TODO 如果有婚检还存在的情况 } } } - + } /** - * 构建入追访列表的数据 - * - * @param model - * @return - */ - public TrackDownRecord build(ResidentsArchiveModel model) { - TrackDownRecord record = new TrackDownRecord(); - record.setResidentsArchiveId(model.getId()); - record.setAddressRegister(model.getAddress()); - record.setAreaRegisterId(model.getAreaId()); - record.setBirth(model.getBirthday()); - record.setCityRegisterId(model.getCityId()); - record.setUsername(model.getUsername()); - record.setStreetRegisterId(model.getStreetId()); - record.setPhone(model.getPhone()); - record.setHospitalId(model.getHospitalId()); - record.setStatus(1); - record.setSource(model.getId()); - record.setCardNo(model.getCertificateNum()); - record.setTrackType(TrackDownDateEnums.A.getId()); - return record; - } } /** @@ -473,7 +420,6 @@ public class TrackDownJobFacade { } } - @Override public TrackDownRecord build(MaternalDeliverModel model) { TrackDownRecord record = new TrackDownRecord(); record.setParentId(model.getId()); @@ -517,7 +463,7 @@ public class TrackDownJobFacade { dischargeAbstractMotherQuery.setPage(page); dischargeAbstractMotherQuery.setLimit(limit); - data= dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + data = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); //查询妇女建档 if (CollectionUtils.isNotEmpty(data)) { for (DischargeAbstractMotherModel model : data) { @@ -547,7 +493,6 @@ public class TrackDownJobFacade { } } - @Override public TrackDownRecord build(DischargeAbstractMotherModel model) { Patients patients = patientsService.findOnePatientById(model.getPatientId()); 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 33fd8fc..80d4cf5 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 @@ -3,11 +3,14 @@ package com.lyms.platform.operate.web.service; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.pojo.TrackDown; +import com.lyms.platform.pojo.TrackDownRecord; import javax.servlet.http.HttpServletResponse; import java.util.Date; public interface ITrackDownService extends IBaseService { + //新增或更新追访状态 + boolean addOrupdateTrackDownRecord(Integer userId,TrackDownRecord trackDownRecord); BaseResponse add(Integer userId, TrackDown trackDown); 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 2d0b173..ccb039d 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 @@ -179,6 +179,25 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS return antexcCount + antexCount; } + //新增或更新追访状态 + @Override + public boolean addOrupdateTrackDownRecord(Integer userId, TrackDownRecord trackDownRecord) { + try { + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(trackDownRecord.getParentId()); + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + trackDownRecordService.updateTrackDown(trackDownRecord,trackDownRecord1.getId()); + }else{ + trackDownRecordService.addTrackDown(trackDownRecord); + } + return true; + }catch (Exception e){ + return false; + } + } + public BaseResponse add(Integer userId, TrackDown trackDown) { String hospitalId = autoMatchFacade.getHospitalId(userId); //婚前检查 怀孕建档 的时候没有pid @@ -213,17 +232,33 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS return new BaseResponse().setErrorcode(4016).setErrormsg("您还没有孕妇的档案,请去医院建档."); } } - String recordId=trackDown.getId(); - trackDown.setId(null); - trackDown.setYn(YnEnums.YES.getId()); - trackDown.setCreated(new Date()); - trackDown.setHospitalId(hospitalId); - trackDown.setOperaterId(userId); - trackDown.setModified(new Date()); - trackDownService.add(trackDown); - - updateRecordStatus(trackDown, recordId); - return RespBuilder.buildSuccess(trackDown.getId()); + //追访列表ID + if(trackDown.getTrackDownRecId()!=null){ + TrackDownRecord trackDownRecord = trackDownRecordService.getTrackDown(trackDown.getTrackDownRecId()); + if(trackDownRecord!=null){ + //当传入的状态和数据库一致时才能进行有效操作 + if(trackDownRecord.getTrackType().intValue()==trackDown.getTrackDownDateType()){ + trackDown.setId(null); + trackDown.setYn(YnEnums.YES.getId()); + trackDown.setCreated(new Date()); + trackDown.setHospitalId(hospitalId); + trackDown.setOperaterId(userId); + trackDown.setModified(new Date()); + trackDownService.add(trackDown); + String recordId=trackDown.getTrackDownRecId(); + updateRecordStatus(trackDown, recordId); + return RespBuilder.buildSuccess(trackDown.getId()); + }else{ + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"数据已经被修改请回到列表刷新后再操作!"); + } + }else{ + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"传入的trackDownRecId没有找到数据"); + } + }else{ + return RespBuilder.buildErro(ResponseCode.DATA_ERROR,"请传入trackDownRecId"); + } + + } /** @@ -235,20 +270,10 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS private void updateRecordStatus(TrackDown trackDown, String id) { //如果是扭转到下一个流程的话就需要修改record表 if (TrackDownTransferEnums.B.getId() == trackDown.getTrackDownTransfer()) { - // + TrackDownRecord trackDownRecord = new TrackDownRecord(); Integer nextId=TrackDownDateEnums.getEnum(trackDown.getTrackDownDateType()).getNextid(); - - TrackDownRecordQuery trackDownRecordQuery = new TrackDownRecordQuery(); - trackDownRecordQuery.setParentId(trackDown.getParentId()); - trackDownRecordQuery.setTrackType(nextId); - //如果需要进入的列表没有这个人的记录 - if(0==trackDownRecordService.queryTrackDownCount(trackDownRecordQuery)){ - trackDownRecord.setTrackType(nextId); - }else { - //设置为不显示 - trackDownRecord.setStatus(0); - } + trackDownRecord.setTrackType(nextId); trackDownRecordService.updateTrackDown(trackDownRecord,id); } else if (TrackDownTransferEnums.C.getId() == trackDown.getTrackDownTransfer()) {