Procházet zdrojové kódy

Merge branch 'bug/mix20190729' into develop

gaodm před 5 roky
rodič
revize
5e11bc45e5
36 změnil soubory, kde provedl 128 přidání a 44 odebrání
  1. 1 0
      aipt-service/src/main/java/com/diagbot/dto/IndexDTO.java
  2. 2 0
      aipt-service/src/main/java/com/diagbot/facade/IndexDataFacade.java
  3. 2 0
      aipt-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java
  4. 2 2
      aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java
  5. 1 1
      config-server/src/main/resources/shared/icssman-service-dev.yml
  6. 1 1
      config-server/src/main/resources/shared/icssman-service-local.yml
  7. 1 1
      config-server/src/main/resources/shared/icssman-service-pro.yml
  8. 1 1
      config-server/src/main/resources/shared/icssman-service-test.yml
  9. 1 2
      diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java
  10. 3 0
      docs/012.20190815ICSS标签主诉高亮脚本/init_icss.sql
  11. 1 0
      icss-service/src/main/java/com/diagbot/dto/IndexDTO.java
  12. 2 0
      icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  13. 6 0
      icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  14. 4 1
      icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  15. 2 2
      icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java
  16. 1 1
      icss-service/src/main/java/com/diagbot/vo/DoctorInfoVO.java
  17. 1 1
      icss-service/src/main/java/com/diagbot/vo/GetLastOtherVO.java
  18. 2 0
      icss-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java
  19. 2 0
      icss-service/src/main/java/com/diagbot/vo/GetStaticVO.java
  20. 2 1
      icss-service/src/main/java/com/diagbot/vo/RetrievalVO.java
  21. 1 1
      icss-service/src/main/java/com/diagbot/vo/TemplateInfoPageVO.java
  22. 4 1
      icss-service/src/main/resources/mapper/InquiryInfoMapper.xml
  23. 1 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  24. 5 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java
  25. 5 0
      icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  26. 1 0
      icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java
  27. 23 8
      icssman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  28. 4 5
      icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java
  29. 10 1
      icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java
  30. 5 0
      knowledgeman-service/src/main/java/com/diagbot/dto/RelationNodeDTO.java
  31. 15 5
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  32. 7 3
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationContactFacade.java
  33. 1 1
      knowledgeman-service/src/main/resources/mapper/IndexConfigMapper.xml
  34. 2 3
      knowledgeman-service/src/main/resources/mapper/RelationMapper.xml
  35. 1 1
      tran-service/src/main/java/com/diagbot/vo/DoctorInfoVO.java
  36. 5 1
      tran-service/src/main/resources/mapper/DoctorInfoMapper.xml

+ 1 - 0
aipt-service/src/main/java/com/diagbot/dto/IndexDTO.java

@@ -17,6 +17,7 @@ import lombok.Setter;
 public class IndexDTO {
 	
 	private String itemName; // 指标名称
+	private Long uniqueId;
 	private Integer groupType;
 	private List<String> indexUnit;//单位
 	private List<Integer> isAbnormal;//是否异常

+ 2 - 0
aipt-service/src/main/java/com/diagbot/facade/IndexDataFacade.java

@@ -76,11 +76,13 @@ public class IndexDataFacade {
         for (String key : dataMap.keySet()) {
             IndexDTO itemIndexDTO = new IndexDTO();
             itemIndexDTO.setItemName(key);
+            
             List<String> indexUnits = new ArrayList<String>();
             List<String> indexValues = new ArrayList<String>();
             List<Integer> isAbnormals = new ArrayList<Integer>();
             List<Date> creatTimes = new ArrayList<Date>();
             List<IndexDataDTO> indexDatas = dataMap.get(key);
+            itemIndexDTO.setUniqueId(indexDatas.get(0).getUniqueId());
             for (IndexDataDTO indexDataDTO : indexDatas) {
                 indexUnits.add(indexDataDTO.getIndexUnit());
                 indexValues.add(indexDataDTO.getIndexValue());

+ 2 - 0
aipt-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java

@@ -3,6 +3,7 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -14,6 +15,7 @@ import java.util.List;
 @Setter
 public class GetStaticKnowledgeVO {
     //检索内容
+    @NotBlank(message = "请输入检索内容")
     private String InputStr;
     //需要去重的id
     private List<Long> inputIds;

+ 2 - 2
aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -3,7 +3,7 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.validation.constraints.NotNull;
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -16,7 +16,7 @@ import java.util.List;
 public class RetrievalVO {
     private Integer type;
     private Integer age;
-    @NotNull(message = "请输入症状")
+    @NotBlank(message = "请输入检索内容")
     private String InputStr;
     private Integer sexType;
     //需要去重的id

+ 1 - 1
config-server/src/main/resources/shared/icssman-service-dev.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-icssman?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.236:3306/sys-icss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: lantone
       # 连接池的配置信息

+ 1 - 1
config-server/src/main/resources/shared/icssman-service-local.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-icssman?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.236:3306/sys-icss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: lantone
       # 连接池的配置信息

+ 1 - 1
config-server/src/main/resources/shared/icssman-service-pro.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-icssman?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.236:3306/sys-icss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: lantone
       # 连接池的配置信息

+ 1 - 1
config-server/src/main/resources/shared/icssman-service-test.yml

@@ -7,7 +7,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.241:3306/sys-icssman?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.241:3306/sys-icss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
       password: lantone
       # 连接池的配置信息

+ 1 - 2
diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java

@@ -24,7 +24,6 @@ import com.diagbot.util.GuidUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.ProductServiceSaveVO;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -97,7 +96,7 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
         if (serviceInfo == null || serviceInfo.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS,
                     "找不到服务端【" + serviceInfo.getName() + "】");
-        } else if (serviceInfo.getUserId() != userId) {
+        } else if (serviceInfo.getUserId().longValue() != userId) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                     "当前登录用户没有关联服务端【" + serviceInfo.getName() + "】");
         }

+ 3 - 0
docs/012.20190815ICSS标签主诉高亮脚本/init_icss.sql

@@ -0,0 +1,3 @@
+use `sys-icss`;
+ALTER TABLE `icss_question_info`
+ADD COLUMN `spec_flag` int(11) NOT NULL DEFAULT '0' COMMENT '特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)' AFTER `formula_code`;

+ 1 - 0
icss-service/src/main/java/com/diagbot/dto/IndexDTO.java

@@ -17,6 +17,7 @@ import lombok.Setter;
 public class IndexDTO {
 
 	private String itemName; // 指标名称
+	private Long uniqueId;
 	private Integer groupType;
 	private List<String> indexUnit;//单位
 	private List<Integer> isAbnormal;//是否异常

+ 2 - 0
icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -42,5 +42,7 @@ public class QuestionDTO {
     private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
     private String uniqueName; //隐藏名称
     private String formulaCode;     //公式编码
+    private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
     private String remark;//备注
+
 }

+ 6 - 0
icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -130,9 +130,15 @@ public class QuestionInfo implements Serializable {
      */
     private String joint;
 
+    /**
+     * 特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+     */
+    private Integer specFlag;
+
     /**
      * 备注
      */
     private String remark;
 
+
 }

+ 4 - 1
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 
+import com.diagbot.util.IntegerUtil;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -263,7 +264,9 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         Map<String, Object> map = new HashMap<>();
         map.put("hospitalId", hospitalInfoDTO.getId());
         map.put("patientId", patientInfoDTO.getId());
-        map.put("sign", getLastOtherVO.getSign());
+        if (!IntegerUtil.isNull(getLastOtherVO.getSign())){
+            map.put("sign", getLastOtherVO.getSign());
+        }
         InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
 
         if (inquiryInfo != null) {

+ 2 - 2
icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java

@@ -89,7 +89,7 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
         mapAll.put("hospital_id", templateInfoRevampVO.getHospitalId());
         mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
         mapAll.put("name", templateInfoRevampVO.getModeName());
-        mapAll.put("type", templateInfoRevampVO.getType());
+        //mapAll.put("type", templateInfoRevampVO.getType());
         templates.allEq(mapAll);
         TemplateInfo datas = getOne(templates);
         if (datas != null) {
@@ -124,7 +124,7 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
         mapAll.put("hospital_id", templateInfosVO.getHospitalId());
         mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
         mapAll.put("name", templateInfosVO.getModeName());
-        mapAll.put("type", templateInfosVO.getModeType());
+        //mapAll.put("type", templateInfosVO.getModeType());
 
         templateInfoFand.allEq(mapAll);
         int sum = count(templateInfoFand);

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/DoctorInfoVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Setter
 public class DoctorInfoVO {
-    @NotNull(message = "请输入科室编码")
+//    @NotNull(message = "请输入科室编码")
     private String deptCode;
     @NotNull(message = "请输入医院编码")
     private String hosptialCode;

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/GetLastOtherVO.java

@@ -35,7 +35,7 @@ public class GetLastOtherVO {
      * 类型:0:结构化 1:文本模式
      */
 	@ApiModelProperty(value="类型:0:结构化 1:文本模式")
-    private Integer sign = 0;
+    private Integer sign;
 	
 	   
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/GetStaticKnowledgeVO.java

@@ -3,6 +3,7 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -14,6 +15,7 @@ import java.util.List;
 @Setter
 public class GetStaticKnowledgeVO {
     //检索内容
+    @NotBlank(message = "请输入检索内容")
     private String InputStr;
     //需要去重的id
     private List<Long> inputIds;

+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/GetStaticVO.java

@@ -3,6 +3,7 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -14,6 +15,7 @@ import java.util.List;
 @Setter
 public class GetStaticVO {
     //检索内容
+    @NotBlank(message = "请输入检索内容")
     private String InputStr;
     //需要去重的id
     private List<Long> inputIds;

+ 2 - 1
icss-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -3,6 +3,7 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -19,7 +20,7 @@ public class RetrievalVO {
     private Integer type;
     @NotNull(message = "请输入病人年龄")
     private Integer age;
-    @NotNull(message = "请输入症状")
+    @NotBlank(message = "请输入检索内容")
     private String InputStr;
     @NotNull(message = "请输入病人性别")
     private Integer sexType;

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/TemplateInfoPageVO.java

@@ -37,7 +37,7 @@ public class TemplateInfoPageVO extends Page{
 	@NotNull(message = "请输入部门id")
 	private Long hospitalDeptId;//部门id
 	
-	@NotBlank(message = "请输入模板类型")
+//	@NotBlank(message = "请输入模板类型")
 	private String type;//模板类型
 	
 	private List<Integer> sex;//性别

+ 4 - 1
icss-service/src/main/resources/mapper/InquiryInfoMapper.xml

@@ -29,7 +29,10 @@
 		FROM icss_inquiry_info a JOIN icss_inquiry_detail b 
 		on a.id=b.inquiry_id
 		where a.hospital_id=#{hospitalId} and a.patient_id=#{patientId}
-		and a.sign=#{sign} and b.type=3 and a.is_deleted='N' 
+        <if test="sign != null and sign != ''">
+            and a.sign=#{sign}
+        </if>
+		and b.type=3 and a.is_deleted='N'
 		and b.is_deleted='N' 
 		group by a.id
 		ORDER BY a.gmt_create desc

+ 1 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -42,6 +42,7 @@ public class QuestionDTO {
     private List<QuestionDetail> questionDetailList = new ArrayList<>(); //标签明细表
     private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
     private Integer disType;//诊断类型
+    private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
 //    private List<ScaleContentDTO> scale = new ArrayList<>();
     private String remark;//备注
 }

+ 5 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java

@@ -159,6 +159,11 @@ public class QuestionPageDTO implements Serializable {
 
     private String formulaCode; //公式编码
 
+    /**
+     * 特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+     */
+    private Integer specFlag;
+
     /**
      * 备注
      */

+ 5 - 0
icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -160,6 +160,11 @@ public class QuestionInfo implements Serializable {
      */
     private String formulaCode;
 
+    /**
+     * 特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
+     */
+    private Integer specFlag;
+
     /**
      * 备注
      */

+ 1 - 0
icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java

@@ -42,6 +42,7 @@ public class QuestionWrapper implements Serializable {
     private Integer showInfo; //是否显示i
     private String joint;     //标签连接符
     private String formulaCode; //公式编码
+    private Integer specFlag;//特殊标记(0:没有标记,1:主诉高亮,2:诱因记录)
     private String remark; //备注
     private List<QuestionDetail> questionDetails = new ArrayList<>(); //明细
     private List<QuestionMappingWrapper> questionMappings = new ArrayList<>(); //映射关系

+ 23 - 8
icssman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.QuestionTypeEnum;
+import com.diagbot.enums.TagTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.LisMappingService;
@@ -24,7 +25,6 @@ import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
-import com.diagbot.vo.IndexLexiconVO;
 import com.diagbot.vo.IndexVO;
 import com.diagbot.vo.LisMappingPageVO;
 import com.diagbot.vo.LisMappingVO;
@@ -99,7 +99,6 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             }
             lisMappingQueryWrapper.and(i -> i.isNull("item_name").or(j -> j.eq("item_name", "")));
         } else {
-
             String uniqueName = lisMappingVO.getMealName() + "--" + lisMappingVO.getItemName();
             if (!uniqueName.equals(lisMappingVO.getUniqueName())) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验公表名称不匹配");
@@ -107,6 +106,28 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             lisMappingQueryWrapper.eq("item_name", lisMappingVO.getItemName());
         }
 
+        //验证化验大小项标签是否存在
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("type", QuestionTypeEnum.Lis.getKey()).
+                eq("tag_type", TagTypeEnum.T7.getKey()).
+                eq("name", lisMappingVO.getMealName());
+        QuestionInfo lisQuestion = questionFacade.getOne(questionInfoQueryWrapper);
+        if (lisQuestion == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验套餐项【" + lisMappingVO.getMealName() + "】标签不存在");
+        }
+        if (StringUtil.isNotBlank(lisMappingVO.getItemName())) {
+            questionInfoQueryWrapper = new QueryWrapper<>();
+            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                    eq("type", QuestionTypeEnum.Lis.getKey()).
+                    eq("tag_type", TagTypeEnum.T1.getKey()).
+                    eq("name", lisMappingVO.getItemName());
+            QuestionInfo lisDetailQuestion = questionFacade.getOne(questionInfoQueryWrapper);
+            if (lisDetailQuestion == null) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验明细项【" + lisMappingVO.getItemName() + "】标签不存在");
+            }
+        }
+
         //验证医学术语是否存在
         IndexVO indexVO = new IndexVO();
         indexVO.setName(lisMappingVO.getMealName());
@@ -148,12 +169,6 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         Boolean state = this.saveOrUpdate(lisMapping);
 
         //清除缓存
-        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                eq("type", QuestionTypeEnum.Lis.getKey()).
-                eq("tag_type", 7).
-                eq("name", lisMappingVO.getMealName());
-        QuestionInfo lisQuestion = questionFacade.getOne(questionInfoQueryWrapper);
         if (lisQuestion != null) {
             cacheFacade.clearCache(lisQuestion.getId());
         }

+ 4 - 5
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -24,7 +24,6 @@ import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.ModuleInfoTypeEnum;
 import com.diagbot.enums.QuestionTypeEnum;
-import com.diagbot.enums.TagTypeEnum;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
@@ -588,10 +587,10 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
                     .in("id", moduleIds))
                     .stream().map(row ->  row.getName()).collect(Collectors.toList());
             for (String mouduleName: moduleNames) {
-                errMsg.append("该标签已关联").append("【" + mouduleName + "】").append("<br/>");
+                errMsg.append("请先删除关联模板:").append("【" + mouduleName + "】").append("<br/>");
             }
         }
-        StringBuffer titalMsg = new StringBuffer();
+        /*StringBuffer titalMsg = new StringBuffer();
         StringBuffer questionMsg = new StringBuffer();
         List<QuestionInfo> info = questionFacade.getParentQuestion(getQuestiongAndModuleRelationsVO.getQuestionId());
         for (QuestionInfo bean : info) {
@@ -603,9 +602,9 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
                 questionMsg.append("【"+bean.getTagName()+"】");
             }
         }
-        titalMsg.append("该标签已关联父级:").append(questionMsg).append("<br/>").append(errMsg);
+        titalMsg.append("该标签已关联父级:").append(questionMsg).append("<br/>").append(errMsg);*/
         GetQuestiongAndModuleRelationsDTO getQuestiongAndModuleRelationsDTO = new GetQuestiongAndModuleRelationsDTO();
-        getQuestiongAndModuleRelationsDTO.setRelationInfos(titalMsg.append("是否删除?"));
+        getQuestiongAndModuleRelationsDTO.setRelationInfos(errMsg);
         return getQuestiongAndModuleRelationsDTO;
     }
 

+ 10 - 1
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.client.KnowledgemanServiceClient;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.GetQuestionInfoDTO;
+import com.diagbot.dto.GetQuestiongAndModuleRelationsDTO;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.dto.RespDTO;
@@ -39,6 +40,7 @@ import com.diagbot.vo.ConceptExistVO;
 import com.diagbot.vo.DeleteQuestionVO;
 import com.diagbot.vo.GetQuestionIdsByTypeVO;
 import com.diagbot.vo.GetQuestionInfoVO;
+import com.diagbot.vo.GetQuestiongAndModuleRelationsVO;
 import com.diagbot.vo.IndexIcssVO;
 import com.diagbot.vo.IndexLexiconVO;
 import com.diagbot.vo.QuestionIdsVO;
@@ -515,7 +517,14 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                         sb.toString());
             }
-
+            //模板关联
+            GetQuestiongAndModuleRelationsVO getQuestiongAndModuleRelationsVO = new GetQuestiongAndModuleRelationsVO();
+            getQuestiongAndModuleRelationsVO.setQuestionId(Long.parseLong(id));
+            GetQuestiongAndModuleRelationsDTO getQuestiongAndModuleRelationsDTO = moduleInfoFacade.getQuestiongAndModuleRelations(getQuestiongAndModuleRelationsVO);
+            if(null != getQuestiongAndModuleRelationsDTO && StringUtil.isNotBlank(getQuestiongAndModuleRelationsDTO.getRelationInfos().toString())){
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        getQuestiongAndModuleRelationsDTO.getRelationInfos().toString());
+            }
             //删除自身
             this.deleteByIds(paramMap);
             //删除明细

+ 5 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/RelationNodeDTO.java

@@ -74,6 +74,11 @@ public class RelationNodeDTO {
 	 */
 	private String relationName;
 	
+	/**
+     * 状态:Y-已删除,N-启用中
+     */
+	private String isDeletedConcept;
+	
 	/**
 	 * 下一级概念
 	 */

+ 15 - 5
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -142,10 +142,15 @@ public class ConceptFacade extends ConceptServiceImpl {
      * @return
      */
     public List<GetAllConceptDTO> getAllConcept(GetAllConceptVO getAllConceptVO) {
+    	List<GetAllConceptDTO> getAllConceptDTOList = Lists.newArrayList();
+    	if(StringUtil.isBlank(getAllConceptVO.getName())){
+    		return getAllConceptDTOList;
+    	}
+    	
         QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<LibraryInfo>();
         libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
         libraryInfoQe.eq(getAllConceptVO.getIsConcept() != null, "is_concept", getAllConceptVO.getIsConcept());
-        libraryInfoQe.like(StringUtil.isNotBlank(getAllConceptVO.getName()), "name", getAllConceptVO.getName());
+        libraryInfoQe.like("name", getAllConceptVO.getName());
         List<LibraryInfo> libraryInfoList = libraryinfoFacade.list(libraryInfoQe);
 
         //过滤掉非概念术语
@@ -178,7 +183,7 @@ public class ConceptFacade extends ConceptServiceImpl {
             }).collect(Collectors.toList());
         }*/
 
-        List<GetAllConceptDTO> getAllConceptDTOList = BeanUtil.listCopyTo(libraryInfoList, GetAllConceptDTO.class);
+        getAllConceptDTOList = BeanUtil.listCopyTo(libraryInfoList, GetAllConceptDTO.class);
         getAllConceptDTOList.forEach(i -> {
             i.setType(LexiconTypeEnum.getName(i.getTypeId().intValue()));
             i.setNameAndType(i.getName() + "(" + i.getType() + ")");
@@ -195,11 +200,14 @@ public class ConceptFacade extends ConceptServiceImpl {
      */
     public List<GetAllForRelationDTO> getAllForRelation(GetAllForRelationVO getAllForRelationVO) {
         List<GetAllForRelationDTO> retList = new ArrayList<>();
+        if(StringUtil.isBlank(getAllForRelationVO.getName())&&getAllForRelationVO.getTypeId()==null){
+        	return retList;
+        }
 
         QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
         conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
-        conceptQe.like(StringUtil.isNotEmpty(getAllForRelationVO.getName()), "lib_name", getAllForRelationVO.getName());
-        conceptQe.eq(getAllForRelationVO.getTypeId() != null, "lib_type", getAllForRelationVO.getTypeId());
+        conceptQe.like(StringUtil.isNotBlank(getAllForRelationVO.getName()),"lib_name", getAllForRelationVO.getName());
+        conceptQe.eq(getAllForRelationVO.getTypeId()!=null,"lib_type", getAllForRelationVO.getTypeId());
         List<Concept> conceptList = list(conceptQe);
 
         Map<Long, Long> reCouMap = new HashMap<>();
@@ -510,6 +518,8 @@ public class ConceptFacade extends ConceptServiceImpl {
                     } else {
                         throw new CommonException(CommonErrorCode.RPC_ERROR, "该数据已经建立且处于已删除状态,可前往列表中恢复该条数据!");
                     }
+                }else if(addConceptInfoVO.getConceptId().intValue()!=ckConceptId){
+                	throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "标准术语已被占用!");
                 }
             } else if (addConceptInfoVO.getLineNum() == null && addConceptInfoVO.getConceptId() == null && concept != null
                     || libraryInfoList.stream().filter(i -> i.getConceptId().intValue() == ckConceptId).count() == 1) {
@@ -559,7 +569,7 @@ public class ConceptFacade extends ConceptServiceImpl {
         }
         libraryInfoMain.setIsConcept(1);
         libraryInfoMain.setRemark(addConceptInfoDetailVOMain.getRemark());
-        libraryInfoMain.setSpell(libraryInfoMain.getSpell());
+        libraryInfoMain.setSpell(addConceptInfoDetailVOMain.getSpell());
         libraryInfoMain.setConceptId(conceptId);
         libraryInfoMain.setGmtModified(now);
         libraryInfoMain.setModifier(currentUser);

+ 7 - 3
knowledgeman-service/src/main/java/com/diagbot/facade/RelationContactFacade.java

@@ -19,6 +19,7 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.Concept;
 import com.diagbot.entity.Relation;
 import com.diagbot.entity.RelationOrder;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -202,8 +203,9 @@ public class RelationContactFacade extends RelationServiceImpl {
 		relationNodeDTO.setConceptTypeId(concept.getLibType());
 		relationNodeDTO.setConceptTypeName(LexiconTypeEnum.getName(concept.getLibType().intValue()));
 		relationNodeDTO.setConceptNameType(concept.getLibName()+"("+LexiconTypeEnum.getName(concept.getLibType().intValue())+")");
+		relationNodeDTO.setIsDeletedConcept(concept.getIsDeleted());
 		
-		relationNodeDTO.setNodeList(repairRelationDataForQuery(relationContactDetailVO.getConceptId(), relationContactDetailVO.getRelationId(),null));
+		relationNodeDTO.setNodeList(repairRelationDataForQuery(relationContactDetailVO.getConceptId(), relationContactDetailVO.getRelationId(),null,concept.getIsDeleted()));
 		
 		return relationNodeDTO;
 	}
@@ -213,9 +215,10 @@ public class RelationContactFacade extends RelationServiceImpl {
 	 * @param conceptId
 	 * @param relationId
 	 * @param hookConceptIds
+	 * @param isDeletedParent
 	 * @return
 	 */
-	private List<RelationNodeDTO> repairRelationDataForQuery(Long conceptId,Long relationId,List<Long> hookConceptIds){
+	private List<RelationNodeDTO> repairRelationDataForQuery(Long conceptId,Long relationId,List<Long> hookConceptIds,String isDeletedParent){
 		if(hookConceptIds==null){
 			hookConceptIds = new ArrayList<>();
 			hookConceptIds.add(conceptId);
@@ -228,12 +231,13 @@ public class RelationContactFacade extends RelationServiceImpl {
 			i.setConceptNameType(i.getConceptName()+"("+LexiconTypeEnum.getName(i.getConceptTypeId().intValue())+")");
 			i.setParentConceptTypeName(LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue()));
 			i.setParentConceptNameType(i.getParentConceptName()+"("+LexiconTypeEnum.getName(i.getParentConceptTypeId().intValue())+")");
+			i.setIsDeletedConcept(isDeletedParent.equals(IsDeleteEnum.Y.getKey())?IsDeleteEnum.Y.getKey():i.getIsDeletedConcept());
 			
 			if(!hookConceptIds.contains(i.getConceptId())){
 				List<Long> hookConceptIds_ = new ArrayList<>();
 				hookConceptIds_.addAll(hookConceptIds);
 				hookConceptIds_.add(i.getConceptId());
-				i.setNodeList(repairRelationDataForQuery(i.getConceptId(), relationId,hookConceptIds_));
+				i.setNodeList(repairRelationDataForQuery(i.getConceptId(), relationId,hookConceptIds_,i.getIsDeletedConcept()));
 			}
 		}
 		

+ 1 - 1
knowledgeman-service/src/main/resources/mapper/IndexConfigMapper.xml

@@ -33,7 +33,7 @@
 		AND b.lib_name LIKE CONCAT('%', #{indexConfigVO.diseaseName}, '%')
 	</if>
 	GROUP BY a.disease_id
-	ORDER BY a.gmt_create DESC
+	ORDER BY state ASC,gmtModified DESC
 </select>
 <select id="queryIndexConfigDiseaseName" resultType="com.diagbot.dto.DiseaseInfoDTO">
 	SELECT DISTINCT

+ 2 - 3
knowledgeman-service/src/main/resources/mapper/RelationMapper.xml

@@ -57,6 +57,7 @@
 			d.id AS conceptId,
 			d.lib_name AS conceptName,
 			d.lib_type AS conceptTypeId,
+			d.is_deleted AS isDeletedConcept,
 			c.id AS parentConceptId,
 			c.lib_name AS parentConceptName,
 			c.lib_type AS parentConceptTypeId,
@@ -68,8 +69,6 @@
 		JOIN kl_lexicon_relationship e ON a.relation_id=e.id
 		WHERE 1=1
  		AND a.is_deleted='N' 
- 		AND c.is_deleted='N'
- 		AND d.is_deleted='N'
  		AND e.is_deleted='N'
  		AND a.start_id=#{conceptId} 
  		<if test="relationId!=null">
@@ -204,7 +203,7 @@
 		GROUP BY t2.id) tab
 		where 1=1
 		<if test="name!=null and name!=''">
-			and libNameType like concat('%',#{name},'%')
+			and libName like concat('%',#{name},'%')
 		</if>
 		ORDER BY isDeleted ASC,operTime DESC
     </select>

+ 1 - 1
tran-service/src/main/java/com/diagbot/vo/DoctorInfoVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Setter
 public class DoctorInfoVO {
-    @NotNull(message = "请输入科室编码")
+//    @NotNull(message = "请输入科室编码")
     private String deptCode;
     @NotNull(message = "请输入医院编码")
     private String hosptialCode;

+ 5 - 1
tran-service/src/main/resources/mapper/DoctorInfoMapper.xml

@@ -26,6 +26,10 @@
         SELECT a.* FROM `tran_doctor_info` a
         LEFT JOIN tran_hospital_dept b ON a.hospital_dept_code = b.`code`
         WHERE a.is_deleted = 'N' AND b.is_deleted = 'N'
-        AND a.`code` = #{doctorCode} AND b.hospital_code = #{hospitalCode} AND b.`code` = #{deptCode}
+        AND a.`code` = #{doctorCode}
+        AND b.hospital_code = #{hospitalCode}
+        <if test="deptCode != null and deptCode != ''">
+            AND b.`code` = #{deptCode}
+        </if>
     </select>
 </mapper>