|
@@ -0,0 +1,189 @@
|
|
|
+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.DiseaseInfoDTO;
|
|
|
+import com.diagbot.dto.EvaluationModuleAllDTO;
|
|
|
+import com.diagbot.dto.EvaluationModuleMappingDTO;
|
|
|
+import com.diagbot.dto.RespDTO;
|
|
|
+import com.diagbot.entity.Evaluation;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.service.EvaluationService;
|
|
|
+import com.diagbot.service.impl.EvaluationServiceImpl;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
+import com.diagbot.util.RespDTOUtil;
|
|
|
+import com.diagbot.util.UserUtils;
|
|
|
+import com.diagbot.vo.DiseaseNameVO;
|
|
|
+import com.diagbot.vo.EvaluationDiseaseIdVO;
|
|
|
+import com.diagbot.vo.EvaluationDiseaseNameVO;
|
|
|
+import com.diagbot.vo.EvaluationListVO;
|
|
|
+import com.diagbot.vo.EvaluationVO;
|
|
|
+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.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @author wangfeng
|
|
|
+ *
|
|
|
+ * @Description: TODO
|
|
|
+ * @date 2019年3月25日 下午4:19:09
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class EvaluationFacade extends EvaluationServiceImpl {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ UserServiceClient userServiceClient;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("evaluationFacade")
|
|
|
+ EvaluationService evaluationModuleMappingService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页模糊查询标签组维护接口
|
|
|
+ *
|
|
|
+ * @param evaluationModuleDiseaseNameVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<EvaluationModuleMappingDTO> queryEvaluationModulePage(EvaluationDiseaseNameVO evaluationModuleDiseaseNameVO) {
|
|
|
+ IPage<EvaluationModuleMappingDTO> datas
|
|
|
+ = evaluationModuleMappingService.queryEvaluationModulePageAll(evaluationModuleDiseaseNameVO);
|
|
|
+ List<EvaluationModuleMappingDTO> data = datas.getRecords();
|
|
|
+ List<String> modifierid
|
|
|
+ = data.stream().map(ac -> ac.getModifier()).collect(Collectors.toList());
|
|
|
+ Map<String, String> userNames = new HashMap<>();
|
|
|
+ if (ListUtil.isNotEmpty(modifierid)) {
|
|
|
+ RespDTO<Map<String, String>> userNamesDTO = userServiceClient.getUserInfoByIds(modifierid);
|
|
|
+ if (RespDTOUtil.respIsNG(userNamesDTO)) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
|
|
|
+ }
|
|
|
+ userNames = userNamesDTO.data;
|
|
|
+ }
|
|
|
+ List<EvaluationModuleMappingDTO> evaluationLists = new ArrayList<EvaluationModuleMappingDTO>();
|
|
|
+ for (EvaluationModuleMappingDTO evalua : data) {
|
|
|
+ EvaluationModuleMappingDTO dateNew = new EvaluationModuleMappingDTO();
|
|
|
+ BeanUtil.copyProperties(evalua,dateNew);
|
|
|
+ dateNew.setModifier(userNames.get(evalua.getModifier()));
|
|
|
+ evaluationLists.add(dateNew);
|
|
|
+ }
|
|
|
+
|
|
|
+ return datas.setRecords(evaluationLists);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleDiseaseIdVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<EvaluationModuleAllDTO> getEvaluationModuleList(EvaluationDiseaseIdVO evaluationModuleDiseaseIdVO) {
|
|
|
+ QueryWrapper<Evaluation> evaluationModuleQuery = new QueryWrapper<>();
|
|
|
+ evaluationModuleQuery.eq("disease_id", evaluationModuleDiseaseIdVO.getDiseaseId()).eq("is_deleted",
|
|
|
+ IsDeleteEnum.N.getKey());
|
|
|
+ List<Evaluation> datas = list(evaluationModuleQuery);
|
|
|
+ // 过滤
|
|
|
+ List<EvaluationModuleAllDTO> data = BeanUtil.listCopyTo(datas, EvaluationModuleAllDTO.class);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleListVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean updateEvaluationModuleList(EvaluationListVO evaluationModuleListVO) {
|
|
|
+ boolean res = false;
|
|
|
+ if (evaluationModuleListVO != null && ListUtil.isNotEmpty(evaluationModuleListVO.getEvaluationModuleData())) {
|
|
|
+ EvaluationDiseaseIdVO evaluationModuleDiseaseIdVO = new EvaluationDiseaseIdVO();
|
|
|
+ evaluationModuleDiseaseIdVO.setDiseaseId(evaluationModuleListVO.getDiseaseId());
|
|
|
+ res = cancelEvaluationModuleAll(evaluationModuleDiseaseIdVO);
|
|
|
+ List<Evaluation> evaluationModuleLsit = new ArrayList<Evaluation>();
|
|
|
+ List<EvaluationVO> data = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ for (EvaluationVO dataNew : data) {
|
|
|
+ Evaluation evaMou = new Evaluation();
|
|
|
+ BeanUtil.copyProperties(dataNew,evaMou);
|
|
|
+ evaMou.setGmtCreate(DateUtil.now());
|
|
|
+ evaMou.setGmtModified(DateUtil.now());
|
|
|
+ evaMou.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setOrderNo(dataNew.getOrderNo());
|
|
|
+ evaluationModuleLsit.add(evaMou);
|
|
|
+ }
|
|
|
+
|
|
|
+ res = evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleListVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean saveEvaluationModuleList(EvaluationListVO evaluationModuleListVO) {
|
|
|
+ boolean res = false;
|
|
|
+ if (evaluationModuleListVO != null && ListUtil.isNotEmpty(evaluationModuleListVO.getEvaluationModuleData())) {
|
|
|
+ List<EvaluationVO> evaluationData = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ List<String> regionName = new ArrayList<>();
|
|
|
+ for (EvaluationVO e : evaluationData) {
|
|
|
+ regionName.add(e.getRegionName());
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<Evaluation> evaluationQuery = new QueryWrapper<>();
|
|
|
+
|
|
|
+ evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ List<Evaluation> dataUnique = list(evaluationQuery);
|
|
|
+ if (dataUnique != null && dataUnique.size() > 0) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
+ "该'" + dataUnique.get(0).getRegionName() + "'已存在");
|
|
|
+ }
|
|
|
+ List<Evaluation> evaluationModuleLsit = new ArrayList<Evaluation>();
|
|
|
+ List<EvaluationVO> data = evaluationModuleListVO.getEvaluationModuleData();
|
|
|
+ for (EvaluationVO dataNew : data) {
|
|
|
+ Evaluation evaMou = new Evaluation();
|
|
|
+ BeanUtil.copyProperties(dataNew,evaMou);
|
|
|
+ evaMou.setGmtCreate(DateUtil.now());
|
|
|
+ evaMou.setGmtModified(DateUtil.now());
|
|
|
+ evaMou.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaMou.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
+ evaluationModuleLsit.add(evaMou);
|
|
|
+ }
|
|
|
+ res = evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param evaluationModuleDiseaseIdVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean cancelEvaluationModuleAll(EvaluationDiseaseIdVO evaluationModuleDiseaseIdVO) {
|
|
|
+ UpdateWrapper<Evaluation> 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 Evaluation(), evaluaNew);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param diseaseNameVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<DiseaseInfoDTO> queryEvaluationDiseaseName(DiseaseNameVO diseaseNameVO) {
|
|
|
+
|
|
|
+ return evaluationModuleMappingService.queryEvaluationDiseaseName(diseaseNameVO);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|