abae517585ad7ff0038c31339d200712c9684556..e10c26490d01235ed3781f5cd1d7102e6666a5b3
2026-08-24 陈昶聿
文件上传
e10c26 对比 | 目录
2026-08-24 陈昶聿
文件上传
f6e31c 对比 | 目录
2026-08-24 陈昶聿
targetQuesMate 增加AI调试
cccb91 对比 | 目录
2026-08-24 陈昶聿
collectHISDaysBefore 调整
29ed93 对比 | 目录
已修改8个文件
59 ■■■■ 文件已修改
ruoyi-admin/src/main/resources/application-ls.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/IvrLibaTargetVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-ls.yml
@@ -255,4 +255,4 @@
#文件上传地址
fileUpload: https://9.208.2.190:8092
profile: /home/ruoyi/uploadPath
profile: /profile-api
ruoyi-admin/src/main/resources/application.yml
@@ -9,7 +9,7 @@
  # 实例演示开关
  demoEnabled: true
  # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  profile: D:/ruoyi/uploadPath
  profile: /home/ruoyi/uploadPath
  # 获取ip地址开关
  addressEnabled: false
  # 验证码类型 math 数组计算 char 字符验证
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1557,12 +1557,13 @@
    public void collectHISDaysBefore(Long daysBefore) {
        try {
            // 获取昨天0点到今天0点的时间范围
            // 获取daysBefore 0点到daysBefore-1 0点的时间范围
            LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN);
            LocalDateTime daysBeforeZero = todayZero.minusDays(daysBefore);
            LocalDateTime daysBeforeZeroStart = todayZero.minusDays(daysBefore);
            LocalDateTime daysBeforeZeroEnd = todayZero.minusDays(daysBefore-1L);
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String startTime = daysBeforeZero.format(formatter);
            String endTime = todayZero.format(formatter);
            String startTime = daysBeforeZeroStart.format(formatter);
            String endTime = daysBeforeZeroEnd.format(formatter);
            // HIS数据采集
            log.info("【collectHISDaysBefore】HIS开始采集数据");
            // 立即返回,后台异步执行
smartor/src/main/java/com/smartor/domain/IvrLibaTargetVO.java
@@ -225,4 +225,7 @@
    @ApiModelProperty(value = "用于查询标签的,不用于存数据")
    private String optionDesc;
    @ApiModelProperty(value = "问题文本,用于AI识别")
    private String questionText;
}
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -210,4 +210,6 @@
    public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime);
    public String scanGenerateSubtask(ServiceTask serviceTaskVo);
    public Integer matchOptionIndex(String url, String questionText, String voiceText, List<IvrTaskTemplateTargetoption> options, String uuid);
}
smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
@@ -8,11 +8,13 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
import com.smartor.mapper.IvrLibaTargetMapper;
import com.smartor.mapper.IvrLibaTargetTagMapper;
import com.smartor.mapper.IvrLibaTargetoptionMapper;
import com.smartor.service.IIvrLibaTargetService;
import com.smartor.service.IServiceSubtaskService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -43,6 +45,12 @@
    @Autowired
    private IvrLibaTargetoptionMapper ivrLibaTargetoptionMapper;
    @Autowired
    private ISysConfigService configService;
    @Autowired
    private IServiceSubtaskService serviceSubtaskService;
    /**
     * 查询指标选项库
@@ -251,7 +259,24 @@
     */
    @Override
    public String targetQuesMate(IvrLibaTargetVO ivrLibaTargetVO) {
        //1-AI识别
        String url = configService.selectConfigByKey("sys.voice.match.ai.url");
        if (ObjectUtils.isNotEmpty(url)) {
            String matchedText = "";
            String questionText = ivrLibaTargetVO.getQuestionText();
            String voiceText = ivrLibaTargetVO.getContent();
            List<IvrTaskTemplateTargetoption> options = DtoConversionUtils.sourceToTarget(ivrLibaTargetVO.getTargetoptionList(), IvrTaskTemplateTargetoption.class);
            //1-AI识别
            Integer matched = serviceSubtaskService.matchOptionIndex(url, questionText, voiceText, options, "1");
            if (ObjectUtils.isNotEmpty(matched)) {
                if (matched >= 0) {
                    matchedText = options.get(matched).getTargetvalue();
                }
            }
            log.info("ai匹配成功,匹配结果是:" + matchedText);
            return matchedText;
        }
        for (IvrLibaTargetoption ivrLibaTargetoption : ivrLibaTargetVO.getTargetoptionList()) {
            Matcher matcher = null;
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -18,6 +18,7 @@
import com.smartor.service.IServiceExternalService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -1337,7 +1338,6 @@
        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
        //手术信息新增
        Map<String, Object> ssxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuSQ") : null;
        //手术更新
@@ -1353,12 +1353,6 @@
            externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
        PatMedOperation patMedOperation = new PatMedOperation();
        patMedOperation.setPatid(patArchive.getId());
        patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
        patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
        patMedOperation.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
        patMedOperation.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
        patMedOperation.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
        patMedOperation.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
        patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
        //查询一下,该患者是否已经有这些数据
        List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
@@ -1413,6 +1407,13 @@
            patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao());
            patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
            patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
            patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
            patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
            patMedOperation.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
            patMedOperation.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
            patMedOperation.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
            patMedOperation.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
        }
        patMedOperation.setHospitaldistrictcode(null);
        patMedOperation.setHospitaldistrictname(null);
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -5197,6 +5197,7 @@
     * @param options
     * @return
     */
    @Override
    public Integer matchOptionIndex(String url, String questionText, String voiceText, List<IvrTaskTemplateTargetoption> options, String uuid) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("userQuestion", questionText);