using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Net; using FObjBase; using FLY.Thick.Base.Client; using FLY.Thick.Base.IService; using FLY.Thick.Base.Common; using FLY.Thick.BulkDataModule; using FLY.Thick.BlowingScan.Client; using FLY.Thick.Blowing.Client; namespace FLY.Thick.BlowingScan.UI.Client { public class TDGage : ThickTcpUiInWindow.TDGage { #region 参数-------------------------------------------------------------------- #region 本地数据---------------------------------------------------------------- /// /// 系统参数 /// //public SysParam mSysParam; public LCUS1 mLCUS; #endregion #region 服务器数据-------------------------------------------------------------- /// /// 动态数据 /// public DynArea mDynArea; public PasswordServiceClient mPasswordService; public BlowingScanServiceClient mRenZiJiaService; public BlowingDetectServiceClient mBDetect; public BlowingProfileServiceClient mProfile; public FLY.OBJComponents.Client.WarningServiceClient mWarningService; public FLY.OBJComponents.Client.BufferWindow mWarningReasonWindow; public InitParamServiceClient mInitParamService; public FlyADServiceClient mFlyAdServiceClient; public GetSampleServiceClient mGetSampleServiceClient; #endregion #endregion public TDGage() { Init1(); } #region Init登陆服务器初始化---------------------------------------------------- /// /// 第1步, 加载本地数据 /// void Init1() { #region 提取保存的数据 mSysParam = new SysParam();//系统参数 #endregion mLCUS = new LCUS1(); Misc.BindingOperations.SetBinding(mSysParam, "LCUS1_PortName", mLCUS, "PortName"); #region 与服务器同步的数据 mBulkDataClient = new BulkDataServiceClientAdv(new BulkDataServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.BULK_ID)); mDynAreaService = new DynAreaServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.DYNAREA_ID); mDynArea = mDynAreaService.mDynArea; mWarningService = new OBJComponents.Client.WarningServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.WARNING_OBJ_ID); //创建窗口观察 报警原因列表 mWarningReasonWindow = new OBJComponents.Client.BufferWindow(mWarningService.ReasonList, 100); mTDGageService = new TDGageServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.TDGAGE_ID); mInitParamService = new InitParamServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.INITPARAM_ID); mFixService = new FixServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.FIX_ID); mProfile = new BlowingProfileServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.PROFILE_ID); mPasswordService = new PasswordServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.PASSWORD_ID); mRenZiJiaService = new BlowingScanServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.RENZIJIA_ID); mBDetect = new BlowingDetectServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.BDETECT_ID); mFlyAdServiceClient = new FlyADServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.FLYAD_ID); mGetSampleServiceClient = new GetSampleServiceClient(OBJ_INTERFACE.OBJ_INTERFACE_ID.GET_SAMPLE_ID); #endregion } TCPCConn conn = null; /// /// 第2步, 连接到服务器,初始化参数 。由界面的 【登陆】 按钮触发 /// public void Init2(IPEndPoint serveripep) { if(!mSysParam.ServerIPEP.Equals(serveripep)) { mSysParam.ServerIPEP = serveripep; mSysParam.Save(); } #region 网络初始化 List objids = new List(new UInt32[]{ mDynAreaService.ID, ((BulkDataServiceClient)(mBulkDataClient.bulkdata)).ID, mTDGageService.ID, mFixService.ID, mPasswordService.ID, mRenZiJiaService.ID, mInitParamService.ID, mProfile.ID, mBDetect.ID, mFlyAdServiceClient.ID, mGetSampleServiceClient.ID }); objids.AddRange(mWarningService.GetIDs()); if (conn != null) { if (!conn.RemoteEP.Equals(mSysParam.ServerIPEP)) { //断开之前的连接 FObjSys.Current.Disconnect_to_Another_OBJSys(conn.RemoteEP, objids.ToArray()); } } conn = FObjSys.Current.Connect_to_Another_OBJSys(mSysParam.ServerIPEP, objids.ToArray()); #endregion } public void Init2() { Init2(mSysParam.ServerIPEP); } #endregion } }