diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConServiceApiServiceImpl.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConServiceApiServiceImpl.java index 1d8bef8..82a3b2e 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConServiceApiServiceImpl.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConServiceApiServiceImpl.java @@ -1,5 +1,7 @@ package com.renkang.consultation.api.service.impl; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.renkang.consultation.api.service.ConServiceApiService; @@ -39,6 +41,8 @@ public class ConServiceApiServiceImpl implements ConServiceApiService { throw new RuntimeException("请确认事件后重新提交"); } + data.setEndDay(DateUtil.endOfDay(data.getEndDay()).offset(DateField.MILLISECOND,-999)); + LoginUser loginUser = GlobalUtils.getLoginUser(); List list = getConService(loginUser); // if (CollectionUtils.isEmpty(list)) { @@ -47,19 +51,19 @@ public class ConServiceApiServiceImpl implements ConServiceApiService { // } for (ConService service : list) { - boolean startContain = DateUtils.contain(service.getStartDay(), service.getEndDay(), data.getStartDay()); - boolean endContain = DateUtils.contain(service.getStartDay(), service.getEndDay(), data.getEndDay()); + boolean startContain = DateUtils.contain(service.getStartDay(), DateUtil.endOfDay(service.getEndDay()), data.getStartDay()); + boolean endContain = DateUtils.contain(service.getStartDay(), DateUtil.endOfDay(service.getEndDay()), data.getEndDay()); if (startContain || endContain) { throw new RuntimeException("时间有重叠,请检查已有停诊时间"); } } - + data.setDoctorName(loginUser.getRealname()); data.setDoctorId(loginUser.getId()); // 新增 conServiceMapper.insert(data); Date startDate = data.getStartDay(); - Date endDate = data.getEndDay(); + Date endDate = DateUtil.endOfDay(data.getEndDay()); Date date = com.renkang.consultation.util.DateUtils.changeDate(new Date()); if (date.getTime() >= startDate.getTime() && date.getTime() <= endDate.getTime()) { conDoctorMapper.changeDoctorStatus(loginUser.getId()); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConDoctorMapper.xml b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConDoctorMapper.xml index 39f2b59..9e37473 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConDoctorMapper.xml +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConDoctorMapper.xml @@ -104,7 +104,7 @@ SELECT doctor_id, MIN(card_num) as min_card_num FROM con_doctor_card GROUP BY doctor_id - ) cdc_min ON cdc.doctor_id = cdc_min.doctor_id AND cdc.card_num = cdc_min.min_card_num + ) cdc_min ON cdc.doctor_id = cdc_min.doctor_id AND cdc.del_flag = 0 AND cdc.card_num = cdc_min.min_card_num GROUP BY cdc.doctor_id ) cdc_first ON a.id = cdc_first.doctor_id WHERE a.del_flag = 0 AND a.status = 1