Browse Source

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into oa_update

zouxuan 3 years ago
parent
commit
9519c6e4c5

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

@@ -38,4 +38,8 @@ public interface QuestionnaireUserResultDao extends BaseDAO<Long, QuestionnaireU
     List<QuestionnaireResultDto> getQuestionResult(@Param("activeId") Integer activeId, @Param("activeType") String activeType);
 
     List<Map<Integer, String>> queryUserName(String activeType);
+
+    List<QuestionnaireUserResultDto> findResultCount(Map<String, Object> params);
+
+    int countResultCount(Map<String, Object> params);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/QuestionnaireResultDto.java

@@ -15,6 +15,16 @@ public class QuestionnaireResultDto{
 
     private String additionalValue;
 
+    private String type;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
     public String getAdditionalValue() {
         return additionalValue;
     }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/QuestionnaireActiveTypeEnum.java

@@ -5,7 +5,8 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum QuestionnaireActiveTypeEnum implements BaseEnum<String, QuestionnaireActiveTypeEnum> {
 	REPLACEMENT("REPLACEMENT", "乐器置换"),
 	CLOUD_TEACHER_FEEDBACK("CLOUD_TEACHER_FEEDBACK", "云教练用户反馈"),
-	MUSIC_GROUP_QUESTION("MUSIC_GROUP_QUESTION", "乐团满意度调查");
+	MUSIC_GROUP_QUESTION("MUSIC_GROUP_QUESTION", "乐团满意度调查"),
+	ENTERPRISE_CUSTOMIZATION("ENTERPRISE_CUSTOMIZATION", "管乐迷定制问卷");
 
 	private String code;
 

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

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import org.json.JSONObject;
@@ -29,4 +30,15 @@ public interface QuestionnaireUserResultService extends BaseService<Long, Questi
      * @return
      */
     void add(ReplacementInstrumentActivityDto replacementInstrumentActivityDto);
+
+    /**
+    * @description: 提交调查问卷(没有活动)
+     * @param replacementInstrumentActivity
+    * @return void
+    * @author zx
+    * @date 2021/12/2 17:24
+    */
+    void addResult(ReplacementInstrumentActivityDto replacementInstrumentActivity);
+
+    Object queryResultPage(QuestionnaireUserResultQueryInfo queryInfo);
 }

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

@@ -69,7 +69,6 @@ public class UploadFileService {
 		String url = storagePluginContext.uploadFile(KS3StoragePlugin.PLUGIN_NAME,staticFloder + folder, file);
 
 		FileUtils.deleteQuietly(file);
-
 		uploadReturn.setStatus(true);
 		uploadReturn.setUrl(url);
 		return uploadReturn;

+ 41 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java

@@ -9,6 +9,7 @@ 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.QuestionnaireUserResultQueryInfo;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
 import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -17,6 +18,7 @@ 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.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.json.JSONObject;
@@ -194,4 +196,43 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 		//新增问卷结果
 		questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
 	}
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void addResult(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
+		Integer topicId = replacementInstrumentActivity.getTopicId();
+
+		List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
+		if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
+			throw new BizException("请填写问卷结果");
+		}
+		Long time = new Date().getTime();
+		for (QuestionnaireUserResult result : questionnaireUserResultList) {
+			result.setUserId(time.intValue());
+			result.setQuestionnaireTopicId(topicId);
+			result.setActiveType(QuestionnaireActiveTypeEnum.ENTERPRISE_CUSTOMIZATION);
+		}
+		//新增问卷结果
+		questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+    }
+
+	@Override
+	public Object queryResultPage(QuestionnaireUserResultQueryInfo queryInfo) {
+		PageInfo<QuestionnaireUserResultDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<QuestionnaireUserResultDto> dataList = null;
+		int count = questionnaireUserResultDao.countResultCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = questionnaireUserResultDao.findResultCount(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

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

@@ -106,14 +106,36 @@
 	</delete>
 
     <!-- 分页查询 -->
+	<select id="findResultCount" resultMap="QuestionnaireUserResultDto" parameterType="map">
+		SELECT qu1.*,qq.content_,GROUP_CONCAT(qqi.answer_value_ ORDER BY qqi.sort_) answer_value_,qq.type_
+		FROM (SELECT qu.user_id_ id_ FROM questionnaire_user_result qu
+		WHERE qu.questionnaire_topic_id_ = #{topicId}
+		<if test="search != null and search != ''">
+			AND (qu.user_id_ = #{search} OR qu.additional_value_ LIKE CONCAT('%',#{search},'%'))
+		</if>
+		GROUP BY qu.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_
+		LEFT JOIN questionnaire_question_item qqi ON FIND_IN_SET(qqi.id_,qu1.questionnaire_question_item_id_list_)
+		WHERE qu1.questionnaire_topic_id_ = #{topicId}
+		GROUP BY qu1.user_id_,qq.id_
+		ORDER BY qu1.user_id_,qq.sort_
+	</select>
+	<!-- 查询当前表的总记录数 -->
+	<select id="countResultCount" resultType="int">
+		SELECT COUNT(DISTINCT qu.user_id_) FROM questionnaire_user_result qu WHERE qu.questionnaire_topic_id_ = #{topicId}
+	</select>
+
+	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="QuestionnaireUserResult" parameterType="map">
 		SELECT * FROM questionnaire_user_result ORDER BY id_ <include refid="global.limit"/>
 	</select>
-	
+
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM questionnaire_user_result
 	</select>
+
     <select id="countByTopicId" resultType="java.lang.Integer">
 		SELECT COUNT(id_) FROM questionnaire_user_result WHERE questionnaire_topic_id_ = #{topicId}
 	</select>
@@ -137,6 +159,7 @@
 			<result column="questionnaire_question_id_" property="questionnaireQuestionId" />
 			<result column="questionnaire_question_item_id_list_" property="questionnaireQuestionItemIdList" />
 			<result column="additional_value_" property="additionalValue" />
+			<result column="type_" property="type" />
 		</collection>
 	</resultMap>
 	<sql id="queryDetailPageSql">

+ 10 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/UploadReturnBean.java

@@ -20,6 +20,16 @@ public class UploadReturnBean {
 
 	private String message;// 上传失败 返回原因
 
+	private String name;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
 	public String getUrl() {
 		return url;
 	}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java

@@ -38,7 +38,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                         "/replacementInstrumentActivity/queryReplacementsStat", "/eduStudentRegistration/queryPreApplyList",
                         "/eduSubject/findSubSubjects", "/eduFinancialExpenditure/batchAdd", "/eduSendNotice/*",
                         "/oaContracts/*", "/eduStudent/organStudentOverView", "/activity/countCloudTeacherActive",
-                        "/activity/organDoubleEleven2021Statis", "/activity/doubleEleven2021Statis").permitAll().anyRequest().authenticated().and().httpBasic();
+                        "/activity/organDoubleEleven2021Statis", "/activity/doubleEleven2021Statis", "/questionnaireTopic/getDetail", "/questionnaireUserResult/add").permitAll().anyRequest().authenticated().and().httpBasic();
     }
 
     @Override

+ 1 - 2
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireTopicController.java

@@ -30,8 +30,7 @@ public class QuestionnaireTopicController extends BaseController {
 
     @ApiOperation(value = "获取详情")
     @GetMapping("/getDetail")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/getDetail')")
-    @AuditLogAnnotation(operateName = "新增")
+    @AuditLogAnnotation(operateName = "获取详情")
     public Object getDetail(Integer id) {
         return succeed(questionnaireTopicService.getDetail(id));
     }

+ 17 - 2
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireUserResultController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.dao.QuestionnaireQuestionDao;
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
 import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
 import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
@@ -14,7 +15,7 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -36,13 +37,27 @@ public class QuestionnaireUserResultController extends BaseController {
     @Autowired
     private QuestionnaireQuestionDao questionnaireQuestionDao;
 
+    @ApiOperation(value = "添加调查问卷(非活动)")
+    @RequestMapping("/add")
+    public Object queryPage(@RequestBody ReplacementInstrumentActivityDto replacementInstrumentActivity) {
+        questionnaireUserResultService.addResult(replacementInstrumentActivity);
+        return succeed();
+    }
+
     @ApiOperation(value = "分页查询")
-    @GetMapping("/queryPage")
+    @RequestMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/queryPage')")
     public Object queryPage(QuestionnaireUserResultQueryInfo queryInfo) {
         return succeed(questionnaireUserResultService.queryDetailPage(queryInfo));
     }
 
+    @ApiOperation(value = "分页查询")
+    @RequestMapping("/queryResultPage")
+    @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/queryResultPage')")
+    public Object queryResultPage(QuestionnaireUserResultQueryInfo queryInfo) {
+        return succeed(questionnaireUserResultService.queryResultPage(queryInfo));
+    }
+
     @ApiOperation(value = "导出")
     @RequestMapping("/export")
     @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/export')")

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java

@@ -34,6 +34,7 @@ public class UploadFileController extends BaseController {
 		try {
 			if (file != null && StringUtils.isNotBlank(file.getOriginalFilename())) {
 				UploadReturnBean bean = uploadFileService.uploadFile(file.getInputStream(), UploadUtil.getExtension(file.getOriginalFilename()));
+				bean.setName(file.getOriginalFilename());
 				if (bean.isStatus()) {
 					return succeed(bean);
 				}