Bläddra i källkod

持续检验检查计划接口定义

gaodm 5 år sedan
förälder
incheckning
b28384aae4

+ 9 - 0
src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -3,14 +3,17 @@ package com.diagbot.client;
 import com.diagbot.client.hystrix.CdssCoreHystrix;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.vo.HasStaticKnowledgeVO;
 import com.diagbot.vo.IndicationPushVO;
+import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
 import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -32,6 +35,12 @@ public interface CdssCoreClient {
     @PostMapping("/core/push")
     RespDTO<PushDTO> push(@RequestBody @Valid PushVO pushVo);
 
+    /**
+     * 推送持续检验检查计划
+     */
+    @PostMapping("/pushPlan")
+    RespDTO<PushPlanDTO> pushPlan(@RequestBody PushPlanVO pushPlanVO);
+
     /**
      * 化验大项、化验小项、辅检、诊断、药品、手术等检索
      *

+ 11 - 0
src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -3,11 +3,13 @@ package com.diagbot.client.hystrix;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.vo.HasStaticKnowledgeVO;
 import com.diagbot.vo.IndicationPushVO;
+import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
 import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
@@ -39,6 +41,15 @@ public class CdssCoreHystrix implements CdssCoreClient {
         return null;
     }
 
+    /**
+     * 推送持续检验检查计划
+     */
+    @Override
+    public RespDTO<PushPlanDTO> pushPlan(@RequestBody PushPlanVO pushPlanVO){
+        log.error("【hystrix】调用{}异常", "pushPlan");
+        return null;
+    }
+
     /**
      * 化验大项、化验小项、辅检、诊断、药品、手术等检索
      *

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -105,6 +105,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/sys/push/push").permitAll()
                 .antMatchers("/sys/push/pushApi").permitAll()
                 .antMatchers("/sys/push/indicationPush").permitAll()
+                .antMatchers("/sys/push/pushPlan").permitAll()
                 .antMatchers("/demo/templateInfo/updateByIdUsNames").permitAll()
                 .antMatchers("/demo/templateInfo/saveTemplateInfo").permitAll()
                 .antMatchers("/demo/templateInfo/cancelTemplateInfos").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -148,6 +148,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/sys/push/push", request)
                 || matchers("/sys/push/pushApi", request)
                 || matchers("/sys/push/indicationPush", request)
+                || matchers("/sys/push/pushPlan", request)
                 || matchers("/demo/templateInfo/updateByIdUsNames", request)
                 || matchers("/demo/templateInfo/saveTemplateInfo", request)
                 || matchers("/demo/templateInfo/cancelTemplateInfos", request)

+ 18 - 0
src/main/java/com/diagbot/dto/PushPlanDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 检验检查计划出参
+ * @author: gaodm
+ * @time: 2020/8/31 9:39
+ */
+@Getter
+@Setter
+public class PushPlanDTO {
+    private List<PushPlansDTO> pushPlans = new ArrayList<>();
+}

+ 26 - 0
src/main/java/com/diagbot/dto/PushPlanDetailDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 检验检查计划明细
+ * @author: gaodm
+ * @time: 2020/8/31 9:41
+ */
+@Getter
+@Setter
+public class PushPlanDetailDTO {
+    //检查时间
+    private Date examineDate;
+    //描述
+    private String description;
+    //检验
+    private List<PushBaseDTO> lis = new ArrayList<>();
+    //检查
+    private List<PushBaseDTO> pacs = new ArrayList<>();
+}

+ 20 - 0
src/main/java/com/diagbot/dto/PushPlansDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import com.diagbot.biz.push.entity.Item;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 检验检查计划针对单个项目
+ * @author: gaodm
+ * @time: 2020/8/31 9:49
+ */
+@Getter
+@Setter
+public class PushPlansDTO {
+    private Item item;
+    private List<PushPlanDetailDTO> pushPlanDetails = new ArrayList<>();
+}

+ 17 - 0
src/main/java/com/diagbot/facade/PushFacade.java

@@ -4,6 +4,7 @@ import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushBaseDTO;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ConceptDetail;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -11,6 +12,7 @@ import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.IndicationPushVO;
+import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
 import com.diagbot.vo.SearchData;
 import com.google.common.collect.Lists;
@@ -174,6 +176,21 @@ public class PushFacade {
         return indicationDTO;
     }
 
+    /**
+     * 推理持续检验检查计划
+     *
+     * @param pushPlanVO
+     * @return
+     */
+    public PushPlanDTO pushPlan(PushPlanVO pushPlanVO) {
+        //todo 入参转化
+        RespDTO<PushPlanDTO> resp = cdssCoreClient.pushPlan(pushPlanVO);
+        RespDTOUtil.respNGDeal(resp, "远程调用推理接口失败");
+        PushPlanDTO pushPlanDTO = resp.data;
+        //todo 出参转化
+        return pushPlanDTO;
+    }
+
     /**
      * 推理结果标志是否包含静态知识
      *

+ 14 - 0
src/main/java/com/diagbot/vo/PushPlanVO.java

@@ -0,0 +1,14 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 检验检查计划入参
+ * @author: gaodm
+ * @time: 2020/8/31 9:38
+ */
+@Getter
+@Setter
+public class PushPlanVO extends SearchData {
+}

+ 11 - 0
src/main/java/com/diagbot/web/PushController.java

@@ -4,9 +4,11 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.TokenAuth;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
 import com.diagbot.vo.IndicationPushVO;
+import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -61,4 +63,13 @@ public class PushController {
         IndicationDTO data = pushFacade.indicationPush(indicationPushVO);
         return RespDTO.onSuc(data);
     }
+
+
+    @ApiOperation(value = "推送持续检验检查计划[zhaops]", notes = "")
+    @PostMapping("/pushPlan")
+    @TokenAuth
+    public RespDTO<PushPlanDTO> pushPlan(@RequestBody PushPlanVO pushPlanVO) {
+        PushPlanDTO pushPlanDTO = pushFacade.pushPlan(pushPlanVO);
+        return RespDTO.onSuc(pushPlanDTO);
+    }
 }