|
@@ -0,0 +1,185 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+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.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.diagbot.client.UserServiceClient;
|
|
|
+import com.diagbot.dto.EvaluationModuleAllDTO;
|
|
|
+import com.diagbot.dto.EvaluationModuleMappingDTO;
|
|
|
+import com.diagbot.dto.RespDTO;
|
|
|
+import com.diagbot.entity.EvaluationModuleMapping;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.service.EvaluationModuleMappingService;
|
|
|
+import com.diagbot.service.impl.EvaluationModuleMappingServiceImpl;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.UserUtils;
|
|
|
+import com.diagbot.vo.EvaluationModuleDiseaseIdVO;
|
|
|
+import com.diagbot.vo.EvaluationModuleDiseaseNameVO;
|
|
|
+import com.diagbot.vo.EvaluationModuleListVO;
|
|
|
+import com.diagbot.vo.EvaluationModuleVO;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @author wangfeng
|
|
|
+ *
|
|
|
+ * @Description: TODO
|
|
|
+ * @date 2019年3月25日 下午4:19:09
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class EvaluationModuleMappingFacade extends EvaluationModuleMappingServiceImpl {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ UserServiceClient userServiceClient;
|
|
|
+ @Autowired
|
|
|
+ EvaluationModuleMappingService evaluationModuleMappingService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页模糊查询标签组维护接口
|
|
|
+ * @param page
|
|
|
+ * @param evaluationModuleDiseaseNameVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<EvaluationModuleMappingDTO> queryEvaluationModulePage(Page page,EvaluationModuleDiseaseNameVO evaluationModuleDiseaseNameVO) {
|
|
|
+ IPage<EvaluationModuleMappingDTO> datas = evaluationModuleMappingService.queryEvaluationModulePageAll(page,
|
|
|
+ evaluationModuleDiseaseNameVO);
|
|
|
+ List<EvaluationModuleMappingDTO> data = datas.getRecords();
|
|
|
+ List<String> modifierid = new ArrayList<>();
|
|
|
+ modifierid = data.stream().map(ac -> ac.getModifier()).collect(Collectors.toList());
|
|
|
+ Map<String, String> userNames = new HashMap<>();
|
|
|
+ if (modifierid.size() > 0) {
|
|
|
+ RespDTO<Map<String, String>> userNamesDTO = userServiceClient.getUserInfoByIds(modifierid);
|
|
|
+ if (userNamesDTO == null || !CommonErrorCode.OK.getCode().equals(userNamesDTO.code)) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
|
|
|
+ }
|
|
|
+ userNames = userNamesDTO.data;
|
|
|
+ }
|
|
|
+ List<EvaluationModuleMappingDTO> evaluationLists = new ArrayList<EvaluationModuleMappingDTO>();
|
|
|
+ for (EvaluationModuleMappingDTO evalua : data) {
|
|
|
+ EvaluationModuleMappingDTO dateNew = new EvaluationModuleMappingDTO();
|
|
|
+ dateNew.setId(evalua.getId());
|
|
|
+ dateNew.setCreator(evalua.getCreator());
|
|
|
+ dateNew.setGmtModified(evalua.getGmtModified());
|
|
|
+ dateNew.setDiseaseId(evalua.getDiseaseId());
|
|
|
+ dateNew.setGmtCreate(evalua.getGmtCreate());
|
|
|
+ dateNew.setModifier(userNames.get(evalua.getModifier()));
|
|
|
+ dateNew.setOrderNo(evalua.getOrderNo());
|
|
|
+ dateNew.setRegionName(evalua.getRegionName());
|
|
|
+ dateNew.setRegionType(evalua.getRegionType());
|
|
|
+ dateNew.setDiseaseName(evalua.getDiseaseName());
|
|
|
+ evaluationLists.add(dateNew);
|
|
|
+ }
|
|
|
+
|
|
|
+ return datas.setRecords(evaluationLists);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleDiseaseIdVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<EvaluationModuleAllDTO> getEvaluationModuleList(EvaluationModuleDiseaseIdVO evaluationModuleDiseaseIdVO) {
|
|
|
+ QueryWrapper<EvaluationModuleMapping> evaluationModuleQuery = new QueryWrapper<>();
|
|
|
+ evaluationModuleQuery.eq("disease_id", evaluationModuleDiseaseIdVO.getDiseaseId()).eq("is_deleted",
|
|
|
+ IsDeleteEnum.N.getKey());
|
|
|
+ List<EvaluationModuleMapping> datas = list(evaluationModuleQuery);
|
|
|
+ // 过滤
|
|
|
+ List<EvaluationModuleAllDTO> data = BeanUtil.listCopyTo(datas, EvaluationModuleAllDTO.class);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleListVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean updateEvaluationModuleList(EvaluationModuleListVO evaluationModuleListVO) {
|
|
|
+ EvaluationModuleDiseaseIdVO evaluationModuleDiseaseIdVO = new EvaluationModuleDiseaseIdVO();
|
|
|
+ evaluationModuleDiseaseIdVO.setDiseaseId(evaluationModuleListVO.getDiseaseId());
|
|
|
+ boolean res = cancelEvaluationModuleAll(evaluationModuleDiseaseIdVO);
|
|
|
+ List<EvaluationModuleMapping> evaluationModuleLsit = new ArrayList<EvaluationModuleMapping>();
|
|
|
+ List<EvaluationModuleVO> data = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ for (EvaluationModuleVO dataNew : data) {
|
|
|
+ EvaluationModuleMapping evaMou = new EvaluationModuleMapping();
|
|
|
+ evaMou.setDiseaseId(dataNew.getDiseaseId());
|
|
|
+ evaMou.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setGmtCreate(DateUtil.now());
|
|
|
+ evaMou.setGmtModified(DateUtil.now());
|
|
|
+ evaMou.setRegionName(dataNew.getRegionName());
|
|
|
+ evaMou.setRegionType(dataNew.getRegionType());
|
|
|
+ evaMou.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setOrderNo(dataNew.getOrderNo());
|
|
|
+ evaMou.setRemark(dataNew.getRemark());
|
|
|
+ evaluationModuleLsit.add(evaMou);
|
|
|
+ }
|
|
|
+
|
|
|
+ res = evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param indexConfigListVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean saveEvaluationModuleList(EvaluationModuleListVO evaluationModuleListVO) {
|
|
|
+ List<EvaluationModuleVO> evaluationData = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ List<String> regionName = new ArrayList<>();
|
|
|
+ for (EvaluationModuleVO e : evaluationData) {
|
|
|
+ regionName.add(e.getRegionName());
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<EvaluationModuleMapping> evaluationQuery = new QueryWrapper<>();
|
|
|
+
|
|
|
+ evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ List<EvaluationModuleMapping> dataUnique = list(evaluationQuery);
|
|
|
+ if (dataUnique != null && dataUnique.size() > 0) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
+ "该'" + dataUnique.get(0).getRegionName() + "'已存在");
|
|
|
+ }
|
|
|
+ List<EvaluationModuleMapping> evaluationModuleLsit = new ArrayList<EvaluationModuleMapping>();
|
|
|
+ List<EvaluationModuleVO> data = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ for (EvaluationModuleVO dataNew : data) {
|
|
|
+ EvaluationModuleMapping evaMou = new EvaluationModuleMapping();
|
|
|
+ evaMou.setDiseaseId(dataNew.getDiseaseId());
|
|
|
+ evaMou.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setGmtCreate(DateUtil.now());
|
|
|
+ evaMou.setGmtModified(DateUtil.now());
|
|
|
+ evaMou.setRegionName(dataNew.getRegionName());
|
|
|
+ evaMou.setRegionType(dataNew.getRegionType());
|
|
|
+ evaMou.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setOrderNo(dataNew.getOrderNo());
|
|
|
+ evaMou.setRemark(dataNew.getRemark());
|
|
|
+ evaluationModuleLsit.add(evaMou);
|
|
|
+ }
|
|
|
+
|
|
|
+ return evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleDiseaseIdVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean cancelEvaluationModuleAll(EvaluationModuleDiseaseIdVO evaluationModuleDiseaseIdVO) {
|
|
|
+ UpdateWrapper<EvaluationModuleMapping> evaluaNew = new UpdateWrapper<>();
|
|
|
+ evaluaNew.eq("disease_id", evaluationModuleDiseaseIdVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
|
|
|
+ .set("gmt_modified", DateUtil.now());
|
|
|
+ return update(new EvaluationModuleMapping(), evaluaNew);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|