zouxuan %!s(int64=4) %!d(string=hai) anos
pai
achega
a913a02025

+ 9 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireTopicServiceImpl.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dao.QuestionnaireQuestionItemDao;
 import com.ym.mec.biz.dal.dao.QuestionnaireUserResultDao;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.biz.service.QuestionnaireTopicService;
@@ -68,9 +69,12 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 		questionnaireTopicDao.update(questionnaireTopic);
 		Integer topicId = questionnaireTopic.getId();
 		List<Long> delQuestionnaireQuestionIdList = questionnaireTopic.getDelQuestionnaireQuestionIdList();
+		//调查问卷是否有用户参与
+		int num = questionnaireUserResultDao.countByTopicId(topicId);
 		if(delQuestionnaireQuestionIdList != null && delQuestionnaireQuestionIdList.size() > 0){
-			//调查问卷是否有用户参与
-			int num = questionnaireUserResultDao.countByTopicId(topicId);
+			if(num > 0){
+				throw new BizException("操作失败:该调查问卷已使用");
+			}
 			questionnaireQuestionDao.batchDel(delQuestionnaireQuestionIdList);
 			questionnaireQuestionItemDao.batchDelByQuestionIdList(delQuestionnaireQuestionIdList);
 		}
@@ -83,6 +87,9 @@ 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);

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

@@ -72,6 +72,6 @@
 		SELECT COUNT(*) FROM questionnaire_user_result
 	</select>
     <select id="countByTopicId" resultType="java.lang.Integer">
-		SELECT * FROM questionnaire_user_result WHERE id_ = #{id}
+		SELECT COUNT(id_) FROM questionnaire_user_result WHERE questionnaire_topic_id_ = #{topicId}
 	</select>
 </mapper>