Browse Source

静态知识维护

zhaops 4 years ago
parent
commit
6161c5047f

+ 14 - 0
cdssman-service/src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -37,11 +37,25 @@ public enum ConceptTypeEnum implements KeyedNamed {
         return null;
     }
 
+    public static ConceptTypeEnum getEnum(String name) {
+        for (ConceptTypeEnum item : ConceptTypeEnum.values()) {
+            if (item.name.equals(name)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
     public static String getName(int key) {
         ConceptTypeEnum item = getEnum(key);
         return item != null ? item.name : null;
     }
 
+    public static int getKey(String name) {
+        ConceptTypeEnum item = getEnum(name);
+        return item != null ? item.key : null;
+    }
+
     @Override
     public int getKey() {
         return key;

+ 18 - 10
cdssman-service/src/main/java/com/diagbot/facade/ConceptInfoFacade.java

@@ -215,7 +215,9 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         List<ConceptInfoDTO> records = page.getRecords();
         if (ListUtil.isNotEmpty(records)) {
             records.forEach(record -> {
-                record.setTypeName(convertTypeName(record.getTypeName(), 2, dicList));
+                String typeName = convertTypeName(record.getType(), 2, dicList);
+                record.setTypeName(typeName);
+                record.setType(String.valueOf(ConceptTypeEnum.getKey(typeName)));
             });
         }
         page.setRecords(records);
@@ -235,29 +237,31 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         //术语类型转换
         String typeName = convertTypeName(ConceptTypeEnum.getName(Integer.valueOf(conceptInfoVO.getType())), 1, dicList);
         conceptInfoVO.setTypeName(typeName);
+        ConceptInfo conceptInfo = new ConceptInfo();
         if (conceptInfoVO.getId() == null) {
             QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
             conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("name", conceptInfoVO.getName())
                     .eq("type", typeName);
-            ConceptInfo conceptInfo = this.getOne(conceptInfoQueryWrapper, false);
+            conceptInfo = this.getOne(conceptInfoQueryWrapper, false);
             //术语不存在,保存术语信息
             if (conceptInfo == null) {
                 conceptInfo = new ConceptInfo();
-                BeanUtil.copyProperties(conceptInfoVO, conceptInfo);
-                conceptInfo.setType(typeName);
                 conceptInfo.setCreator(userId);
                 conceptInfo.setGmtCreate(now);
-                conceptInfo.setModifier(userId);
-                conceptInfo.setGmtModified(now);
-                this.save(conceptInfo);
             }
-            conceptInfoVO.setId(conceptInfo.getId());
         }
-
+        conceptInfo.setName(conceptInfoVO.getName());
+        conceptInfo.setClinicalPathwayName(conceptInfoVO.getClinicalPathwayName());
+        conceptInfo.setNoticeName(conceptInfoVO.getNoticeName());
+        conceptInfo.setType(typeName);
+        conceptInfo.setModifier(userId);
+        conceptInfo.setGmtModified(now);
+        this.saveOrUpdate(conceptInfo);
+        conceptInfoVO.setId(conceptInfo.getId());
         //是否包含静态信息,包含启用和禁用
         QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
-        conceptDetailQueryWrapper.eq("concept_id", conceptInfoVO.getId());
+        conceptDetailQueryWrapper.eq("concept_id",conceptInfo.getId());
         List<ConceptDetail> oldDetails = conceptDetailFacade.list(conceptDetailQueryWrapper);
         if (ListUtil.isEmpty(oldDetails)
                 && ListUtil.isNotEmpty(conceptInfoVO.getDetails())) {
@@ -346,6 +350,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      * @return
      */
     public ConceptInfoDTO getRecordById(IdVO idVO) {
+        List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
         ConceptInfoDTO conceptInfoDTO = new ConceptInfoDTO();
         ConceptInfo conceptInfo = this.getById(idVO.getId());
         if (conceptInfo == null) {
@@ -361,6 +366,9 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             List<ConceptDetailDTO> details = BeanUtil.listCopyTo(conceptDetailList, ConceptDetailDTO.class);
             conceptInfoDTO.setDetails(details);
             //启用状态、修改人、修改时间为明细的内容
+            String typeName = convertTypeName(conceptInfoDTO.getType(), 2, dicList);
+            conceptInfoDTO.setTypeName(typeName);
+            conceptInfoDTO.setType(String.valueOf(ConceptTypeEnum.getKey(typeName)));
             conceptInfoDTO.setModifier(conceptDetailList.get(0).getModifier());
             conceptInfoDTO.setGmtModified(conceptDetailList.get(0).getGmtModified());
             conceptInfoDTO.setIsDeleted(conceptDetailList.get(0).getIsDeleted());