Browse Source

优化接口

wangfeng 4 years ago
parent
commit
fa8406d2da

+ 62 - 73
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -3,23 +3,17 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.KlConceptAllDTO;
 import com.diagbot.dto.KlConceptInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.KlConcept;
-import com.diagbot.entity.KlRelation;
 import com.diagbot.entity.KlConceptCommon;
 import com.diagbot.entity.KlDisease;
 import com.diagbot.entity.KlLibraryInfo;
 import com.diagbot.entity.KlLis;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.enums.LexiconEnum;
-import com.diagbot.exception.CommonErrorCode;
-import com.diagbot.exception.CommonException;
-import com.diagbot.service.KlConceptService;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.KlConceptCommonService;
@@ -29,20 +23,17 @@ import com.diagbot.service.impl.KlConceptServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
-import com.diagbot.util.UserUtils;
 import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
 import com.diagbot.vo.GetAllForRelationVO;
 import com.diagbot.vo.KlConceptAllVO;
 import com.diagbot.vo.KlConceptInfoVO;
 import com.diagbot.vo.KlConceptSaveSubVO;
 import com.diagbot.vo.KlConceptSaveVO;
-import org.springframework.beans.factory.annotation.Autowired;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import javax.management.relation.Relation;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -124,14 +115,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     if (subVO.getLibId() == null) {
                         //校验
                         klLibraryInfoFacade.checkLibraryInfoData(subVO);
-
-                        KlLibraryInfo klLibraryInfoSub = new KlLibraryInfo();
-                        klLibraryInfoSub.setConceptId(subVO.getConceptId());
-                        klLibraryInfoSub.setName(subVO.getSynonymName());
-                        klLibraryInfoSub.setSpell(subVO.getSpell());
-                        klLibraryInfoSub.setIsConcept(subVO.getIsConcept());
-                        klLibraryInfoSub.setRemark(subVO.getRemark());
-                        res = klLibraryInfoFacade.save(klLibraryInfoSub);
+                        //保存LibraryInfo
+                        res = klLibraryInfoFacade.savekLibraryInfoData(subVO);
                     } else {
                         UpdateWrapper<KlLibraryInfo> klLibraryInfoQuerySub = new UpdateWrapper<>();
                         klLibraryInfoQuerySub.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -143,19 +128,19 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                                 .set("remark", klConceptSaveVO.getLibName());
                         res = klLibraryInfoFacade.update(new KlLibraryInfo(), klLibraryInfoQuerySub);
                     }
-
                 }
             }
         } else {
+            //保存新数据
             //1.先保存标准词,生成conceptId
-            KlConcept KlConceptPare = new KlConcept();
-            KlConceptPare.setLibName(klConceptSaveVO.getLibName());
-            KlConceptPare.setLibType(klConceptSaveVO.getLibType());
-            KlConceptPare.setStatus(klConceptSaveVO.getStatus());
-            res = save(KlConceptPare);
+            KlConcept klConceptPare = new KlConcept();
+            klConceptPare.setLibName(klConceptSaveVO.getLibName());
+            klConceptPare.setLibType(klConceptSaveVO.getLibType());
+            klConceptPare.setStatus(klConceptSaveVO.getStatus());
+            res = save(klConceptPare);
             if (res) {
                 //2.再把标准词d的conceptId保存到kl_library_info表 生成libId,
-                Long conceptId = KlConceptPare.getId();
+                Long conceptId = klConceptPare.getId();
                 KlLibraryInfo klLibraryInfoSub = new KlLibraryInfo();
                 klLibraryInfoSub.setConceptId(conceptId);
                 klLibraryInfoSub.setName(klConceptSaveVO.getSynonymName());
@@ -173,22 +158,24 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 }
             }
             //KlConceptCommon
-            KlConceptCommon conceptCommon= new KlConceptCommon();
-            conceptCommon.setSexType(klConceptSaveVO.getSexType());
-            conceptCommon.setMaxAge(klConceptSaveVO.getMaxAge());
-            conceptCommon.setMinAge(klConceptSaveVO.getMinAge());
-            conceptCommon.setConceptId(KlConceptPare.getId());
-            klConceptCommonService.save(conceptCommon);
+            if (klConceptSaveVO.getIsHasCommon().equals(1)) {
+                KlConceptCommon conceptCommon = new KlConceptCommon();
+                conceptCommon.setSexType(klConceptSaveVO.getSexType());
+                conceptCommon.setMaxAge(klConceptSaveVO.getMaxAge());
+                conceptCommon.setMinAge(klConceptSaveVO.getMinAge());
+                conceptCommon.setConceptId(klConceptPare.getId());
+                klConceptCommonService.save(conceptCommon);
+            }
             //更新kl_disease
             KlDisease kllDiseaseSub = new KlDisease();
-            kllDiseaseSub.setConceptId(klConceptSaveVO.getConceptId());
+            kllDiseaseSub.setConceptId(klConceptPare.getId());
             kllDiseaseSub.setGmtModified(now);
             kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
             kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
             res = klDiseaseService.saveOrUpdate(kllDiseaseSub);
             //更新kl_lis
             KlLis klLisSub = new KlLis();
-            klLisSub.setConceptId(klConceptSaveVO.getConceptId());
+            klLisSub.setConceptId(klConceptPare.getId());
             klLisSub.setGmtModified(now);
             klLisSub.setModifier(UserUtils.getCurrentPrincipleID());
             klLisSub.setMinValue(klConceptSaveVO.getMinVal());
@@ -199,14 +186,10 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             List<KlConceptSaveSubVO> klConceptSub = klConceptSaveVO.getKlConceptSub();
             for (KlConceptSaveSubVO subVO : klConceptSub) {
                 if (subVO.getLibId() == null) {
+
                     klLibraryInfoFacade.checkLibraryInfoData(subVO);
-                    KlLibraryInfo klLibraryInfoSub = new KlLibraryInfo();
-                    klLibraryInfoSub.setConceptId(subVO.getConceptId());
-                    klLibraryInfoSub.setName(subVO.getSynonymName());
-                    klLibraryInfoSub.setSpell(subVO.getSpell());
-                    klLibraryInfoSub.setIsConcept(subVO.getIsConcept());
-                    klLibraryInfoSub.setRemark(subVO.getRemark());
-                    res = klLibraryInfoFacade.save(klLibraryInfoSub);
+
+                    res = klLibraryInfoFacade.savekLibraryInfoData(subVO);
                 }
             }
 
@@ -236,37 +219,43 @@ public class KlConceptFacade extends KlConceptServiceImpl {
 
         res = klLibraryInfoFacade.update(new KlLibraryInfo(), klLibraryInfoQuerySub);
         //更新kl_concept_common表
-        UpdateWrapper<KlConceptCommon> klConceptCommonQuerySub = new UpdateWrapper<>();
-        klConceptCommonQuerySub.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("concept_id", klConceptSaveVO.getConceptId())
-                .set("gmt_modified", now)
-                .set("modifier", UserUtils.getCurrentPrincipleID())
-                .set("sex_type", klConceptSaveVO.getLibName())
-                .set("min_age", klConceptSaveVO.getLibName())
-                .set("max_age", klConceptSaveVO.getLibName());
-        KlConceptCommon klConceptCommonSub = new KlConceptCommon();
-        klConceptCommonSub.setConceptId(klConceptSaveVO.getConceptId());
-        klConceptCommonSub.setMaxAge(klConceptSaveVO.getMaxAge());
-        klConceptCommonSub.setMinAge(klConceptSaveVO.getMinAge());
-        klConceptCommonSub.setGmtModified(now);
-        klConceptCommonSub.setModifier(UserUtils.getCurrentPrincipleID());
-        res = klConceptCommonService.saveOrUpdate(klConceptCommonSub);
+        if (klConceptSaveVO.getIsHasCommon().equals(1)) {
+            UpdateWrapper<KlConceptCommon> klConceptCommonQuerySub = new UpdateWrapper<>();
+            klConceptCommonQuerySub.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("concept_id", klConceptSaveVO.getConceptId())
+                    .set("gmt_modified", now)
+                    .set("modifier", UserUtils.getCurrentPrincipleID())
+                    .set("sex_type", klConceptSaveVO.getLibName())
+                    .set("min_age", klConceptSaveVO.getLibName())
+                    .set("max_age", klConceptSaveVO.getLibName());
+            KlConceptCommon klConceptCommonSub = new KlConceptCommon();
+            klConceptCommonSub.setConceptId(klConceptSaveVO.getConceptId());
+            klConceptCommonSub.setMaxAge(klConceptSaveVO.getMaxAge());
+            klConceptCommonSub.setMinAge(klConceptSaveVO.getMinAge());
+            klConceptCommonSub.setGmtModified(now);
+            klConceptCommonSub.setModifier(UserUtils.getCurrentPrincipleID());
+            res = klConceptCommonService.saveOrUpdate(klConceptCommonSub);
+        }
         //更新kl_disease
-        KlDisease kllDiseaseSub = new KlDisease();
-        kllDiseaseSub.setConceptId(klConceptSaveVO.getConceptId());
-        kllDiseaseSub.setGmtModified(now);
-        kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
-        kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
-        res = klDiseaseService.saveOrUpdate(kllDiseaseSub);
+        if (klConceptSaveVO.getIcdCode() != null) {
+            KlDisease kllDiseaseSub = new KlDisease();
+            kllDiseaseSub.setConceptId(klConceptSaveVO.getConceptId());
+            kllDiseaseSub.setGmtModified(now);
+            kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
+            kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
+            res = klDiseaseService.saveOrUpdate(kllDiseaseSub);
+        }
         //更新kl_lis
-        KlLis klLisSub = new KlLis();
-        klLisSub.setConceptId(klConceptSaveVO.getConceptId());
-        klLisSub.setGmtModified(now);
-        klLisSub.setModifier(UserUtils.getCurrentPrincipleID());
-        klLisSub.setMinValue(klConceptSaveVO.getMinVal());
-        klLisSub.setMaxValue(klConceptSaveVO.getMaxVal());
-        klLisSub.setType(klConceptSaveVO.getScopeType());
-        res = klLisService.saveOrUpdate(klLisSub);
+        if (klConceptSaveVO.getScopeType() != null) {
+            KlLis klLisSub = new KlLis();
+            klLisSub.setConceptId(klConceptSaveVO.getConceptId());
+            klLisSub.setGmtModified(now);
+            klLisSub.setModifier(UserUtils.getCurrentPrincipleID());
+            klLisSub.setMinValue(klConceptSaveVO.getMinVal());
+            klLisSub.setMaxValue(klConceptSaveVO.getMaxVal());
+            klLisSub.setType(klConceptSaveVO.getScopeType());
+            res = klLisService.saveOrUpdate(klLisSub);
+        }
         return res;
     }
 
@@ -287,9 +276,9 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     .eq(getAllForRelationVO.getTypeId() != null, "lib_type", getAllForRelationVO.getTypeId())
                     .notIn(ListUtil.isNotEmpty(getAllForRelationVO.getExcludedConceptIds()), "id", getAllForRelationVO.getExcludedConceptIds())
             );
-//            retList = BeanUtil.listCopyTo(conceptList, GetAllForRelationDTO.class);
-            if(ListUtil.isNotEmpty(conceptList)){
-                retList = conceptList.stream().map(x ->{
+            //            retList = BeanUtil.listCopyTo(conceptList, GetAllForRelationDTO.class);
+            if (ListUtil.isNotEmpty(conceptList)) {
+                retList = conceptList.stream().map(x -> {
                     GetAllForRelationDTO getAllForRelationDTO = new GetAllForRelationDTO();
                     getAllForRelationDTO.setConceptId(x.getId());
                     getAllForRelationDTO.setConceptName(x.getLibName());

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlLibraryInfoFacade.java

@@ -33,4 +33,20 @@ public class KlLibraryInfoFacade extends KlLibraryInfoServiceImpl {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该基础术语同义词名称已存在");
         }
     }
+
+    /**
+     *
+     * @param subVO
+     * @return
+     */
+    public  Boolean savekLibraryInfoData(KlConceptSaveSubVO subVO){
+
+        KlLibraryInfo klLibraryInfoSub = new KlLibraryInfo();
+        klLibraryInfoSub.setConceptId(subVO.getConceptId());
+        klLibraryInfoSub.setName(subVO.getSynonymName());
+        klLibraryInfoSub.setSpell(subVO.getSpell());
+        klLibraryInfoSub.setIsConcept(subVO.getIsConcept());
+        klLibraryInfoSub.setRemark(subVO.getRemark());
+        return this.save(klLibraryInfoSub);
+    }
 }

+ 1 - 1
cdssman-service/src/main/java/com/diagbot/vo/KlConceptSaveSubVO.java

@@ -18,6 +18,6 @@ public class KlConceptSaveSubVO {
     //词性id
     private String TypeId;
     //是否标准词,1:是,0:否
-    private Integer isConcept;
+    private Integer isConcept = 0;
     private String remark;
 }

+ 3 - 2
cdssman-service/src/main/java/com/diagbot/vo/KlConceptSaveVO.java

@@ -18,11 +18,12 @@ public class KlConceptSaveVO {
     private String libName;
     private String spell;
     private Integer libType;
-    private String typeName;
     private String synonymName;
     private Integer status;
-    private Integer isConcept;
+    //是否标准词,1:是,0:否
+    private Integer isConcept = 0;
     private Integer sexType;
+    //是否有通用扩展(0:否;1:是)
     private Integer isHasCommon;
     private Double minAge;
     private Double maxAge;

+ 2 - 0
cdssman-service/src/main/java/com/diagbot/web/KlConceptController.java

@@ -15,6 +15,7 @@ import com.diagbot.vo.KlConceptSaveVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,6 +56,7 @@ public class KlConceptController {
     @ApiOperation(value = "新增和修改基础术语详情[by:wangfeng]")
     @PostMapping("/saveConceptInfo")
     @SysLogger("saveConceptInfo")
+    @Transactional
     public RespDTO<Boolean> saveConceptInfos(@RequestBody KlConceptSaveVO klConceptSaveVO) {
         return RespDTO.onSuc(klConceptFacade.saveConceptInfo(klConceptSaveVO));
     }