| | |
| | | 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; |
| | | |
| | |
| | | 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) { |