瀏覽代碼

Merge branch 'develop' into dev/precSR

gaodm 5 年之前
父節點
當前提交
0dcd548b33
共有 22 個文件被更改,包括 80 次插入125 次删除
  1. 0 9
      aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java
  2. 1 13
      aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java
  3. 4 3
      aipt-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  4. 0 15
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  5. 13 27
      aipt-service/src/main/java/com/diagbot/facade/PushFacade.java
  6. 1 0
      aipt-service/src/main/java/com/diagbot/util/ParamConvertUtil.java
  7. 1 11
      aipt-service/src/main/java/com/diagbot/web/ClinicalController.java
  8. 1 1
      aipt-service/src/main/java/com/diagbot/web/PushController.java
  9. 0 2
      aipt-service/src/main/resources/mapper/ConceptMapper.xml
  10. 2 1
      data-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  11. 2 1
      data-service/src/main/java/com/diagbot/facade/PushFacade.java
  12. 1 1
      data-service/src/main/java/com/diagbot/web/PushController.java
  13. 3 2
      icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  14. 6 4
      icss-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  15. 3 2
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  16. 1 1
      icss-service/src/main/java/com/diagbot/web/PushController.java
  17. 9 10
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  18. 11 6
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java
  19. 15 12
      knowledgeman-service/src/main/java/com/diagbot/web/UploadController.java
  20. 3 2
      ltapi-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java
  21. 2 1
      ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java
  22. 1 1
      ltapi-service/src/main/java/com/diagbot/web/PushController.java

+ 0 - 9
aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -37,15 +37,6 @@ public interface AIServiceClient {
     @PostMapping(value = "/push-web/graph/scale")
     Map<String, Object> scale(@RequestBody SearchVo searchVo);
 
-    /**
-     * 高危诊断
-     *
-     * @param searchVo
-     * @return
-     */
-    @PostMapping(value = "/push-web/graph/highRisk")
-    Response<GdbResponse> highRiskPageData(@RequestBody SearchVo searchVo);
-
     /**
      * 计算接口
      *

+ 1 - 13
aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -44,18 +44,6 @@ public class AIServiceHystrix implements AIServiceClient {
         return null;
     }
 
-    /**
-     * 高危诊断
-     *
-     * @param searchVo
-     * @return
-     */
-    @Override
-    public Response<GdbResponse> highRiskPageData(@RequestBody SearchVo searchVo) {
-        log.error("【hystrix】调用{}异常", "highRiskPageData");
-        return null;
-    }
-
     /**
      * 计算接口
      *
@@ -67,4 +55,4 @@ public class AIServiceHystrix implements AIServiceClient {
         log.error("【hystrix】调用{}异常", "scaleCalc");
         return null;
     }
-}
+}

+ 4 - 3
aipt-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -10,9 +10,10 @@ import lombok.Setter;
  */
 public enum FeatureTypeEnum implements KeyedNamed {
     Feature_Type_Symptom(1, "症状"),
-    Feature_Type_Past(1,"既往史"),
+    Feature_Type_Past(1, "既往史"),
     Feature_Type_Other(3, "其他史"),
-    Feature_Type_Vital(4, "查体"),
+    Feature_Type_Vital_Result(4, "查体结果"),
+    Feature_Type_Vital_Index(42, "查体指标"),
     Feature_Type_Lis(5, "化验"),
     Feature_Type_Pacs(6, "辅检"),
     Feature_Type_Disease(7, "诊断"),
@@ -55,4 +56,4 @@ public enum FeatureTypeEnum implements KeyedNamed {
     public String getName() {
         return name;
     }
-}
+}

+ 0 - 15
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -168,21 +168,6 @@ public class ClinicalFacade {
         return list;
     }
 
-    /**
-     * 高危诊断
-     *
-     * @param searchVo
-     * @return
-     */
-    public GdbResponse highRiskPageData(SearchVo searchVo) {
-        Response<GdbResponse> response = aiServiceClient.highRiskPageData(searchVo);
-        if (response == null || response.getData() == null) {
-            return null;
-            //throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "高危没有返回结果");
-        }
-        return response.getData();
-    }
-
     /**
      * 计算接口
      *

+ 13 - 27
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -123,8 +123,18 @@ public class PushFacade {
                 }
             }
         }
-        //查体 概念列表
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital.getKey()))) {
+        //查体 查体结果
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Result.getKey()))) {
+            List<FeatureRate> vital = data.getVitals();
+            if (ListUtil.isNotEmpty(vital)) {
+                List<String> nameList = vital.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
+                if (ListUtil.isNotEmpty(nameList)) {
+                    pushDTO.setVital(getConceptDTOList(nameList, LexiconTypeEnum.VITAL_RESULT.getKey()));
+                }
+            }
+        }
+        //查体 查体指标
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Vital_Index.getKey()))) {
             List<FeatureRate> vital = data.getVitals();
             if (ListUtil.isNotEmpty(vital)) {
                 List<String> nameList = vital.stream().map(featureRate -> featureRate.getFeatureName()).collect(Collectors.toList());
@@ -133,6 +143,7 @@ public class PushFacade {
                 }
             }
         }
+
         //化验 概念列表-公表项
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Lis.getKey()))) {
             List<FeatureRate> lis = data.getLabs();
@@ -165,33 +176,8 @@ public class PushFacade {
         //诊断 map
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Feature_Type_Disease.getKey()))) {
             if (ListUtil.isNotEmpty(dis)) {
-                List<String> nameList = dis.stream().map(featureRate -> featureRate.getFeatureName()).distinct().collect(Collectors.toList());
                 Map<String, List<ConceptPushDTO>> disMapDTO = new LinkedHashMap<>();
                 Map<String, List<FeatureRate>> disFeatureMap = new LinkedHashMap<>();
-                //警惕
-                Map<String, String> highRiskMap = new HashMap<>();
-                highRiskMap.put("disease", String.join(",", nameList));
-                SearchVo hrSearchVo = new SearchVo();
-                hrSearchVo.setDiag(String.join(",", nameList));
-                GdbResponse graphRes = clinicalFacade.highRiskPageData(hrSearchVo);
-                if (graphRes != null) {
-                    Map<String, String> graphResult = graphRes.getResult();
-                    if (graphResult.size() > 0) {
-                        List<String> hrNameList = Lists.newLinkedList();
-                        for (Map.Entry<String, String> entry : graphResult.entrySet()) {
-                            if (entry.getValue().equals("1")) {
-                                hrNameList.add(entry.getKey());
-                            }
-                        }
-                        if (ListUtil.isNotEmpty(hrNameList)) {
-                            List<ConceptPushDTO> hrDisDTO = getConceptDTOList(hrNameList, LexiconTypeEnum.DIAGNOSIS.getKey());
-                            if (isConnect) {
-                                hrDisDTO = addClientName(hrDisDTO, searchVo.getHosCode(), ConceptTypeEnum.Disease.getKey());
-                            }
-                            disMapDTO.put("警惕", hrDisDTO);
-                        }
-                    }
-                }
                 //诊断分类
                 for (FeatureRate featureRate : dis) {
                     if (StringUtil.isBlank(featureRate.getDesc())) {

+ 1 - 0
aipt-service/src/main/java/com/diagbot/util/ParamConvertUtil.java

@@ -106,6 +106,7 @@ public class ParamConvertUtil {
                 type = ConceptTypeEnum.Other.getKey();
                 break;
             case VITAL_INDEX:
+            case VITAL_RESULT:
                 type = ConceptTypeEnum.Vital.getKey();
                 break;
             case LIS_PACKAGE:

+ 1 - 11
aipt-service/src/main/java/com/diagbot/web/ClinicalController.java

@@ -3,7 +3,6 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.bean.CalculateData;
-import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ScaleContent;
@@ -63,15 +62,6 @@ public class ClinicalController {
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "高危诊断", notes = "")
-    @PostMapping("/highRisk")
-    @SysLogger("highRisk")
-    @ApiIgnore
-    public RespDTO<GdbResponse> highRisk(@RequestBody SearchVo searchVo) {
-        GdbResponse data = clinicalFacade.highRiskPageData(searchVo);
-        return RespDTO.onSuc(data);
-    }
-
     @ApiOperation(value = "知识库标准化-计算接口", notes = "")
     @PostMapping("/scaleCalc")
     @SysLogger("scaleCalc")
@@ -79,4 +69,4 @@ public class ClinicalController {
         Map<String, Object> data = clinicalFacade.scaleCalc(calculateData);
         return RespDTO.onSuc(data);
     }
-}
+}

+ 1 - 1
aipt-service/src/main/java/com/diagbot/web/PushController.java

@@ -77,7 +77,7 @@ public class PushController {
                     "lis:source:数据来源(必填),Integer<br>" +
                     "pacs:辅检,String<br>" +
                     "diag:诊断,String<br>" +
-                    "featureType:类型(必填),1:症状,3:其他史,4:查体,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
+                    "featureType:类型(必填),1:症状,3:其他史,4:查体结果,42:查体指标,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
                     "indications:指标结果,String<br>" +
                     "adverseReactions:不良反应,List<不良反应明细><br>")

+ 0 - 2
aipt-service/src/main/resources/mapper/ConceptMapper.xml

@@ -836,8 +836,6 @@
                                     OR t2. NAME LIKE CONCAT('%', #{InputStr}, '%')
                                 )
                                 AND t4.relation_id = 18
-                                GROUP BY
-                                    t5.id
                             ) b1,
                             kl_concept b2,
                             kl_concept_detail b3

+ 2 - 1
data-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -11,7 +11,8 @@ import lombok.Setter;
 public enum FeatureTypeEnum implements KeyedNamed {
     Symptom(1, "症状"),
     Other(3, "其他史"),
-    Vital(4, "查体"),
+    VitalResult(4, "查体结果"),
+    VitalIndex(42, "查体指标"),
     Lis(5, "化验"),
     Pacs(6, "辅检"),
     Disease(7, "诊断"),

+ 2 - 1
data-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -56,7 +56,8 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
         }
         //查体
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Vital.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalResult.getKey())) ||
+                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
             List<ConceptPushDTO> vitals = data.getVital();
             pushDTO.setVital(vitals);
         }

+ 1 - 1
data-service/src/main/java/com/diagbot/web/PushController.java

@@ -47,7 +47,7 @@ public class PushController {
                     "lis:source:数据来源(必填),Integer<br>" +
                     "pacs:辅检,String<br>" +
                     "diag:诊断,String<br>" +
-                    "featureType:类型(必填),1:症状,3:其他史,4:查体,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
+                    "featureType:类型(必填),1:症状,3:其他史,4:查体结果,42:查体指标,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
                     "diseaseName:取治疗方案的诊断,String<br>" +
                     "scaleName:量表名称,String<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +

+ 3 - 2
icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -11,8 +11,9 @@ import lombok.Setter;
 public enum FeatureTypeEnum implements KeyedNamed {
     Symptom(1, "症状"),
     Other(3, "其他史"),
-    Vital(4, "查体"),
-    ModuleVital(41, "查体模板"),
+    VitalResult(4, "查体结果"),
+    VitalModule(41, "查体模板"),
+    VitalIndex(42, "查体指标"),
     Lis(5, "化验"),
     Pacs(6, "辅检"),
     Disease(7, "诊断"),

+ 6 - 4
icss-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -77,14 +77,16 @@ public class LisMappingFacade extends LisMappingServiceImpl {
             return null;
         }
 
-        List<String> mealNameList= Lists.newLinkedList();
+        List<String> mealNameList = Lists.newLinkedList();
         mealNameList.add(project);
         Map<String, Map<String, String>> lisMappingMap = getLisMappingByMealName(mealNameList);
 
         Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
-        Map<String, String> projectMap = new LinkedHashMap<>();
-        projectMap.put(project, lisMappingMap.get(project).get(""));
-        retMap.put("project", projectMap);
+        if (lisMappingMap != null && lisMappingMap.get(project) != null) {
+            Map<String, String> projectMap = new LinkedHashMap<>();
+            projectMap.put(project, lisMappingMap.get(project).get(""));
+            retMap.put("project", projectMap);
+        }
 
         if (ListUtil.isEmpty(details)) {
             return retMap;

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

@@ -129,7 +129,8 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
         }
         //查体标记项
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Vital.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalResult.getKey())) ||
+                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
             List<ConceptPushDTO> vitals = data.getVital();
             if (ListUtil.isNotEmpty(vitals)) {
                 List<ConceptPushDTO> vitalDTOList = addQuestionId(vitals, QuestionTypeEnum.Vital.getKey());
@@ -141,7 +142,7 @@ public class PushFacade {
             }
         }
         //查体模板
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.ModuleVital.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalModule.getKey()))) {
             ConceptPushDTO dept = data.getDept();
             List<QuestionPushDTO> moduleVitalDTO = getVitalModule(dept, pushVO);
             pushDTO.setModuleVital(moduleVitalDTO);

+ 1 - 1
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -54,7 +54,7 @@ public class PushController {
                     "lis:source:数据来源(必填),Integer<br>" +
                     "pacs:辅检,String<br>" +
                     "diag:诊断,String<br>" +
-                    "featureType:类型(必填),1:症状,3:其他史,4:查体,41:查体模板,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
+                    "featureType:类型(必填),1:症状,3:其他史,4:查体结果,41:查体模板,42:查体指标(查体结果和查体指标不能同时取),5:化验,6:辅检,7:诊断,22-指标,String<br>" +
                     "patientId:病人id,Long<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
                     "indications:指标结果(预留字段,暂不用),String<br>" +

+ 9 - 10
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -247,21 +247,20 @@ public class ConceptFacade extends ConceptServiceImpl {
     public IPage<GetAllInformationDTO> getAllInformation(GetAllInformationVO getAllInformationVO) {
     	Page<GetAllInformationDTO> getAllInformationDTOPage = new Page<>();
     	
-    	List<Long> conceptIdList = null;
-    	if(StringUtil.isBlank(getAllInformationVO.getLibName())&&StringUtil.isNotBlank(getAllInformationVO.getName())){
-    		getAllInformationVO.setLibName(getAllInformationVO.getName());
-    	}
+    	Page<Concept> conceptPage = new Page<>(getAllInformationVO.getCurrent(),getAllInformationVO.getSize());
+    	QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
     	if(StringUtil.isNotBlank(getAllInformationVO.getLibName())){
     		QueryWrapper<LibraryInfo> libraryInfoQe = new QueryWrapper<>();
     		libraryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
     		libraryInfoQe.like("name", getAllInformationVO.getLibName());
     		libraryInfoQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()),"type_id", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
-    		conceptIdList = libraryinfoFacade.list(libraryInfoQe).stream().map(i->i.getConceptId()).distinct().collect(Collectors.toList());
+    		List<Long> conceptIdList = libraryinfoFacade.list(libraryInfoQe).stream().map(i->i.getConceptId()).distinct().collect(Collectors.toList());
+    		if(ListUtil.isNotEmpty(conceptIdList)){
+    			conceptQe.in("id", conceptIdList);
+    		}else{
+    			conceptQe.eq("id", -999999999);
+    		}
     	}
-    	
-    	Page<Concept> conceptPage = new Page<>(getAllInformationVO.getCurrent(),getAllInformationVO.getSize());
-    	QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
-    	conceptQe.in(ListUtil.isNotEmpty(conceptIdList), "id", conceptIdList);
     	conceptQe.like(StringUtil.isNotBlank(getAllInformationVO.getName()),"lib_name", getAllInformationVO.getName());
     	conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getType()),"lib_type", LexiconTypeEnum.getKey(getAllInformationVO.getType()));
     	conceptQe.eq(StringUtil.isNotBlank(getAllInformationVO.getIsDeleted()),"is_deleted", getAllInformationVO.getIsDeleted());
@@ -837,7 +836,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         List<AddConceptInfoDetailVO> addConceptInfoDetailVOMainList = addConceptInfoVO.getDetailList().stream().filter(i -> i.getIsConcept() == 1).collect(Collectors.toList());
         if (addConceptInfoDetailVOMainList.size() == 0) {
-            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, lineNumStr + "无标准术语!");
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, lineNumStr + "同义词中缺少标准词本体!");
         }
         if (addConceptInfoDetailVOMainList.size() > 1) {
             throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, lineNumStr + "标准术语只能有一个!");

+ 11 - 6
knowledgeman-service/src/main/java/com/diagbot/facade/RelationFacade.java

@@ -282,7 +282,7 @@ public class RelationFacade extends RelationServiceImpl {
         StringBuffer sbf = new StringBuffer();
         InputStream inputStream = null;
         Workbook wb = null;
-        String title_1="",title_2="",title_3="",title_4="";
+        String title_1="",title_2="",title_3="",title_4="",title_5="";
         try {
             if (!file.isEmpty()) {
                 inputStream = file.getInputStream();
@@ -301,7 +301,7 @@ public class RelationFacade extends RelationServiceImpl {
                             
                             Sheet sheet = wb.getSheetAt(0);
                             int count = 0;
-                            String startName, startType, endName, endType;
+                            String startName, startType, endName, endType, relationName;
                             for (Row row : sheet) {
                                 count++;
                                 if(row == null){
@@ -312,23 +312,27 @@ public class RelationFacade extends RelationServiceImpl {
                                 	title_2 = getValue(row.getCell(1)).trim().replace(" ", "");
                                 	title_3 = getValue(row.getCell(2)).trim().replace(" ", "");
                                 	title_4 = getValue(row.getCell(3)).trim().replace(" ", "");
+                                	title_5 = getValue(row.getCell(4)).trim().replace(" ", "");
                                     continue;
                                 }
                                 startName = getValue(row.getCell(0)).trim().replace(" ", "");
                                 startType = getValue(row.getCell(1)).trim().replace(" ", "");
                                 endName = getValue(row.getCell(2)).trim().replace(" ", "");
                                 endType = getValue(row.getCell(3)).trim().replace(" ", "");
+                                relationName = getValue(row.getCell(4)).trim().replace(" ", "");
                                 if(StringUtil.isEmpty(startName) && StringUtil.isEmpty(startType)
-                                        && StringUtil.isEmpty(endName) && StringUtil.isEmpty(endType)){
+                                        && StringUtil.isEmpty(endName) && StringUtil.isEmpty(endType)
+                                        && StringUtil.isEmpty(relationName)){
                                 	continue;
                                 }
                                 if (StringUtil.isEmpty(startName) || StringUtil.isEmpty(startType)
-                                        || StringUtil.isEmpty(endName) || StringUtil.isEmpty(endType)) {
+                                        || StringUtil.isEmpty(endName) || StringUtil.isEmpty(endType)
+                                        || StringUtil.isEmpty(relationName)) {
                                     sbf.append("第" + count + "行数据不完整;").append("<br/>");
                                     continue;
                                 }
                                 
-                                addRelationInfoVOList.add(new AddRelationInfoVO(startName,startType,endName,endType,"包含于",count));
+                                addRelationInfoVOList.add(new AddRelationInfoVO(startName,startType,endName,endType,relationName,count));
                             }
                         } else {
                             sbf.append("非excel文件无法解析!").append("<br/>");
@@ -363,7 +367,8 @@ public class RelationFacade extends RelationServiceImpl {
         if(title_1.indexOf("关系起点术语名称")==-1
         		||title_2.indexOf("关系起点术语类型")==-1
         		||title_3.indexOf("关系终点术语名称")==-1
-        		||title_4.indexOf("关系终点术语类型")==-1){
+        		||title_4.indexOf("关系终点术语类型")==-1
+        		||title_5.indexOf("关系类型名称")==-1){
         	throw new CommonException(CommonErrorCode.RPC_ERROR,"导入数据不正确,请选择正确数据导入!");
         }
         

+ 15 - 12
knowledgeman-service/src/main/java/com/diagbot/web/UploadController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.dto.FileDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.UploadFacade;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.StringUtil;
@@ -18,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 
 @RestController
 @Api(value = "文件上传API", tags = { "知识库标准化-文件上传API" })
@@ -30,22 +32,23 @@ public class UploadController {
     @ApiOperation(value = "知识库标准化-文件上传")
     @CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = { RequestMethod.POST }, origins = "*")
     @PostMapping(value = "/uploadImage", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public String singleFileUpload(@RequestParam("upfile") MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
-        FileDTO fileDTO = uploadFacade.singleFileUpload(file);
-        String data = FastJsonUtils.getBeanToJson(fileDTO);
-        response.setContentType("text/plain;charset=UTF-8");
-
-        String callback = request.getParameter("callback");//客户端请求参数
-        if (callback != null && StringUtil.isNotBlank(callback)) {
-            data = callback + "(" + data + ")";
+    public RespDTO<FileDTO> singleFileUpload(@RequestParam("upfile") MultipartFile file) {
+        FileDTO data = uploadFacade.singleFileUpload(file);
+        if (data.getState().equals("FAILURE")) {
+            return RespDTO.onError(data.getInfo());
+        } else {
+            return RespDTO.onSuc(data);
         }
-        return data;
     }
 
     @PostMapping("/deleteRemoteFile")
     @ApiOperation(value = "知识库标准化-文件删除")
-    public String deleteRemoteFile(@RequestParam("path") String path) {
-        String data = FastJsonUtils.getBeanToJson(uploadFacade.deleteRemoteFile(path));
-        return data;
+    public RespDTO<FileDTO> deleteRemoteFile(@RequestParam("path") String path) {
+        FileDTO data = uploadFacade.deleteRemoteFile(path);
+        if (data.getState().equals("FAILURE")) {
+            return RespDTO.onError(data.getInfo());
+        } else {
+            return RespDTO.onSuc(data);
+        }
     }
 }

+ 3 - 2
ltapi-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -11,7 +11,8 @@ import lombok.Setter;
 public enum FeatureTypeEnum implements KeyedNamed {
     Symptom(1, "症状"),
     Other(3, "其他史"),
-    Vital(4, "查体"),
+    VitalResult(4, "查体结果"),
+    VitalIndex(42, "查体指标"),
     Lis(5, "化验"),
     Pacs(6, "辅检"),
     Disease(7, "诊断"),
@@ -54,4 +55,4 @@ public enum FeatureTypeEnum implements KeyedNamed {
     public String getName() {
         return name;
     }
-}
+}

+ 2 - 1
ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -56,7 +56,8 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Other.getKey()))) {
         }
         //查体
-        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Vital.getKey()))) {
+        if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalResult.getKey())) ||
+                featureTypeSet.contains(String.valueOf(FeatureTypeEnum.VitalIndex.getKey()))) {
             List<ConceptPushDTO> vitals = data.getVital();
             pushDTO.setVital(vitals);
         }

+ 1 - 1
ltapi-service/src/main/java/com/diagbot/web/PushController.java

@@ -47,7 +47,7 @@ public class PushController {
                     "lis:source:数据来源(必填),Integer<br>" +
                     "pacs:辅检,String<br>" +
                     "diag:诊断,String<br>" +
-                    "featureType:类型(必填),1:症状,3:其他史,4:查体,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
+                    "featureType:类型(必填),1:症状,3:其他史,4:查体结果,42:查体指标,5:化验,6:辅检,7:诊断,22-指标,String<br>" +
                     "diseaseName:取治疗方案的诊断,String<br>" +
                     "scaleName:量表名称,String<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +