瀏覽代碼

调查问卷

zouxuan 4 年之前
父節點
當前提交
779ba1710f

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionItemDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface QuestionnaireQuestionItemDao extends BaseDAO<Long, QuestionnaireQuestionItem> {
 
@@ -20,4 +21,6 @@ public interface QuestionnaireQuestionItemDao extends BaseDAO<Long, Questionnair
     QuestionnaireQuestionItem findByQuestionId(Long questionId);
 
     void batchDel(@Param("itemIdList") List<Long> delQuestionnaireQuestionItemIdList);
+
+    List<Map<Integer, String>> queryUserName(@Param("cooperationId") Integer cooperationId);
 }

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java

@@ -87,8 +87,7 @@ 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(teacherDao.queryUserNameByIdList(userIdList));
+			Map<Integer, String> nameList = MapUtil.convertMybatisMap(questionnaireQuestionItemDao.queryUserName(cooperationId));
 			Map<Integer, String> phoneList = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(userIdList,",")));
 			for (Integer userId : userIdList) {
 				List<QuestionnaireUserResult> userResultList = userIdMap.get(userId);

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionItemMapper.xml

@@ -115,4 +115,8 @@
     <select id="findByQuestionId" resultMap="QuestionnaireQuestionItem">
 		SELECT * FROM questionnaire_question_item WHERE questionnaire_question_id_ = #{questionId} LIMIT 1
 	</select>
+	<select id="queryUserName" resultType="java.util.Map">
+		SELECT user_id_ `key`,user_name_ `value` FROM replacement_instrument_activity
+		WHERE replacement_instrument_cooperation_id_ = #{cooperationId}
+	</select>
 </mapper>

+ 4 - 5
mec-biz/src/main/resources/config/mybatis/QuestionnaireUserResultMapper.xml

@@ -129,7 +129,7 @@
 	<sql id="queryDetailPageSql">
 		<where>
 			<if test="search != null and search != ''">
-				qu.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%')
+				qu.user_id_ = #{search} OR ria.username_ LIKE CONCAT('%',#{search},'%') OR ria.mobile_no_ LIKE CONCAT('%',#{search},'%')
 			</if>
 			<if test="activeId != null">
 				AND qu.active_id_ = #{activeId}
@@ -158,12 +158,11 @@
 	</sql>
 	<select id="queryDetailPage" resultMap="QuestionnaireUserResultDto">
 		SELECT qu1.*,qur.username_,qur.phone_,qq.content_,GROUP_CONCAT(qqi.answer_value_ ORDER BY qqi.sort_) answer_value_
-		FROM (SELECT su.id_,CASE WHEN su.username_ IS NULL THEN ria.user_name_ ELSE su.username_ END username_,su.phone_ FROM questionnaire_user_result qu
-		LEFT JOIN sys_user su ON su.id_ = qu.user_id_
-		LEFT JOIN replacement_instrument_activity ria ON ria.replacement_instrument_cooperation_id_ = qu.active_id_
+		FROM (SELECT ria.user_id_ id_,ria.user_name_,ria.mobile_no_ phone_ FROM questionnaire_user_result qu
+		LEFT JOIN replacement_instrument_activity ria ON ria.replacement_instrument_cooperation_id_ = qu.active_id_ AND ria.user_id_ = qu.user_id_
 		AND ria.user_id_ = qu.user_id_
 		<include refid="queryDetailPageSql"/>
-		GROUP BY su.id_
+		GROUP BY ria.user_id_
 		<include refid="global.limit"/>) qur
 		LEFT JOIN questionnaire_user_result qu1 ON qur.id_ = qu1.user_id_
 		LEFT JOIN questionnaire_question qq ON qq.id_ = qu1.questionnaire_question_id_