| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import afu.org.checkerframework.checker.oigj.qual.O; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | |
| | | String[] split = key.split("-"); |
| | | if (key.contains("-WJscriptCache")) { |
| | | List<SvyLibTemplateScriptVO> cacheList = redisCache.getCacheList(key); |
| | | |
| | | cacheList.sort(Comparator.comparingLong(SvyLibTemplateScriptVO::getSort)); |
| | | log.error("问卷回答结果:{}", cacheList); |
| | | for (int i = 0; i < cacheList.size(); i++) { |
| | | if (i == 0) { |
| | | //这个时间要找到第一题 |
| | | for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : cacheList) { |
| | | if (svyLibTemplateScriptVO.getSort() == 1) { |
| | | if (svyLibTemplateScriptVO.getSort() == 1L) { |
| | | //说明是第一题 |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class); |
| | | List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = cacheList.get(0).getSvyLibTemplateTargetoptions(); |
| | |
| | | |
| | | if (svyTaskTemplateScriptVO.getSort() == nextScriptno) { |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); |
| | | log.error("map的信息为:{}", map); |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | |
| | | ServiceSubtask serviceSubtask = new ServiceSubtask(); |
| | | serviceSubtask.setTaskid(tid); |
| | | serviceSubtask.setPatid(pid); |
| | | serviceSubtask.setSubmit(1L); |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep()); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score)); |
| | | serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<SvyLibTemplateScriptVO> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | public Map<String, Object> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); |
| | | Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | serviceSubtaskVO.setTaskid(tid); |
| | | serviceSubtaskVO.setPatid(pid); |
| | | List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | | if (CollectionUtils.isEmpty(selectServiceSubtaskList) || selectServiceSubtaskList.size() == 0) { |
| | | map.put("submit", 0); |
| | | } else { |
| | | map.put("submit", selectServiceSubtaskList.get(0).getSubmit()); |
| | | if (selectServiceSubtaskList.get(0).getSubmit() == 1) { |
| | | return map; |
| | | } |
| | | } |
| | | //问卷 |
| | | List<SvyLibTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache"); |
| | | return svyTaskTemplateScriptVOList; |
| | | map.put("result", svyTaskTemplateScriptVOList); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (scriptInfoByCondition.get("type").equals("1")) { |
| | | List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); |
| | | for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) { |
| | | String scriptResult = getScriptResult(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); |
| | | String scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); |
| | | ivrLibaTemplateScriptVO.setScriptResult(scriptResult); |
| | | } |
| | | map.put("scriptResult", ivrLibaTemplateScriptVOList); |
| | |
| | | } else if (scriptInfoByCondition.get("type").equals("2")) { |
| | | List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); |
| | | for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) { |
| | | String scriptResult = getScriptResult(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); |
| | | String scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); |
| | | svyLibTemplateScriptVO.setScriptResult(scriptResult); |
| | | } |
| | | map.put("scriptResult", scriptInfoByCondition); |
| | |
| | | return null; |
| | | } |
| | | |
| | | private String getScriptResult(Long tid, Long pid, Long sid) { |
| | | private String getScriptResult(Long subid, Long pid, Long sid) { |
| | | ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); |
| | | serviceSubtaskDetail.setTaskid(tid); |
| | | serviceSubtaskDetail.setSubId(subid); |
| | | serviceSubtaskDetail.setPatid(pid); |
| | | serviceSubtaskDetail.setScriptid(sid); |
| | | List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail); |