|  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskTemplateMapper svyTaskTemplateMapper; | 
 |  |  |     private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private HeLibraryMapper heLibraryMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper; | 
 |  |  |     private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private PatArchiveMapper patArchiveMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private PatMedInhospMapper patMedInhospMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper; | 
 |  |  |     private PatMedOuthospMapper patMedOuthospMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetOptionMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private RedisCache redisCache; | 
 |  |  | 
 |  |  |         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |         serviceSubtaskVO.setPatid(patid); | 
 |  |  |         serviceSubtaskVO.setTaskid(taskid); | 
 |  |  | //        List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |         serviceSubtaskVO.setSendstate(3L); | 
 |  |  |         List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  | //        //查询患者是否重覆做题 | 
 |  |  | //        if (CollectionUtils.isEmpty(selectServiceSubtaskList)) { | 
 |  |  | //            Long submit = selectServiceSubtaskList.get(0).getSubmit(); | 
 |  |  | 
 |  |  |                 Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss); | 
 |  |  |                 if (integer != null && integer != 6) { | 
 |  |  |                     ss.setSendstate(1L); | 
 |  |  | //                    ss.setResult("success"); | 
 |  |  | //                    ss.setFinishtime(new Date()); | 
 |  |  |                     serviceSubtaskMapper.updateServiceSubtaskByCondition(ss); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid()); | 
 |  |  |         if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) { | 
 |  |  |             //将当前方式的发送状态改成已领取 | 
 |  |  |             ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0); | 
 |  |  |             ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform(); | 
 |  |  |             serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform()); | 
 |  |  |             serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); | 
 |  |  |             serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid()); | 
 |  |  |             List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); | 
 |  |  |             if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { | 
 |  |  |                 ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0); | 
 |  |  |                 ssp.setSendstate("3"); | 
 |  |  |                 serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb()); | 
 |  |  |         map.put("script", info); | 
 |  |  |         if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy()); | 
 |  |  |         map.put("type", serviceTask.getType()); | 
 |  |  |         map.put("taskName", serviceTask.getTaskName()); | 
 |  |  |         map.put("submit", "0"); | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getScriptByCondition(Long taskid, String zyserialnum, String mzserialnum, String tsserialnum) { | 
 |  |  |         //通过任务ID获取模板ID | 
 |  |  |         ServiceTask serviceTask = selectServiceTaskByTaskid(taskid); | 
 |  |  |         //通过模板ID获取问题信息 | 
 |  |  |         SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript(); | 
 |  |  |         svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); | 
 |  |  |         svyTaskTemplateScript.setDelFlag("0"); | 
 |  |  |         List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) { | 
 |  |  |             log.error("svyTaskTemplateScripts为空了,请尽快联系管理员处理"); | 
 |  |  |             throw new BaseException("svyTaskTemplateScripts为空了,请尽快联系管理员处理"); | 
 |  |  |         } | 
 |  |  |         PatArchive patArchive = null; | 
 |  |  |         if (StringUtils.isNotEmpty(zyserialnum)) { | 
 |  |  |             PatMedInhospVO patMedInhospVO = new PatMedInhospVO(); | 
 |  |  |             patMedInhospVO.setSerialnum(zyserialnum); | 
 |  |  |             List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO); | 
 |  |  |             if (CollectionUtils.isNotEmpty(patMedInhospList)) { | 
 |  |  |                 patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhospList.get(0).getPatid()); | 
 |  |  |             } | 
 |  |  |         } else if (StringUtils.isNotEmpty(mzserialnum)) { | 
 |  |  |             PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); | 
 |  |  |             patMedOuthosp.setSerialnum(mzserialnum); | 
 |  |  |             List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp); | 
 |  |  |             if (CollectionUtils.isNotEmpty(patMedOuthosps)) { | 
 |  |  |                 patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosps.get(0).getPatid()); | 
 |  |  |             } | 
 |  |  |         } else if (StringUtils.isNotEmpty(tsserialnum)) { | 
 |  |  |             PatArchive pa = new PatArchive(); | 
 |  |  |             pa.setPatientno(tsserialnum); | 
 |  |  |             List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(pa); | 
 |  |  |             if (CollectionUtils.isNotEmpty(patArchives)) patArchive = patArchives.get(0); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //判断一下今天是否已经做过题,做过就不让再做了 | 
 |  |  |         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); | 
 |  |  |         serviceSubtaskVO.setTaskid(taskid); | 
 |  |  |         serviceSubtaskVO.setPatid(patArchive.getId()); | 
 |  |  |         serviceSubtaskVO.setVisitTime(new Date()); | 
 |  |  |         List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); | 
 |  |  |         if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() > 0) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  |             map.put("result", "今日已经做过满意度调查 ,无需再重复做答!"); | 
 |  |  |             return map; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class); | 
 |  |  |         //将模板问题话术里的通配符替换 | 
 |  |  |         ObjectMapper objectMapper = new ObjectMapper(); | 
 |  |  |         Map<String, Map<String, String>> serviceTaskMap = null; | 
 |  |  |         try { | 
 |  |  |             serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class); | 
 |  |  |         } catch (JsonProcessingException e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |         List<Map<String, String>> mapList = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         for (Map<String, String> map : serviceTaskMap.values()) { | 
 |  |  |             mapList.add(map); | 
 |  |  |         } | 
 |  |  |         for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) { | 
 |  |  |             if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) { | 
 |  |  |                 for (Map<String, String> map : mapList) { | 
 |  |  |                     for (String key : map.keySet()) { | 
 |  |  |  | 
 |  |  |                         svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 //替换患者个人信息数据 | 
 |  |  |                 log.error("问题id:{},   问题内容:{}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent()); | 
 |  |  |                 if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) { | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); | 
 |  |  |                 } | 
 |  |  |                 //获取问题选项 | 
 |  |  |                 SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption(); | 
 |  |  |                 svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId()); | 
 |  |  |                 List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption); | 
 |  |  |                 svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         Map<String, Object> map = new HashMap<>(); | 
 |  |  |         map.put("result", null); | 
 |  |  |         map.put("svyLibTemplateScriptVOS", svyTaskTemplateScriptVOS); | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public List sfInfo(ServiceTask serviceTask, Long patid, String patfrom) { | 
 |  |  |         //通过模板ID获取问题信息 | 
 |  |  |         IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript(); | 
 |  |  |         ivrLibaTemplateScript.setTemplateid(Long.valueOf(serviceTask.getLibtemplateid())); | 
 |  |  |         ivrLibaTemplateScript.setDelFlag("0"); | 
 |  |  |         List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) { | 
 |  |  |         IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript(); | 
 |  |  |         ivrTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); | 
 |  |  |         ivrTaskTemplateScript.setDelFlag("0"); | 
 |  |  |         List<IvrTaskTemplateScript> ivrTaskTemplateScripts = ivrTaskTemplateScriptMapper.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(ivrTaskTemplateScripts) || ivrTaskTemplateScripts.size() == 0) { | 
 |  |  |             log.info("ivrLibaTemplateScripts为空了,请尽快联系管理员处理"); | 
 |  |  |             return new ArrayList<>(); | 
 |  |  |         } | 
 |  |  |         List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class); | 
 |  |  |         List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScripts, IvrTaskTemplateScriptVO.class); | 
 |  |  |  | 
 |  |  |         //获取患者信息 | 
 |  |  |         PatArchive patArchive = null; | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //将模板问题话术里的通配符替换 | 
 |  |  |         for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) { | 
 |  |  |             if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getScriptContent())) { | 
 |  |  |         for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) { | 
 |  |  |             if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptContent())) { | 
 |  |  |                 for (Map<String, String> map : mapList) { | 
 |  |  |                     for (String key : map.keySet()) { | 
 |  |  |  | 
 |  |  |                         ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); | 
 |  |  |                         ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 //替换患者个人信息数据 | 
 |  |  |                 ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); | 
 |  |  |                 ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); | 
 |  |  |                 ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); | 
 |  |  |                 ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); | 
 |  |  |                 ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); | 
 |  |  |                 ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); | 
 |  |  |  | 
 |  |  |                 //获取问题选项 | 
 |  |  |                 IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption(); | 
 |  |  |                 ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId()); | 
 |  |  |                 List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption); | 
 |  |  |                 ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions); | 
 |  |  |                 IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption(); | 
 |  |  |                 ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId()); | 
 |  |  |                 List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetOptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption); | 
 |  |  |                 ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort)); | 
 |  |  |         Collections.sort(ivrTaskTemplateScriptVOS, Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort)); | 
 |  |  |  | 
 |  |  |         return ivrLibaTemplateScriptVOS; | 
 |  |  |         return ivrTaskTemplateScriptVOS; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         //通过模板ID获取问题信息 | 
 |  |  |         SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); | 
 |  |  |         svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); | 
 |  |  |         svyLibTemplateScript.setDelFlag("0"); | 
 |  |  |         List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) { | 
 |  |  |             log.info("ivrLibaTemplateScripts为空了,请尽快联系管理员处理"); | 
 |  |  |             return new ArrayList<>(); | 
 |  |  |         SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript(); | 
 |  |  |         svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); | 
 |  |  |         svyTaskTemplateScript.setDelFlag("0"); | 
 |  |  |         List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); | 
 |  |  |         if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) { | 
 |  |  |             insertSvyTaskTempScript(null, serviceTask); | 
 |  |  |             svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); | 
 |  |  |             if (CollectionUtils.isEmpty(svyTaskTemplateScripts)) { | 
 |  |  |                 throw new BaseException("请联系管理员,检查问题模板信息!"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class); | 
 |  |  |         List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class); | 
 |  |  |  | 
 |  |  |         //获取患者信息 | 
 |  |  |         PatArchive patArchive = null; | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //将模板问题话术里的通配符替换 | 
 |  |  |         for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) { | 
 |  |  |             if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) { | 
 |  |  |         for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) { | 
 |  |  |             if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) { | 
 |  |  |                 for (Map<String, String> map : mapList) { | 
 |  |  |                     for (String key : map.keySet()) { | 
 |  |  |  | 
 |  |  |                         svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); | 
 |  |  |                         svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 //替换患者个人信息数据 | 
 |  |  |                 log.error("问题id:{},   问题内容:{}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent()); | 
 |  |  |                 if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) { | 
 |  |  |                     svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); | 
 |  |  |                     svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); | 
 |  |  |                     svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); | 
 |  |  |                 log.error("问题id:{},   问题内容:{}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent()); | 
 |  |  |                 if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) { | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); | 
 |  |  |                     svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); | 
 |  |  |                 } | 
 |  |  |                 //获取问题选项 | 
 |  |  |                 SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption(); | 
 |  |  |                 svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId()); | 
 |  |  |                 List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption); | 
 |  |  |                 svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); | 
 |  |  |                 SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption(); | 
 |  |  |                 svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId()); | 
 |  |  |                 if (svyTaskTemplateTargetoption.getDynamiccruxs().size() == 0) | 
 |  |  |                     svyTaskTemplateTargetoption.setDynamiccruxs(null); | 
 |  |  |                 if (svyTaskTemplateTargetoption.getNodynamiccruxs().size() == 0) | 
 |  |  |                     svyTaskTemplateTargetoption.setNodynamiccruxs(null); | 
 |  |  |                 List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption); | 
 |  |  |                 if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoptions)) { | 
 |  |  |                     svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); | 
 |  |  |                 } else { | 
 |  |  |                     //如果选项没有查到,需要去基础模板库将选项查询出来,放到任务模板选项库中 | 
 |  |  |                     insertSvyTaskTempScript(svyTaskTemplateScriptVO, serviceTask); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         Collections.sort(svyLibTemplateScriptVOS, Comparator.comparingLong(SvyLibTemplateScriptVO::getSort)); | 
 |  |  |         return svyLibTemplateScriptVOS; | 
 |  |  |         Collections.sort(svyTaskTemplateScriptVOS, Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort)); | 
 |  |  |         return svyTaskTemplateScriptVOS; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private void insertSvyTaskTempScript(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, ServiceTask serviceTask) { | 
 |  |  |         log.info("-------基础模板libtemplateid的值为:{}", serviceTask.getLibtemplateid()); | 
 |  |  |         if (StringUtils.isEmpty(serviceTask.getLibtemplateid())) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); | 
 |  |  |         svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); | 
 |  |  |         List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); | 
 |  |  |         log.info("-------基础模板svyLibTemplateScripts问题值为:{}", svyLibTemplateScripts.size()); | 
 |  |  |         for (SvyLibTemplateScript sll : svyLibTemplateScripts) { | 
 |  |  |             if (ObjectUtils.isNotEmpty(svyTaskTemplateScriptVO)) { | 
 |  |  |                 if (sll.getScriptContent().trim().equals(svyTaskTemplateScriptVO.getScriptContent().trim())) { | 
 |  |  |                     SvyLibTemplateTargetoption sltto = new SvyLibTemplateTargetoption(); | 
 |  |  |                     sltto.setScriptid(sll.getId()); | 
 |  |  |                     List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(sltto); | 
 |  |  |  | 
 |  |  |                     //将查出来的选项,放到svyTaskTemplateTargetoption中 | 
 |  |  |                     List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptionList = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); | 
 |  |  |                     for (int i = 0; i < svyTaskTemplateTargetoptionList.size(); i++) { | 
 |  |  |                         svyTaskTemplateTargetoptionList.get(i).setTemplateID(svyTaskTemplateScriptVO.getTemplateID()); | 
 |  |  |                         svyTaskTemplateTargetoptionList.get(i).setScriptid(svyTaskTemplateScriptVO.getId()); | 
 |  |  |                         svyTaskTemplateTargetoptionMapper.insertSvyTaskTemplateTargetoption(svyTaskTemplateTargetoptionList.get(i)); | 
 |  |  |                         log.info("-------新增完之后的选项ID值为:{}", svyTaskTemplateTargetoptionList.get(i).getId()); | 
 |  |  |                     } | 
 |  |  |                     svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptionList); | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 //新增问题 | 
 |  |  |                 SvyTaskTemplateScript stts = DtoConversionUtils.sourceToTarget(sll, SvyTaskTemplateScript.class); | 
 |  |  |                 stts.setId(null); | 
 |  |  |                 stts.setTaskid(serviceTask.getTaskid()); | 
 |  |  |                 stts.setTemplateID(serviceTask.getTemplateid()); | 
 |  |  |                 svyTaskTemplateScriptMapper.insertSvyTaskTemplateScript(stts); | 
 |  |  |  | 
 |  |  |                 //新增问题选项 | 
 |  |  |                 SvyLibTemplateTargetoption sltto = new SvyLibTemplateTargetoption(); | 
 |  |  |                 sltto.setScriptid(sll.getId()); | 
 |  |  |                 List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(sltto); | 
 |  |  |                 List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptionList = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); | 
 |  |  |                 for (int i = 0; i < svyTaskTemplateTargetoptionList.size(); i++) { | 
 |  |  |                     svyTaskTemplateTargetoptionList.get(i).setTemplateID(serviceTask.getTemplateid()); | 
 |  |  |                     svyTaskTemplateTargetoptionList.get(i).setScriptid(stts.getId()); | 
 |  |  |                     svyTaskTemplateTargetoptionMapper.insertSvyTaskTemplateTargetoption(svyTaskTemplateTargetoptionList.get(i)); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private List xjInfo(Long templateId, Long taskid, Long patid, Boolean isFinish) { |