liusheng
5 天以前 5c1f5dcc9dbea7478b1a9bd7c047a99a042e9d24
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -1,10 +1,12 @@
package com.smartor.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.dx.MessageSend;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.*;
import com.smartor.common.FtpService;
@@ -25,10 +27,7 @@
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -2080,6 +2079,37 @@
        return result;
    }
    @Override
    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS) {
        //用来记录发送失败的
        List<PatArchiveSrmVO> sendError = new ArrayList<>();
        for (PatArchiveSrmVO patArchiveSrmVO : patArchiveSrmVOS) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY年MM月dd日HH:mm");
            String timestamp = simpleDateFormat.format(patArchiveSrmVO.getVisitTime());
            StringBuilder stringBuilder = new StringBuilder();
            if (patArchiveSrmVO.getSrmTemplate().equals("入院准备中心-无检查")) {
                stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院,请于当天");
            } else if (patArchiveSrmVO.getSrmTemplate().equals("入院准备中心-空腹检查")) {
                stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院,请当天空腹并于");
            } else if (patArchiveSrmVO.getSrmTemplate().equals("日间病房—择期病人检查")) {
                stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院前检查,请当天空腹并于");
            }
            stringBuilder.append(timestamp + ",之前携带医保卡或电子医保卡身份证凭此条短信到1号楼3楼南入院准备中心入院登记窗口,办理正式住院手续,完成各项检查后再到相应病区护士站报到。");
            stringBuilder.append("入院准备中心电话:89975977。入院办理须知:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw");
            JSONObject data = MessageSend.sendMsg(stringBuilder.toString(), "2", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
            String code = data.get("code").toString();
            if (StringUtils.isNotEmpty(code) && !code.equals("00000")) {
                sendError.add(patArchiveSrmVO);
            }
        }
        return sendError;
    }
    /**
     * 获取随访统计比例
     *