liusheng
3 天以前 2e952232f71eae1bf92590471fc7f5d20a1af873
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -14,6 +14,8 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -130,15 +132,16 @@
        PatMedRes patMedRes = null;
        // 获取当前登陆人的部门权限
        if (org.springframework.util.CollectionUtils.isEmpty(patMedReq.getDeptcodeList())) {
            Long userId = SecurityUtils.getUserId();
            List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(userId);
            List<String> deptCode = new ArrayList<>();
            for (SysDept sysDept : sysDepts) {
                deptCode.add(sysDept.getDeptId().toString());
            }
            patMedReq.setDeptcodeList(deptCode);
            patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
//            Long userId = SecurityUtils.getUserId();
//            List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(userId);
//            List<String> deptCode = new ArrayList<>();
//            for (SysDept sysDept : sysDepts) {
//                deptCode.add(sysDept.getDeptId().toString());
//            }
//            patMedReq.setDeptcodeList(deptCode);
//            patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
        }
        patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
        return patMedRes;
    }
@@ -696,19 +699,41 @@
        Date newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
        serviceSubtask.setLongSendTime(newDate);
        serviceSubtask.setVisitTime(newDate);
        //如果是通知的话,需要提前几天将通过短信发出去(具体几天,这个可以配置在sys_conf表中)
        if ("3".equals(serviceTask.getType())) {
            serviceSubtask.setVisitTime(minusDay(newDate, 2));
        }
        //患者发送时间
        if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
//            log.error("serviceSubtask99999999的值为:{}",serviceSubtask);
            String remark = patArchive.getNotrequiredreason();
            serviceSubtask.setRemark(remark);
            serviceSubtask.setResult("error");
//            serviceSubtask.setFinishtime(new Date());
            //不执行
            serviceSubtask.setSendstate(4L);
        }
        return serviceSubtask;
    }
    /**
     * 减去相应天数
     *
     * @param originalDate
     * @param day
     * @return
     */
    public Date minusDay(Date originalDate, Integer day) {
        // 1. 将 Date 转换为 Instant
        Instant instant = originalDate.toInstant();
        // 2. 在 Instant 上减去2天
        Instant twoDaysAgoInstant = instant.minus(2, ChronoUnit.DAYS);
        // 3. 将计算后的 Instant 转回 Date
        return Date.from(twoDaysAgoInstant);
    }
    //处理入院信息
    private void dealInHospInfo(List<PatMedInhosp> patMedInhospList) {
        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {