| | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.DetailTraceDealDTO; |
| | | import com.smartor.domain.VO.DetailTraceDealVO; |
| | | import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; |
| | | import com.smartor.mapper.ServiceSubtaskDetailMapper; |
| | | import com.smartor.mapper.ServiceSubtaskDetailTraceMapper; |
| | | import com.smartor.mapper.SvyLibScriptCategoryMapper; |
| | | import com.smartor.mapper.SvyLibTemplateScriptMapper; |
| | | import com.smartor.service.*; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Autowired |
| | | private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper; |
| | | |
| | | @Autowired |
| | | private ISvyLibScriptCategoryService iSvyLibScriptCategoryService; |
| | | |
| | | @Autowired |
| | | private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper; |
| | | |
| | | @Autowired |
| | | private ISvyLibTemplateScriptService isvyLibTemplateScriptService; |
| | | |
| | | @Autowired |
| | | private IIvrLibaScriptAssortService iIvrLibaScriptAssortService; |
| | | |
| | | @Autowired |
| | | private IIvrLibaTemplateScriptService iIvrLibaTemplateScriptService; |
| | | |
| | | /** |
| | | * 查询随访任务异常记录跟踪 |
| | |
| | | public int deleteServiceSubtaskDetailTtraceById(Long id) { |
| | | return serviceSubtaskDetailTraceMapper.deleteServiceSubtaskDetailTtraceById(id); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getSatisfactionExceptConfigQuestion(SatisfactionExceptConfigQuestionReqVO questionReqVO) { |
| | | // 初始化结果集 |
| | | Map<String, Object> result = new HashMap<>(); |
| | | |
| | | if (StringUtils.isEmpty(questionReqVO.getScriptType()) || questionReqVO.getScriptType().equals("1")) { |
| | | List<Map<String, Object>> voicetDataList = new ArrayList<>(); |
| | | //获取满意度的分类 |
| | | IvrLibaScriptAssort ivrLibaScriptAssort = new IvrLibaScriptAssort(); |
| | | ivrLibaScriptAssort.setType("myd"); |
| | | if (!StringUtils.isEmpty(questionReqVO.getType())) ivrLibaScriptAssort.setType(questionReqVO.getType()); |
| | | List<IvrLibaScriptAssortVO> ivrLibaScriptAssortVOS = iIvrLibaScriptAssortService.selectIvrLibaScriptAssortList(ivrLibaScriptAssort); |
| | | List<Long> assortIdList = Optional.ofNullable(ivrLibaScriptAssortVOS).filter(list -> !list.isEmpty()).map(list -> list.stream().map(IvrLibaScriptAssortVO::getId).collect(Collectors.toList())).orElse(Collections.emptyList()); |
| | | |
| | | //用来记录满意度的所有问题 |
| | | List<IvrLibaTemplateScript> ivrLibaTemplateScriptList = new ArrayList<>(); |
| | | if (CollectionUtils.isNotEmpty(assortIdList)) { |
| | | for (Long assortId : assortIdList) { |
| | | IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript(); |
| | | ivrLibaTemplateScript.setScriptAssortid(assortId); |
| | | List<IvrLibaTemplateScript> ivrLibaTemplateScripts = iIvrLibaTemplateScriptService.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript); |
| | | ivrLibaTemplateScriptList.addAll(ivrLibaTemplateScripts); |
| | | } |
| | | for (IvrLibaTemplateScript ivrLibaTemplateScript : ivrLibaTemplateScriptList) { |
| | | Map<String, Object> voicetData = new HashMap<>(); |
| | | voicetData.put("questionId", ivrLibaTemplateScript.getId()); |
| | | voicetData.put("libtemplateid", ivrLibaTemplateScript.getTemplateid()); |
| | | voicetData.put("questionContent", ivrLibaTemplateScript.getScriptContent()); |
| | | voicetData.put("questionTopic", ivrLibaTemplateScript.getScriptTopic()); |
| | | voicetData.put("questionType", ivrLibaTemplateScript.getScriptType()); |
| | | voicetData.put("categoryName", ivrLibaTemplateScript.getScriptAssortname()); |
| | | voicetData.put("categoryId", ivrLibaTemplateScript.getScriptAssortid()); |
| | | voicetDataList.add(voicetData); |
| | | } |
| | | } |
| | | //语音数据返回集合 |
| | | result.put("voiceDataList", voicetDataList); |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(questionReqVO.getScriptType()) || questionReqVO.getScriptType().equals("2")) { |
| | | List<Map<String, Object>> questionnaireDataList = new ArrayList<>(); |
| | | //获取满意度的分类 |
| | | SvyLibScriptCategory svyLibScriptCategory = new SvyLibScriptCategory(); |
| | | svyLibScriptCategory.setType("myd"); |
| | | if (!StringUtils.isEmpty(questionReqVO.getType())) svyLibScriptCategory.setType(questionReqVO.getType()); |
| | | List<SvyLibScriptCategory> svyLibScriptCategoryVOS = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory); |
| | | List<Long> assortIdList = Optional.ofNullable(svyLibScriptCategoryVOS).filter(list -> !list.isEmpty()).map(list -> list.stream().map(SvyLibScriptCategory::getId).collect(Collectors.toList())).orElse(Collections.emptyList()); |
| | | |
| | | //用来记录满意度的所有问题 |
| | | List<SvyLibTemplateScript> svyLibTemplateScriptList = new ArrayList<>(); |
| | | if (CollectionUtils.isNotEmpty(assortIdList)) { |
| | | for (Long categoryid : assortIdList) { |
| | | SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); |
| | | svyLibTemplateScript.setCategoryid(categoryid); |
| | | List<SvyLibTemplateScript> svyLibTemplateScripts = isvyLibTemplateScriptService.selectSvyLibTemplateScriptList(svyLibTemplateScript); |
| | | svyLibTemplateScriptList.addAll(svyLibTemplateScripts); |
| | | } |
| | | for (SvyLibTemplateScript svyLibTemplateScript : svyLibTemplateScriptList) { |
| | | Map<String, Object> voicetData = new HashMap<>(); |
| | | voicetData.put("questionId", svyLibTemplateScript.getId()); |
| | | voicetData.put("libtemplateid", svyLibTemplateScript.getSvyid()); |
| | | voicetData.put("questionContent", svyLibTemplateScript.getScriptContent()); |
| | | voicetData.put("questionTopic", svyLibTemplateScript.getScriptTopic()); |
| | | voicetData.put("questionType", svyLibTemplateScript.getScriptType()); |
| | | voicetData.put("categoryName", svyLibTemplateScript.getCategoryName()); |
| | | voicetData.put("categoryId", svyLibTemplateScript.getCategoryid()); |
| | | questionnaireDataList.add(voicetData); |
| | | } |
| | | } |
| | | //问卷数据返回集合 |
| | | result.put("questionnaireDataList", questionnaireDataList); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | } |