liusheng
昨天 43e7dc349b8bc1515911e64fb12ea820afd1b0d2
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -11,11 +11,11 @@
import com.ruoyi.common.enums.MsgLSEnum;
import com.ruoyi.common.enums.ServiceFromEnum;
import com.ruoyi.common.enums.WxGZHEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sms.smsUtils;
import com.ruoyi.quartz.service.ICollectHISService;
import com.ruoyi.quartz.util.CreateDataTable;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.common.LSHospTokenUtil;
@@ -151,6 +151,9 @@
    @Autowired
    ICollectHISService icollectHis;
    @Autowired
    CreateDataTable createDataTable;
    @Value("${appid}")
@@ -456,7 +459,7 @@
            iPatMedInhospService.dealOutHospInfoByDimension(config);
            //门诊表(新华的暂时不做门诊随访)
            if (!active.equals("xh")) {
//                iPatMedOuthospService.dealOutpatientInfo();
                //iPatMedOuthospService.dealOutpatientInfo();
            }
        }
    }
@@ -468,6 +471,19 @@
    public void dealOperationInfo() {
        if (port.equals("8095")) iPatMedOperationService.dealOperationInfo();
    }
    /**
     * 门诊分表定时任务:从 sys_config 读取分表模式,按模式建表并刷新视图 v_pat_med_outhosp
     * 配置 key: outhosp.split.mode
     * quarter -> 按季度,表名示例:pat_med_outhosp_20260103
     * year    -> 按年,表名示例:pat_med_outhosp_2026
     * month   -> 按月,表名示例:pat_med_outhosp_202601
     * 查询不到配置则不分表
     */
    public void createOuthospQuarterTable() {
        log.info("【createOuthospQuarterTable】开始执行门诊分表任务");
        createDataTable.createOuthospQuarterTable();
    }
    /**
@@ -483,7 +499,7 @@
    /**
     *  长期任务发送
     * 长期任务发送
     */
    public void longTaskSend() {
        //获取任务信息
@@ -582,6 +598,7 @@
    /**
     * 随访-补偿处理
     *
     * @param serviceSubtask
     */
    public void sfHandlle(ServiceSubtask serviceSubtask) {
@@ -595,6 +612,7 @@
        String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
        if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
            //说明已经全部遍历完了,当前的执行方式序号是最后一个了   或者  该患者已经随访结束(成功或失败了或不执行)
            log.error("说明已经全部遍历完了,当前的执行方式序号是最后一个了   或者  该患者已经随访结束(成功或失败了或不执行)");
            return;
        }
        //先判断患者是不是还要发送
@@ -969,7 +987,7 @@
                if (allSendStateNot1AndNot9) {
                    //说明全发送失败了
                    serviceSubtask.setSendstate(5L);
                    serviceSubtask.setRemark("getSendPreachform方法 检查是否所有sendstate不等于9, 全失败了");
                    log.error("getSendPreachform方法 检查是否所有sendstate不等于9, 全失败了");
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                    //修改发送状态
                    setFail(serviceSubtaskPreachforms, serviceSubtask);