Sfoglia il codice sorgente

Merge branch 'online1'

Joburgess 4 anni fa
parent
commit
a0bfb847f2

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionDao.java

@@ -1,7 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 package com.ym.mec.biz.dal.dao;
 
 
-import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
+import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
@@ -14,4 +14,11 @@ public interface QuestionnaireQuestionDao extends BaseDAO<Long, QuestionnaireQue
     List<QuestionnaireQuestion> findByTopicId(int topicId);
     List<QuestionnaireQuestion> findByTopicId(int topicId);
 
 
     List<QuestionnaireQuestion> queryQuestionList(Integer cooperationId);
     List<QuestionnaireQuestion> queryQuestionList(Integer cooperationId);
+
+    /**
+     * 根据活动类型获取问卷答案
+     * @param activeType
+     * @return
+     */
+    List<QuestionnaireQuestion> findByActiveType(String activeType);
 }
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireUserResultDao.java

@@ -36,4 +36,6 @@ public interface QuestionnaireUserResultDao extends BaseDAO<Long, QuestionnaireU
      * @return
      * @return
      */
      */
     List<QuestionnaireResultDto> getQuestionResult(@Param("activeId") Integer activeId, @Param("activeType") String activeType);
     List<QuestionnaireResultDto> getQuestionResult(@Param("activeId") Integer activeId, @Param("activeType") String activeType);
+
+    List<Map<Integer, String>> queryUserName(String activeType);
 }
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireTopic.java

@@ -17,6 +17,9 @@ public class QuestionnaireTopic {
 	/** 发布状态(1-可见  0-不可见) */
 	/** 发布状态(1-可见  0-不可见) */
 	private int status = 0;
 	private int status = 0;
 
 
+	/** 发布状态(是否可重复提交1是0否) */
+	private int againCommitFlag = 0;
+
 	/** 创建人编号 */
 	/** 创建人编号 */
 	private Integer creatorId;
 	private Integer creatorId;
 	
 	
@@ -32,6 +35,14 @@ public class QuestionnaireTopic {
 	//问卷题目
 	//问卷题目
 	private List<QuestionnaireQuestion> questionnaireQuestionList;
 	private List<QuestionnaireQuestion> questionnaireQuestionList;
 
 
+	public int getAgainCommitFlag() {
+		return againCommitFlag;
+	}
+
+	public void setAgainCommitFlag(int againCommitFlag) {
+		this.againCommitFlag = againCommitFlag;
+	}
+
 	public List<QuestionnaireQuestion> getQuestionnaireQuestionList() {
 	public List<QuestionnaireQuestion> getQuestionnaireQuestionList() {
 		return questionnaireQuestionList;
 		return questionnaireQuestionList;
 	}
 	}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/QuestionnaireUserResultService.java

@@ -21,7 +21,7 @@ public interface QuestionnaireUserResultService extends BaseService<Long, Questi
      * @param questionList
      * @param questionList
      * @return
      * @return
      */
      */
-    Map<String,Object> questionnaireUserResultExport(Integer cooperationId, List<QuestionnaireQuestion> questionList);
+    Map<String,Object> questionnaireUserResultExport(String activeType,Integer cooperationId, List<QuestionnaireQuestion> questionList);
 
 
     /**
     /**
      * 提交调查问卷
      * 提交调查问卷

+ 28 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java

@@ -37,12 +37,10 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 	@Autowired
 	@Autowired
 	private QuestionnaireQuestionItemDao questionnaireQuestionItemDao;
 	private QuestionnaireQuestionItemDao questionnaireQuestionItemDao;
 	@Autowired
 	@Autowired
-	private QuestionnaireQuestionDao questionnaireQuestionDao;
+	private QuestionnaireTopicDao questionnaireTopicDao;
 	@Autowired
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	@Autowired
-	private CooperationOrganService cooperationOrganService;
-	@Autowired
 	private TeacherDao teacherDao;
 	private TeacherDao teacherDao;
 
 
 	@Override
 	@Override
@@ -76,10 +74,10 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 	}
 	}
 
 
 	@Override
 	@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);
 		HashMap<String, Object> paramMap = new HashMap<>(2);
 		paramMap.put("activeId",cooperationId);
 		paramMap.put("activeId",cooperationId);
-		paramMap.put("activeType","REPLACEMENT");
+		paramMap.put("activeType",activeType);
 		List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
 		List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
 
 
 		Map<String,Object> resultMap = new HashMap<>(2);
 		Map<String,Object> resultMap = new HashMap<>(2);
@@ -99,7 +97,12 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 			Map<Integer, List<QuestionnaireUserResult>> userIdMap = userResults.stream().collect(Collectors.groupingBy(QuestionnaireUserResult::getUserId));
 			Map<Integer, List<QuestionnaireUserResult>> userIdMap = userResults.stream().collect(Collectors.groupingBy(QuestionnaireUserResult::getUserId));
 			List<Integer> userIdList = new ArrayList<>(userIdMap.keySet());
 			List<Integer> userIdList = new ArrayList<>(userIdMap.keySet());
 			Collections.sort(userIdList);
 			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,",")));
 			Map<Integer, String> phoneList = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(userIdList,",")));
 			for (Integer userId : userIdList) {
 			for (Integer userId : userIdList) {
 				List<QuestionnaireUserResult> userResultList = userIdMap.get(userId);
 				List<QuestionnaireUserResult> userResultList = userIdMap.get(userId);
@@ -156,16 +159,25 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 			throw new BizException("请填写问卷结果");
 			throw new BizException("请填写问卷结果");
 		}
 		}
 		QuestionnaireActiveTypeEnum activeType = replacementInstrumentActivity.getActiveType();
 		QuestionnaireActiveTypeEnum activeType = replacementInstrumentActivity.getActiveType();
-		if (questionnaireUserResultList != null && questionnaireUserResultList.size() > 0) {
-			//删除原来的问卷结果
-			questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),activeType.getCode());
-			for (QuestionnaireUserResult result : questionnaireUserResultList) {
-				result.setUserId(sysUser.getId());
-				result.setQuestionnaireTopicId(topicId);
-				result.setActiveType(activeType);
+		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.batchInsert1(questionnaireUserResultList);
 		}
 		}
-    }
+		//删除原来的问卷结果
+		questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),activeType.getCode());
+		for (QuestionnaireUserResult result : questionnaireUserResultList) {
+			result.setUserId(sysUser.getId());
+			result.setQuestionnaireTopicId(topicId);
+			result.setActiveType(activeType);
+		}
+		//新增问卷结果
+		questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+	}
 }
 }

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

@@ -472,7 +472,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                 if(studentGroupNamesMap.containsKey(eduOrganStudentListDto.getStudentId())){
                 if(studentGroupNamesMap.containsKey(eduOrganStudentListDto.getStudentId())){
                     eduOrganStudentListDto.setMusicGroupNames(studentGroupNamesMap.get(eduOrganStudentListDto.getStudentId()));
                     eduOrganStudentListDto.setMusicGroupNames(studentGroupNamesMap.get(eduOrganStudentListDto.getStudentId()));
                 }
                 }
-                if(hasVipCourseStudentIds.contains(eduOrganStudentListDto.getSubjectId())){
+                if(hasVipCourseStudentIds.contains(eduOrganStudentListDto.getStudentId())){
                     eduOrganStudentListDto.setHasVipGroup(1);
                     eduOrganStudentListDto.setHasVipGroup(1);
                 }
                 }
                 if(eduOrganStudentListDto.getCloudStudyUseNum()>0 && eduOrganStudentListDto.getCloudStudyUseTime()>0){
                 if(eduOrganStudentListDto.getCloudStudyUseNum()>0 && eduOrganStudentListDto.getCloudStudyUseTime()>0){

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -766,7 +766,7 @@
 		ORDER BY vg.create_time_ DESC LIMIT 1
 		ORDER BY vg.create_time_ DESC LIMIT 1
 	</select>
 	</select>
 
 
-    <select id="getHasVipCourseStudentIds" resultType="map">
+    <select id="getHasVipCourseStudentIds" resultType="int">
 		SELECT cssp.user_id_ FROM course_schedule_student_payment cssp
 		SELECT cssp.user_id_ FROM course_schedule_student_payment cssp
 		LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
 		LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
 		WHERE cssp.group_type_='VIP' AND cs.del_flag_=0
 		WHERE cssp.group_type_='VIP' AND cs.del_flag_=0

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionMapper.xml

@@ -119,4 +119,14 @@
 		LEFT JOIN questionnaire_question qq ON qq.questionnaire_topic_id_ = ric.topic_id_
 		LEFT JOIN questionnaire_question qq ON qq.questionnaire_topic_id_ = ric.topic_id_
 		WHERE ric.id_ = #{cooperationId} ORDER BY sort_
 		WHERE ric.id_ = #{cooperationId} ORDER BY sort_
 	</select>
 	</select>
+	<select id="findByActiveType" resultMap="QuestionnaireQuestion">
+		SELECT
+			qq.*
+		FROM
+			questionnaire_question qq
+		WHERE
+				qq.questionnaire_topic_id_ = ( SELECT questionnaire_topic_id_ FROM questionnaire_user_result WHERE active_type_ = 'CLOUD_TEACHER_FEEDBACK' LIMIT 1 )
+		ORDER BY
+			sort_
+	</select>
 </mapper>
 </mapper>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/QuestionnaireTopicMapper.xml

@@ -11,6 +11,7 @@
 		<result column="title_" property="title" />
 		<result column="title_" property="title" />
 		<result column="status_" property="status"/>
 		<result column="status_" property="status"/>
 		<result column="creator_id_" property="creatorId" />
 		<result column="creator_id_" property="creatorId" />
+		<result column="again_commit_flag_" property="againCommitFlag" />
 		<result column="create_time_" property="createTime" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
 	</resultMap>
@@ -27,13 +28,16 @@
 	
 	
 	<!-- 向数据库增加一条记录 -->
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO questionnaire_topic (title_,status_,creator_id_,create_time_,update_time_)
-		VALUES(#{title},#{status},#{creatorId},NOW(),NOW())
+		INSERT INTO questionnaire_topic (title_,status_,creator_id_,create_time_,update_time_,again_commit_flag_)
+		VALUES(#{title},#{status},#{creatorId},NOW(),NOW(),#{againCommitFlag})
 	</insert>
 	</insert>
 	
 	
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic">
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic">
 		UPDATE questionnaire_topic <set>
 		UPDATE questionnaire_topic <set>
+		<if test="againCommitFlag != null">
+			again_commit_flag_ = #{againCommitFlag},
+		</if>
 		<if test="status != null">
 		<if test="status != null">
 			status_ = #{status},
 			status_ = #{status},
 		</if>
 		</if>

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/QuestionnaireUserResultMapper.xml

@@ -30,6 +30,9 @@
 	<select id="findAll" resultMap="QuestionnaireUserResult">
 	<select id="findAll" resultMap="QuestionnaireUserResult">
 		SELECT * FROM questionnaire_user_result
 		SELECT * FROM questionnaire_user_result
 		<where>
 		<where>
+			<if test="userId != null">
+				AND user_id_ = #{userId}
+			</if>
 			<if test="activeId != null">
 			<if test="activeId != null">
 				AND active_id_ = #{activeId}
 				AND active_id_ = #{activeId}
 			</if>
 			</if>
@@ -197,4 +200,10 @@
 		GROUP BY qq.id_
 		GROUP BY qq.id_
 		ORDER BY qq.sort_
 		ORDER BY qq.sort_
 	</select>
 	</select>
+	<select id="queryUserName" resultType="java.util.Map">
+		SELECT qur.user_id_ `key`,su.username_ `value` FROM questionnaire_user_result qur
+		LEFT JOIN sys_user su ON su.id_ = qur.user_id_
+		WHERE qur.user_id_ IS NOT NULL AND qur.active_type_ = #{activeType} AND su.username_ IS NOT NULL
+		GROUP BY qur.user_id_
+	</select>
 </mapper>
 </mapper>

+ 45 - 5
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1034,7 +1034,7 @@
                 AND su.organ_id_=#{organId}
                 AND su.organ_id_=#{organId}
             </if>
             </if>
             <if test="search!=null and search!=''">
             <if test="search!=null and search!=''">
-                AND (stu.user_id_=#{search} OR su.username_ LIKE CONCAT('%', #{search}, '%'))
+                AND (t.user_id_=#{search} OR su.username_ LIKE CONCAT('%', #{search}, '%'))
             </if>
             </if>
         </where>
         </where>
     </sql>
     </sql>
@@ -1051,7 +1051,27 @@
             SUM(CASE WHEN smcr.play_time_ IS NULL THEN 0 ELSE play_time_ END) cloudStudyUseTime,
             SUM(CASE WHEN smcr.play_time_ IS NULL THEN 0 ELSE play_time_ END) cloudStudyUseTime,
             COUNT(DISTINCT DATE(smcr.create_time_)) cloudStudyUseDays,
             COUNT(DISTINCT DATE(smcr.create_time_)) cloudStudyUseDays,
             stu.membership_end_time_ membershipEndTime
             stu.membership_end_time_ membershipEndTime
-        FROM student stu
+        FROM (SELECT DISTINCT t1.user_id_ FROM ((
+                SELECT
+                sr.user_id_
+                FROM
+                student_registration sr
+                LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+                WHERE
+                mg.status_ = 'PROGRESS'
+                AND sr.music_group_status_ = 'NORMAL'
+                ) UNION ALL
+                (
+                SELECT
+                cssp.user_id_
+                FROM
+                course_schedule_student_payment cssp
+                LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
+                WHERE
+                cssp.group_type_ IN ( 'VIP', 'PRACTICE' )
+                AND cs.status_ = 'NOT_START'
+                )) t1) t
+            LEFT JOIN student stu ON t.user_id_=stu.user_id_
             LEFT JOIN sys_user su ON stu.user_id_=su.id_
             LEFT JOIN sys_user su ON stu.user_id_=su.id_
             LEFT JOIN sys_user tea ON stu.teacher_id_=tea.id_
             LEFT JOIN sys_user tea ON stu.teacher_id_=tea.id_
             LEFT JOIN `subject` sub ON stu.subject_id_list_ = sub.id_
             LEFT JOIN `subject` sub ON stu.subject_id_list_ = sub.id_
@@ -1073,9 +1093,29 @@
     </select>
     </select>
     <select id="countCloudStudyStudentData" resultType="int">
     <select id="countCloudStudyStudentData" resultType="int">
         SELECT
         SELECT
-            COUNT(stu.user_id_)
-        FROM student stu
-        LEFT JOIN sys_user su ON stu.user_id_=su.id_
+        COUNT( DISTINCT user_id_ )
+        FROM
+        ((
+        SELECT
+        sr.user_id_
+        FROM
+        student_registration sr
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        WHERE
+        mg.status_ = 'PROGRESS'
+        AND sr.music_group_status_ = 'NORMAL'
+        ) UNION ALL
+        (
+        SELECT
+        cssp.user_id_
+        FROM
+        course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
+        WHERE
+        cssp.group_type_ IN ( 'VIP', 'PRACTICE' )
+        AND cs.status_ = 'NOT_START'
+        )) t
+        LEFT JOIN sys_user su ON t.user_id_ = su.id_
         <include refid="queryCloudStudyStudentDataCondition" />
         <include refid="queryCloudStudyStudentDataCondition" />
     </select>
     </select>
 
 

+ 35 - 0
mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireUserResultController.java

@@ -1,16 +1,24 @@
 package com.ym.mec.student.controller;
 package com.ym.mec.student.controller;
 
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.QuestionnaireTopicDao;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
+import com.ym.mec.biz.dal.entity.QuestionnaireTopic;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
+import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import com.yonge.log.model.AuditLogAnnotation;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 
 
 @RequestMapping("questionnaireUserResult")
 @RequestMapping("questionnaireUserResult")
@@ -20,6 +28,10 @@ public class QuestionnaireUserResultController extends BaseController {
 
 
     @Autowired
     @Autowired
     private QuestionnaireUserResultService questionnaireUserResultService;
     private QuestionnaireUserResultService questionnaireUserResultService;
+    @Autowired
+    private QuestionnaireTopicDao questionnaireTopicDao;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
 
     @ApiOperation(value = "提交调查问卷")
     @ApiOperation(value = "提交调查问卷")
     @PostMapping("/add")
     @PostMapping("/add")
@@ -27,4 +39,27 @@ public class QuestionnaireUserResultController extends BaseController {
         questionnaireUserResultService.add(replacementInstrumentActivityDto);
         questionnaireUserResultService.add(replacementInstrumentActivityDto);
         return succeed();
         return succeed();
     }
     }
+
+    @ApiOperation(value = "是否可以提交问卷")
+    @GetMapping("/commitFlag")
+    public Object commitFlag(Integer cooperationId, QuestionnaireActiveTypeEnum activeType) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请登录");
+        }
+        HashMap<String, Object> paramMap = new HashMap<>(3);
+        paramMap.put("activeId",cooperationId);
+        paramMap.put("activeType",activeType.getCode());
+        paramMap.put("userId",sysUser.getId());
+        List<QuestionnaireUserResult> userResults = questionnaireUserResultService.findAll(paramMap);
+        if(userResults == null || userResults.size() == 0){
+            return succeed(true);
+        }
+        QuestionnaireUserResult result = userResults.get(0);
+        QuestionnaireTopic topic = questionnaireTopicDao.get(result.getQuestionnaireTopicId());
+        if(topic.getAgainCommitFlag() == 1){
+            return succeed(true);
+        }
+        return succeed(false);
+    }
 }
 }

+ 2 - 1
mec-util/src/main/java/com/ym/mec/util/excel/POIUtil.java

@@ -247,7 +247,8 @@ public class POIUtil {
 					cell = row.createCell(j);
 					cell = row.createCell(j);
 					try {
 					try {
 						if(data instanceof Map) {
 						if(data instanceof Map) {
-							obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
+							obj = ((Map<?, ?>) data).get(fieldColumns[j]);
+//							obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
 						}else {
 						}else {
 							obj = expressionParser.parseExpression(fieldColumns[j]).getValue(context);
 							obj = expressionParser.parseExpression(fieldColumns[j]).getValue(context);
 						}
 						}

+ 15 - 3
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireUserResultController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller;
 
 
 import com.ym.mec.biz.dal.dao.QuestionnaireQuestionDao;
 import com.ym.mec.biz.dal.dao.QuestionnaireQuestionDao;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
+import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
 import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
 import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
@@ -16,12 +17,15 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
+
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStream;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
+import static com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum.CLOUD_TEACHER_FEEDBACK;
+
 @RequestMapping("questionnaireUserResult")
 @RequestMapping("questionnaireUserResult")
 @Api(tags = "问题答案")
 @Api(tags = "问题答案")
 @RestController
 @RestController
@@ -42,8 +46,16 @@ public class QuestionnaireUserResultController extends BaseController {
     @ApiOperation(value = "导出")
     @ApiOperation(value = "导出")
     @RequestMapping("/export")
     @RequestMapping("/export")
     @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/export')")
     @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/export')")
-    public void questionnaireUserResultExport(Integer cooperationId, HttpServletResponse response) throws Exception {
-        List<QuestionnaireQuestion> questionList = questionnaireQuestionDao.queryQuestionList(cooperationId);
+    public void questionnaireUserResultExport(QuestionnaireActiveTypeEnum activeType, Integer cooperationId, HttpServletResponse response) throws Exception {
+        List<QuestionnaireQuestion> questionList;
+        if(cooperationId != null){
+            questionList = questionnaireQuestionDao.queryQuestionList(cooperationId);
+        }else {
+            if(activeType != CLOUD_TEACHER_FEEDBACK){
+                throw new BizException("报表中心暂不支持 {} 导出",CLOUD_TEACHER_FEEDBACK.getDesc());
+            }
+            questionList = questionnaireQuestionDao.findByActiveType(activeType.getCode());
+        }
         questionList.removeAll(Collections.singleton(null));
         questionList.removeAll(Collections.singleton(null));
         if(questionList != null && questionList.size() > 0){
         if(questionList != null && questionList.size() > 0){
             List<String> column = new ArrayList<>();
             List<String> column = new ArrayList<>();
@@ -54,7 +66,7 @@ public class QuestionnaireUserResultController extends BaseController {
             List<String> collect = questionList.stream().map(e -> e.getContent()).collect(Collectors.toList());
             List<String> collect = questionList.stream().map(e -> e.getContent()).collect(Collectors.toList());
             column.addAll(collect);
             column.addAll(collect);
             String[] header = column.toArray(new String[column.size()]);
             String[] header = column.toArray(new String[column.size()]);
-            Map<String,Object> resultMap = questionnaireUserResultService.questionnaireUserResultExport(cooperationId,questionList);
+            Map<String,Object> resultMap = questionnaireUserResultService.questionnaireUserResultExport(activeType.getCode(),cooperationId,questionList);
             List<Map<String,Object>> jsonObjectList = (List<Map<String,Object>>)resultMap.get("jsonObjectList");
             List<Map<String,Object>> jsonObjectList = (List<Map<String,Object>>)resultMap.get("jsonObjectList");
             if(jsonObjectList.size() == 0){
             if(jsonObjectList.size() == 0){
                 throw new BizException("暂无可导出数据");
                 throw new BizException("暂无可导出数据");