| | |
| | | ServiceSubtaskEntity serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskEntity.class); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | for (ServiceSubtask ss : serviceSubtaskList) { |
| | | log.error("sfSend需要移除的subId为:{}", ss.getId().toString()); |
| | | log.info("sfSend需要移除的subId为:{}", ss.getId().toString()); |
| | | redisCache.removeElementFromList("cache-exist", ss.getId().toString()); |
| | | redisCache.removeElementFromList("cache-0", ss.getId().toString()); |
| | | redisCache.removeElementFromList("cache-1", ss.getId().toString()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish, String patfrom) { |
| | | public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish, String patfrom, Long subId) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setPatid(patid); |
| | | serviceSubtaskVO.setTaskid(taskid); |
| | | serviceSubtaskVO.setSendstate(3L); |
| | | if (subId != null) { |
| | | serviceSubtaskVO.setSubId(subId); |
| | | } else { |
| | | serviceSubtaskVO.setPatid(patid); |
| | | serviceSubtaskVO.setTaskid(taskid); |
| | | serviceSubtaskVO.setSendstate(3L); |
| | | } |
| | | List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | // //查询患者是否重覆做题 |
| | | // if (CollectionUtils.isEmpty(selectServiceSubtaskList)) { |
| | | // Long submit = selectServiceSubtaskList.get(0).getSubmit(); |
| | | // if (submit == 1L) { |
| | | // map.put("submit", "1"); |
| | | // return map; |
| | | // } |
| | | // } |
| | | |
| | | //通过任务ID获取模板ID |
| | | ServiceTask serviceTask = selectServiceTaskByTaskid(taskid); |
| | | if (serviceTask == null) { |
| | |
| | | List info = new ArrayList(); |
| | | if (serviceTask.getType().equals("1")) { |
| | | //随访 |
| | | log.error("文本随访问题"); |
| | | log.info("文本随访问题"); |
| | | info = sfInfo(serviceTask, patid, patfrom); |
| | | } else if (serviceTask.getType().equals("2")) { |
| | | //问卷 |
| | | log.error("文本问卷问题"); |
| | | info = wjInfo(serviceTask, patid, isFinish, patfrom); |
| | | log.info("文本问卷问题"); |
| | | info = wjInfo(serviceTask, patid, isFinish, patfrom, subId); |
| | | } else { |
| | | //宣教 |
| | | info = xjInfo(Long.valueOf(serviceTask.getLibtemplateid()), taskid, patid, isFinish); |
| | |
| | | } |
| | | } |
| | | //替换患者个人信息数据 |
| | | log.error("问题id:{}, 问题内容:{}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent()); |
| | | log.info("问题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() : "")); |
| | |
| | | * @param patid |
| | | * @return |
| | | */ |
| | | private List wjInfo(ServiceTask serviceTask, Long patid, Boolean isFinish, String patfrom) { |
| | | private List wjInfo(ServiceTask serviceTask, Long patid, Boolean isFinish, String patfrom, Long subId) { |
| | | //用户点击了外链,就算他领取了 |
| | | //这样做会有一个问题,如果固定任务,会出现一个任务里,有多个该患者 |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtaskVO.setPatid(patid); |
| | | if (subId != null) { |
| | | serviceSubtaskVO.setSubId(subId); |
| | | } else { |
| | | serviceSubtaskVO.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtaskVO.setPatid(patid); |
| | | } |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() == 1) { |
| | | if (serviceSubtaskList.get(0).getSendstate() == 3 && isFinish == true) { |
| | |
| | | //通过模板ID获取问题信息 |
| | | SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript(); |
| | | svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); |
| | | if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.get(0).getTemplateid() != null) |
| | | svyTaskTemplateScript.setTemplateID(serviceSubtaskList.get(0).getTemplateid()); |
| | | svyTaskTemplateScript.setDelFlag("0"); |
| | | List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); |
| | | if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) { |
| | |
| | | } |
| | | } |
| | | //替换患者个人信息数据 |
| | | log.error("问题id:{}, 问题内容:{}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent()); |
| | | log.info("问题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() : "")); |