From d3bf339bd64d7b7efddc0afdd4beb1866b8b5a04 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期六, 21 九月 2024 00:47:55 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 347 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 206 insertions(+), 141 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java index ae06130..a6832fe 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java @@ -1,24 +1,19 @@ package com.smartor.service.impl; +import afu.org.checkerframework.checker.oigj.qual.O; import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONArray; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.google.gson.JsonArray; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.RSAPublicKeyExample; import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.*; -import com.smartor.mapper.IvrTaskTemplateScriptMapper; import com.smartor.mapper.ServiceSubtaskAnswerMapper; +import com.smartor.mapper.ServiceSubtaskDetailMapper; import com.smartor.mapper.ServiceSubtaskMapper; -import com.smartor.mapper.ServiceTaskMapper; -import com.smartor.service.IIvrTaskTemplateService; +import com.smartor.mapper.SvyTaskTemplateTargetoptionMapper; import com.smartor.service.IServiceSubtaskAnswerService; -import com.smartor.service.ISvyTaskTemplateService; +import com.smartor.service.IServiceTaskService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -26,7 +21,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.TimeUnit; /** * 浠诲姟闂嵎闂閫夐」Service涓氬姟灞傚鐞� @@ -41,7 +38,19 @@ private ServiceSubtaskAnswerMapper serviceSubtaskAnswerMapper; @Autowired + private ServiceSubtaskMapper serviceSubtaskMapper; + + @Autowired private RedisCache redisCache; + + @Autowired + private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper; + + @Autowired + private IServiceTaskService serviceTaskService; + + @Autowired + private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; @Value("${pri_key}") private String pri_key; @@ -116,69 +125,75 @@ @Override public Integer saveQuestionAnswer(ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { + Long tid = null; + Long pid = null; + Double score = null; Set<String> allKeys = redisCache.getAllKeys(); if (ObjectUtils.isNotEmpty(serviceSubTaskAnswerReq)) { //闇�瑕佺珛鍗虫墽琛� RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); -// Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam1(), pri_key)); -// Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam2(), pri_key)); - - Long tid=Long.valueOf(serviceSubTaskAnswerReq.getParam1()); - Long pid=Long.valueOf(serviceSubTaskAnswerReq.getParam2()); - + tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam1(), pri_key)); + pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getParam2(), pri_key)); allKeys = new HashSet<>(); - if (serviceSubTaskAnswerReq.getType() == 1) { - allKeys.add(pid + "-" + tid + "-SFscriptCache"); - } else if (serviceSubTaskAnswerReq.getType() == 2) { - allKeys.add(pid + "-" + tid + "-WJscriptCache"); - } + allKeys.add(pid + "-" + tid + "-WJscriptCache"); } Long nextScriptno = null; for (String key : allKeys) { String[] split = key.split("-"); - if (key.contains("-SFscriptCache")) { - //鍖呭惈浜�,璇存槑浜嗘槸闅忚闂 - List<IvrTaskTemplateScriptVO> cacheList = redisCache.getCacheObject(key); + 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) { - // 璇存槑鏄涓�棰� - IvrTaskTemplateScriptVO ivrLibaTemplateScriptVO = cacheList.get(0); - //灏嗙涓�棰樼殑淇℃伅鏀惧埌琛ㄤ腑 - setSFInfo(ivrLibaTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); - nextScriptno = cacheList.get(0).getNextScriptno(); - } else { - //涓嶆槸绗� 涓� 棰� - for (IvrTaskTemplateScriptVO ivrLibaTemplateScriptVO : cacheList) { - if (ivrLibaTemplateScriptVO.getId() == nextScriptno) { - setSFInfo(ivrLibaTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); - nextScriptno = ivrLibaTemplateScriptVO.getNextScriptno(); + //杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰� + for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : cacheList) { + if (svyLibTemplateScriptVO.getSort() == 1L) { + //璇存槑鏄涓�棰� + SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class); + List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = cacheList.get(0).getSvyLibTemplateTargetoptions(); + List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class); + svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); + Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid); + nextScriptno = Long.valueOf(map.get("nextScriptNo")); + if (score == null) { + score = Double.valueOf(map.get("score")); + } else { + score = score + Double.valueOf(map.get("score")); + } } } - } - } - } else if (key.contains("-WJscriptCache")) { - List<SvyTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key); - for (int i = 0; i < cacheList.size(); i++) { - if (i == 0) { - // 璇存槑鏄涓�棰� - //灏嗙涓�棰樼殑淇℃伅鏀惧埌琛ㄤ腑 - setWJInfo(cacheList.get(0), Long.valueOf(split[1]), Long.valueOf(split[0])); - nextScriptno = Long.valueOf(cacheList.get(0).getNextScriptno()); - } else { - for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : cacheList) { - if (svyTaskTemplateScriptVO.getId() == nextScriptno) { - //灏嗙涓�棰樼殑淇℃伅鏀惧埌琛ㄤ腑 - setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0])); - nextScriptno = Long.valueOf(cacheList.get(0).getNextScriptno()); - } + } else { + SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), SvyTaskTemplateScriptVO.class); + List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class); + svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); + + 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")); + } else { + score = score + Double.valueOf(map.get("score")); + } } } } } //灏嗚key鍜寁alue浠巖edis涓紝鍒犻櫎 redisCache.deleteObject(key); + 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); } return 1; } @@ -192,114 +207,164 @@ @Override public Integer saveQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq) { RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); -// Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); -// Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); - Long tid=Long.valueOf(serviceSubTaskCacheReq.getParam1()); - Long pid=Long.valueOf(serviceSubTaskCacheReq.getParam2()); - if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList())) { - //闅忚 - redisCache.setCacheObject(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList()); - } else if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOList())) { - //闂嵎 - redisCache.setCacheObject(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOList()); - } + Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key)); + Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key)); + //闂嵎 + redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache"); + redisCache.setCacheList(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()); + //璁剧疆杩囨湡鏃堕棿 3澶� + Long tims = Long.valueOf(3 * 24 * 3600); + redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims); return 1; } @Override - public List<ServiceSubtaskAnswer> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq) { - log.error("selectPatQuesTionResult鐨勫叆鍙備负锛歿}", serviceSubTaskQueryReq); - ServiceSubtaskAnswer serviceSubtaskAnswer = new ServiceSubtaskAnswer(); - serviceSubtaskAnswer.setTaskid(serviceSubTaskQueryReq.getTaskid()); - serviceSubtaskAnswer.setPatId(serviceSubTaskQueryReq.getPatId()); - serviceSubtaskAnswer.setScriptid(serviceSubTaskQueryReq.getScriptid()); - List<ServiceSubtaskAnswer> serviceSubtaskAnswerList = serviceSubtaskAnswerMapper.selectServiceSubtaskAnswerList(serviceSubtaskAnswer); - for (ServiceSubtaskAnswer serviceSubtaskAnswer1 : serviceSubtaskAnswerList) { - ObjectMapper mapper = new ObjectMapper(); - try { - List<ServiceSubtaskOptionAnswer> serviceSubtaskOptionAnswer = mapper.readValue(serviceSubtaskAnswer1.getAnswer(), List.class); - serviceSubtaskAnswer1.setOptionAnswer(serviceSubtaskOptionAnswer); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } - return serviceSubtaskAnswerList; - } - - private void setSFInfo(IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, Long taskid, Long patid) { - ServiceSubtaskAnswer serviceSubtaskAnswer = new ServiceSubtaskAnswer(); - List<ServiceSubtaskOptionAnswer> answerList = new ArrayList<>(); - if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptType()) && ivrTaskTemplateScriptVO.getScriptType().equals("1") || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptType()) && ivrTaskTemplateScriptVO.getScriptType().equals("2")) { - //1銆�2涓哄崟閫夋垨澶氶�� - for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption : ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList()) { - //鑾峰彇鐢ㄦ埛閫変腑鐨勯�夐」鍙� - if (ivrTaskTemplateTargetoption.getIsUserOperation() == true) { - ServiceSubtaskOptionAnswer serviceSubtaskOptionAnswer = new ServiceSubtaskOptionAnswer(); - serviceSubtaskOptionAnswer.setId(ivrTaskTemplateTargetoption.getId()); - serviceSubtaskOptionAnswer.setCode(ivrTaskTemplateTargetoption.getOptionCode()); - serviceSubtaskOptionAnswer.setValue(ivrTaskTemplateTargetoption.getTargetvalue()); - serviceSubtaskOptionAnswer.setAppenddesc(ivrTaskTemplateTargetoption.getAppenddesc()); - answerList.add(serviceSubtaskOptionAnswer); - } - } + 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 { - //闈炲崟澶氶�� - if (CollectionUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList())) { - log.error("IvrTaskScriptTargetoptionList鐨勫�间负锛歿}", ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList()); - ServiceSubtaskOptionAnswer serviceSubtaskOptionAnswer = new ServiceSubtaskOptionAnswer(); - serviceSubtaskOptionAnswer.setId(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(0).getId()); - serviceSubtaskOptionAnswer.setCode(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(0).getOptionCode()); - serviceSubtaskOptionAnswer.setValue(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(0).getTargetvalue()); - serviceSubtaskOptionAnswer.setAppenddesc(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(0).getAppenddesc()); - answerList.add(serviceSubtaskOptionAnswer); + map.put("submit", selectServiceSubtaskList.get(0).getSubmit()); + if (selectServiceSubtaskList.get(0).getSubmit() == 1) { + return map; } } - //鏁版嵁淇濆瓨 - serviceSubtaskAnswer.setTaskid(taskid); - serviceSubtaskAnswer.setPatId(patid); - serviceSubtaskAnswer.setScriptid(ivrTaskTemplateScriptVO.getId()); - serviceSubtaskAnswer.setScriptType(Long.valueOf(ivrTaskTemplateScriptVO.getScriptType())); - serviceSubtaskAnswer.setAnswer(JSON.toJSONString(answerList)); - serviceSubtaskAnswer.setComment(null); - serviceSubtaskAnswer.setCreateTime(new Date()); - serviceSubtaskAnswer.setUpdateTime(new Date()); - serviceSubtaskAnswerMapper.insertServiceSubtaskAnswer(serviceSubtaskAnswer); + //闂嵎 + List<SvyLibTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache"); + map.put("result", svyTaskTemplateScriptVOList); + return map; } - private void setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid) { - ServiceSubtaskAnswer serviceSubtaskAnswer = null; + @Override + public Map<String, Object> selectPatQuestionResult(ServiceSubTaskQueryReq serviceSubTaskQueryReq) { + log.error("selectPatQuesTionResult鐨勫叆鍙備负锛歿}", serviceSubTaskQueryReq); + Map<String, Object> map = new HashMap<>(); + + Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid()); + if (scriptInfoByCondition.get("type").equals("1")) { + List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); + for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) { + String scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId()); + ivrLibaTemplateScriptVO.setScriptResult(scriptResult); + } + map.put("scriptResult", ivrLibaTemplateScriptVOList); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; + } else if (scriptInfoByCondition.get("type").equals("2")) { + List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script"); + for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) { + String scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId()); + svyLibTemplateScriptVO.setScriptResult(scriptResult); + } + map.put("scriptResult", scriptInfoByCondition); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; + } else if (scriptInfoByCondition.get("type").equals("3")) { + //瀹f暀涓嶉渶瑕佹煡鐪� + List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script"); + map.put("scriptResult", heLibraryList); + map.put("taskName", scriptInfoByCondition.get("taskName")); + return map; + } + + return null; + } + + private String getScriptResult(Long subid, Long pid, Long sid) { + ServiceSubtaskDetail serviceSubtaskDetail = new ServiceSubtaskDetail(); + serviceSubtaskDetail.setSubId(subid); + serviceSubtaskDetail.setPatid(pid); + serviceSubtaskDetail.setScriptid(sid); + List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail); + if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) { + return serviceSubtaskDetails.get(0).getAsrtext(); + } + return ""; + } + + private Map<String, String> setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid) { + ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); + serviceSubtaskVO.setTaskid(taskid); + serviceSubtaskVO.setPatid(patid); + List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); + + String score = "0"; + //涓嬮璺宠浆 + String nextScriptNo = null; + ServiceSubtaskDetailVO serviceSubtaskDetailVO = new ServiceSubtaskDetailVO(); List<ServiceSubtaskOptionAnswer> answerList = new ArrayList<>(); if (svyTaskTemplateScriptVO.getScriptType().equals("1") || svyTaskTemplateScriptVO.getScriptType().equals("2")) { //1銆�2涓哄崟閫夋垨澶氶�� for (SvyTaskTemplateTargetoption svyTaskTemplateTargetoption : svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()) { - if (svyTaskTemplateTargetoption.getIsUserOperation() == true) { - ServiceSubtaskOptionAnswer serviceSubtaskOptionAnswer = new ServiceSubtaskOptionAnswer(); - serviceSubtaskOptionAnswer.setId(svyTaskTemplateTargetoption.getId()); - serviceSubtaskOptionAnswer.setCode(svyTaskTemplateTargetoption.getOptionCode()); - serviceSubtaskOptionAnswer.setValue(svyTaskTemplateTargetoption.getTargetvalue()); - serviceSubtaskOptionAnswer.setAppenddesc(svyTaskTemplateTargetoption.getAppenddesc()); - answerList.add(serviceSubtaskOptionAnswer); + //灏嗛棶棰橀�夐」璁板綍涓嬫潵 + if (StringUtils.isEmpty(serviceSubtaskDetailVO.getTargetvalue())) { + serviceSubtaskDetailVO.setTargetvalue(svyTaskTemplateTargetoption.getOptioncontent()); + } else { + serviceSubtaskDetailVO.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue() + " " + svyTaskTemplateTargetoption.getOptioncontent()); } +// if (svyTaskTemplateTargetoption.getIsUserOperation() == true) { +// //灏嗛�変腑鐨勭粨鏋滄斁鍒癮srtext涓� +// if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { +// //鍜屽墠绔晢閲忥紝鍓嶇浼氬皢閫変腑鐨勭粨鏋滄洿鏂板埌闂涓� +//// serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateTargetoption.getTargetvalue()); +// serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); +// } else { +// //濡傛灉鏄閫夛紝绛旀闇�瑕佺敤 & 杩涜鎷兼帴(//鍜屽墠绔晢閲忥紝鍓嶇浼氬皢閫変腑鐨勭粨鏋滄洿鏂板埌闂涓�) +//// serviceSubtaskDetailVO.setAsrtext(serviceSubtaskDetailVO.getAnswerps() + "&" + svyTaskTemplateTargetoption.getTargetvalue()); +// serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); +// } +// if (svyTaskTemplateScriptVO.getScriptType().equals("1") && svyTaskTemplateScriptVO.getBranchFlag().equals("1")) { +// //鏄崟閫夛紝骞朵笖鏄湁鍒嗘敮鐨�(鍜屽墠绔晢閲忥紝鍦ㄥ閾剧粨鏋滀繚瀛樻椂锛屼細灏嗛�変腑鐨勯�夐」涓婄殑璺宠浆鏇存柊鍒伴鐩笂) +//// nextScriptNo = svyTaskTemplateTargetoption.getNextQuestion().toString(); +// nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); +// score = svyTaskTemplateTargetoption.getScore().toString(); +// } else { +// nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); +// score = svyTaskTemplateScriptVO.getScore().toString(); +// } +// } } + nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); + if (svyTaskTemplateScriptVO.getScore() != null) { + score = String.valueOf(svyTaskTemplateScriptVO.getScore()); + } + serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); +// if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) { +// nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); +// } +// serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions()); } else { //闈炲崟澶氶�� - if (CollectionUtils.isNotEmpty(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions())) { - ServiceSubtaskOptionAnswer serviceSubtaskOptionAnswer = new ServiceSubtaskOptionAnswer(); - serviceSubtaskOptionAnswer.setId(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions().get(0).getId()); - serviceSubtaskOptionAnswer.setCode(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions().get(0).getOptionCode()); - serviceSubtaskOptionAnswer.setValue(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions().get(0).getTargetvalue()); - serviceSubtaskOptionAnswer.setAppenddesc(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions().get(0).getAppenddesc()); - answerList.add(serviceSubtaskOptionAnswer); + if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptResult())) { + serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult()); + nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString(); + if (svyTaskTemplateScriptVO.getScore() != null) { + score = String.valueOf(svyTaskTemplateScriptVO.getScore()); + } } } - serviceSubtaskAnswer.setTaskid(Long.valueOf(taskid)); - serviceSubtaskAnswer.setPatId(Long.valueOf(patid)); - serviceSubtaskAnswer.setScriptid(svyTaskTemplateScriptVO.getId()); - serviceSubtaskAnswer.setScriptType(Long.valueOf(svyTaskTemplateScriptVO.getScriptType())); - serviceSubtaskAnswer.setAnswer(JSON.toJSONString(answerList)); - serviceSubtaskAnswer.setComment(null); - serviceSubtaskAnswer.setCreateTime(new Date()); - serviceSubtaskAnswer.setUpdateTime(new Date()); - serviceSubtaskAnswerMapper.insertServiceSubtaskAnswer(serviceSubtaskAnswer); + serviceSubtaskDetailVO.setQuestiontext(svyTaskTemplateScriptVO.getScriptContent()); + serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid)); + serviceSubtaskDetailVO.setPatid(Long.valueOf(patid)); + serviceSubtaskDetailVO.setScriptid(svyTaskTemplateScriptVO.getId()); + serviceSubtaskDetailVO.setValueType(svyTaskTemplateScriptVO.getScriptType()); + serviceSubtaskDetailVO.setComment(null); + serviceSubtaskDetailVO.setCreateTime(new Date()); + serviceSubtaskDetailVO.setUpdateTime(new Date()); + serviceSubtaskDetailVO.setSubId(selectServiceSubtaskList.get(0).getId()); + ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class); + serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail); + + Map<String, String> map = new HashMap<>(); + map.put("nextScriptNo", nextScriptNo); + map.put("score", score); + return map; } } -- Gitblit v1.9.3