bug修改

This commit is contained in:
wanghao
2025-07-06 15:49:48 +08:00
parent c342a77af1
commit 5a1d6d828b
2 changed files with 9 additions and 5 deletions
@@ -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<ConService> 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());
@@ -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