|
@@ -8,6 +8,7 @@ import com.diagbot.dto.QuestionDTO;
|
|
|
import com.diagbot.dto.QuestionPageDTO;
|
|
|
import com.diagbot.entity.CommonParam;
|
|
|
import com.diagbot.entity.QcModuleInfo;
|
|
|
+import com.diagbot.entity.QcQuestionEntry;
|
|
|
import com.diagbot.entity.QcQuestionInfo;
|
|
|
import com.diagbot.entity.QcQuestionMapping;
|
|
|
import com.diagbot.entity.wrapper.QuestionInfoWrapper;
|
|
@@ -15,8 +16,10 @@ import com.diagbot.entity.wrapper.QuestionMappingWrapper;
|
|
|
import com.diagbot.entity.wrapper.QuestionWrapper;
|
|
|
import com.diagbot.enums.InsertOrUpdateEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.enums.TagTypeEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.service.QcQuestionEntryService;
|
|
|
import com.diagbot.service.QcQuestionMappingService;
|
|
|
import com.diagbot.service.impl.QcQuestionInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
@@ -26,6 +29,7 @@ import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
import com.diagbot.vo.DeleteQuestionVO;
|
|
|
+import com.diagbot.vo.QuesCasesEntryVO;
|
|
|
import com.diagbot.vo.QuestionIdsVO;
|
|
|
import com.diagbot.vo.QuestionIndexVO;
|
|
|
import com.diagbot.vo.QuestionPageVO;
|
|
@@ -34,7 +38,6 @@ import com.diagbot.vo.QuestionVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
-
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
@@ -65,6 +68,13 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
|
|
|
// ModuleDetailFacade moduleDetailFacade;
|
|
|
@Autowired
|
|
|
QcModuleInfoFacade qcModuleInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ QcCacesEntryFacade qcCacesEntryFacade;
|
|
|
+ @Autowired
|
|
|
+ QcQuestionEntryFacade qcQuestionEntryFacade;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("qcQuestionEntryServiceImpl")
|
|
|
+ QcQuestionEntryService questionEntryService;
|
|
|
|
|
|
/**
|
|
|
* 标签保存
|
|
@@ -76,8 +86,10 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
|
|
|
CommonParam param = initCommonParam();
|
|
|
//保存|修改主表信息
|
|
|
saveQuestionInfo(questionWrapper, param);
|
|
|
- // 保存映射表
|
|
|
+ // 保存组合标签和字标签映射表
|
|
|
saveQuestionMapping(questionWrapper, param);
|
|
|
+ // 保存标签和条目映射表
|
|
|
+ saveQuestionEntry(questionWrapper.getQuesCasesEntryVOList(), param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -112,6 +124,46 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 保存标签和条目映射关系
|
|
|
+ *
|
|
|
+ * @param quesCasesEntryVOList
|
|
|
+ * @param param
|
|
|
+ */
|
|
|
+ public void saveQuestionEntry(List<QuesCasesEntryVO> quesCasesEntryVOList, CommonParam param) {
|
|
|
+ if (ListUtil.isEmpty(quesCasesEntryVOList)) {
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+
|
|
|
+ Date now = param.getNow();
|
|
|
+ String person = param.getPerson();
|
|
|
+
|
|
|
+ //先删除原明细
|
|
|
+ qcQuestionEntryFacade.update(new QcQuestionEntry(),
|
|
|
+ new UpdateWrapper<QcQuestionEntry>()
|
|
|
+ .eq("question_id", param.getQcQuestionInfo().getId())
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .set("gmt_modified", now)
|
|
|
+ .set("modifier", person)
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey()));
|
|
|
+
|
|
|
+ //再插入新明细
|
|
|
+ List<QcQuestionEntry> qcQuestionEntryList = new ArrayList<>();
|
|
|
+ int i = 1;
|
|
|
+ for (QuesCasesEntryVO vo : quesCasesEntryVOList) {
|
|
|
+ QcQuestionEntry bean = new QcQuestionEntry();
|
|
|
+ bean.setQuestionId(param.getQcQuestionInfo().getId());
|
|
|
+ bean.setCasesEntryId(vo.getCasesEntryId());
|
|
|
+ bean.setCreator(person);
|
|
|
+ bean.setGmtCreate(now);
|
|
|
+ bean.setModifier(person);
|
|
|
+ bean.setGmtModified(now);
|
|
|
+ bean.setOrderNo(i++);
|
|
|
+ qcQuestionEntryList.add(bean);
|
|
|
+ }
|
|
|
+ questionEntryService.saveBatch(qcQuestionEntryList);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 删除映射关系
|
|
|
*
|
|
@@ -343,6 +395,11 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
|
|
|
QuestionDTO res = new QuestionDTO();
|
|
|
BeanUtil.copyProperties(questionInfo, res);
|
|
|
|
|
|
+ // 如果是单标签且有明细内容,就获取条目内容Fac
|
|
|
+ if (TagTypeEnum.T1.getKey() == res.getTagType()) {
|
|
|
+ res.setQuesCasesEntryDTOList(qcQuestionEntryFacade.getByQuestionIdFac(questionVO.getId()));
|
|
|
+ }
|
|
|
+
|
|
|
//获取子标签
|
|
|
List<QuestionInfoWrapper> questionMapping = this.getByQuestionMapping(paramMap);
|
|
|
List<QuestionDTO> sonQuestionList = BeanUtil.listCopyTo(questionMapping, QuestionDTO.class);
|