|
@@ -0,0 +1,177 @@
|
|
|
|
+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.IndexConfigAllDTO;
|
|
|
|
+import com.diagbot.dto.IndexConfigDTO;
|
|
|
|
+import com.diagbot.dto.RespDTO;
|
|
|
|
+import com.diagbot.entity.IndexConfig;
|
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
|
+import com.diagbot.service.IndexConfigService;
|
|
|
|
+import com.diagbot.service.impl.IndexConfigServiceImpl;
|
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
|
+import com.diagbot.util.UserUtils;
|
|
|
|
+import com.diagbot.vo.IndexConfigDiseaseIdVO;
|
|
|
|
+import com.diagbot.vo.IndexConfigDiseaseNameVO;
|
|
|
|
+import com.diagbot.vo.IndexConfigListVO;
|
|
|
|
+import com.diagbot.vo.IndexConfigVO;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @author wangfeng
|
|
|
|
+ * @Description: TODO
|
|
|
|
+ * @date 2019年3月25日 下午4:20:09
|
|
|
|
+ */
|
|
|
|
+@Component
|
|
|
|
+public class IndexConfigFacade extends IndexConfigServiceImpl {
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ IndexConfigService indexConfigService;
|
|
|
|
+ @Autowired
|
|
|
|
+ UserServiceClient userServiceClient;
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param page
|
|
|
|
+ * @param indexConfigDiseaseNameVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public IPage<IndexConfigDTO> queryIndexConfigPage(IndexConfigDiseaseNameVO indexConfigDiseaseNameVO) {
|
|
|
|
+ IPage<IndexConfigDTO> datas = indexConfigService.queryIndexConfigPageAlls(indexConfigDiseaseNameVO);
|
|
|
|
+ List<IndexConfigDTO> 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<IndexConfigDTO> indexConfigLists = new ArrayList<IndexConfigDTO>();
|
|
|
|
+ for (IndexConfigDTO evalua : data) {
|
|
|
|
+ IndexConfigDTO dateNew = new IndexConfigDTO();
|
|
|
|
+ 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.setDiseaseName(evalua.getDiseaseName());
|
|
|
|
+ indexConfigLists.add(dateNew);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return datas.setRecords(indexConfigLists);
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param indexConfigDiseaseIdVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<IndexConfigAllDTO> getIndexConfigLists(IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
|
|
|
|
+ QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<IndexConfig>();
|
|
|
|
+ IndexConfigQuery.eq("disease_id",indexConfigDiseaseIdVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
|
+ List<IndexConfig> datas = list(IndexConfigQuery);
|
|
|
|
+ //过滤
|
|
|
|
+ List<IndexConfigAllDTO> data = BeanUtil.listCopyTo(datas, IndexConfigAllDTO.class);
|
|
|
|
+ return data;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param indexConfigListVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public boolean updateIndexConfigList(IndexConfigListVO indexConfigListVO) {
|
|
|
|
+
|
|
|
|
+ /*UpdateWrapper<IndexConfig> IndexConfigNew =new UpdateWrapper<>();
|
|
|
|
+ IndexConfigNew.eq("disease_id",indexConfigListVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
|
|
|
|
+ .set("gmt_modified", DateUtil.now());
|
|
|
|
+ boolean res = update(new IndexConfig(), IndexConfigNew);*/
|
|
|
|
+ IndexConfigDiseaseIdVO indexConfigDiseaseIdVO =new IndexConfigDiseaseIdVO();
|
|
|
|
+ indexConfigDiseaseIdVO.setDiseaseId(indexConfigListVO.getDiseaseId());
|
|
|
|
+ boolean res = cancelIndexConfigAlls(indexConfigDiseaseIdVO);
|
|
|
|
+ List<IndexConfig> IndexConfigLsit= new ArrayList<IndexConfig>();
|
|
|
|
+ List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
|
|
|
|
+ for(IndexConfigVO dataNew : data){
|
|
|
|
+ IndexConfig IndexConfig= new IndexConfig();
|
|
|
|
+ IndexConfig.setDiseaseId(dataNew.getDiseaseId());
|
|
|
|
+ IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
|
+ IndexConfig.setGmtCreate(DateUtil.now());
|
|
|
|
+ IndexConfig.setGmtModified(DateUtil.now());
|
|
|
|
+ IndexConfig.setIndexDesc(dataNew.getIndexDesc());
|
|
|
|
+ IndexConfig.setIndexUnique(dataNew.getIndexUnique());
|
|
|
|
+ IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
|
+ IndexConfig.setOrderNo(dataNew.getOrderNo());
|
|
|
|
+ IndexConfig.setRemark(dataNew.getRemark());
|
|
|
|
+ IndexConfigLsit.add(IndexConfig);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ res = indexConfigService.saveBatch(IndexConfigLsit);
|
|
|
|
+
|
|
|
|
+ return res;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean saveIndexConfigList(IndexConfigListVO indexConfigListVO) {
|
|
|
|
+ List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
|
|
|
|
+ List<String> indexUnique = new ArrayList<>();
|
|
|
|
+ for(IndexConfigVO e: indexConfigData){
|
|
|
|
+ indexUnique.add(e.getIndexUnique());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
|
|
|
|
+
|
|
|
|
+ IndexConfigQuery.in("index_unique", indexUnique);
|
|
|
|
+ List<IndexConfig> dataUnique = list(IndexConfigQuery);
|
|
|
|
+ if(dataUnique != null && dataUnique.size()>0){
|
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该'"+dataUnique.get(0).getIndexUnique()+"'已存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<IndexConfig> IndexConfigLsit= new ArrayList<IndexConfig>();
|
|
|
|
+ List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
|
|
|
|
+ for(IndexConfigVO dataNew : data){
|
|
|
|
+ IndexConfig IndexConfig= new IndexConfig();
|
|
|
|
+ IndexConfig.setDiseaseId(dataNew.getDiseaseId());
|
|
|
|
+ IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
|
|
|
|
+ IndexConfig.setGmtCreate(DateUtil.now());
|
|
|
|
+ IndexConfig.setGmtModified(DateUtil.now());
|
|
|
|
+ IndexConfig.setIndexDesc(dataNew.getIndexDesc());
|
|
|
|
+ IndexConfig.setIndexUnique(dataNew.getIndexUnique());
|
|
|
|
+ IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
|
|
|
|
+ IndexConfig.setOrderNo(dataNew.getOrderNo());
|
|
|
|
+ IndexConfig.setRemark(dataNew.getRemark());
|
|
|
|
+ IndexConfigLsit.add(IndexConfig);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return indexConfigService.saveBatch(IndexConfigLsit);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param indexConfigDiseaseIdVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public boolean cancelIndexConfigAlls(IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
|
|
|
|
+
|
|
|
|
+ UpdateWrapper<IndexConfig> IndexConfigNew =new UpdateWrapper<>();
|
|
|
|
+ IndexConfigNew.eq("disease_id",indexConfigDiseaseIdVO.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 IndexConfig(), IndexConfigNew);
|
|
|
|
+ }
|
|
|
|
+}
|