|
@@ -0,0 +1,186 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.diagbot.client.UserServiceClient;
|
|
|
+import com.diagbot.dto.GetModuleInfoOneDTO;
|
|
|
+import com.diagbot.dto.ModuleInfoListDTO;
|
|
|
+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.DateUtil;
|
|
|
+import com.diagbot.util.UserUtils;
|
|
|
+import com.diagbot.vo.AddModuleInfoVO;
|
|
|
+import com.diagbot.vo.GetModuleInfoOneVO;
|
|
|
+import com.diagbot.vo.GetModuleInfoVO;
|
|
|
+import com.diagbot.vo.QuestionIdsVO;
|
|
|
+import com.diagbot.vo.UpdateModuleInfoVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+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
|
|
|
+ UserServiceClient userServiceClient;
|
|
|
+ @Autowired
|
|
|
+ DictionaryFacade dictionaryFacade;
|
|
|
+ @Autowired
|
|
|
+ QcQuestionFacade qcQuestionFacade;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据id删除标签模板
|
|
|
+ *
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean deleteByIdsFac(String ids) {
|
|
|
+ String userId = UserUtils.getCurrentPrincipleID();
|
|
|
+ Date date = DateUtil.now();
|
|
|
+ Map paramMap = new HashMap<>();
|
|
|
+ paramMap.put("delete", IsDeleteEnum.Y.getKey());
|
|
|
+ paramMap.put("ids", Arrays.asList(ids.split(",")));
|
|
|
+ paramMap.put("gmtModified", date);
|
|
|
+ paramMap.put("modifier", userId);
|
|
|
+
|
|
|
+ //删除模板
|
|
|
+ this.deleteByIds(paramMap);
|
|
|
+
|
|
|
+ //删除明细表
|
|
|
+ qcModuleDetailFacade.deleteByModuleIdFac(paramMap);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加模板
|
|
|
+ *
|
|
|
+ * @param addModulInfoVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean saveOrUpdateModuleInfo(AddModuleInfoVO addModulInfoVO) {
|
|
|
+ Long moduleId = null;
|
|
|
+ Boolean bac = false;
|
|
|
+ if (addModulInfoVO.getId() == null) {
|
|
|
+ String userId = UserUtils.getCurrentPrincipleID();
|
|
|
+ Date now = DateUtil.now();
|
|
|
+ QcModuleInfo moduleInfo = new QcModuleInfo();
|
|
|
+ BeanUtil.copyProperties(addModulInfoVO, moduleInfo);
|
|
|
+ moduleInfo.setCreator(userId);
|
|
|
+ moduleInfo.setModifier(userId);
|
|
|
+ moduleInfo.setGmtCreate(now);
|
|
|
+ moduleInfo.setGmtModified(now);
|
|
|
+ this.save(moduleInfo);
|
|
|
+ moduleId = moduleInfo.getId();
|
|
|
+ bac = qcModuleDetailFacade.saveOrUpdateInfos(addModulInfoVO, moduleId);
|
|
|
+ } else {
|
|
|
+ UpdateModuleInfoVO updateModuleInfoVO = new UpdateModuleInfoVO();
|
|
|
+ BeanUtil.copyProperties(addModulInfoVO, updateModuleInfoVO);
|
|
|
+ bac = this.updateModuleInfo(updateModuleInfoVO);
|
|
|
+ }
|
|
|
+ return bac;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改模板
|
|
|
+ *
|
|
|
+ * @param updateModuleInfoVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean updateModuleInfo(UpdateModuleInfoVO updateModuleInfoVO) {
|
|
|
+ String userId = UserUtils.getCurrentPrincipleID();
|
|
|
+ UpdateWrapper<QcModuleInfo> moduleInfoUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ moduleInfoUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("id", updateModuleInfoVO.getId())
|
|
|
+ .set("name", updateModuleInfoVO.getName())
|
|
|
+ .set("modifier", userId)
|
|
|
+ .set("gmt_modified", DateUtil.now())
|
|
|
+ .set("remark", updateModuleInfoVO.getRemark());
|
|
|
+ this.update(new QcModuleInfo(), moduleInfoUpdateWrapper);
|
|
|
+ AddModuleInfoVO addModuleInfoVO = new AddModuleInfoVO();
|
|
|
+ BeanUtil.copyProperties(updateModuleInfoVO, addModuleInfoVO);
|
|
|
+ return qcModuleDetailFacade.saveOrUpdateInfos(addModuleInfoVO, updateModuleInfoVO.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 模板维护页面获取模板列表
|
|
|
+ *
|
|
|
+ * @param getModuleInfoVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<ModuleInfoListDTO> getModuleInfoList(GetModuleInfoVO getModuleInfoVO) {
|
|
|
+ //获取模板信息
|
|
|
+ IPage<ModuleInfoListDTO> moduleInfoDTOIPage = this.getModuleInfoListByType(getModuleInfoVO);
|
|
|
+ return moduleInfoDTOIPage;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 模板维护页面获取模板列表
|
|
|
+ *
|
|
|
+ * @param getModuleInfoOneVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public GetModuleInfoOneDTO getModuleInfoOne(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<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);
|
|
|
+
|
|
|
+
|
|
|
+// Map<Integer, List<QcModuleDetail>> map = EntityUtil.makeEntityListMap(qcModuleDetailList, "groupId");
|
|
|
+// getModuleInfoOneDTO.setModuleDetail(map);
|
|
|
+ return getModuleInfoOneDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 获取模板信息
|
|
|
+// *
|
|
|
+// * @param moduleType
|
|
|
+// * @param type
|
|
|
+// * @return
|
|
|
+// */
|
|
|
+// public List<ModuleInfo> getModuleInfos(Long moduleType, String type) {
|
|
|
+// QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+// moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+// .eq("module_type", moduleType)
|
|
|
+// .eq("type", type);
|
|
|
+// return this.list(moduleInfoQueryWrapper);
|
|
|
+// }
|
|
|
+}
|