소스 검색

调查问卷需求

zouxuan 4 년 전
부모
커밋
2109e47271

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

@@ -2,8 +2,12 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface QuestionnaireQuestionDao extends BaseDAO<Long, QuestionnaireQuestion> {
 
-	
+
+    void batchDel(@Param("questionIdList") List<Long> delQuestionnaireQuestionIdList);
 }

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionItemDao.java

@@ -2,8 +2,18 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface QuestionnaireQuestionItemDao extends BaseDAO<Long, QuestionnaireQuestionItem> {
 
-	
+
+    void batchInsert(@Param("questionItemList") List<QuestionnaireQuestionItem> questionItemList,
+                     @Param("questionId") Long questionId,
+                     @Param("topicId") Integer topicId);
+
+    void batchDelByQuestionIdList(@Param("questionIdList") List<Long> delQuestionnaireQuestionIdList);
+
+    void batchUpdate(@Param("updateItemList") List<QuestionnaireQuestionItem> updateItemList);
 }

+ 39 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireQuestion.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(questionnaire_question):
  */
@@ -20,11 +22,13 @@ public class QuestionnaireQuestion {
 	private String type;
 	
 	/** 排序 */
-	private Integer sort;
+	private Integer sort = 0;
 	
 	/** 是否必填 */
-	private boolean isRequire;
-	
+	private boolean isRequire = true;
+
+	private boolean delFlag = false;
+
 	/** 问题描述 */
 	private String desc;
 	
@@ -33,7 +37,37 @@ public class QuestionnaireQuestion {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	//需要删除的答案选项
+	private List<Long> delQuestionnaireQuestionItemIdList;
+
+	//题目答案选项
+	private List<QuestionnaireQuestionItem> questionnaireQuestionItemList;
+
+	public boolean getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(boolean delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public List<Long> getDelQuestionnaireQuestionItemIdList() {
+		return delQuestionnaireQuestionItemIdList;
+	}
+
+	public void setDelQuestionnaireQuestionItemIdList(List<Long> delQuestionnaireQuestionItemIdList) {
+		this.delQuestionnaireQuestionItemIdList = delQuestionnaireQuestionItemIdList;
+	}
+
+	public List<QuestionnaireQuestionItem> getQuestionnaireQuestionItemList() {
+		return questionnaireQuestionItemList;
+	}
+
+	public void setQuestionnaireQuestionItemList(List<QuestionnaireQuestionItem> questionnaireQuestionItemList) {
+		this.questionnaireQuestionItemList = questionnaireQuestionItemList;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -78,7 +112,7 @@ public class QuestionnaireQuestion {
 		this.isRequire = isRequire;
 	}
 	
-	public boolean isIsRequire(){
+	public boolean getIsIsRequire(){
 		return this.isRequire;
 	}
 			

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

@@ -20,14 +20,34 @@ public class QuestionnaireQuestionItem {
 	private String answerValue;
 	
 	/** 排序 */
-	private Integer sort;
-	
+	private Integer sort = 0;
+
+	private Boolean isOver = false;
+
+	private Boolean delFlag = false;
+
 	/**  */
 	private java.util.Date createTime;
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public Boolean getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(Boolean delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public Boolean getIsOver() {
+		return isOver;
+	}
+
+	public void setIsOver(Boolean over) {
+		isOver = over;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 37 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/QuestionnaireTopic.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(questionnaire_topic):
  */
@@ -14,8 +16,10 @@ public class QuestionnaireTopic {
 	private String title;
 	
 	/** 发布状态(1-可见  0-不可见) */
-	private boolean status;
-	
+	private boolean status = false;
+
+	private boolean delFlag = false;
+
 	/** 创建人编号 */
 	private Integer creatorId;
 	
@@ -24,7 +28,37 @@ public class QuestionnaireTopic {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	//需要删除的问卷题
+	private List<Long> delQuestionnaireQuestionIdList;
+
+	//问卷题目
+	private List<QuestionnaireQuestion> questionnaireQuestionList;
+
+	public boolean getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(boolean delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public List<QuestionnaireQuestion> getQuestionnaireQuestionList() {
+		return questionnaireQuestionList;
+	}
+
+	public List<Long> getDelQuestionnaireQuestionIdList() {
+		return delQuestionnaireQuestionIdList;
+	}
+
+	public void setDelQuestionnaireQuestionIdList(List<Long> delQuestionnaireQuestionIdList) {
+		this.delQuestionnaireQuestionIdList = delQuestionnaireQuestionIdList;
+	}
+
+	public void setQuestionnaireQuestionList(List<QuestionnaireQuestion> questionnaireQuestionList) {
+		this.questionnaireQuestionList = questionnaireQuestionList;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/QuestionnaireTopicService.java

@@ -5,4 +5,9 @@ import com.ym.mec.common.service.BaseService;
 
 public interface QuestionnaireTopicService extends BaseService<Integer, QuestionnaireTopic> {
 
+    void add(QuestionnaireTopic questionnaireTopic);
+
+    void modify(QuestionnaireTopic questionnaireTopic);
+
+    QuestionnaireTopic getDetail(Integer topicId);
 }

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

@@ -18,5 +18,4 @@ public class QuestionnaireQuestionServiceImpl extends BaseServiceImpl<Long, Ques
 	public BaseDAO<Long, QuestionnaireQuestion> getDAO() {
 		return questionnaireQuestionDao;
 	}
-	
 }

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

@@ -1,5 +1,12 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.QuestionnaireQuestionDao;
+import com.ym.mec.biz.dal.dao.QuestionnaireQuestionItemDao;
+import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
+import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
+import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import com.ym.mec.common.dal.BaseDAO;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -7,16 +14,112 @@ import com.ym.mec.biz.dal.entity.QuestionnaireTopic;
 import com.ym.mec.biz.service.QuestionnaireTopicService;
 import com.ym.mec.biz.dal.dao.QuestionnaireTopicDao;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, QuestionnaireTopic>  implements QuestionnaireTopicService {
 	
 	@Autowired
 	private QuestionnaireTopicDao questionnaireTopicDao;
+	@Autowired
+	private QuestionnaireQuestionDao questionnaireQuestionDao;
+	@Autowired
+	private QuestionnaireQuestionItemDao questionnaireQuestionItemDao;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Integer, QuestionnaireTopic> getDAO() {
 		return questionnaireTopicDao;
 	}
-	
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void add(QuestionnaireTopic questionnaireTopic) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		questionnaireTopic.setCreatorId(sysUser.getId());
+		questionnaireTopicDao.insert(questionnaireTopic);
+		Integer topicId = questionnaireTopic.getId();
+		List<QuestionnaireQuestion> questionnaireQuestionList = questionnaireTopic.getQuestionnaireQuestionList();
+		if(questionnaireQuestionList != null && questionnaireQuestionList.size() > 0){
+			for (QuestionnaireQuestion questionnaireQuestion : questionnaireQuestionList) {
+				questionnaireQuestion.setQuestionnaireTopicId(topicId);
+				questionnaireQuestionDao.insert(questionnaireQuestion);
+				Long questionId = questionnaireQuestion.getId();
+				List<QuestionnaireQuestionItem> questionItemList = questionnaireQuestion.getQuestionnaireQuestionItemList();
+				if(questionItemList != null && questionItemList.size() > 0){
+					questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId);
+				}
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void modify(QuestionnaireTopic questionnaireTopic) {
+		Date date = new Date();
+		questionnaireTopic.setUpdateTime(date);
+		questionnaireTopicDao.update(questionnaireTopic);
+		Integer topicId = questionnaireTopic.getId();
+		List<Long> delQuestionnaireQuestionIdList = questionnaireTopic.getDelQuestionnaireQuestionIdList();
+		if(delQuestionnaireQuestionIdList != null && delQuestionnaireQuestionIdList.size() > 0){
+			questionnaireQuestionDao.batchDel(delQuestionnaireQuestionIdList);
+			questionnaireQuestionItemDao.batchDelByQuestionIdList(delQuestionnaireQuestionIdList);
+		}
+		List<QuestionnaireQuestion> questionnaireQuestionList = questionnaireTopic.getQuestionnaireQuestionList();
+		if(questionnaireQuestionList != null && questionnaireQuestionList.size() > 0){
+			//获取需要修改的问题
+			List<QuestionnaireQuestion> updateCollect = questionnaireQuestionList.stream().filter(e -> e.getId() != null).collect(Collectors.toList());
+			if(updateCollect != null && updateCollect.size() > 0){
+				for (QuestionnaireQuestion question : updateCollect) {
+					//需要删除的问题答案
+					List<Long> delQuestionnaireQuestionItemIdList = question.getDelQuestionnaireQuestionItemIdList();
+					if(delQuestionnaireQuestionItemIdList != null && delQuestionnaireQuestionItemIdList.size() > 0){
+						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);
+					}
+				}
+			}
+			//获取需要新增的问题
+			List<QuestionnaireQuestion> addCollect = questionnaireQuestionList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
+			if(addCollect.size() > 0){
+				for (QuestionnaireQuestion question : addCollect) {
+					question.setQuestionnaireTopicId(topicId);
+					questionnaireQuestionDao.insert(question);
+					Long questionId = question.getId();
+					List<QuestionnaireQuestionItem> questionItemList = question.getQuestionnaireQuestionItemList();
+					if(questionItemList != null && questionItemList.size() > 0){
+						questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId);
+					}
+				}
+			}
+		}
+	}
+
+	@Override
+	public QuestionnaireTopic getDetail(Integer topicId) {
+		QuestionnaireTopic questionnaireTopic = questionnaireTopicDao.get(topicId);
+		Map<String,Object> paramMap = new HashMap(1);
+		paramMap.put("topicId",topicId);
+		questionnaireTopic.setQuestionnaireQuestionList(questionnaireQuestionDao.findAll(paramMap));
+		return questionnaireTopic;
+	}
 }

+ 55 - 34
mec-biz/src/main/resources/config/mybatis/QuestionnaireQuestionItemMapper.xml

@@ -12,8 +12,10 @@
 		<result column="questionnaire_question_id_" property="questionnaireQuestionId" />
 		<result column="answer_value_" property="answerValue" />
 		<result column="sort_" property="sort" />
+		<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>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -28,46 +30,65 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO questionnaire_question_item (id_,questionnaire_topic_id_,questionnaire_question_id_,answer_value_,sort_,create_time_,update_time_) VALUES(#{id},#{questionnaireTopicId},#{questionnaireQuestionId},#{answerValue},#{sort},#{createTime},#{updateTime})
+		INSERT INTO questionnaire_question_item (questionnaire_topic_id_,questionnaire_question_id_,answer_value_,sort_,create_time_,update_time_)
+		VALUES(#{questionnaireTopicId},#{questionnaireQuestionId},#{answerValue},#{sort},NOW(),NOW())
 	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
+
+    <insert id="batchInsert" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO questionnaire_question_item (questionnaire_topic_id_,questionnaire_question_id_,answer_value_,sort_,is_over_,create_time_,update_time_)
+		VALUES
+		<foreach collection="questionItemList" item="item" separator=",">
+			(#{topicId},#{questionId},#{item.answerValue},#{item.sort},#{item.isOver},NOW(),NOW())
+		</foreach>
+	</insert>
+
+    <!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem">
 		UPDATE questionnaire_question_item <set>
-<if test="questionnaireQuestionId != null">
-questionnaire_question_id_ = #{questionnaireQuestionId},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="questionnaireTopicId != null">
-questionnaire_topic_id_ = #{questionnaireTopicId},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="sort != null">
-sort_ = #{sort},
-</if>
-<if test="answerValue != null">
-answer_value_ = #{answerValue},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
+		<if test="updateTime != null">
+			update_time_ = #{updateTime},
+		</if>
+		<if test="sort != null">
+			sort_ = #{sort},
+		</if>
+		<if test="isOver != null">
+			is_over_ = #{isOver},
+		</if>
+		<if test="answerValue != null">
+			answer_value_ = #{answerValue},
+		</if>
+		</set> WHERE id_ = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM questionnaire_question_item WHERE id_ = #{id} 
-	</delete>
-	
+	<update id="delete" >
+		UPDATE questionnaire_question_item SET del_flag_ = 1 WHERE id_ = #{id}
+	</update>
+	<update id="batchDelByQuestionIdList">
+		UPDATE questionnaire_question_item SET del_flag_ = 1 WHERE questionnaire_question_id_ IN
+		<foreach collection="questionIdList" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</update>
+	<update id="batchUpdate">
+		<foreach collection="updateItemList" item="item" separator=";">
+			UPDATE questionnaire_question_item
+			<set>
+				<if test="item.sort != null">
+					sort_ = #{item.sort},
+				</if>
+				<if test="item.isOver != null">
+					is_over_ = #{item.isOver},
+				</if>
+				<if test="item.answerValue != null">
+					answer_value_ = #{item.answerValue},
+				</if>
+					update_time_ = NOW()
+			</set>
+			WHERE id_ = #{item.id}
+		</foreach>
+	</update>
+
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="QuestionnaireQuestionItem" parameterType="map">
 		SELECT * FROM questionnaire_question_item ORDER BY id_ <include refid="global.limit"/>

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

@@ -16,6 +16,18 @@
 		<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" />
+			<result column="item_questionnaire_question_id_" property="questionnaireQuestionId" />
+			<result column="item_answer_value_" property="answerValue" />
+			<result column="item_sort_" property="sort" />
+			<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>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -25,58 +37,63 @@
 	
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="QuestionnaireQuestion">
-		SELECT * FROM questionnaire_question ORDER BY id_
+		SELECT qq.*,qqi.answer_value_ item_answer_value_,qqi.create_time_ item_create_time_,qqi.id_ item_id_,qqi.is_over_ item_is_over_,
+			   qqi.questionnaire_question_id_ item_questionnaire_question_id_,qqi.questionnaire_topic_id_ item_questionnaire_topic_id_,
+		       qqi.sort_ item_sort_,qqi.update_time_ item_update_time_
+		FROM questionnaire_question qq
+		LEFT JOIN questionnaire_question_item qqi ON qq.id_ = qqi.questionnaire_question_id_
+		<where>
+			qq.del_flag_ = 0 AND qqi.del_flag_ = 0
+			<if test="topicId != null">
+				AND qq.questionnaire_topic_id_ = #{topicId}
+			</if>
+		</where>
+		ORDER BY qq.sort_,qq.id_,qqi.sort_,qqi.id_
 	</select>
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireQuestion" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO questionnaire_question (id_,questionnaire_topic_id_,content_,type_,sort_,is_require_,desc_,create_time_,update_time_) VALUES(#{id},#{questionnaireTopicId},#{content},#{type},#{sort},#{isRequire},#{desc},#{createTime},#{updateTime})
+		INSERT INTO questionnaire_question (questionnaire_topic_id_,content_,type_,sort_,is_require_,desc_,create_time_,update_time_)
+		VALUES(#{questionnaireTopicId},#{content},#{type},#{sort},#{isRequire},#{desc},NOW(),NOW())
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireQuestion">
 		UPDATE questionnaire_question <set>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="questionnaireTopicId != null">
-questionnaire_topic_id_ = #{questionnaireTopicId},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="content != null">
-content_ = #{content},
-</if>
-<if test="sort != null">
-sort_ = #{sort},
-</if>
-<if test="type != null">
-type_ = #{type},
-</if>
-<if test="isRequire != null">
-is_require_ = #{isRequire},
-</if>
-<if test="desc != null">
-desc_ = #{desc},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
+		<if test="updateTime != null">
+			update_time_ = #{updateTime},
+		</if>
+		<if test="content != null">
+			content_ = #{content},
+		</if>
+		<if test="sort != null">
+			sort_ = #{sort},
+		</if>
+		<if test="type != null">
+			type_ = #{type},
+		</if>
+		<if test="isRequire != null">
+			is_require_ = #{isRequire},
+		</if>
+		<if test="desc != null">
+			desc_ = #{desc},
+		</if>
+		</set> WHERE id_ = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM questionnaire_question WHERE id_ = #{id} 
+	<update id="delete" >
+		UPDATE questionnaire_question SET del_flag_ = 1 WHERE id_ = #{id}
+	</update>
+
+    <delete id="batchDel">
+		UPDATE questionnaire_question SET del_flag_ = 1 WHERE id_ IN
+		<foreach collection="questionIdList" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
 	</delete>
-	
-	<!-- 分页查询 -->
+
+    <!-- 分页查询 -->
 	<select id="queryPage" resultMap="QuestionnaireQuestion" parameterType="map">
 		SELECT * FROM questionnaire_question ORDER BY id_ <include refid="global.limit"/>
 	</select>

+ 33 - 30
mec-biz/src/main/resources/config/mybatis/QuestionnaireTopicMapper.xml

@@ -13,6 +13,7 @@
 		<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>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -27,50 +28,52 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO questionnaire_topic (id_,title_,status_,creator_id_,create_time_,update_time_) VALUES(#{id},#{title},#{status},#{creatorId},#{createTime},#{updateTime})
+		INSERT INTO questionnaire_topic (title_,status_,creator_id_,create_time_,update_time_)
+		VALUES(#{title},#{status},#{creatorId},NOW(),NOW())
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic">
 		UPDATE questionnaire_topic <set>
-<if test="status != null">
-status_ = #{status},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="creatorId != null">
-creator_id_ = #{creatorId},
-</if>
-<if test="title != null">
-title_ = #{title},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
+		<if test="status != null">
+			status_ = #{status},
+		</if>
+		<if test="title != null">
+			title_ = #{title},
+		</if>
+		<if test="updateTime != null">
+			update_time_ = #{updateTime},
+		</if>
+		</set> WHERE id_ = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM questionnaire_topic WHERE id_ = #{id} 
-	</delete>
-	
+	<update id="delete" >
+		UPDATE questionnaire_topic SET del_flag_ = 1 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>
+			<if test="status != null">
+				AND status_ = #{status}
+			</if>
+		</where>
+	</sql>
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="QuestionnaireTopic" parameterType="map">
-		SELECT * FROM questionnaire_topic ORDER BY id_ <include refid="global.limit"/>
+		SELECT * FROM questionnaire_topic
+		<include refid="queryPageSql"/>
+		ORDER BY id_
+		<include refid="global.limit"/>
 	</select>
 	
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM questionnaire_topic
+		<include refid="queryPageSql"/>
 	</select>
 </mapper>

+ 21 - 23
mec-web/src/main/java/com/ym/mec/web/controller/QuestionnaireTopicController.java

@@ -1,8 +1,8 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.entity.ChargeType;
+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.service.ChargeTypeService;
 import com.ym.mec.biz.service.QuestionnaireTopicService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -10,16 +10,15 @@ import com.ym.mec.common.page.QueryInfo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 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 = "收费类型服务")
+@Api(tags = "问题分类")
 @RestController
 public class QuestionnaireTopicController extends BaseController {
 
@@ -31,26 +30,34 @@ public class QuestionnaireTopicController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/add')")
     @AuditLogAnnotation(operateName = "新增")
     public Object add(@RequestBody QuestionnaireTopic questionnaireTopic) {
-        questionnaireTopicService.insert(questionnaireTopic);
+        questionnaireTopicService.add(questionnaireTopic);
         return succeed();
     }
 
+    @ApiOperation(value = "获取详情")
+    @GetMapping("/getDetail")
+    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/getDetail')")
+    @AuditLogAnnotation(operateName = "新增")
+    public Object getDetail(Integer id) {
+        return succeed(questionnaireTopicService.getDetail(id));
+    }
+
     @ApiOperation(value = "修改")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/update')")
     @AuditLogAnnotation(operateName = "修改")
     public Object upSet(@RequestBody QuestionnaireTopic questionnaireTopic) {
-        questionnaireTopicService.update(questionnaireTopic);
+        questionnaireTopicService.modify(questionnaireTopic);
         return succeed();
     }
 
-    @ApiOperation(value = "删除")
-    @PostMapping("/del")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/del')")
-    public Object del(@ApiParam(value = "收费类型编号", required = true) @PathVariable("id") Integer id) {
-        questionnaireTopicService.delete(id);
-        return succeed();
-    }
+//    @ApiOperation(value = "删除")
+//    @PostMapping("/del")
+//    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/del')")
+//    public Object del(Integer id) {
+//        questionnaireTopicService.delete(id);
+//        return succeed();
+//    }
 
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
@@ -58,13 +65,4 @@ public class QuestionnaireTopicController extends BaseController {
     public Object queryPage(QueryInfo queryInfo) {
         return succeed(questionnaireTopicService.queryPage(queryInfo));
     }
-
-
-    @ApiOperation(value = "全查询")
-    @GetMapping("/findAll")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/findAll')")
-    public HttpResponseResult<List<QuestionnaireTopic>> findAll() {
-        return succeed(questionnaireTopicService.findAll(new HashMap<>()));
-    }
-
 }