Browse Source

Merge remote-tracking branch 'origin/2021-04-28' into 2021-04-28

Joburgess 4 năm trước cách đây
mục cha
commit
cc6d2151b9
31 tập tin đã thay đổi với 510 bổ sung133 xóa
  1. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionDao.java
  2. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionItemDao.java
  3. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireUserResultDao.java
  4. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/QuestionnaireResultDto.java
  5. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/QuestionnaireUserResultDto.java
  6. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReplacementInstrumentActivityDto.java
  7. 0 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireQuestion.java
  8. 0 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireQuestionItem.java
  9. 0 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireTopic.java
  10. 23 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireUserResult.java
  11. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentActivity.java
  12. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentCooperation.java
  13. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/QuestionnaireUserResultQueryInfo.java
  14. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/QuestionnaireUserResultService.java
  15. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentActivityService.java
  16. 14 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireTopicServiceImpl.java
  17. 27 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java
  18. 141 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java
  19. 5 3
      mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionItemMapper.xml
  20. 5 5
      mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionMapper.xml
  21. 1 3
      mec-biz/src/main/resources/config/mybatis/QuestionnaireTopicMapper.xml
  22. 56 3
      mec-biz/src/main/resources/config/mybatis/QuestionnaireUserResultMapper.xml
  23. 6 2
      mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml
  24. 11 7
      mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentCooperationMapper.xml
  25. 27 0
      mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireTopicController.java
  26. 0 9
      mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireUserResultController.java
  27. 20 34
      mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentActivityController.java
  28. 0 7
      mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireTopicController.java
  29. 26 0
      mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireUserResultController.java
  30. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java
  31. 0 1
      mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentCooperationController.java

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

@@ -10,4 +10,6 @@ public interface QuestionnaireQuestionDao extends BaseDAO<Long, QuestionnaireQue
 
 
     void batchDel(@Param("questionIdList") List<Long> delQuestionnaireQuestionIdList);
+
+    List<QuestionnaireQuestion> findByTopicId(int topicId);
 }

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

@@ -16,4 +16,6 @@ public interface QuestionnaireQuestionItemDao extends BaseDAO<Long, Questionnair
     void batchDelByQuestionIdList(@Param("questionIdList") List<Long> delQuestionnaireQuestionIdList);
 
     void batchUpdate(@Param("updateItemList") List<QuestionnaireQuestionItem> updateItemList);
+
+    QuestionnaireQuestionItem findByQuestionId(Long questionId);
 }

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

@@ -1,7 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 public interface QuestionnaireUserResultDao extends BaseDAO<Long, QuestionnaireUserResult> {
 
@@ -12,4 +17,17 @@ public interface QuestionnaireUserResultDao extends BaseDAO<Long, QuestionnaireU
      * @return
      */
     int countByTopicId(Integer topicId);
+
+    void delByActiveIdAndUserId(@Param("activityId") Integer activityId, @Param("userId") Integer userId);
+
+    void batchInsert(@Param("questionnaireUserResultList") List<QuestionnaireUserResult> questionnaireUserResultList,
+                     @Param("activeType") String activeType,
+                     @Param("topicId") Integer topicId,
+                     @Param("activeId") Integer activeId);
+
+    void batchInsert1(@Param("questionnaireUserResultList") List<QuestionnaireUserResult> questionnaireUserResultList);
+
+    int findDetailCount(Map<String, Object> params);
+
+    List<QuestionnaireUserResultDto> queryDetailPage(Map<String, Object> params);
 }

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

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.dto;
+
+public class QuestionnaireResultDto{
+
+    //问题
+    private String content;
+
+    //答案
+    private String answerValue;
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getAnswerValue() {
+        return answerValue;
+    }
+
+    public void setAnswerValue(String answerValue) {
+        this.answerValue = answerValue;
+    }
+}

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/QuestionnaireUserResultDto.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+
+import java.util.List;
+
+public class QuestionnaireUserResultDto extends QuestionnaireUserResult{
+
+    private List<QuestionnaireResultDto> questionnaireResultDtoList;
+
+    public List<QuestionnaireResultDto> getQuestionnaireResultDtoList() {
+        return questionnaireResultDtoList;
+    }
+
+    public void setQuestionnaireResultDtoList(List<QuestionnaireResultDto> questionnaireResultDtoList) {
+        this.questionnaireResultDtoList = questionnaireResultDtoList;
+    }
+}

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReplacementInstrumentActivityDto.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
+import java.util.List;
+
+public class ReplacementInstrumentActivityDto extends ReplacementInstrumentActivity{
+
+    private List<QuestionnaireUserResult> questionnaireUserResultList;
+
+    public List<QuestionnaireUserResult> getQuestionnaireUserResultList() {
+        return questionnaireUserResultList;
+    }
+
+    public void setQuestionnaireUserResultList(List<QuestionnaireUserResult> questionnaireUserResultList) {
+        this.questionnaireUserResultList = questionnaireUserResultList;
+    }
+}

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireQuestion.java

@@ -26,8 +26,6 @@ public class QuestionnaireQuestion {
 	/** 是否必填 */
 	private int isRequire = 1;
 
-	private int delFlag = 0;
-
 	/** 问题描述 */
 	private String desc;
 	
@@ -108,14 +106,6 @@ public class QuestionnaireQuestion {
 		this.isRequire = isRequire;
 	}
 
-	public int getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(int delFlag) {
-		this.delFlag = delFlag;
-	}
-
 	public void setDesc(String desc){
 		this.desc = desc;
 	}

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireQuestionItem.java

@@ -24,8 +24,6 @@ public class QuestionnaireQuestionItem {
 
 	private int isOver = 0;
 
-	private int delFlag = 0;
-
 	/**  */
 	private java.util.Date createTime;
 	
@@ -40,14 +38,6 @@ public class QuestionnaireQuestionItem {
 		this.isOver = isOver;
 	}
 
-	public int getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(int delFlag) {
-		this.delFlag = delFlag;
-	}
-
 	public void setId(Long id){
 		this.id = id;
 	}

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

@@ -17,8 +17,6 @@ public class QuestionnaireTopic {
 	/** 发布状态(1-可见  0-不可见) */
 	private int status = 0;
 
-	private int delFlag = 0;
-
 	/** 创建人编号 */
 	private Integer creatorId;
 	
@@ -74,14 +72,6 @@ public class QuestionnaireTopic {
 		this.status = status;
 	}
 
-	public int getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(int delFlag) {
-		this.delFlag = delFlag;
-	}
-
 	public void setCreatorId(Integer creatorId){
 		this.creatorId = creatorId;
 	}

+ 23 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireUserResult.java

@@ -18,7 +18,7 @@ public class QuestionnaireUserResult {
 	private QuestionnaireActiveTypeEnum activeType;
 
 	/**  */
-	private Long activeId;
+	private Integer activeId;
 	
 	/**  */
 	private Integer questionnaireTopicId;
@@ -38,6 +38,26 @@ public class QuestionnaireUserResult {
 	/**  */
 	private java.util.Date updateTime;
 
+	private String username;
+
+	private String phone;
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
 	public QuestionnaireActiveTypeEnum getActiveType() {
 		return activeType;
 	}
@@ -46,11 +66,11 @@ public class QuestionnaireUserResult {
 		this.activeType = activeType;
 	}
 
-	public Long getActiveId() {
+	public Integer getActiveId() {
 		return activeId;
 	}
 
-	public void setActiveId(Long activeId) {
+	public void setActiveId(Integer activeId) {
 		this.activeId = activeId;
 	}
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentActivity.java

@@ -15,6 +15,8 @@ public class ReplacementInstrumentActivity {
 	/** 合作单位 */
 	private Integer cooperationOrganId;
 
+	private Integer topicId;
+
 	/** 合作单位 */
 	private String cooperationOrganName;
 	
@@ -62,6 +64,14 @@ public class ReplacementInstrumentActivity {
 	/**  */
 	private java.util.Date updateTime;
 
+	public Integer getTopicId() {
+		return topicId;
+	}
+
+	public void setTopicId(Integer topicId) {
+		this.topicId = topicId;
+	}
+
 	public Integer getOpenFlag() {
 		return openFlag;
 	}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentCooperation.java

@@ -24,6 +24,12 @@ public class ReplacementInstrumentCooperation {
     @ApiModelProperty(value = "合作单位id")
     private Integer cooperationOrganId;
 
+    @ApiModelProperty(value = "问卷编号")
+    private Integer topicId;
+
+    @ApiModelProperty(value = "问卷标题")
+    private String topicTitle;
+
     /**
      * 是否开启缴费 0-未开启 1-已开启
      */
@@ -70,6 +76,22 @@ public class ReplacementInstrumentCooperation {
     @ApiModelProperty(value = "缴费率")
     private BigDecimal payScale = BigDecimal.ZERO;
 
+    public String getTopicTitle() {
+        return topicTitle;
+    }
+
+    public void setTopicTitle(String topicTitle) {
+        this.topicTitle = topicTitle;
+    }
+
+    public Integer getTopicId() {
+        return topicId;
+    }
+
+    public void setTopicId(Integer topicId) {
+        this.topicId = topicId;
+    }
+
     public Integer getId() {
         return id;
     }

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/QuestionnaireUserResultQueryInfo.java

@@ -0,0 +1,16 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class QuestionnaireUserResultQueryInfo extends QueryInfo {
+
+	private Integer cooperationId;
+
+	public Integer getCooperationId() {
+		return cooperationId;
+	}
+
+	public void setCooperationId(Integer cooperationId) {
+		this.cooperationId = cooperationId;
+	}
+}

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

@@ -1,11 +1,13 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
-
 import java.util.List;
 
 public interface QuestionnaireUserResultService extends BaseService<Long, QuestionnaireUserResult> {
 
     void batchInsert(List<QuestionnaireUserResult> questionnaireUserResultList);
+
+    Object queryDetailPage(QueryInfo queryInfo);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentActivityService.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
 import com.ym.mec.biz.dal.dto.ReplacementPayDto;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
@@ -51,4 +53,9 @@ public interface ReplacementInstrumentActivityService extends BaseService<Intege
      */
     PageInfo<ReplacementInstrumentActivityStatDto> getPageList(ReplacementInstrumentActivityQueryInfo queryInfo);
 
+    Object apply(ReplacementInstrumentActivityDto replacementInstrumentActivityDto);
+
+    public void resultSync();
+
+    Object queryUserInfo(Integer cooperationOrganId, SysUser user);
 }

+ 14 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireTopicServiceImpl.java

@@ -71,10 +71,10 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 		List<Long> delQuestionnaireQuestionIdList = questionnaireTopic.getDelQuestionnaireQuestionIdList();
 		//调查问卷是否有用户参与
 		int num = questionnaireUserResultDao.countByTopicId(topicId);
+		if(num > 0){
+			throw new BizException("操作失败:该调查问卷已使用");
+		}
 		if(delQuestionnaireQuestionIdList != null && delQuestionnaireQuestionIdList.size() > 0){
-			if(num > 0){
-				throw new BizException("操作失败:该调查问卷已使用");
-			}
 			questionnaireQuestionDao.batchDel(delQuestionnaireQuestionIdList);
 			questionnaireQuestionItemDao.batchDelByQuestionIdList(delQuestionnaireQuestionIdList);
 		}
@@ -87,23 +87,22 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 					//需要删除的问题答案
 					List<Long> delQuestionnaireQuestionItemIdList = question.getDelQuestionnaireQuestionItemIdList();
 					if(delQuestionnaireQuestionItemIdList != null && delQuestionnaireQuestionItemIdList.size() > 0){
-						if(num > 0){
-							throw new BizException("操作失败:该调查问卷已使用");
-						}
 						questionnaireQuestionItemDao.batchDelByQuestionIdList(delQuestionnaireQuestionItemIdList);
 					}
 					questionnaireQuestionDao.update(question);
 					Long questionId = question.getId();
 					List<QuestionnaireQuestionItem> questionItemList = question.getQuestionnaireQuestionItemList();
-					//获取需要修改的答案
-					List<QuestionnaireQuestionItem> updateItemList = questionItemList.stream().filter(e -> e.getId() != null).collect(Collectors.toList());
-					if(updateItemList != null && updateItemList.size() > 0){
-						questionnaireQuestionItemDao.batchUpdate(updateItemList);
-					}
-					//获取删除的答案
-					List<QuestionnaireQuestionItem> insertItemList = questionItemList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
-					if(insertItemList != null && insertItemList.size() > 0){
-						questionnaireQuestionItemDao.batchInsert(insertItemList,questionId,topicId);
+					if(questionItemList != null && questionItemList.size() > 0){
+						//获取需要修改的答案
+						List<QuestionnaireQuestionItem> updateItemList = questionItemList.stream().filter(e -> e.getId() != null).collect(Collectors.toList());
+						if(updateItemList != null && updateItemList.size() > 0){
+							questionnaireQuestionItemDao.batchUpdate(updateItemList);
+						}
+						//获取删除的答案
+						List<QuestionnaireQuestionItem> insertItemList = questionItemList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+						if(insertItemList != null && insertItemList.size() > 0){
+							questionnaireQuestionItemDao.batchInsert(insertItemList,questionId,topicId);
+						}
 					}
 				}
 			}

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

@@ -1,14 +1,20 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.util.collection.MapUtil;
 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 com.ym.mec.biz.dal.dao.QuestionnaireUserResultDao;
 import org.springframework.stereotype.Service;
-
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, QuestionnaireUserResult>  implements QuestionnaireUserResultService {
@@ -23,6 +29,26 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 
 	@Override
 	public void batchInsert(List<QuestionnaireUserResult> questionnaireUserResultList) {
+		questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+	}
+
+	@Override
+	public Object queryDetailPage(QueryInfo 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.findDetailCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = questionnaireUserResultDao.queryDetailPage(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
 	}
 }

+ 141 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java

@@ -1,37 +1,32 @@
 package com.ym.mec.biz.service.impl;
 
+import ch.qos.logback.core.util.StringCollectionUtil;
 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.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatHead;
 import com.ym.mec.biz.dal.dto.ReplacementPayDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
-import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
 import com.ym.mec.biz.service.*;
 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.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 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.poi.ss.formula.functions.T;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
-
 import java.math.BigDecimal;
 import java.util.*;
 
@@ -64,11 +59,18 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     private SysUserCashAccountDetailService sysUserCashAccountDetailService;
     @Autowired
     private SysMessageService sysMessageService;
-
     @Autowired
     private CooperationOrganService cooperationOrganService;
     @Autowired
+    private StudentService studentService;
+    @Autowired
     private ReplacementInstrumentCooperationDao replacementInstrumentCooperationDao;
+    @Autowired
+    private QuestionnaireUserResultDao questionnaireUserResultDao;
+    @Autowired
+    private QuestionnaireQuestionDao questionnaireQuestionDao;
+    @Autowired
+    private QuestionnaireQuestionItemDao questionnaireQuestionItemDao;
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
@@ -134,6 +136,78 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         return replacementInstrumentActivity;
     }
 
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object apply(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败,请重新登陆");
+        }
+        replacementInstrumentActivity.setUserId(sysUser.getId());
+        //如果用户是43分部,那么修改用户信息
+        if (sysUser.getOrganId() == 43) {
+            CooperationOrgan cooperationOrgan = cooperationOrganService.get(replacementInstrumentActivity.getCooperationOrganId());
+            if (cooperationOrgan != null) {
+                sysUser.setOrganId(cooperationOrgan.getOrganId());
+                sysUser.setUpdateTime(new Date());
+                sysUserFeignService.updateSysUser(sysUser);
+            }
+        }
+        Integer topicId = replacementInstrumentActivity.getTopicId();
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(replacementInstrumentActivity.getCooperationOrganId());
+        //如果提交过调查问卷,那么覆盖之前的记录
+        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId());
+        if (replacementInstrumentCooperation != null && replacementInstrumentCooperation.getOpenPay().equals(YesOrNoEnum.YES)) {
+            replacementInstrumentActivity.setOpenFlag(1);
+        }
+        Boolean sendPush = false;
+        List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
+        if (activity != null) {
+            if (!activity.getPayStatus().equals(0)) {
+                throw new BizException("您已参与调查,谢谢参与!");
+            }
+            //覆盖之前的数据
+            replacementInstrumentActivity.setId(activity.getId());
+            replacementInstrumentActivityDao.update(replacementInstrumentActivity);
+
+            if(questionnaireUserResultList != null && questionnaireUserResultList.size() > 0){
+                //删除原来的问卷结果
+                questionnaireUserResultDao.delByActiveIdAndUserId(activity.getId(),sysUser.getId());
+            }
+            if (replacementInstrumentActivity.getInstrumentsId() != null && (activity.getInstrumentsId() == null || activity.getInstrumentsId() == 0)) {
+                sendPush = true;
+            }
+        } else {
+            replacementInstrumentActivityDao.insert(replacementInstrumentActivity);
+            sendPush = true;
+        }
+        if(questionnaireUserResultList != null && questionnaireUserResultList.size() > 0){
+            //新增问卷结果
+            questionnaireUserResultDao.batchInsert(questionnaireUserResultList,
+                    QuestionnaireActiveTypeEnum.REPLACEMENT.getCode(),
+                    topicId,activity.getId());
+        }
+        //已开启缴费推送购买链接
+        if (sendPush && replacementInstrumentActivity.getOpenFlag().equals(1) && replacementInstrumentActivity.getInstrumentsId() != null) {
+            ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
+            Map<Integer, String> userMap = new HashMap<>();
+            Map<Integer, String> userPhoneMap = new HashMap<>();
+            Integer userId = replacementInstrumentActivity.getUserId();
+            String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+            String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
+            userMap.put(userId, userId.toString());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", replacementInstrument.getBrand(), "");
+
+            userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userPhoneMap, null, 0, null, "STUDENT", replacementInstrument.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
+        }
+        return replacementInstrumentActivity;
+    }
+
     @Override
     public ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId) {
         return replacementInstrumentActivityDao.findByUserId(cooperationOrganId, userId);
@@ -390,4 +464,62 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void resultSync(){
+        //获取所有问卷结果
+        List<ReplacementInstrumentActivity> activities = replacementInstrumentActivityDao.findAll(new HashMap<>());
+        //获取所有问题
+        List<QuestionnaireQuestion> questionList = questionnaireQuestionDao.findByTopicId(2);
+        List<QuestionnaireUserResult> questionnaireUserResultList = new ArrayList<>();
+        for (ReplacementInstrumentActivity activity : activities) {
+            String questionResult = activity.getQuestionResult();
+            if(StringUtils.isEmpty(questionResult)){
+                continue;
+            }
+            String[] split = questionResult.split("");
+            for (int i = 0; i < split.length; i++) {
+                QuestionnaireUserResult result = new QuestionnaireUserResult();
+                QuestionnaireQuestion question = questionList.get(i);
+                //获取问题答案
+                QuestionnaireQuestionItem item = questionnaireQuestionItemDao.findByQuestionId(question.getId());
+                result.setUserId(activity.getUserId());
+                result.setActiveId(activity.getId());
+                result.setActiveType(QuestionnaireActiveTypeEnum.REPLACEMENT);
+                result.setQuestionnaireQuestionId(question.getId());
+                result.setQuestionnaireQuestionItemIdList(item.getId() + (Integer.parseInt(split[i]) == 0?1:0) + "");
+                result.setQuestionnaireTopicId(question.getQuestionnaireTopicId());
+                questionnaireUserResultList.add(result);
+            }
+        }
+        questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+    }
+
+    @Override
+    public Object queryUserInfo(Integer cooperationOrganId,SysUser user) {
+        ReplacementInstrumentActivity replacementInstrumentActivity = this.findByUserId(cooperationOrganId, user.getId());
+        if (replacementInstrumentActivity == null) {
+            Student student = studentService.get(user.getId());
+            replacementInstrumentActivity = new ReplacementInstrumentActivity();
+            replacementInstrumentActivity.setUserId(user.getId());
+            replacementInstrumentActivity.setClasses(student.getCurrentClass());
+            if (student.getCurrentGradeNum() != null) {
+                replacementInstrumentActivity.setGrade(student.getCurrentGradeNum().toString());
+            }
+            replacementInstrumentActivity.setCooperationOrganId(cooperationOrganId);
+            replacementInstrumentActivity.setUserName(StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername());
+            String subjectIdList = student.getSubjectIdList();
+            if (StringUtils.isNotEmpty(subjectIdList)) {
+                replacementInstrumentActivity.setSubjectId(Integer.parseInt(subjectIdList.split(",")[0]));
+            }
+        }
+        replacementInstrumentActivity.setMobileNo(user.getPhone());
+        CooperationOrgan cooperationOrgan = cooperationOrganService.get(cooperationOrganId);
+        if (cooperationOrgan != null) {
+            replacementInstrumentActivity.setCooperationOrganName(cooperationOrgan.getName());
+        }
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(cooperationOrganId);
+        replacementInstrumentActivity.setShowQuestion(replacementInstrumentCooperation.getShowQuestion());
+        return replacementInstrumentActivity;
+    }
 }

+ 5 - 3
mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionItemMapper.xml

@@ -15,7 +15,6 @@
 		<result column="is_over_" property="isOver"/>
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
-		<result column="del_flag_" property="delFlag"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -62,10 +61,10 @@
 	
 	<!-- 根据主键删除一条记录 -->
 	<update id="delete" >
-		UPDATE questionnaire_question_item SET del_flag_ = 1 WHERE id_ = #{id}
+		DELETE FROM questionnaire_question_item WHERE id_ = #{id}
 	</update>
 	<update id="batchDelByQuestionIdList">
-		UPDATE questionnaire_question_item SET del_flag_ = 1 WHERE questionnaire_question_id_ IN
+		DELETE FROM questionnaire_question_item WHERE questionnaire_question_id_ IN
 		<foreach collection="questionIdList" item="item" open="(" separator="," close=")">
 			#{item}
 		</foreach>
@@ -98,4 +97,7 @@
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM questionnaire_question_item
 	</select>
+    <select id="findByQuestionId" resultMap="QuestionnaireQuestionItem">
+		SELECT * FROM questionnaire_question_item WHERE questionnaire_question_id_ = #{questionId} LIMIT 1
+	</select>
 </mapper>

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

@@ -16,7 +16,6 @@
 		<result column="desc_" property="desc" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
-		<result column="del_flag_" property="delFlag"/>
 		<collection property="questionnaireQuestionItemList" ofType="com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem">
 			<result column="item_id_" property="id" />
 			<result column="item_questionnaire_topic_id_" property="questionnaireTopicId" />
@@ -26,7 +25,6 @@
 			<result column="item_is_over_" property="isOver"/>
 			<result column="item_create_time_" property="createTime" />
 			<result column="item_update_time_" property="updateTime" />
-			<result column="item_del_flag_" property="delFlag"/>
 		</collection>
 	</resultMap>
 	
@@ -43,7 +41,6 @@
 		FROM questionnaire_question qq
 		LEFT JOIN questionnaire_question_item qqi ON qq.id_ = qqi.questionnaire_question_id_
 		<where>
-			qq.del_flag_ != 1 AND qqi.del_flag_ != 1
 			<if test="topicId != null">
 				AND qq.questionnaire_topic_id_ = #{topicId}
 			</if>
@@ -83,11 +80,11 @@
 	
 	<!-- 根据主键删除一条记录 -->
 	<update id="delete" >
-		UPDATE questionnaire_question SET del_flag_ = 1 WHERE id_ = #{id}
+		DELETE FROM questionnaire_question WHERE id_ = #{id}
 	</update>
 
     <delete id="batchDel">
-		UPDATE questionnaire_question SET del_flag_ = 1 WHERE id_ IN
+		DELETE FROM questionnaire_question WHERE id_ IN
 		<foreach collection="questionIdList" item="item" open="(" separator="," close=")">
 			#{item}
 		</foreach>
@@ -102,4 +99,7 @@
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM questionnaire_question
 	</select>
+    <select id="findByTopicId" resultMap="QuestionnaireQuestion">
+		SELECT * FROM questionnaire_question WHERE questionnaire_topic_id_ = #{topicId}
+	</select>
 </mapper>

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

@@ -13,7 +13,6 @@
 		<result column="creator_id_" property="creatorId" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
-		<result column="del_flag_" property="delFlag"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -49,12 +48,11 @@
 	
 	<!-- 根据主键删除一条记录 -->
 	<update id="delete" >
-		UPDATE questionnaire_topic SET del_flag_ = 1 WHERE id_ = #{id}
+		DELETE FROM questionnaire_topic WHERE id_ = #{id}
 	</update>
 
 	<sql id="queryPageSql">
 		<where>
-			del_flag_ = 0
 			<if test="search != null and search != ''">
 				AND (id_ = #{search} OR title_ LIKE CONCAT('%',#{search},'%'))
 			</if>

+ 56 - 3
mec-biz/src/main/resources/config/mybatis/QuestionnaireUserResultMapper.xml

@@ -36,7 +36,27 @@
 		VALUES(#{userId},#{questionnaireTopicId},#{questionnaireQuestionId},#{questionnaireQuestionItemIdList},#{additionalValue}
 			  ,#{activeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{activeId},NOW(),NOW())
 	</insert>
-	
+
+	<insert id="batchInsert">
+		INSERT INTO questionnaire_user_result (user_id_,questionnaire_topic_id_,questionnaire_question_id_,
+		questionnaire_question_item_id_list_,additional_value_,active_type_,active_id_,create_time_,update_time_)
+		VALUES
+		<foreach collection="questionnaireUserResultList" item="item" separator=",">
+			(#{item.userId},#{topicId},#{item.questionnaireQuestionId},#{item.questionnaireQuestionItemIdList},#{item.additionalValue}
+			,#{activeType},#{activeId},NOW(),NOW())
+		</foreach>
+	</insert>
+
+	<insert id="batchInsert1">
+		INSERT INTO questionnaire_user_result (user_id_,questionnaire_topic_id_,questionnaire_question_id_,
+		questionnaire_question_item_id_list_,additional_value_,active_type_,active_id_,create_time_,update_time_)
+		VALUES
+		<foreach collection="questionnaireUserResultList" item="item" separator=",">
+			(#{item.userId},#{item.questionnaireTopicId},#{item.questionnaireQuestionId},#{item.questionnaireQuestionItemIdList},#{item.additionalValue}
+			,#{item.activeType},#{item.activeId},NOW(),NOW())
+		</foreach>
+	</insert>
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireUserResult">
 		UPDATE questionnaire_user_result <set>
@@ -71,8 +91,11 @@
 	<delete id="delete" >
 		DELETE FROM questionnaire_user_result WHERE id_ = #{id} 
 	</delete>
-	
-	<!-- 分页查询 -->
+    <delete id="delByActiveIdAndUserId">
+		DELETE FROM questionnaire_user_result WHERE active_id_ = #{activityId} AND user_id_ = #{userId}
+	</delete>
+
+    <!-- 分页查询 -->
 	<select id="queryPage" resultMap="QuestionnaireUserResult" parameterType="map">
 		SELECT * FROM questionnaire_user_result ORDER BY id_ <include refid="global.limit"/>
 	</select>
@@ -84,4 +107,34 @@
     <select id="countByTopicId" resultType="java.lang.Integer">
 		SELECT COUNT(id_) FROM questionnaire_user_result WHERE questionnaire_topic_id_ = #{topicId}
 	</select>
+	<select id="findDetailCount" resultType="java.lang.Integer">
+		SELECT COUNT(qu.id_) FROM questionnaire_user_result qu
+		LEFT JOIN sys_user su ON su.id_ = qu.user_id_
+		<include refid="queryDetailPageSql"/>
+		<include refid="global.limit"/>
+	</select>
+	<resultMap type="com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto" id="QuestionnaireUserResultDto" extends="QuestionnaireUserResult">
+		<collection property="questionnaireResultDtoList" ofType="com.ym.mec.biz.dal.dto.QuestionnaireResultDto">
+			<result property="content" column="content_"/>
+			<result property="answerValue" column="answer_value_"/>
+		</collection>
+	</resultMap>
+	<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},'%')
+			</if>
+		</where>
+	</sql>
+	<select id="queryDetailPage" resultMap="QuestionnaireUserResultDto">
+		SELECT qur.*,qq.content_,qqi.answer_value_,GROUP_CONCAT(qqi.answer_value_ ORDER BY qqi.sort_),qur.additional_value_
+		FROM (SELECT qu.*,su.username_,su.phone_ FROM questionnaire_user_result qu
+		LEFT JOIN sys_user su ON su.id_ = qu.user_id_
+		<include refid="queryDetailPageSql"/>
+		<include refid="global.limit"/>) qur
+		LEFT JOIN questionnaire_question qq ON qq.id_ = qur.questionnaire_question_id_
+		LEFT JOIN questionnaire_question_item qqi ON FIND_IN_SET(qqi.id_,qur.questionnaire_question_item_id_list_)
+		GROUP BY qur.user_id_,qq.id_
+		ORDER BY qur.user_id_
+	</select>
 </mapper>

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

@@ -9,6 +9,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity" id="ReplacementInstrumentActivity">
         <result column="id_" property="id"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="topic_id_" property="topicId"/>
         <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="user_id_" property="userId"/>
         <result column="user_name_" property="userName"/>
@@ -58,15 +59,18 @@
             keyColumn="id" keyProperty="id">
         INSERT INTO replacement_instrument_activity (cooperation_organ_id_, user_id_, user_name_, grade_, classes_,
                                                      mobile_no_, subject_id_, question_result_, instruments_id_,
-                                                     other_suggestion_, create_time_, update_time_)
+                                                     other_suggestion_,topic_id_, create_time_, update_time_)
         VALUES (#{cooperationOrganId}, #{userId}, #{userName}, #{grade}, #{classes}, #{mobileNo}, #{subjectId},
-                #{questionResult}, #{instrumentsId}, #{otherSuggestion}, NOW(), NOW())
+                #{questionResult}, #{instrumentsId}, #{otherSuggestion}, #{topicId}, NOW(), NOW())
     </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity">
         UPDATE replacement_instrument_activity
         <set>
+            <if test="topicId != null">
+                topic_id_ = #{topicId},
+            </if>
             <if test="subjectId != null">
                 subject_id_ = #{subjectId},
             </if>

+ 11 - 7
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentCooperationMapper.xml

@@ -7,6 +7,8 @@
         <result column="id_" property="id"/>
         <result column="organ_id_" property="organId"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="topic_id_" property="topicId"/>
+        <result column="topic_title_" property="topicTitle"/>
         <result column="open_pay_" property="openPay" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="show_question_" property="showQuestion" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="organName" property="organName"/>
@@ -24,11 +26,12 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation"
             useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         <!--@mbg.generated-->
-        insert into replacement_instrument_cooperation (id_, organ_id_, cooperation_organ_id_, open_pay_,show_question_, create_time_,
+        insert into replacement_instrument_cooperation (organ_id_, cooperation_organ_id_, open_pay_,show_question_,topic_id_, create_time_,
         update_time_
         )
-        values (#{id}, #{organId}, #{cooperationOrganId},
-        #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{showQuestion,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{createTime}, #{updateTime}
+        values (#{organId}, #{cooperationOrganId},
+        #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{showQuestion,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{topicId}, #{createTime}, #{updateTime}
         )
     </insert>
 
@@ -40,6 +43,9 @@
         <!--@mbg.generated-->
         update replacement_instrument_cooperation
         <set>
+            <if test="topicId != null">
+                topic_id_ = #{topicId},
+            </if>
             <if test="organId != null">
                 organ_id_ = #{organId},
             </if>
@@ -49,9 +55,6 @@
             <if test="openPay != null">
                 open_pay_ = #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
-            <if test="createTime != null">
-                create_time_ = #{createTime},
-            </if>
             <if test="updateTime != null">
                 update_time_ = NOW(),
             </if>
@@ -61,9 +64,10 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="ReplacementInstrumentCooperation" parameterType="map">
-        SELECT ric.*,o.name_ organName,co.name_ cooperationOrganName FROM replacement_instrument_cooperation ric
+        SELECT ric.*,o.name_ organName,co.name_ cooperationOrganName,qt.title_ topic_title_ FROM replacement_instrument_cooperation ric
         LEFT JOIN cooperation_organ co ON co.id_ = ric.cooperation_organ_id_
         LEFT JOIN organization o ON o.id_ = ric.organ_id_
+        LEFT JOIN questionnaire_topic qt ON qt.id_ = ric.topic_id_
         <include refid="queryPageSql"/>
         ORDER BY ric.id_ DESC
         <include refid="global.limit"/>

+ 27 - 0
mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireTopicController.java

@@ -0,0 +1,27 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.biz.service.QuestionnaireTopicService;
+import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("questionnaireTopic")
+@Api(tags = "问题分类")
+@RestController
+public class QuestionnaireTopicController extends BaseController {
+
+    @Autowired
+    private QuestionnaireTopicService questionnaireTopicService;
+
+    @ApiOperation(value = "获取题目详情详情")
+    @GetMapping("/getDetail")
+    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/getDetail')")
+    @AuditLogAnnotation(operateName = "获取题目详情详情")
+    public Object getDetail(Integer id) {
+        return succeed(questionnaireTopicService.getDetail(id));
+    }
+}

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

@@ -3,14 +3,12 @@ package com.ym.mec.student.controller;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.List;
 
 @RequestMapping("questionnaireUserResult")
@@ -29,11 +27,4 @@ public class QuestionnaireUserResultController extends BaseController {
         questionnaireUserResultService.batchInsert(questionnaireUserResultList);
         return succeed();
     }
-
-    @ApiOperation(value = "分页查询")
-    @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/queryPage')")
-    public Object queryPage(QueryInfo queryInfo) {
-        return succeed(questionnaireUserResultService.queryPage(queryInfo));
-    }
 }

+ 20 - 34
mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentActivityController.java

@@ -2,17 +2,13 @@ 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.ReplacementInstrumentCooperationDao;
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
 import com.ym.mec.biz.dal.dto.ReplacementPayDto;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ReplacementInstrumentActivityService;
 import com.ym.mec.biz.service.ReplacementInstrumentCooperationService;
-import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
@@ -20,7 +16,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,10 +33,6 @@ public class ReplacementInstrumentActivityController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
     @Autowired
-    private StudentService studentService;
-    @Autowired
-    private CooperationOrganService cooperationOrganService;
-    @Autowired
     private ReplacementInstrumentCooperationService replacementInstrumentCooperationService;
 
     @ApiOperation(value = "新增调查问卷")
@@ -50,6 +41,24 @@ public class ReplacementInstrumentActivityController extends BaseController {
         return succeed(replacementInstrumentActivityService.add(replacementInstrumentActivity));
     }
 
+    @ApiOperation(value = "新版新增调查问卷")
+    @PostMapping("/apply")
+    public Object apply(ReplacementInstrumentActivityDto replacementInstrumentActivityDto) {
+        return succeed(replacementInstrumentActivityService.apply(replacementInstrumentActivityDto));
+    }
+
+    @ApiOperation(value = "获取学员基本信息")
+    @GetMapping("queryUserInfoByCooperationId")
+    public Object queryUserInfoByCooperationId(Integer cooperationId) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationService.get(cooperationId);
+        Integer cooperationOrganId = replacementInstrumentCooperation.getCooperationOrganId();
+        return replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user);
+    }
+
     @ApiOperation(value = "获取学员基本信息")
     @GetMapping("queryUserInfo")
     public Object queryUserInfo(Integer cooperationOrganId) {
@@ -57,30 +66,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
         if (user == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        ReplacementInstrumentActivity replacementInstrumentActivity = replacementInstrumentActivityService.findByUserId(cooperationOrganId, user.getId());
-        if (replacementInstrumentActivity == null) {
-            Student student = studentService.get(user.getId());
-            replacementInstrumentActivity = new ReplacementInstrumentActivity();
-            replacementInstrumentActivity.setUserId(user.getId());
-            replacementInstrumentActivity.setClasses(student.getCurrentClass());
-            if (student.getCurrentGradeNum() != null) {
-                replacementInstrumentActivity.setGrade(student.getCurrentGradeNum().toString());
-            }
-            replacementInstrumentActivity.setCooperationOrganId(cooperationOrganId);
-            replacementInstrumentActivity.setUserName(StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername());
-            String subjectIdList = student.getSubjectIdList();
-            if (StringUtils.isNotEmpty(subjectIdList)) {
-                replacementInstrumentActivity.setSubjectId(Integer.parseInt(subjectIdList.split(",")[0]));
-            }
-        }
-        replacementInstrumentActivity.setMobileNo(user.getPhone());
-        CooperationOrgan cooperationOrgan = cooperationOrganService.get(cooperationOrganId);
-        if (cooperationOrgan != null) {
-            replacementInstrumentActivity.setCooperationOrganName(cooperationOrgan.getName());
-        }
-        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationService.getByCooperationId(cooperationOrganId);
-        replacementInstrumentActivity.setShowQuestion(replacementInstrumentCooperation.getShowQuestion());
-        return succeed(replacementInstrumentActivity);
+        return succeed(replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user));
     }
 
     @ApiOperation(value = "修改调查问卷")

+ 0 - 7
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireTopicController.java

@@ -1,22 +1,15 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.QuestionnaireTopic;
 import com.ym.mec.biz.dal.page.QuestionnaireTopicQueryInfo;
 import com.ym.mec.biz.service.QuestionnaireTopicService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.page.QueryInfo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
 
 @RequestMapping("questionnaireTopic")
 @Api(tags = "问题分类")

+ 26 - 0
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireUserResultController.java

@@ -0,0 +1,26 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.service.QuestionnaireUserResultService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("questionnaireUserResult")
+@Api(tags = "问题答案")
+@RestController
+public class QuestionnaireUserResultController extends BaseController {
+
+    @Autowired
+    private QuestionnaireUserResultService questionnaireUserResultService;
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/queryPage')")
+    public Object queryPage(QueryInfo queryInfo) {
+        return succeed(questionnaireUserResultService.queryDetailPage(queryInfo));
+    }
+}

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -89,6 +89,12 @@ public class ReplacementInstrumentActivityController extends BaseController {
         return succeed(replacementInstrumentActivityService.queryReplacementsStat(queryInfo));
     }
 
+    @ApiOperation(value = "统计信息查询")
+    @GetMapping("/resultSync")
+    public void resultSync() {
+        replacementInstrumentActivityService.resultSync();
+    }
+
     @ApiOperation(value = "修改")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/update')")

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

@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;