zhoutg 4 vuotta sitten
vanhempi
commit
2293cc637d

+ 17 - 9
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -24,6 +24,7 @@ import com.diagbot.entity.KlRule;
 import com.diagbot.entity.KlRuleBase;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconEnum;
+import com.diagbot.enums.RelationLibTypeEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -356,14 +357,14 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     break;
                 case LisName: // 实验室检查套餐
                 case LisSubName: // 实验室检查子项目
-                    klLisFacade.saveAll(commonParam,klConceptSaveVO.getKlLisVO());
+                    klLisFacade.saveAll(commonParam, klConceptSaveVO.getKlLisVO());
                     break;
                 case PacsSubName: // 辅助检查子项目
                 case PacsName: // 辅助检查项目
-                    klPacsFacade.saveAll(commonParam,klConceptSaveVO.getKlPacsVO());
+                    klPacsFacade.saveAll(commonParam, klConceptSaveVO.getKlPacsVO());
                     break;
                 case Operation: // 手术和操作
-                    klOperationFacade.saveAll(commonParam,klConceptSaveVO.getKlOperationVO());
+                    klOperationFacade.saveAll(commonParam, klConceptSaveVO.getKlOperationVO());
                     break;
                 case VitalResult: // 体征结果
                     klRelationFacade.saveKlVitalRes(commonParam, klConceptSaveVO.getKlVitalResultVO());
@@ -514,11 +515,17 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             }
 
             //kl_relation
-            int relationsum = klRelationFacade.count(new QueryWrapper<KlRelation>().eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("start_id", klConceptSatarOrdisaVO.getConceptId()).or()
-                    .eq("end_id", klConceptSatarOrdisaVO.getConceptId()));
+            List<Integer> notRelationList = Lists.newArrayList(RelationLibTypeEnum.relationDept.getKey(),
+                    RelationLibTypeEnum.relationPart.getKey(), RelationLibTypeEnum.relationSystem.getKey(),
+                    RelationLibTypeEnum.relationAccSymptom.getKey(), RelationLibTypeEnum.relationNature.getKey());
+            int relationsum = klRelationFacade.count(new QueryWrapper<KlRelation>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .and(r -> r.eq("end_id", klConceptSatarOrdisaVO.getConceptId())
+                            .or(r1 -> r1.eq("start_id", klConceptSatarOrdisaVO.getConceptId()).notIn("relation_id", notRelationList))
+                    )
+            );
             if (relationsum > 0) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该医学标准术语与树形结构或疾病相关存在关系!");
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该医学标准术语与树形结构或疾病相关或扩展信息存在关系!");
             }
             //kl_rule
             int rulesum = klRuleFacade.count(new QueryWrapper<KlRule>().eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -554,8 +561,9 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         UpdateWrapper<KlConcept> klLibraryUpdate = new UpdateWrapper<>();
         klLibraryUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("id", klConceptSatarOrdisaVO.getConceptId())
-                .set("status", status).set("gmt_modified", now)
-                .set("modifier", UserUtils.getCurrentPrincipleID());
+                .set("status", status).set("gmt_modified", now);
+        // .set("modifier", UserUtils.getCurrentPrincipleID()
+        // );
         return this.update(klLibraryUpdate);
 
     }