提交 06c6628a authored 作者: 杨凯's avatar 杨凯

feat:家庭医生初始化

上级 c6b1b29a
package com.ebaiyihui.family.doctor.common.dto; package com.ebaiyihui.family.doctor.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -17,4 +18,12 @@ public class QueryDoctorsDTO extends QueryFamousDTO { ...@@ -17,4 +18,12 @@ public class QueryDoctorsDTO extends QueryFamousDTO {
* 新冠门诊多科室 * 新冠门诊多科室
*/ */
private List<Long> depts; private List<Long> depts;
@ApiModelProperty("权益包id")
private String packageOrderId;
@ApiModelProperty("签约关联id")
private Long signId;
} }
...@@ -48,7 +48,7 @@ public interface PatientSignService { ...@@ -48,7 +48,7 @@ public interface PatientSignService {
List<PatientSignEntity> selectList(PatientSignEntity patientSignEntity); List<PatientSignEntity> selectList(PatientSignEntity patientSignEntity);
List<PatientSignEntity> getListByPhone(String phone); List<PatientSignEntity> getListByPhone(String phone, String activateOrderId);
int updateById(PatientSignEntity patientSignEntity); int updateById(PatientSignEntity patientSignEntity);
......
...@@ -13,6 +13,7 @@ import com.ebaiyihui.family.doctor.common.dto.*; ...@@ -13,6 +13,7 @@ import com.ebaiyihui.family.doctor.common.dto.*;
import com.ebaiyihui.family.doctor.common.vo.*; import com.ebaiyihui.family.doctor.common.vo.*;
import com.ebaiyihui.family.doctor.server.common.constants.ImConstants; import com.ebaiyihui.family.doctor.server.common.constants.ImConstants;
import com.ebaiyihui.family.doctor.server.common.enums.SignStatus; import com.ebaiyihui.family.doctor.server.common.enums.SignStatus;
import com.ebaiyihui.family.doctor.server.common.enums.StatusEnum;
import com.ebaiyihui.family.doctor.server.entity.PatientEntity; import com.ebaiyihui.family.doctor.server.entity.PatientEntity;
import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity; import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity;
import com.ebaiyihui.family.doctor.server.entity.ServiceConfigEntity; import com.ebaiyihui.family.doctor.server.entity.ServiceConfigEntity;
...@@ -84,6 +85,7 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -84,6 +85,7 @@ public class DoctorServiceImpl implements DoctorService {
patientSignEntity.setPatientId(reqVo.getPatientId()); patientSignEntity.setPatientId(reqVo.getPatientId());
patientSignEntity.setOrganId(reqVo.getOrganId()); patientSignEntity.setOrganId(reqVo.getOrganId());
patientSignEntity.setSignStatus(SignStatus.SIGNED.getValue()); patientSignEntity.setSignStatus(SignStatus.SIGNED.getValue());
patientSignEntity.setPackageOrderId(reqVo.getPackageOrderId());
QueryWrapper<PatientEntity> pWrapper = new QueryWrapper<>(); QueryWrapper<PatientEntity> pWrapper = new QueryWrapper<>();
PatientEntity patient = new PatientEntity(); PatientEntity patient = new PatientEntity();
...@@ -156,6 +158,23 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -156,6 +158,23 @@ public class DoctorServiceImpl implements DoctorService {
// if (LastSignFlag) { // if (LastSignFlag) {
// isLastSign(reqVo, doctorListVos, wOrganId, entity, doctorZxwzService); // isLastSign(reqVo, doctorListVos, wOrganId, entity, doctorZxwzService);
// } // }
// 过滤签约过的医生信息
if (Objects.isNull(reqVo.getSignId()) && Objects.nonNull(reqVo.getPackageOrderId())) {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity();
patientSign.setPackageOrderId(reqVo.getPackageOrderId());
patientSign.setStatus(StatusEnum.IN_CONSULTATION.getValue());
patientSign.setSignStatus(SignStatus.SIGNED.getValue());
psWrapper.setEntity(patientSign);
List<PatientSignEntity> patientSignEntities = patientSignMapper.selectList(psWrapper);
if (!patientSignEntities.isEmpty()) {
List<Long> patientDoctorIds = patientSignEntities.stream().map(PatientSignEntity::getDoctorId).collect(Collectors.toList());
doctorListVos = doctorListVos.stream().filter(doctorListVo -> !patientDoctorIds.contains(Long.valueOf(doctorListVo.getDoctorId()))).collect(Collectors.toList());
}
}
pageResult.setPageNum(reqVo.getPageNum()); pageResult.setPageNum(reqVo.getPageNum());
pageResult.setPageSize(doctorListVos.size()); pageResult.setPageSize(doctorListVos.size());
// pageResult.setPageSize(reqVo.getPageSize()); // pageResult.setPageSize(reqVo.getPageSize());
...@@ -177,8 +196,7 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -177,8 +196,7 @@ public class DoctorServiceImpl implements DoctorService {
businessDoctorPageReqVo.setPageSize(9999); businessDoctorPageReqVo.setPageSize(9999);
businessDoctorPageReqVo.setServiceCode(ImConstants.IM_QUERY_ACCOUNT_CODE); businessDoctorPageReqVo.setServiceCode(ImConstants.IM_QUERY_ACCOUNT_CODE);
BaseResponse<PageResult<DoctorBasicRespVO>> result = BaseResponse<PageResult<DoctorBasicRespVO>> result = doctorWorkingServiceClient.getBusinessDoctorBaseInfoPage(businessDoctorPageReqVo);
doctorWorkingServiceClient.getBusinessDoctorBaseInfoPage(businessDoctorPageReqVo);
if (!result.isSuccess()) { if (!result.isSuccess()) {
return BaseResponse.error("医生查询失败"); return BaseResponse.error("医生查询失败");
} }
...@@ -407,8 +425,7 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -407,8 +425,7 @@ public class DoctorServiceImpl implements DoctorService {
BeanUtils.copyProperties(reqVo, businessDoctorPageReqVo); BeanUtils.copyProperties(reqVo, businessDoctorPageReqVo);
businessDoctorPageReqVo.setServiceCode(reqVo.getServiceCodes()); businessDoctorPageReqVo.setServiceCode(reqVo.getServiceCodes());
log.info("医生数据入参" + JSON.toJSONString(businessDoctorPageReqVo)); log.info("医生数据入参" + JSON.toJSONString(businessDoctorPageReqVo));
BaseResponse<PageResult<DoctorBasicRespVO>> businessDoctorPage = BaseResponse<PageResult<DoctorBasicRespVO>> businessDoctorPage = doctorWorkingServiceClient.getBusinessDoctorBaseInfoPage(businessDoctorPageReqVo);
doctorWorkingServiceClient.getBusinessDoctorBaseInfoPage(businessDoctorPageReqVo);
log.info("医生数据出参" + JSON.toJSONString(businessDoctorPage.getData())); log.info("医生数据出参" + JSON.toJSONString(businessDoctorPage.getData()));
if (null == businessDoctorPage.getData()) { if (null == businessDoctorPage.getData()) {
return new ArrayList<>(); return new ArrayList<>();
......
...@@ -147,7 +147,7 @@ public class PatientServiceImpl implements PatientService { ...@@ -147,7 +147,7 @@ public class PatientServiceImpl implements PatientService {
} }
// 查询排班医生信息 // 查询排班医生信息
ScheduleRecordEntity scheduleRecordEntity = getScheduleDoctor(reqVo.getPatientId(), oldPatientSignEntity.getDoctorId()); ScheduleRecordEntity scheduleRecordEntity = getScheduleDoctor(reqVo.getPatientId(), reqVo.getPackageOrderId(), oldPatientSignEntity.getDoctorId());
doctorId = Long.valueOf(scheduleRecordEntity.getDoctorId()); doctorId = Long.valueOf(scheduleRecordEntity.getDoctorId());
doctorName = scheduleRecordEntity.getDoctorName(); doctorName = scheduleRecordEntity.getDoctorName();
deptId = Long.valueOf(scheduleRecordEntity.getDeptId()); deptId = Long.valueOf(scheduleRecordEntity.getDeptId());
...@@ -310,12 +310,13 @@ public class PatientServiceImpl implements PatientService { ...@@ -310,12 +310,13 @@ public class PatientServiceImpl implements PatientService {
* @param patientId * @param patientId
* @return * @return
*/ */
public ScheduleRecordEntity getScheduleDoctor(String patientId, Long doctorId) { public ScheduleRecordEntity getScheduleDoctor(String patientId, String packageOrderId, Long doctorId) {
String date = DateUtils.dateToSimpleString(new Date()); String date = DateUtils.dateToSimpleString(new Date());
String hourAndSecond = DateUtils.getHourAndSecond(); String hourAndSecond = DateUtils.getHourAndSecond();
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>(); QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity(); PatientSignEntity patientSign = new PatientSignEntity();
patientSign.setPatientId(patientId); patientSign.setPatientId(patientId);
patientSign.setPackageOrderId(packageOrderId);
patientSign.setSignStatus(SignStatus.NORMAL.getValue()); patientSign.setSignStatus(SignStatus.NORMAL.getValue());
patientSign.setStatus(StatusEnum.IN_CONSULTATION.getValue()); patientSign.setStatus(StatusEnum.IN_CONSULTATION.getValue());
psWrapper.setEntity(patientSign); psWrapper.setEntity(patientSign);
......
...@@ -318,10 +318,11 @@ public class PatientSignServiceImpl implements PatientSignService { ...@@ -318,10 +318,11 @@ public class PatientSignServiceImpl implements PatientSignService {
} }
@Override @Override
public List<PatientSignEntity> getListByPhone(String phone) { public List<PatientSignEntity> getListByPhone(String phone, String activateOrderId) {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>(); QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity(); PatientSignEntity patientSign = new PatientSignEntity();
patientSign.setPatientPhone(phone); patientSign.setPatientPhone(phone);
patientSign.setPackageOrderId(activateOrderId);
psWrapper.setEntity(patientSign); psWrapper.setEntity(patientSign);
// psWrapper.orderByDesc("create_time"); // psWrapper.orderByDesc("create_time");
// psWrapper.last("limit 1"); // psWrapper.last("limit 1");
......
...@@ -202,11 +202,10 @@ public class SignedTask { ...@@ -202,11 +202,10 @@ public class SignedTask {
for (MobileBenefitPackageEntity mbp : mobileBenefitPackageEntities) { for (MobileBenefitPackageEntity mbp : mobileBenefitPackageEntities) {
Date curTime = new Date(); Date curTime = new Date();
Date endTime = DateUtils.parseDate(mbp.getBenefitsEndTime(), DateUtils.FULL_FORMAT); Date endTime = DateUtils.parseDate(mbp.getBenefitsEndTime(), DateUtils.FULL_FORMAT);
List<PatientSignEntity> patientSignEntities = patientSignSevice.getListByPhone(mbp.getPhone()); List<PatientSignEntity> patientSignEntities = patientSignSevice.getListByPhone(mbp.getPhone(), mbp.getActivateOrderId());
mbp.setVersion(1); mbp.setVersion(1);
for (PatientSignEntity patientSignEntity : patientSignEntities) { for (PatientSignEntity patientSignEntity : patientSignEntities) {
if (endTime.after(curTime)) { if (endTime.after(curTime)) {
patientSignEntity.setPackageOrderId(mbp.getActivateOrderId());
patientSignEntity.setSignEndTime(endTime); patientSignEntity.setSignEndTime(endTime);
} else { } else {
if (SignStatus.SIGNED.getValue().equals(patientSignEntity.getSignStatus()) if (SignStatus.SIGNED.getValue().equals(patientSignEntity.getSignStatus())
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论