|
@@ -0,0 +1,77 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.diagbot.dto.GetModuleInfoOneDTO;
|
|
|
+import com.diagbot.dto.QcModuleDetailDTO;
|
|
|
+import com.diagbot.dto.QuestionDTO;
|
|
|
+import com.diagbot.entity.QcModuleDetail;
|
|
|
+import com.diagbot.entity.QcModuleInfo;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.service.impl.QcModuleInfoServiceImpl;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
+import com.diagbot.vo.GetModuleInfoOneVO;
|
|
|
+import com.diagbot.vo.QuestionIdsVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:
|
|
|
+ * @Author:zhoutg
|
|
|
+ * @time: 2018/11/23 11:37
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ QcModuleDetailFacade qcModuleDetailFacade;
|
|
|
+ @Autowired
|
|
|
+ QcQuestionFacade qcQuestionFacade;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据id获取模板信息
|
|
|
+ *
|
|
|
+ * @param getModuleInfoOneVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public GetModuleInfoOneDTO getById(GetModuleInfoOneVO getModuleInfoOneVO) {
|
|
|
+ GetModuleInfoOneDTO getModuleInfoOneDTO = new GetModuleInfoOneDTO();
|
|
|
+ //获取模板信息
|
|
|
+ QueryWrapper<QcModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("id", getModuleInfoOneVO.getModuleId());
|
|
|
+ QcModuleInfo moduleInfo = this.getOne(moduleInfoQueryWrapper, false);
|
|
|
+ if (null == moduleInfo) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
+ "模板已删除【" + getModuleInfoOneVO.getModuleId() + "】");
|
|
|
+ }
|
|
|
+ BeanUtil.copyProperties(moduleInfo, getModuleInfoOneDTO);
|
|
|
+ List<QcModuleDetail> qcModuleDetailList = qcModuleDetailFacade.list(new QueryWrapper<QcModuleDetail>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("module_id", getModuleInfoOneDTO.getId())
|
|
|
+ .orderByDesc("order_no")
|
|
|
+ );
|
|
|
+ List<QcModuleDetailDTO> qcModuleDetailDTOList = BeanUtil.listCopyTo(qcModuleDetailList, QcModuleDetailDTO.class);
|
|
|
+
|
|
|
+ // 根据questionId获取所有的标签
|
|
|
+ List<String> questionIds = qcModuleDetailList.stream().map(r -> r.getQuestionId().toString()).collect(Collectors.toList());
|
|
|
+ QuestionIdsVO questionIdsVO = new QuestionIdsVO();
|
|
|
+ questionIdsVO.setIds(String.join(",", questionIds));
|
|
|
+ Map<Long, QuestionDTO> questionDTOMap = qcQuestionFacade.getByIds(questionIdsVO);
|
|
|
+ for (QcModuleDetailDTO bean : qcModuleDetailDTOList) {
|
|
|
+ QuestionDTO questionDTO = questionDTOMap.get(bean.getQuestionId());
|
|
|
+ if (questionDTO != null) {
|
|
|
+ bean.setQuestionDTO(questionDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<Integer, List<QcModuleDetailDTO>> map = EntityUtil.makeEntityListMap(qcModuleDetailDTOList, "groupId");
|
|
|
+ getModuleInfoOneDTO.setModuleDetail(map);
|
|
|
+ return getModuleInfoOneDTO;
|
|
|
+ }
|
|
|
+}
|