|
@@ -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, "该基础术语词性只能有一个");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|