| | |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.core.service.TemplateModuleDisabledException; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | |
| | | import com.smartor.service.IServiceTaskService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.ruoyi.template.domain.HeLibrary; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhosp; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospVO; |
| | | import com.ruoyi.outpatientvisit.domain.PatMedOuthosp; |
| | | import com.ruoyi.outpatientvisit.domain.PatMedOuthospQueryReq; |
| | | import com.ruoyi.inhospvisit.api.InhospVisitFacade; |
| | | import com.ruoyi.outpatientvisit.api.OuthospDataFacade; |
| | | import com.ruoyi.template.domain.IvrTaskTemplateScript; |
| | | import com.ruoyi.template.domain.IvrTaskTemplateScriptVO; |
| | | import com.ruoyi.template.domain.IvrTaskTemplateTargetoption; |
| | | import com.ruoyi.template.mapper.IvrTaskTemplateScriptMapper; |
| | | import com.ruoyi.template.mapper.IvrTaskTemplateTargetoptionMapper; |
| | | import com.ruoyi.template.domain.SvyLibTemplateScript; |
| | | import com.ruoyi.template.domain.SvyLibTemplateTargetoption; |
| | | import com.ruoyi.template.domain.SvyTaskTemplateScript; |
| | | import com.ruoyi.template.domain.SvyTaskTemplateScriptVO; |
| | | import com.ruoyi.template.domain.SvyTaskTemplateTargetoption; |
| | | import com.ruoyi.template.mapper.SvyLibTemplateScriptMapper; |
| | | import com.ruoyi.template.mapper.SvyLibTemplateTargetoptionMapper; |
| | | import com.ruoyi.template.mapper.SvyTaskTemplateScriptMapper; |
| | | import com.ruoyi.template.mapper.SvyTaskTemplateTargetoptionMapper; |
| | | import com.ruoyi.template.api.TemplateFacade; |
| | | /** |
| | | * 语音任务Service业务层处理 |
| | | * |
| | |
| | | public class ServiceTaskServiceImpl implements IServiceTaskService { |
| | | @Autowired |
| | | private ServiceTaskMapper serviceTaskMapper; |
| | | |
| | | /** |
| | | * 模板数据一律经 ruoyi-template 的门面取用(跨模块数据访问原则)。 |
| | | */ |
| | | @Autowired |
| | | private TemplateFacade templateFacade; |
| | | |
| | | /** |
| | | * 跨模块访问一律经模块门面(禁止直连已搬走的 Mapper)。 |
| | | */ |
| | | @Autowired |
| | | private OuthospDataFacade outhospDataFacade; |
| | | |
| | | /** |
| | | * 跨模块访问一律经模块门面(禁止直连已搬走的 Mapper)。 |
| | | */ |
| | | @Autowired |
| | | private InhospVisitFacade inhospVisitFacade; |
| | | @Autowired |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | @Autowired |
| | | private HeLibraryMapper heLibraryMapper; |
| | | @Autowired |
| | | private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper; |
| | | @Autowired |
| | | private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper; |
| | |
| | | private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; |
| | | @Autowired |
| | | private PatArchiveMapper patArchiveMapper; |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | @Autowired |
| | | private PatMedOuthospMapper patMedOuthospMapper; |
| | | @Autowired |
| | | private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper; |
| | | @Autowired |
| | |
| | | if (StringUtils.isNotEmpty(zyserialnum)) { |
| | | PatMedInhospVO patMedInhospVO = new PatMedInhospVO(); |
| | | patMedInhospVO.setSerialnum(zyserialnum); |
| | | List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) { |
| | | patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhospList.get(0).getPatid()); |
| | | } |
| | | } else if (StringUtils.isNotEmpty(mzserialnum)) { |
| | | PatMedOuthospQueryReq patMedOuthosp = new PatMedOuthospQueryReq(); |
| | | patMedOuthosp.setSerialnum(mzserialnum); |
| | | List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.callSpQueryOuthosp(patMedOuthosp); |
| | | List<PatMedOuthosp> patMedOuthosps = outhospDataFacade.callSpQueryOuthosp(patMedOuthosp); |
| | | if (CollectionUtils.isNotEmpty(patMedOuthosps)) { |
| | | patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosps.get(0).getPatid()); |
| | | } |
| | |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | | } |
| | | } |
| | | HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(Long.valueOf(templateId)); |
| | | HeLibrary heLibrary; |
| | | try { |
| | | heLibrary = templateFacade.findHeLibraryById(Long.valueOf(templateId)); |
| | | } catch (TemplateModuleDisabledException e) { |
| | | // 模板模块被关闭(sys_config: template.enabled=false): |
| | | // 这里降级为空列表,而**不是**让异常冒出去 —— |
| | | // 患者打开的宣教页面照常可看、可提交("只要打开了页面就算成功"的后续状态更新照旧执行)。 |
| | | // 原实现在模板查不到时返回的也是 [null],前端本就能容错;空列表更干净。 |
| | | log.warn("【模板】宣教任务取模板被拒(模块已关闭),taskid={}, templateId={},本次返回空内容", |
| | | taskid, templateId); |
| | | return new ArrayList(); |
| | | } |
| | | List list = new ArrayList(); |
| | | list.add(heLibrary); |
| | | return list; |