|
@@ -1,23 +1,30 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
|
|
|
-import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
|
|
|
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
|
|
|
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
|
|
|
import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
|
|
|
+import com.ym.mec.biz.service.CooperationOrganService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.page.QueryInfo;
|
|
|
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
+import com.ym.mec.util.http.HttpUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
-import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
|
|
|
import com.ym.mec.biz.service.QuestionnaireUserResultService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -30,7 +37,9 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
|
|
|
@Autowired
|
|
|
private QuestionnaireQuestionItemDao questionnaireQuestionItemDao;
|
|
|
@Autowired
|
|
|
- private QuestionnaireQuestionDao questionnaireQuestionDao;
|
|
|
+ private QuestionnaireTopicDao questionnaireTopicDao;
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
@Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
|
|
@@ -65,10 +74,10 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String,Object> questionnaireUserResultExport(Integer cooperationId,List<QuestionnaireQuestion> questionList) {
|
|
|
+ public Map<String,Object> questionnaireUserResultExport(String activeType,Integer cooperationId,List<QuestionnaireQuestion> questionList) {
|
|
|
HashMap<String, Object> paramMap = new HashMap<>(2);
|
|
|
paramMap.put("activeId",cooperationId);
|
|
|
- paramMap.put("activeType","REPLACEMENT");
|
|
|
+ paramMap.put("activeType",activeType);
|
|
|
List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
|
|
|
|
|
|
Map<String,Object> resultMap = new HashMap<>(2);
|
|
@@ -88,7 +97,12 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
|
|
|
Map<Integer, List<QuestionnaireUserResult>> userIdMap = userResults.stream().collect(Collectors.groupingBy(QuestionnaireUserResult::getUserId));
|
|
|
List<Integer> userIdList = new ArrayList<>(userIdMap.keySet());
|
|
|
Collections.sort(userIdList);
|
|
|
- Map<Integer, String> nameList = MapUtil.convertMybatisMap(questionnaireQuestionItemDao.queryUserName(cooperationId));
|
|
|
+ Map<Integer, String> nameList;
|
|
|
+ if(cooperationId != null){
|
|
|
+ nameList = MapUtil.convertMybatisMap(questionnaireQuestionItemDao.queryUserName(cooperationId));
|
|
|
+ }else {
|
|
|
+ nameList = MapUtil.convertMybatisMap(questionnaireUserResultDao.queryUserName(activeType));
|
|
|
+ }
|
|
|
Map<Integer, String> phoneList = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(userIdList,",")));
|
|
|
for (Integer userId : userIdList) {
|
|
|
List<QuestionnaireUserResult> userResultList = userIdMap.get(userId);
|
|
@@ -130,4 +144,40 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
|
|
|
resultMap.put("body",body);
|
|
|
return resultMap;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void add(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (sysUser == null) {
|
|
|
+ throw new BizException("用户信息获取失败,请重新登陆");
|
|
|
+ }
|
|
|
+ Integer topicId = replacementInstrumentActivity.getTopicId();
|
|
|
+
|
|
|
+ List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
|
|
|
+ if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
|
|
|
+ throw new BizException("请填写问卷结果");
|
|
|
+ }
|
|
|
+ QuestionnaireActiveTypeEnum activeType = replacementInstrumentActivity.getActiveType();
|
|
|
+ QuestionnaireTopic topic = questionnaireTopicDao.get(topicId);
|
|
|
+ if(topic.getAgainCommitFlag() == 0){
|
|
|
+ HashMap<String, Object> paramMap = new HashMap<>(3);
|
|
|
+ paramMap.put("activeId",replacementInstrumentActivity.getReplacementInstrumentCooperationId());
|
|
|
+ paramMap.put("activeType",activeType.getCode());
|
|
|
+ paramMap.put("userId",sysUser.getId());
|
|
|
+ List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
|
|
|
+ if(userResults != null && userResults.size() > 0){
|
|
|
+ throw new BizException("您已提交问卷,请勿重复操作");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //删除原来的问卷结果
|
|
|
+ questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),activeType.getCode());
|
|
|
+ for (QuestionnaireUserResult result : questionnaireUserResultList) {
|
|
|
+ result.setUserId(sysUser.getId());
|
|
|
+ result.setQuestionnaireTopicId(topicId);
|
|
|
+ result.setActiveType(activeType);
|
|
|
+ }
|
|
|
+ //新增问卷结果
|
|
|
+ questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
|
|
|
+ }
|
|
|
}
|