相關(guān)網(wǎng)站怎么做seo關(guān)鍵詞排名價(jià)格
良好的設(shè)計(jì)源自實(shí)踐,優(yōu)秀的基礎(chǔ)決定上限
上一篇用JRT連設(shè)備實(shí)現(xiàn)了比較有難度的Sebia繪圖設(shè)備和TCP模式連接。這次連接最常見(jiàn)的檢驗(yàn)設(shè)備(西森美康),讀文件和圖上傳出圖。
視頻演示
結(jié)果格式
通道對(duì)應(yīng)
接口設(shè)置
接口處理實(shí)現(xiàn),JRT設(shè)備連接全部采用CMD驅(qū)動(dòng)方式實(shí)現(xiàn),所以需要客戶端執(zhí)行對(duì)應(yīng)操作返回對(duì)應(yīng)CMD即可??蛻舳藢?duì)CMD負(fù)責(zé),實(shí)現(xiàn)了對(duì)應(yīng)的CMD執(zhí)行器。
import JRT.Core.Dto.CmdDto;
import JRT.Core.Dto.OutValue;
import JRT.Core.Util.LogUtils;
import JRT.Core.Util.MakeCmdUtil;
import JRT.Model.Bussiness.Parameters;
import JRTBLLBase.BaseHttpHandlerMachine;
import JRTBLLBase.Helper;import java.util.ArrayList;
import java.util.List;/*** 希森美康XN9000儀器接口*/
public class miXN9000 extends BaseHttpHandlerMachine {/*** 流水號(hào)*/private static String dataEpis="";/*** 數(shù)據(jù)的日期*/private static int date=Helper.GetNowDate();/*** 數(shù)據(jù)的時(shí)間*/private static int time=Helper.GetNowTime();/*** 緩存結(jié)果*/private static String result="";/*** 保存儀器數(shù)據(jù)** @param Param 參數(shù)* @param Session* @param Output* @return* @throws Exception*/public String SaveData(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String data = Param.P1;String epis = Param.P2;String fileName = Param.P3;String DBColName = Param.P4;Trace(mi, data, "M->H");//讀取文件到第幾行數(shù)據(jù)int index = Helper.ValidParam(Param.P5, -1);//返回的數(shù)據(jù)List<CmdDto> cmdList = new ArrayList<>();try {String [] arr=data.split(",");//第一行解析流水號(hào)和結(jié)果日期時(shí)間if(arr[0].equals("0")){String dateStr=arr[1];date=Helper.DateToInt(dateStr);String timeStr=arr[2];time=Helper.TimeToInt(timeStr);dataEpis=arr[3];result="";}//解析結(jié)果else if(arr[0].equals("1")){String chl=arr[1];String res=arr[3];result+=chl+"\\"+res+",";}//解析圖片else if(arr[0].equals("3")){String imgClass=arr[2];String imgPath=arr[3];//取圖MakeCmdUtil.AddGetImageCmd(cmdList, dataEpis, imgClass, imgPath, "");//刪圖//MakeCmdUtil.AddRMCmd(cmdList,imgPath);}//最后一行保存結(jié)果if(index==-1&&!dataEpis.isEmpty()){Trace(mi, result, "解析結(jié)果");//處理數(shù)據(jù)Helper.GetBllMethodData("mi.miBase", "SaveResult", mi, dataEpis, result, date, time);}Trace(mi, "解析完成", "M->H");} catch (Exception ex) {LogUtils.WriteExceptionLog("解析XN9000儀器結(jié)果發(fā)生錯(cuò)誤", ex);}return Helper.Object2Json(cmdList);}/*** 得到文件服務(wù)地址供接口上傳圖片** @param Param* @param Session* @param Output* @return* @throws Exception*/public String GetFileService(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String path = (String) Helper.GetBllMethodData("mi.miBase", "GetFileService", mi);//返回文件服務(wù)路徑return path;}/*** 保存文件到數(shù)據(jù)庫(kù)** @param Param* @param Session* @param Output* @return* @throws Exception*/public String SaveImage(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String epis = Param.P1;String ImageClass = Param.P2;String fileName = Param.P3;String fullName = Param.P4;String caption = "";String displayRatio = "";String width = "";String height = "";String sequence = "";Integer receiveDate = null;String ret = (String) Helper.GetBllMethodData("mi.miBase", "SaveImage", mi, epis, ImageClass, "", fileName, null, caption, displayRatio, width, height, sequence);return ret;}/*** 查詢要上傳的指令** @param Param* @param Session* @param Output* @return* @throws Exception*/public String QryUpdata(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;//先寫Log測(cè)試LogUtils.WriteDebugLog("mi:" + mi + ",調(diào)用上傳查詢");//返回的數(shù)據(jù)List<CmdDto> cmdList = new ArrayList<>();return Helper.Object2Json(cmdList);}/*** 設(shè)置上傳指令執(zhí)行狀態(tài)** @param Param* @param Session* @param Output* @return* @throws Exception*/public String SetQryStatus(Parameters Param, OutValue Session, OutValue Output) throws Exception {String mi = Param.P0;String setStatusKey = Param.P1;//先寫Log測(cè)試LogUtils.WriteDebugLog("mi:" + mi + ",setStatusKey:" + setStatusKey + "設(shè)置狀態(tài)");return "";}}
效果
這就是第二個(gè)儀器接口演示