|
@@ -0,0 +1,147 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.diagbot.dto.IndicationDTO;
|
|
|
+import com.diagbot.dto.PushDTO;
|
|
|
+import com.diagbot.dto.PushPlanDTO;
|
|
|
+import com.diagbot.dto.RespDTO;
|
|
|
+import com.diagbot.entity.TranDatadockingLog;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.HttpUtils;
|
|
|
+import com.diagbot.vo.*;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/*
|
|
|
+ * @Description:对外对接业务处理类
|
|
|
+ * @Author:liuqq
|
|
|
+ * @time: 2020/11/04 14:51
|
|
|
+ **/
|
|
|
+@Component
|
|
|
+@Slf4j
|
|
|
+public class DataPageDockFacade {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MrFacade mrFacade;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PushFacade pushFacade;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DataDockingLogFacade dataDockingLogFacade;
|
|
|
+
|
|
|
+ public RespDTO<String> getDataService(DataPageDockVO dataPageDockVO) {
|
|
|
+ //参数校验
|
|
|
+ if(dataPageDockVO.getHospitalId()==null){
|
|
|
+ return RespDTO.onError("请输入医院id");
|
|
|
+ }else if("".equals(dataPageDockVO.getShowType())){
|
|
|
+ return RespDTO.onError("请输入展示类型,横版:ver,或竖版hor");
|
|
|
+ }else if("".equals(dataPageDockVO.getPlanCode())){
|
|
|
+ return RespDTO.onError("请输入方案编码");
|
|
|
+ }
|
|
|
+
|
|
|
+ String url="";
|
|
|
+ PushJoinVO pushJoinVO = new PushJoinVO();
|
|
|
+ BeanUtil.copyProperties(dataPageDockVO, pushJoinVO);
|
|
|
+ // 将基本参数保存到redis
|
|
|
+ String mrId = mrFacade.createMr(pushJoinVO);
|
|
|
+ if("hor".equals(dataPageDockVO.getShowType())){
|
|
|
+ url="http:/"+HttpUtils.getIpAddress()+":5654/cdssHorizontal.html?mrId="+mrId+"&hospitalId="+dataPageDockVO.getHospitalId()+"&planCode="+dataPageDockVO.getPlanCode();
|
|
|
+ }else{
|
|
|
+ url="http:/"+HttpUtils.getIpAddress()+":5654/cdss.html?mrId="+mrId+"&hospitalId="+dataPageDockVO.getHospitalId()+"&planCode="+dataPageDockVO.getPlanCode();
|
|
|
+ }
|
|
|
+
|
|
|
+ try{
|
|
|
+ TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
+ tranDatadockingLog.setHospitalId(dataPageDockVO.getHospitalId());
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockVO));
|
|
|
+ tranDatadockingLog.setParamOut(url);
|
|
|
+ tranDatadockingLog.setRemark("页面推送模式,"+dataPageDockVO.getPlanCode());
|
|
|
+
|
|
|
+ tranDatadockingLog.setTransTime(new Date());
|
|
|
+
|
|
|
+ dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("页面推送模式,增加日志异常",e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return RespDTO.onSuc(url);
|
|
|
+ }
|
|
|
+
|
|
|
+ public PushDTO getEnginePush(DataEngineVO dataEngineVO) {
|
|
|
+ PushVO pushVO = new PushVO();
|
|
|
+ BeanUtil.copyProperties(dataEngineVO, pushVO);
|
|
|
+ PushDTO pushDTO=pushFacade.push(pushVO);
|
|
|
+ pushDTO.setDebug(null);
|
|
|
+
|
|
|
+ try{
|
|
|
+ TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
+ tranDatadockingLog.setHospitalId(dataEngineVO.getHospitalId());
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataEngineVO));
|
|
|
+ tranDatadockingLog.setParamOut(JSON.toJSONString(pushDTO));
|
|
|
+ tranDatadockingLog.setRemark("数据引擎模式,"+dataEngineVO.getPlanCode());
|
|
|
+
|
|
|
+ tranDatadockingLog.setTransTime(new Date());
|
|
|
+
|
|
|
+ dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("数据引擎模式,增加日志异常",e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return pushDTO;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @Description: 开单合理性
|
|
|
+ * @Author:liuqq
|
|
|
+ * @time: ${DATE} ${TIME}
|
|
|
+ **/
|
|
|
+ public IndicationDTO getEngineIndicationPush(DataEngineVO dataEngineVO) {
|
|
|
+ IndicationPushVO indicationPushVO=new IndicationPushVO();
|
|
|
+ BeanUtil.copyProperties(dataEngineVO, indicationPushVO);
|
|
|
+
|
|
|
+ IndicationDTO indicationDTO=pushFacade.indicationPush(indicationPushVO);
|
|
|
+ indicationDTO.setDebug(null);
|
|
|
+
|
|
|
+ try{
|
|
|
+ TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
+ tranDatadockingLog.setHospitalId(dataEngineVO.getHospitalId());
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataEngineVO));
|
|
|
+ tranDatadockingLog.setParamOut(JSON.toJSONString(indicationDTO));
|
|
|
+ tranDatadockingLog.setRemark("数据引擎模式,"+dataEngineVO.getPlanCode());
|
|
|
+
|
|
|
+ tranDatadockingLog.setTransTime(new Date());
|
|
|
+
|
|
|
+ dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("数据引擎模式,增加日志异常",e.getMessage());
|
|
|
+ }
|
|
|
+ return indicationDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public PushPlanDTO getOperationPlanPush(DataEngineVO dataEngineVO){
|
|
|
+ PushPlanVO pushPlanVO=new PushPlanVO();
|
|
|
+ BeanUtil.copyProperties(dataEngineVO, pushPlanVO);
|
|
|
+
|
|
|
+ PushPlanDTO pushPlanDTO=pushFacade.pushPlan(pushPlanVO);
|
|
|
+ pushPlanDTO.setDebug(null);
|
|
|
+ try{
|
|
|
+ TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
+ tranDatadockingLog.setHospitalId(dataEngineVO.getHospitalId());
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataEngineVO));
|
|
|
+ tranDatadockingLog.setParamOut(JSON.toJSONString(pushPlanDTO));
|
|
|
+ tranDatadockingLog.setRemark("数据引擎模式,"+dataEngineVO.getPlanCode());
|
|
|
+
|
|
|
+ tranDatadockingLog.setTransTime(new Date());
|
|
|
+
|
|
|
+ dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("数据引擎模式,增加日志异常",e.getMessage());
|
|
|
+ }
|
|
|
+ return pushPlanDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|