Przeglądaj źródła

Merge branch 'dev/neo2mysql20210120' into test

wangfeng 4 lat temu
rodzic
commit
46cad4045b

+ 22 - 21
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -11,9 +11,8 @@ import com.diagbot.dto.KlConceptInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlConceptCommon;
-import com.diagbot.entity.KlDisease;
+import com.diagbot.entity.KlLexicon;
 import com.diagbot.entity.KlLibraryInfo;
-import com.diagbot.entity.KlLis;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -61,6 +60,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
     KlLisFacade klLisFacade;
     @Autowired
     KlDiseaseFacade klDiseaseFacade;
+    @Autowired
+    KlLexiconFacade klLexiconFacade;
 
     /**
      * @param klConceptInfoVO
@@ -151,6 +152,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 }
             }
         } else {
+            //校验只能有一条数据
+            checkLibType(klConceptSaveVO);
             //保存新数据
             //1.先保存标准词,生成conceptId
             KlConcept klConceptPare = new KlConcept();
@@ -174,6 +177,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 klLibraryInfoSub.setConceptId(conceptId);
                 klLibraryInfoSub.setName(klConceptSaveVO.getSynonymName());
                 klLibraryInfoSub.setSpell(klConceptSaveVO.getSpell());
+                klLibraryInfoSub.setTypeId(klConceptSaveVO.getLibType());
                 klLibraryInfoSub.setIsConcept(klConceptSaveVO.getIsConcept());
                 klLibraryInfoSub.setRemark(klConceptSaveVO.getRemark());
                 klLibraryInfoSub.setCreator(UserUtils.getCurrentPrincipleID());
@@ -205,29 +209,12 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             }
             //更新kl_disease
             if (null != klConceptSaveVO.getIcdCode()) {
-                KlDisease kllDiseaseSub = new KlDisease();
-                kllDiseaseSub.setConceptId(klConceptPare.getId());
-                kllDiseaseSub.setGmtModified(now);
-                kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
-                kllDiseaseSub.setCreator(UserUtils.getCurrentPrincipleID());
-                kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
-                kllDiseaseSub.setGmtCreate(now);
-                kllDiseaseSub.setGmtModified(now);
-                res = klDiseaseFacade.save(kllDiseaseSub);
+                res = klDiseaseFacade.saveAll(klConceptPare, klConceptSaveVO);
             }
 
             //更新kl_lis
             if (null != klConceptSaveVO.getScopeType()) {
-                KlLis klLisSub = new KlLis();
-                klLisSub.setConceptId(klConceptPare.getId());
-                klLisSub.setMinValue(klConceptSaveVO.getMinVal());
-                klLisSub.setMaxValue(klConceptSaveVO.getMaxVal());
-                klLisSub.setType(klConceptSaveVO.getScopeType());
-                klLisSub.setCreator(UserUtils.getCurrentPrincipleID());
-                klLisSub.setModifier(UserUtils.getCurrentPrincipleID());
-                klLisSub.setGmtCreate(now);
-                klLisSub.setGmtModified(now);
-                res = klLisFacade.save(klLisSub);
+                res = klLisFacade.saveAll(klConceptPare, klConceptSaveVO);
             }
             //增加同义词
             List<KlConceptSaveSubVO> klConceptSub = klConceptSaveVO.getKlConceptSub();
@@ -386,4 +373,18 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         return this.update(klLibraryUpdate);
 
     }
+
+    private void checkLibType(KlConceptSaveVO klConceptSaveVO) {
+        QueryWrapper<KlLexicon> klLexiconQuery = new QueryWrapper<>();
+        klLexiconQuery.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("only_one", 1);
+        List<KlLexicon> klLexiconList = klLexiconFacade.list(klLexiconQuery);
+        if (klLexiconList.contains(klConceptSaveVO.getLibType())) {
+            int count = this.count(new QueryWrapper<KlConcept>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("lib_type", klConceptSaveVO.getLibType()));
+            if (count > 0) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该基础术语词性只能有一个");
+            }
+        }
+    }
 }

+ 13 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlDiseaseFacade.java

@@ -194,5 +194,18 @@ public class KlDiseaseFacade extends KlDiseaseServiceImpl {
         }
         return res;
     }
+
+    public boolean saveAll(KlConcept klConceptPare,KlConceptSaveVO klConceptSaveVO) {
+        Date now = DateUtil.now();
+        KlDisease kllDiseaseSub = new KlDisease();
+        kllDiseaseSub.setConceptId(klConceptPare.getId());
+        kllDiseaseSub.setGmtModified(now);
+        kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
+        kllDiseaseSub.setCreator(UserUtils.getCurrentPrincipleID());
+        kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
+        kllDiseaseSub.setGmtCreate(now);
+        kllDiseaseSub.setGmtModified(now);
+        return this.save(kllDiseaseSub);
+    }
 }
 

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

@@ -49,6 +49,7 @@ public class KlLibraryInfoFacade extends KlLibraryInfoServiceImpl {
         klLibraryInfoSub.setConceptId(conceptId);
         klLibraryInfoSub.setName(subVO.getSynonymName());
         klLibraryInfoSub.setSpell(subVO.getSpell());
+        klLibraryInfoSub.setTypeId(subVO.getTypeId());
         klLibraryInfoSub.setIsConcept(subVO.getIsConcept());
         klLibraryInfoSub.setRemark(subVO.getRemark());
         klLibraryInfoSub.setCreator(UserUtils.getCurrentPrincipleID());

+ 15 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlLisFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlDisease;
 import com.diagbot.entity.KlLis;
 import com.diagbot.enums.IsDeleteEnum;
@@ -47,4 +48,18 @@ public class KlLisFacade extends KlLisServiceImpl {
         }
         return res;
     }
+
+    public boolean saveAll(KlConcept klConceptPare,KlConceptSaveVO klConceptSaveVO) {
+        Date now = DateUtil.now();
+        KlLis klLisSub = new KlLis();
+        klLisSub.setConceptId(klConceptPare.getId());
+        klLisSub.setMinValue(klConceptSaveVO.getMinVal());
+        klLisSub.setMaxValue(klConceptSaveVO.getMaxVal());
+        klLisSub.setType(klConceptSaveVO.getScopeType());
+        klLisSub.setCreator(UserUtils.getCurrentPrincipleID());
+        klLisSub.setModifier(UserUtils.getCurrentPrincipleID());
+        klLisSub.setGmtCreate(now);
+        klLisSub.setGmtModified(now);
+       return this.save(klLisSub);
+    }
 }

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

@@ -16,7 +16,7 @@ public class KlConceptSaveSubVO {
     private String synonymName;
     private String spell;
     //词性id
-    private String TypeId;
+    private Integer TypeId;
     //是否标准词,1:是,0:否
     private Integer isConcept = 0;
     private String remark;