yi eason %!s(int64=3) %!d(string=hai) anos
pai
achega
59697ff6cc
Modificáronse 37 ficheiros con 5984 adicións e 1735 borrados
  1. 20 19
      CarLocalMeter/App.config
  2. 3 3
      CarLocalMeter/OptionCls/MoxaCls.cs
  3. 5 0
      CarLocalMeter/PbCls/AppConfigCache.cs
  4. 1 1
      CarLocalMeter/PbCls/FileOption.cs
  5. 1 1
      CarLocalMeter/PbCls/JsonAndT.cs
  6. 18 18
      CarLocalMeter/frmMain.Designer.cs
  7. 13 5
      CarLocalMeter/frmMain.cs
  8. 14 4
      RailLocalMeter/App.config
  9. 0 34
      RailLocalMeter/DbOption/MeterBaseRfidInfoService.cs
  10. 0 269
      RailLocalMeter/DbOption/MeterWorkCarActualFirstService.cs
  11. 0 41
      RailLocalMeter/DbOption/MeterWorkCarActualService.cs
  12. 46 0
      RailLocalMeter/DbOption/MeterWorkRailwayActFirstService.cs
  13. 19 0
      RailLocalMeter/DbOption/MeterWorkRailwayActualService.cs
  14. 24 0
      RailLocalMeter/DbOption/PreRailwayScaleService.cs
  15. 0 64
      RailLocalMeter/DbOption/PreTrackScaleService.cs
  16. 0 219
      RailLocalMeter/ModelCls/ActualFirstModel.cs
  17. 0 36
      RailLocalMeter/ModelCls/MeterBaseRfidInfo.cs
  18. 0 74
      RailLocalMeter/ModelCls/MeterWorkPreLink.cs
  19. 85 169
      RailLocalMeter/ModelCls/MeterWorkRailwayActFirst.cs
  20. 73 162
      RailLocalMeter/ModelCls/MeterWorkRailwayActual.cs
  21. 59 124
      RailLocalMeter/ModelCls/PreRailwayScale.cs
  22. 14 0
      RailLocalMeter/ModelCls/ResponseData.cs
  23. 0 237
      RailLocalMeter/OptionCls/CarNoCls.cs
  24. 0 113
      RailLocalMeter/OptionCls/DbUpload.cs
  25. 1 75
      RailLocalMeter/OptionCls/PingNetwork.cs
  26. 2 8
      RailLocalMeter/OptionCls/PlcCls.cs
  27. 23 0
      RailLocalMeter/PbCls/AppConfigCache.cs
  28. 10 32
      RailLocalMeter/PbCls/CacleCls.cs
  29. 2 2
      RailLocalMeter/PbCls/EntityBase.cs
  30. 18 8
      RailLocalMeter/PbCls/FileOption.cs
  31. 21 13
      RailLocalMeter/RailLocalMeter.csproj
  32. 138 0
      RailLocalMeter/Ucontrol/ucWeightT.cs
  33. 201 0
      RailLocalMeter/Ucontrol/ucWeightT.designer.cs
  34. 989 0
      RailLocalMeter/Ucontrol/ucWeightT.resx
  35. 2881 3
      RailLocalMeter/frmMain.Designer.cs
  36. 1092 1
      RailLocalMeter/frmMain.cs
  37. 211 0
      RailLocalMeter/frmMain.resx

+ 20 - 19
CarLocalMeter/App.config

@@ -34,31 +34,32 @@
 		<!--秤体量程(单位t)-->
 		<add key="maxRange" value="100" />
 		
-		<!--硬盘录像机仪表抓拍设置的通道-->
+		<!--硬盘录像机仪表抓拍设置的通道 2,3,5-->
 		<add key="channelOther" value="2,3,5" />
-		<add key="channelVis" value="4,1" /><!--需显示视频的通道-->
+		<add key="channelVis" value="4,1" /><!--需显示视频的通道4,1-->
 		<add key="channelVisHeight" value="300" /><!--需显示高度-->
 		<add key="channelCarNo" value="4" /><!--车号抓拍通道,用于生成图2-->
 		<add key="channel" value="1" /><!--重量仪表抓拍通道-->
-		<!--10.130.0.72是1#北  10.130.0.46是8#西-->
-		<add key="voicePlayIp" value="10.130.0.46" />
+		<!--硬盘录像机  10.130.0.59是1#南 10.130.0.72是1#北  10.130.0.46是8#西-->
+		<add key="voicePlayIp" value="10.130.0.59" />
 		<add key="voicePlayPort" value="8000" />
 		<add key="voicePlayUid" value="admin" />
 		<add key="voicePlayPwd" value="jlwj12345" />
-		<!--1#公路北车号抓拍摄像头枪机 10.130.0.76是1#北   10.130.2.49是8#西-->
-		<add key="voiceCarNoIp" value="10.130.2.49" />
+		<!--车号识别枪机 10.130.0.66是1#南 10.130.0.76是1#北   10.130.2.49是8#西-->
+		<add key="voiceCarNoIp" value="10.130.0.66" />
 		<add key="voiceCarNoPort" value="8000" />
 		<add key="voiceCarNoUid" value="admin" />
 		<add key="voiceCarNoPwd" value="jlwj12345" />
-		<!--车号抓拍摄像头球机 10.130.0.85是1#北   10.130.0.33是8#西-->
-		<add key="voiceCarNoIp2" value="10.130.0.85" />
+		<!--车号识别球机  10.130.0.61是1#南(1#南球机可能没有识别功能)  10.130.0.85是1#北   10.130.0.33是8#西-->
+		<add key="voiceCarNoIp2" value="10.130.0.61" />
 		<add key="voiceCarNoPort2" value="8000" />
 		<add key="voiceCarNoUid2" value="admin" />
 		<add key="voiceCarNoPwd2" value="jlwj12345" />
+		<add key="openVoice" value="1" /><!--这里如果是2则枪机跟球机都会识别,1#公路南实际上没有球机抓拍,只有全景球机-->
 		
 		
 		<!--PLC配置,由于PLC自带了ModbusTcp协议,所以这里配置的是Moudbus的IP跟端口-->
-		<add key="plcIp" value="10.121.80.101" />
+		<add key="plcIp" value="10.130.0.57" /><!--10.130.0.57是1#南的PLC-->
 		<add key="plcPort" value="502" />
 		<!--采集的点位,例如D0是0,D3则是3-->
 		<add key="plcLocation" value="0,41,42,27,28,21,80" />
@@ -71,16 +72,16 @@
 		<!--道闸的开启值,因为程序不清楚车子是否已经完全脱离了道闸,所以一般是红地感线圈或者红外进行判断在PLC中做自动关闭的操作,所以程序这块只要做打开操作即可-->
 		<add key="dzValue" value="1"/>
 		
-		<!--*************MoXa配置 10.130.0.69是1#北  10.130.1.173是8#西*****************-->
-		<add key="sleepTime" value="100"/>
-		<add key="moxaIP" value="10.130.1.173" />
-		<add key="moxaPort" value="4004" /><!--4001是1#北,4004是8#西-->
-		<!--报文长度 1#北17  8#西12-->
-		<add key="messageLength" value="12" />
-		<!--数据截止位符号  1#北13  8#西3-->
-		<add key="separate" value="3" />
-	    <!--开始取值位置从1开始数   1#北5  8#西3-->
-		<add key="startPosition" value="4" />
+		<!--*************MoXa配置 10.130.0.1是1#南 10.130.0.69是1#北  10.130.1.173是8#西*****************-->
+		<add key="sleepTime" value="100"/><!--100毫秒取一次重量-->
+		<add key="moxaIP" value="10.130.0.1" />
+		<add key="moxaPort" value="4001" /><!--4001是1#南/北,4004是8#西-->
+		<!--报文长度 1#南/北17  8#西12-->
+		<add key="messageLength" value="17" />
+		<!--数据截止位符号  1#南/北13  8#西3-->
+		<add key="separate" value="13" />
+	    <!--开始取值位置从1开始数   1#南/北5  8#西3-->
+		<add key="startPosition" value="5" />
 		<!--取多少位   1#北6  8#西6-->
 		<add key="dataLength" value="6" />
 		<!-- 是否反转 false不反转 true反转-->

+ 3 - 3
CarLocalMeter/OptionCls/MoxaCls.cs

@@ -184,7 +184,7 @@ namespace CarLocalMeter
                         if (iLastNew != AppConfigCache.messageLength) continue;
 
                         #region 在这里要数一下buffer里面的数据,看下结束符的byte值是多少,每个秤都确定好之后,就删除这个即可
-                        /*
+                        //*
                         int m = 0;
                         string strX = "[";
                         for (int i = 0; i < bt.Length; i++)
@@ -197,8 +197,8 @@ namespace CarLocalMeter
                         }
                         strX += "]";
                         string strx = Encoding.UTF8.GetString(bt, 0, bt.Length);
-                        Debug.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + strX);
-                        //Debug.WriteLine(strx);
+                        //Debug.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + strX);
+                        Debug.WriteLine(strx);
                         //*/
                         #endregion
 

+ 5 - 0
CarLocalMeter/PbCls/AppConfigCache.cs

@@ -143,6 +143,11 @@ namespace CarLocalMeter
         /// </summary>
         public static string voiceCarNoIp2 = ConfigurationManager.AppSettings["voiceCarNoIp2"].ToString();
 
+        /// <summary>
+        /// 打开车号识别的个数
+        /// </summary>
+        public static string openVoice = ConfigurationManager.AppSettings["openVoice"].ToString();
+
         /// <summary>
         /// 车号抓拍端口
         /// </summary>

+ 1 - 1
CarLocalMeter/PbCls/FileOption.cs

@@ -71,7 +71,7 @@ namespace CarLocalMeter
             }
             catch (Exception ex)
             {
-                lg.WriteLog(LogType.WriteDbLog, "写入信息失败:" + ex.Message);
+                lg.WriteLog(LogType.WriteDbLog, "读取失败:" + ex.Message);
                 msgInfo = "读取失败:" + ex.Message;
                 readFlag = false;
             }

+ 1 - 1
CarLocalMeter/PbCls/JsonAndT.cs

@@ -23,7 +23,7 @@ namespace CarLocalMeter
 
         public string TForJson<T>(T t) 
         {
-            return JsonConvert.SerializeObject(t);
+            return JsonConvert.SerializeObject(t, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); //后面这个new JsonSerializerSettings是去掉null值
         }
     }
 }

+ 18 - 18
CarLocalMeter/frmMain.Designer.cs

@@ -95,6 +95,7 @@ namespace CarLocalMeter
             this.btnQRed = new System.Windows.Forms.Button();
             this.picQRed = new System.Windows.Forms.PictureBox();
             this.panel6 = new System.Windows.Forms.Panel();
+            this.ucWeightT1 = new CarLocalMeter.ucWeightT();
             this.panel4 = new System.Windows.Forms.Panel();
             this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
             this.label1 = new System.Windows.Forms.Label();
@@ -104,7 +105,6 @@ namespace CarLocalMeter
             this.lbPntName = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.pbLineOn = new System.Windows.Forms.PictureBox();
-            this.ucWeightT1 = new CarLocalMeter.ucWeightT();
             this.ultraTabPageControl2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.ultraGridFirst)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dataSetFirst)).BeginInit();
@@ -260,7 +260,7 @@ namespace CarLocalMeter
             // 
             // ultraTabSharedControlsPage1
             // 
-            this.ultraTabSharedControlsPage1.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabSharedControlsPage1.Location = new System.Drawing.Point(1, 25);
             this.ultraTabSharedControlsPage1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.ultraTabSharedControlsPage1.Name = "ultraTabSharedControlsPage1";
             this.ultraTabSharedControlsPage1.Size = new System.Drawing.Size(853, 583);
@@ -821,6 +821,15 @@ namespace CarLocalMeter
             this.panel6.Size = new System.Drawing.Size(699, 68);
             this.panel6.TabIndex = 3;
             // 
+            // ucWeightT1
+            // 
+            this.ucWeightT1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ucWeightT1.Location = new System.Drawing.Point(0, 0);
+            this.ucWeightT1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ucWeightT1.Name = "ucWeightT1";
+            this.ucWeightT1.Size = new System.Drawing.Size(699, 68);
+            this.ucWeightT1.TabIndex = 0;
+            // 
             // panel4
             // 
             this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@@ -842,7 +851,7 @@ namespace CarLocalMeter
             this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 90F));
             this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 222F));
             this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50F));
-            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 68F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 73F));
             this.tableLayoutPanel7.Controls.Add(this.label1, 5, 0);
             this.tableLayoutPanel7.Controls.Add(this.txtCarNo, 4, 0);
             this.tableLayoutPanel7.Controls.Add(this.cbCarNo, 3, 0);
@@ -866,7 +875,7 @@ namespace CarLocalMeter
             this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.label1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label1.ForeColor = System.Drawing.Color.Blue;
-            this.label1.Location = new System.Drawing.Point(737, 1);
+            this.label1.Location = new System.Drawing.Point(732, 1);
             this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(42, 36);
@@ -878,7 +887,7 @@ namespace CarLocalMeter
             // 
             this.txtCarNo.Dock = System.Windows.Forms.DockStyle.Fill;
             this.txtCarNo.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.txtCarNo.Location = new System.Drawing.Point(513, 3);
+            this.txtCarNo.Location = new System.Drawing.Point(508, 3);
             this.txtCarNo.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.txtCarNo.Name = "txtCarNo";
             this.txtCarNo.Size = new System.Drawing.Size(216, 32);
@@ -926,7 +935,7 @@ namespace CarLocalMeter
             "琼",
             "京",
             "津"});
-            this.cbCarNo.Location = new System.Drawing.Point(422, 3);
+            this.cbCarNo.Location = new System.Drawing.Point(417, 3);
             this.cbCarNo.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.cbCarNo.Name = "cbCarNo";
             this.cbCarNo.Size = new System.Drawing.Size(84, 31);
@@ -943,7 +952,7 @@ namespace CarLocalMeter
             this.lbPointName.Location = new System.Drawing.Point(86, 1);
             this.lbPointName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.lbPointName.Name = "lbPointName";
-            this.lbPointName.Size = new System.Drawing.Size(267, 36);
+            this.lbPointName.Size = new System.Drawing.Size(262, 36);
             this.lbPointName.TabIndex = 3;
             this.lbPointName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
             // 
@@ -969,7 +978,7 @@ namespace CarLocalMeter
             this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
             this.label2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label2.ForeColor = System.Drawing.Color.Blue;
-            this.label2.Location = new System.Drawing.Point(362, 1);
+            this.label2.Location = new System.Drawing.Point(357, 1);
             this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(52, 36);
@@ -980,22 +989,13 @@ namespace CarLocalMeter
             // pbLineOn
             // 
             this.pbLineOn.Image = ((System.Drawing.Image)(resources.GetObject("pbLineOn.Image")));
-            this.pbLineOn.Location = new System.Drawing.Point(787, 4);
+            this.pbLineOn.Location = new System.Drawing.Point(782, 4);
             this.pbLineOn.Name = "pbLineOn";
             this.pbLineOn.Size = new System.Drawing.Size(39, 30);
             this.pbLineOn.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pbLineOn.TabIndex = 83;
             this.pbLineOn.TabStop = false;
             // 
-            // ucWeightT1
-            // 
-            this.ucWeightT1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.ucWeightT1.Location = new System.Drawing.Point(0, 0);
-            this.ucWeightT1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.ucWeightT1.Name = "ucWeightT1";
-            this.ucWeightT1.Size = new System.Drawing.Size(699, 68);
-            this.ucWeightT1.TabIndex = 0;
-            // 
             // frmMain
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 15F);

+ 13 - 5
CarLocalMeter/frmMain.cs

@@ -169,8 +169,11 @@ namespace CarLocalMeter
             imgControl.Start();
             carCls.Login(AppConfigCache.voiceCarNoIp, AppConfigCache.voiceCarNoPort, AppConfigCache.voiceCarNoUid, AppConfigCache.voiceCarNoPwd);
             //*/
-            //carCls2.Login(AppConfigCache.voiceCarNoIp2, AppConfigCache.voiceCarNoPort2, AppConfigCache.voiceCarNoUid2, AppConfigCache.voiceCarNoPwd2, false);
-
+            if (AppConfigCache.openVoice.Contains("2")) 
+            {
+                carCls2.Login(AppConfigCache.voiceCarNoIp2, AppConfigCache.voiceCarNoPort2, AppConfigCache.voiceCarNoUid2, AppConfigCache.voiceCarNoPwd2, false);
+            }
+            //
 
             blThreadFlag = true;
             DataCollectThread = new Thread(new ThreadStart(DataCollect));
@@ -206,7 +209,7 @@ namespace CarLocalMeter
                             ucWeightT1.setStable(CacleCls.isWd != 1 ? true : false);
                             ucWeightT1.setExceed(CacleCls.weight > AppConfigCache.maxRange * 1000 ? false : true);
 
-                            if (cbCarNo.Text.Trim() != "" && txtCarNo.Text.Trim() != "")
+                            if (cbCarNo.Text.Trim() != "" && txtCarNo.Text.Trim() != "" && !txtCarNo.Focused)
                             {
                                 CacleCls.lockCarNo = cbCarNo.Text.Trim() + txtCarNo.Text.Trim();
                             }
@@ -591,7 +594,7 @@ namespace CarLocalMeter
                         if (CacleCls.firstDb != null)
                         {
                             //做结净的时候,才查询一次预报信息
-                            rmScaleListCarTimer = PreTrackScaleService.doQueryByFlag(new PreTrackScale { lineDesc = "1", carNo = CacleCls.lockCarNo });
+                            rmScaleListCarTimer = PreTrackScaleService.doQueryByFlag(new PreTrackScale { lineDesc = "0", carNo = CacleCls.lockCarNo });
                             if (rmScaleListCarTimer.Succeed)
                             {
                                 if (rmScaleListCarTimer.Data != null && rmScaleListCarTimer.Data.Count > 0)
@@ -883,7 +886,12 @@ namespace CarLocalMeter
             try { upload?.stop(); } catch { }
 
             try { carCls?.LoginOut(); } catch { }
-            //try { carCls2?.LoginOut(); } catch { }
+            
+            if (AppConfigCache.openVoice.Contains("2"))
+            {
+                try { carCls2?.LoginOut(); } catch { }
+            }
+
             try { imgControl?.Stop(); } catch { }
         }
 

+ 14 - 4
RailLocalMeter/App.config

@@ -20,7 +20,12 @@
 		<!-- 一次计量数据过期时间(小时)-->
 		<add key="isEndHour" value="400"/>
 		<!--毛皮差值验证(单位kg)-->
-		<add key="differenceWgt" value="400" />
+		<add key="differenceWgt" value="500" />
+		<!--输入的皮重跟历史皮重超差值(kg)-->
+		<add key="difTareHisWgt" value="300" />
+		<!--毛皮分界线,小于该值为皮重,大于为毛(kg)-->
+		<add key="tareGrossBoundary" value="30000" />
+
 		<!--计量间隔时间分钟-->
 		<add key="timeJg" value="10" />
 		<!--计量完成,语音播放次数-->
@@ -28,9 +33,14 @@
 
 		<!--计量点信息-->
 		<add key="pointNo" value="00001" />
-		<add key="pointName" value="策客1#汽车衡" />
+		<add key="pointName" value="策客1#轨道衡" />
+		<add key="railwayTypeNo" value="001019001" />
+		<add key="railwayTypeName" value="静态轨道衡" />
+		
 		<!--秤体量程(单位t)-->
 		<add key="maxRange" value="100" />
+		
+		
 
 		<!--硬盘录像机仪表抓拍设置的通道-->
 		<add key="channelOther" value="2,3,5" />
@@ -63,9 +73,9 @@
 		<add key="plcIp" value="10.121.80.101" />
 		<add key="plcPort" value="502" />
 		<!--采集的点位,例如D0是0,D3则是3-->
-		<add key="plcLocation" value="0,66,26" />
+		<add key="plcLocation" value="0,66,27,28" />
 		<!--点位对应的属性 plc状态,按钮状态,激光车位检测-->
-		<add key="plcLocationName" value="plcState,btnState,locationHw" />
+		<add key="plcLocationName" value="plcState,btnState,topHw,bottomHw" />
 		<!--0关闭plc,1打开plc-->
 		<add key="plcStart" value="0"/>
 

+ 0 - 34
RailLocalMeter/DbOption/MeterBaseRfidInfoService.cs

@@ -1,34 +0,0 @@
-using com.hnshituo.core.webapp.vo;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RailLocalMeter
-{
-    public class MeterBaseRfidInfoService
-    {
-        /// <summary>
-        /// 查询rfid有效的信息
-        /// </summary>
-        public RESTfulResult<List<MeterBaseRfidInfo>> doQueryRfid(MeterBaseRfidInfo info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<MeterBaseRfidInfo>>> rm = db.doOption<PageList<List<MeterBaseRfidInfo>>>("meterbaserfidinfos", "/", new object[] { info }, 0);
-
-            RESTfulResult<List<MeterBaseRfidInfo>> result = new RESTfulResult<List<MeterBaseRfidInfo>>();
-            result.Succeed = rm.Succeed;
-            result.Status = rm.Status;
-            result.Message = rm.Message;
-            result.ResultMessage = rm.ResultMessage;
-            result.Code = rm.Code;
-            if (rm.Data != null && rm.Data.list != null && rm.Data.list.Count > 0)
-            {
-                result.Data = rm.Data.list;
-            }
-
-            return result;
-        }
-    }
-}

+ 0 - 269
RailLocalMeter/DbOption/MeterWorkCarActualFirstService.cs

@@ -1,269 +0,0 @@
-using com.hnshituo.core.webapp.vo;
-using CoreFS.CA06;
-using iCore.Rtdb;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace RailLocalMeter
-{
-    public class MeterWorkCarActualFirstService
-    {
-        #region JISCO特殊接口 By BourneCao 20220122
-        /// <summary>
-        /// 按车号查询状态为未使用或使用中的计量实绩数据
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        public RESTfulResult<List<MeterWorkCarActualFirst>> doQueryByFlag(MeterWorkCarActualFirst info)
-        {
-            DbHelper db = new DbHelper();
-            info.pageNum = 1;
-            info.pageSize = 3;
-            RESTfulResult<List<MeterWorkCarActualFirst>> result = db.doOption<List<MeterWorkCarActualFirst>>("meterworkcaractualfirsts", "/queryByFlag", new object[] { info }, 1);
-            return result;
-        }
-        #endregion
-
-        internal RESTfulResult<List<MeterWorkCarActualFirst>> doQueryWf(MeterWorkCarActualFirst info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<MeterWorkCarActualFirst>>> rm = db.doOption<PageList<List<MeterWorkCarActualFirst>>>("meterworkcaractualfirsts", "/", new object[] { info }, 0);
-
-            List<MeterWorkCarActualFirst> lt = new List<MeterWorkCarActualFirst>();
-            //如果一次数据在当前过期时间外,则将数据设置为失效状态
-            if (rm.Succeed)
-            {
-                DateTime dtNow = DateTime.Now;
-                if (rm.Data.list.Count > 0)
-                {
-                    foreach (MeterWorkCarActualFirst meter in rm.Data.list)
-                    {
-                        if (meter.createTime.Value.AddHours(AppConfigCache.isEndHour).CompareTo(dtNow) < 0)
-                        {
-                            doUpdateWf(new MeterWorkCarActualFirst { actualFirstNo = meter.actualFirstNo, valueFlag = "0", updateTime = dtNow, updateManName = "超期未使用" });
-                        }
-                        else
-                        {
-                            lt.Add(meter);
-                        }
-                    }
-                }
-            }
-
-            RESTfulResult<List<MeterWorkCarActualFirst>> result = new RESTfulResult<List<MeterWorkCarActualFirst>>();
-            result.Succeed = rm.Succeed;
-            result.Status = rm.Status;
-            result.Message = rm.Message;
-            result.ResultMessage = rm.ResultMessage;
-            result.Code = rm.Code;
-            if (lt != null && lt.Count > 0)
-            {
-                result.Data = rm.Data.list;
-            }
-
-            return result;
-        }
-
-        /// <summary>
-        /// 修改
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        internal RESTfulResult<string> doUpdateWf(MeterWorkCarActualFirst info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doUpdateWf", new object[] { info }, 1);
-            return rm;
-        }
-
-        /// <summary>
-        /// 一次计量数据保存以及结净
-        /// </summary>
-        public RESTfulResult<string> doAddFirstDjDb(PreTrackScale scale, MeterWorkCarActualFirst model)
-        {
-            DbHelper db = new DbHelper();
-
-            if (scale != null)
-            {
-                EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                model = entityBase.format<MeterWorkCarActualFirst>(scale, model);
-            }
-
-            //操作日志
-            MeterMonitorNote monitorNote = new MeterMonitorNote();
-            monitorNote.baseSpotNo = model.baseSpotNo;
-            monitorNote.baseSpotName = model.baseSpotName;
-            monitorNote.operationContent = string.Format("产生一次计量数据");
-            monitorNote.operationTime = model.createTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
-            monitorNote.carNo = model.carNo;
-            monitorNote.meterNoteSource = "0";
-
-            PbSomeModel<MeterWorkCarActualFirst, MeterMonitorNote, MeterMonitorNote, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterMonitorNote, MeterMonitorNote, MeterMonitorNote>();
-            pbSomeModel.one = model;
-            pbSomeModel.two = monitorNote;
-
-            RESTfulResult<string> rmI = db.doOption<string>("meterworkcaractualfirsts", "/addDj", new object[] { pbSomeModel }, 1);
-            
-            return rmI;
-        }
-
-        /// <summary>
-        /// 结净操作
-        /// </summary>
-        /// <param name="secondDb"></param>
-        /// <param name="netDb"></param>
-        /// <param name="monitorNote"></param>
-        /// <param name="saveTare"></param>
-        /// <returns></returns>
-        public RESTfulResult<string> doAddNet(PreTrackScale scale, MeterWorkCarActualFirst actualFirst, MeterWorkCarActualFirst actualFirst2)
-        {
-            DbHelper db = new DbHelper();
-
-            // 构造结净数据
-            MeterWorkCarActual netDb = new MeterWorkCarActual();
-
-            // 将第一个一次数据状态改为 已结净
-            //actualFirst.valueFlag = "2";
-            netDb.isPreScale = "0";
-            // 复制对象
-            if (scale != null)
-            {
-                EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                netDb = entityBase.format<MeterWorkCarActual>(scale, netDb);
-                netDb.isPreScale = "1";
-
-                //给二次计量数据匹配委托
-                actualFirst2 = entityBase.format<MeterWorkCarActualFirst>(scale, actualFirst2);
-            }
-
-            netDb.carNo = actualFirst.carNo;
-
-            if (actualFirst2.meterWeight.Value > actualFirst.meterWeight.Value)
-            {
-                actualFirst2.weightType = "0";//0=毛重;1=常规皮重;2=期限皮重;3=历史皮重;4=标识皮重;5=自重皮重
-
-                netDb.actualFirst1No = ""; //毛重编号
-                netDb.grossTime = actualFirst2.createTime;
-                netDb.grossWeight = actualFirst2.meterWeight.Value; // 谁大谁是毛 BourneCao
-                netDb.baseSpot1No = AppConfigCache.pointNo;
-                netDb.baseSpot1Name = AppConfigCache.pointName;
-                netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
-                netDb.grossClass = actualFirst2.meterClass;
-                netDb.grossGroup = actualFirst2.meterGroup;
-                netDb.grossManNo = "system";
-                netDb.grossManName = "system";
-                netDb.grossTime = actualFirst2.createTime;
-
-                netDb.actualFirst2No = actualFirst.actualFirstNo; //皮重编号
-                netDb.tareTime = actualFirst.createTime;
-                netDb.tareWeight = actualFirst.meterWeight.Value; // 谁小谁是皮 BourneCao
-                netDb.baseSpot2No = actualFirst.baseSpotNo;
-                netDb.baseSpot2Name = actualFirst.baseSpotName;
-                netDb.tareMode = actualFirst.meterMode;//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
-                netDb.tareManName = actualFirst.createManName;
-                netDb.tareManNo = actualFirst.createManNo;
-                netDb.tareTime = actualFirst.createTime;
-            }
-            else
-            {
-                actualFirst2.weightType = "1";//皮重
-
-                netDb.actualFirst2No = ""; //皮重编号
-                netDb.tareTime = actualFirst2.createTime;
-                netDb.tareWeight = actualFirst2.meterWeight.Value; // 谁小谁是皮 BourneCao
-                netDb.baseSpot2No = AppConfigCache.pointNo;
-                netDb.baseSpot2Name = AppConfigCache.pointName;
-                netDb.tareMode = "2";//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
-                netDb.tareClass = actualFirst2.meterClass;
-                netDb.tareGroup = actualFirst2.meterGroup;
-                netDb.tareManName = "system";
-                netDb.tareManNo = "system";
-                netDb.tareTime = actualFirst2.createTime; 
-
-                netDb.actualFirst1No = actualFirst.actualFirstNo; //毛重编号
-                netDb.grossTime = actualFirst.createTime;
-                netDb.grossWeight = actualFirst.meterWeight.Value; // 谁大谁是毛 BourneCao
-                netDb.baseSpot1No = actualFirst.baseSpotNo;
-                netDb.baseSpot1Name = actualFirst.baseSpotName;
-                netDb.grossMode = actualFirst.meterMode;//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
-                netDb.grossManNo = actualFirst.createManNo;
-                netDb.grossManName = actualFirst.createManName;
-                netDb.grossTime = actualFirst.createTime;
-            }
-            netDb.valueFlag = "1";
-
-            netDb.netManName = "system";
-            netDb.netManNo = "system";
-            netDb.createManName = "system";
-            netDb.createTime = DateTime.Now;
-            netDb.netTime = DateTime.Now;
-            netDb.netSpot3No = AppConfigCache.pointNo; //净重计量点编号
-            netDb.netSpot3Name = AppConfigCache.pointName; //净重计量点
-
-            netDb.addWeight = (actualFirst.addWeight == null ? 0 : actualFirst.addWeight.Value);
-            //净重=毛-皮-附加重量
-            netDb.netWeight = netDb.grossWeight - netDb.tareWeight - netDb.addWeight;
-            netDb.netMode = "1"; //1:正常结净;2:匹配结净
-            netDb.uploadFlag = "1"; //0=待审核;1:待上传;2=已上传
-            netDb.dataSource = "1";//1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
-
-            //netDb.updateManName = "system";
-            //netDb.updateManNo = "system";
-            //netDb.updateTime = DateTime.Now;
-
-
-            //操作日志
-            MeterMonitorNote monitorNote = new MeterMonitorNote();
-            monitorNote.baseSpotNo = actualFirst2.baseSpotNo;
-            monitorNote.baseSpotName = actualFirst2.baseSpotName;
-            monitorNote.operationContent = string.Format("产生一次计量数据和洁净数据");
-            monitorNote.operationTime = actualFirst2.createTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
-            monitorNote.carNo = actualFirst2.carNo;
-            monitorNote.meterNoteSource = "0";
-
-
-
-
-            PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote>();
-            pbSomeModel.one = actualFirst2;
-            pbSomeModel.two = netDb;
-            pbSomeModel.sOne = "0"; //1保存历史皮 0不保存
-            pbSomeModel.four = monitorNote;
-
-            if (actualFirst2 != null && string.IsNullOrEmpty(actualFirst2.createManNo))
-            {
-                actualFirst2.createManNo = actualFirst2.baseSpotNo;
-                actualFirst2.createManName = actualFirst2.baseSpotName;
-            }
-
-            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetDj", new object[] { pbSomeModel }, 1);
-            return rm;
-        }
-
-        /// <summary>
-        /// 上传本地文件数据
-        /// </summary>
-        /// <param name="lm"></param>
-        /// <returns></returns>
-        internal RESTfulResult<List<DjPbModel>> doDbUpload(List<MeterWorkCarActualFirst> lm)
-        {
-            DbHelper db = new DbHelper();
-
-            foreach (MeterWorkCarActualFirst mfirst in lm)
-            {
-                mfirst.dataSource = "1"; //智能终端
-                mfirst.meterMode = "2"; //智能终端
-                mfirst.valueFlag = "1";
-                mfirst.isPreScale = "0"; //未匹配委托
-                mfirst.weightType = "1";//统一给为皮重,让计量员自己去确认是毛还是皮
-                mfirst.createManNo = "system";
-                mfirst.createManName = "system";
-            }
-
-            RESTfulResult<List<DjPbModel>> rm = db.doOption<List<DjPbModel>>("meterworkcaractualfirstbaks", "addFirstEmergencyList", new object[] { lm }, 1);
-            return rm;
-        }
-    }    
-}

+ 0 - 41
RailLocalMeter/DbOption/MeterWorkCarActualService.cs

@@ -1,41 +0,0 @@
-using com.hnshituo.core.webapp.vo;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-
-namespace RailLocalMeter
-{
-    public class MeterWorkCarActualService
-    {
-        private Log lg = Log.GetInstance(); //写日志
-
-        #region JISCO接口
-        /// <summary>
-        /// 期限皮结净,并保存期限皮
-        /// </summary>
-        /// <param name="secondDb">MeterWorkCarActualFirst</param>
-        /// <param name="netDb">MeterWorkCarActual</param>
-        /// <param name="saveTare">0 不保存历史皮,1保存历史皮</param>
-        /// <returns></returns>
-        public RESTfulResult<string> doTermTareNet(PreTrackScale scale, MeterWorkCarActualFirst actualFirst, MeterWorkCarActualFirst actualFirst1)
-        {
-            DbHelper db = new DbHelper();
-            PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActualFirst, PreTrackScale, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActualFirst, PreTrackScale, MeterMonitorNote>();
-            pbSomeModel.one = actualFirst;
-            pbSomeModel.two = actualFirst1;
-            pbSomeModel.three = scale;
-
-            if (actualFirst1 != null && string.IsNullOrEmpty(actualFirst1.createManNo))
-            {
-                actualFirst1.createManNo = actualFirst1.baseSpotNo;
-                actualFirst1.createManName = actualFirst1.baseSpotName;
-            }
-
-            //RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetInnerWf", new object[] { secondDb, netDb, saveTare }, 1);
-            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doNetByFirst", new object[] { pbSomeModel }, 1);
-            return rm;
-        }
-        #endregion
-    }
-}

+ 46 - 0
RailLocalMeter/DbOption/MeterWorkRailwayActFirstService.cs

@@ -0,0 +1,46 @@
+using com.hnshituo.core.webapp.vo;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace RailLocalMeter
+{
+    public class MeterWorkRailwayActFirstService
+    {
+        /// <summary>
+        /// 根据预报编号查数据
+        /// </summary>
+        /// <param name="info"></param>
+        /// <returns></returns>
+        public RESTfulResult<List<MeterWorkRailwayActFirst>> doQueryWf(MeterWorkRailwayActFirst info)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<List<MeterWorkRailwayActFirst>> rm = db.doOption<List<MeterWorkRailwayActFirst>>("meterworkrailwayactfirsts", "/likeByDesc", new object[] { info }, 1);
+            return rm;
+        }
+
+
+        internal RESTfulResult<List<MeterWorkRailwayActFirst>> getWaitSubmitBySpotNo(MeterWorkRailwayActFirst meterWorkRailwayActFirst)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<List<MeterWorkRailwayActFirst>> rm = db.doOption<List<MeterWorkRailwayActFirst>>("meterworkrailwayactfirsts", "/noPage", new object[] { meterWorkRailwayActFirst }, 1);
+            return rm;
+        }
+
+        internal RESTfulResult<ResponseData> add(MeterWorkRailwayActFirst info)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<ResponseData> rm = db.doOption<ResponseData>("meterworkrailwayactfirsts", "/add", new object[] { info }, 1);
+            return rm;
+        }
+
+        internal RESTfulResult<ResponseData> doIdentifyWeight(MeterWorkRailwayActFirst info)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<ResponseData> rm = db.doOption<ResponseData>("meterworkrailwayactfirsts", "doIdentifyWeight", new object[] { info }, 1);
+            return rm;
+        }
+    }
+}

+ 19 - 0
RailLocalMeter/DbOption/MeterWorkRailwayActualService.cs

@@ -0,0 +1,19 @@
+using com.hnshituo.core.webapp.vo;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace RailLocalMeter
+{
+    public class MeterWorkRailwayActualService
+    {
+        internal RESTfulResult<List<MeterWorkRailwayActual>> getWaitSubmitBySpotNo(MeterWorkRailwayActual meterWorkRailwayActual)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<List<MeterWorkRailwayActual>> rm = db.doOption<List<MeterWorkRailwayActual>>("meterworkrailwayactuals", "/noPage", new object[] { meterWorkRailwayActual }, 1);
+            return rm;
+        }
+    }
+}

+ 24 - 0
RailLocalMeter/DbOption/PreRailwayScaleService.cs

@@ -0,0 +1,24 @@
+using com.hnshituo.core.webapp.vo;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace RailLocalMeter
+{
+    public class PreRailwayScaleService
+    {
+        /// <summary>
+        /// 根据车号查所有有效预报编 正使用,待使用
+        /// </summary>
+        /// <param name="info"></param>
+        /// <returns></returns>
+        public RESTfulResult<List<PreRailwayScale>> doQueryTenWf(PreRailwayScale info)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<List<PreRailwayScale>> rm = db.doOption<List<PreRailwayScale>>("prerailwayscales", "doQueryByCar", new object[] { info }, 0);
+            return rm;
+        }
+    }
+}

+ 0 - 64
RailLocalMeter/DbOption/PreTrackScaleService.cs

@@ -1,64 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using com.hnshituo.core.webapp.vo;
-
-namespace RailLocalMeter
-{
-    public class PreTrackScaleService
-    {
-        /// <summary>
-        /// 根据预报编号查数据
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        public RESTfulResult<List<PreTrackScale>> doQueryWf(PreTrackScale info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<PreTrackScale>>> rm = db.doOption<PageList<List<PreTrackScale>>>("pretrackscales", "/", new object[] { info }, 0);
-
-            RESTfulResult<List<PreTrackScale>> result = new RESTfulResult<List<PreTrackScale>>();
-            result.Succeed = rm.Succeed;
-            result.Status = rm.Status;
-            result.Message = rm.Message;
-            result.ResultMessage = rm.ResultMessage;
-            result.Code = rm.Code;
-            if (rm.Data != null && rm.Data.list != null && rm.Data.list.Count > 0)
-            {
-                result.Data = rm.Data.list;
-            }
-
-            return result;
-        }
-
-        /// <summary>
-        /// 根据车号查所有有效预报编 正使用,待使用
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        public RESTfulResult<List<PreTrackScale>> doQueryTenWf(PreTrackScale info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<List<PreTrackScale>> rm = db.doOption<List<PreTrackScale>>("pretrackscales", "doQueryWf", new object[] { info }, 0);
-            return rm;
-        }
-
-
-        #region JISCO特殊接口
-        /// <summary>
-        /// 根据车号查询委托表中未使用和使用中的委托
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        public RESTfulResult<List<PreTrackScale>> doQueryByFlag(PreTrackScale info)
-        {
-            DbHelper db = new DbHelper();
-            RESTfulResult<List<PreTrackScale>> rm = db.doOption<List<PreTrackScale>>("pretrackscales", "/queryByFlag", new object[] { info }, 1);
-
-            return rm;
-        }
-        #endregion
-    }
-}

+ 0 - 219
RailLocalMeter/ModelCls/ActualFirstModel.cs

@@ -1,219 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RailLocalMeter
-{
-    public class ActualFirstModel
-    {
-		/// <summary>
-		/// 计量作业编号
-		/// <summary>
-		//[AttributeID("actualFirstNo")]
-		public string actualFirstNo { get; set; }
-
-		/// <summary>
-		/// 计量点编号
-		/// <summary>
-		public string baseSpotNo { get; set; }
-
-		/// <summary>
-		/// 计量点名称
-		/// <summary>
-		public string baseSpotName { get; set; }
-
-		/// <summary>
-		/// 车号
-		/// <summary>
-		public string carNo { get; set; }
-
-		/// <summary>
-		/// 计量重量
-		/// <summary>
-		public double? meterWeight { get; set; }
-
-		/*
-		/// <summary>
-		/// 计量员编号
-		/// <summary>
-		public string createManNo { get; set; }
-
-		/// <summary>
-		/// 计量员姓名
-		/// <summary>
-		public string createManName { get; set; }
-		//*/
-
-		/// <summary>
-		/// 计量时间
-		/// <summary>
-		public DateTime? createTime { get; set; }
-	}
-
-
-    public class ActualModel 
-    {
-		/// <summary>
-		/// 结净编号
-		/// <summary>
-		public string actualNo { get; set; }
-
-		/// <summary>
-		/// 预报编号
-		/// <summary>
-		public string predictionNo { get; set; }
-
-		/// <summary>
-		/// 车号
-		/// <summary>
-		public string carNo { get; set; }
-
-		/// <summary>
-		/// 毛重计量作业编号
-		/// <summary>
-		public string actualFirst1No { get; set; }
-
-		/// <summary>
-		/// 毛重
-		/// <summary>
-		public double? grossWeight { get; set; }
-
-		/*
-		/// <summary>
-		/// 毛重计量员编号
-		/// <summary>
-		public string grossManNo { get; set; }
-
-		/// <summary>
-		/// 毛重计量员姓名
-		/// <summary>
-		public string grossManName { get; set; }
-		//*/
-
-
-		/// <summary>
-		/// 毛重计量时间
-		/// <summary>
-		public DateTime? grossTime { get; set; }
-
-		/// <summary>
-		/// 毛重计量点编号
-		/// <summary>
-		public string baseSpot1No { get; set; }
-
-		/// <summary>
-		/// 毛重计量点名称
-		/// <summary>
-		public string baseSpot1Name { get; set; }
-
-		/// <summary>
-		/// 毛重计量方式
-		/// <summary>
-		public string grossMode { get; set; }
-
-		/// <summary>
-		/// 皮重计量作业编号
-		/// <summary>
-		public string actualFirst2No { get; set; }
-
-		/// <summary>
-		/// 皮重
-		/// <summary>
-		public double? tareWeight { get; set; }
-
-		/*
-		/// <summary>
-		/// 皮重计量员编号
-		/// <summary>
-		public string tareManNo { get; set; }
-
-		/// <summary>
-		/// 皮重计量员姓名
-		/// <summary>
-		public string tareManName { get; set; }
-		//*/
-
-		/// <summary>
-		/// 皮重计量时间
-		/// <summary>
-		public DateTime? tareTime { get; set; }
-
-		/// <summary>
-		/// 皮重计量点编号
-		/// <summary>
-		public string baseSpot2No { get; set; }
-
-		/// <summary>
-		/// 皮重计量点名称
-		/// <summary>
-		public string baseSpot2Name { get; set; }
-
-		/// <summary>
-		/// 皮重计量方式
-		/// <summary>
-		public string tareMode { get; set; }
-
-		/// <summary>
-		/// 净重
-		/// <summary>
-		public double? netWeight { get; set; }
-
-		/// <summary>
-		/// 净重计量员编号
-		/// <summary>
-		public string netManNo { get; set; }
-
-		/// <summary>
-		/// 净重计量员姓名
-		/// <summary>
-		public string netManName { get; set; }
-
-		/// <summary>
-		/// 净重计量时间
-		/// <summary>
-		public DateTime? netTime { get; set; }
-
-		/// <summary>
-		/// 净重计量点编号
-		/// <summary>
-		public string netSpot3No { get; set; }
-
-		/// <summary>
-		/// 净重计量点名称
-		/// <summary>
-		public string netSpot3Name { get; set; }
-
-		/// <summary>
-		/// 结净方式
-		/// <summary>
-		public string netMode { get; set; }
-
-		/// <summary>
-		/// 状态
-		/// <summary>
-		public string valueFlag { get; set; }
-
-		/// 
-		/// 是否匹配委托(0:未匹配,1:已匹配)
-		/// 
-
-		public string isPreScale { get; set; }
-
-		/// <summary>
-		/// 创建人编号
-		/// <summary>
-		public string createManNo { get; set; }
-
-		/// <summary>
-		/// 创建人姓名
-		/// <summary>
-		public string createManName { get; set; }
-
-		/// <summary>
-		/// 创建时间
-		/// <summary>
-		public DateTime createTime { get; set; }
-	}
-}

+ 0 - 36
RailLocalMeter/ModelCls/MeterBaseRfidInfo.cs

@@ -1,36 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RailLocalMeter
-{
-    public class MeterBaseRfidInfo
-    {
-        /// <summary>
-        /// 主键
-        /// </summary>
-        public string rfidId { get; set; }
-
-        /// <summary>
-        /// rfid卡号
-        /// </summary>
-        public string rfidCode { get; set; }
-
-        /// <summary>
-        /// 车号
-        /// </summary>
-        public string carNo { get; set; }
-
-        /// <summary>
-        /// 0有效 1挂失
-        /// </summary>
-        public string valueFlag { get; set; }
-
-        public string createManNo { get; set; }
-
-        public string createManName { get; set; }
-
-    }
-}

+ 0 - 74
RailLocalMeter/ModelCls/MeterWorkPreLink.cs

@@ -1,74 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RailLocalMeter
-{
-	public class MeterWorkPreLink
-	{
-		/// <summary>
-		/// 预环节编号
-		/// <summary>
-		//[AttributeID("preLinkNo")]
-		public string preLinkNo { get; set; }
-
-		/// <summary>
-		/// 预报编号
-		/// <summary>
-		public string predictionNo { get; set; }
-
-		/// <summary>
-		/// 流程编号
-		/// <summary>
-		public string processNo { get; set; }
-
-		/// <summary>
-		/// 预流程编号
-		/// <summary>
-		public string preProcessNo { get; set; }
-
-		/// <summary>
-		/// 计量环节编码
-		/// <summary>
-		public string linkCode { get; set; }
-
-		/// <summary>
-		/// 计量环节名称
-		/// <summary>
-		public string linkName { get; set; }
-
-		/// <summary>
-		/// 状态
-		/// <summary>
-		public string valueFlag { get; set; }
-
-		/// <summary>
-		/// 使用人编号
-		/// <summary>
-		public string createManNo { get; set; }
-
-		/// <summary>
-		/// 使用人姓名
-		/// <summary>
-		public string createManName { get; set; }
-
-		/// <summary>
-		/// 使用时间
-		/// <summary>
-		public DateTime? createTime { get; set; }
-
-		/// <summary>
-		/// 序号
-		/// <summary>
-		public long? seqNo { get; set; }
-
-		/// <summary>
-		/// 计量环节编号
-		/// <summary>
-		public string linkNo { get; set; }
-
-	}
-}
-

+ 85 - 169
RailLocalMeter/ModelCls/MeterWorkCarActualFirst.cs → RailLocalMeter/ModelCls/MeterWorkRailwayActFirst.cs

@@ -1,22 +1,15 @@
-/***文档注释***********************************************
- * 作者            :
- * 创建日期     :2020-11-07
- * 描述            :计量汽车衡一次数据表
- * 注意事项     :
- * 遗留BUG   :
- * 修改日期     :
- * 修改人员     :
- * 修改内容     :
-***********************************************************/
-using System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
+
 namespace RailLocalMeter
 {
-	public class MeterWorkCarActualFirst
-	{
-		/// <summary>
-		/// 计量作业编号
-		/// <summary>
+    public class MeterWorkRailwayActFirst
+    {/// <summary>
+	 /// 计量作业编号
+	 /// <summary>
 		//[AttributeID("actualFirstNo")]
 		public string actualFirstNo { get; set; }
 
@@ -31,14 +24,24 @@ namespace RailLocalMeter
 		public string noticeNo { get; set; }
 
 		/// <summary>
-		/// 车号
+		/// 火车车号
+		/// <summary>
+		public string railwayNo { get; set; }
+
+		/// <summary>
+		/// 车厢序号
 		/// <summary>
-		public string carNo { get; set; }
+		public string railwayCarriageNo { get; set; }
 
 		/// <summary>
-		/// 挂号
+		/// 列车作业编
 		/// <summary>
-		public string trailerNo { get; set; }
+		public string railwayWorkNo { get; set; }
+
+		/// <summary>
+		/// 车速
+		/// <summary>
+		public double? railwaySpeed { get; set; }
 
 		/// <summary>
 		/// 物料编号
@@ -180,11 +183,6 @@ namespace RailLocalMeter
 		/// <summary>
 		public string meterTypeName { get; set; }
 
-		/// <summary>
-		/// 火车车号
-		/// <summary>
-		public string railwayNo { get; set; }
-
 		/// <summary>
 		/// 计量流程编号
 		/// <summary>
@@ -201,19 +199,23 @@ namespace RailLocalMeter
 		public double? meterWeight { get; set; }
 
 		/// <summary>
-		/// 附加重量
+		/// 计量重量(T)
+		/// <summary>
+		public string meterWeightT { get; set; }
 		/// <summary>
-		public double? addWeight { get; set; }
+		/// 重量类型
+		/// <summary>
+		public string weightType { get; set; }
 
 		/// <summary>
-		/// 计量数
+		/// 分检重
 		/// <summary>
-		public long? meterNum { get; set; }
+		public double? meterSortWeight { get; set; }
 
 		/// <summary>
-		/// 重量类型(0=毛重;1=常规皮重;2=期限皮重;3=历史皮重;4=标识皮重;5=自重皮重)
+		/// 结算重量
 		/// <summary>
-		public string weightType { get; set; }
+		public double? meterBalanceWeight { get; set; }
 
 		/// <summary>
 		/// 计量员编号
@@ -301,35 +303,44 @@ namespace RailLocalMeter
 		public string meterMode { get; set; }
 
 		/// <summary>
-		/// 放行原因编号
+		/// 轨道衡类型编号
 		/// <summary>
-		public string meterReasonNo { get; set; }
+		public string railwayTypeNo { get; set; }
 
 		/// <summary>
-		/// 放行原因名称
+		/// 轨道衡类型名称
 		/// <summary>
-		public string meterReasonName { get; set; }
+		public string railwayTypeName { get; set; }
 
 		/// <summary>
-		/// 卸货截至时间
-		/// </summary>
-		public DateTime? loadEndTime { get; set; }
+		/// 是否危化品
+		/// <summary>
+		public string isChemical { get; set; }
 
 		/// <summary>
-		/// 附加重量架子编码
-		/// </summary>
-		public string addWgtNo { get; set; }
+		/// 限载重量
+		/// <summary>
+		public double? limitWeight { get; set; }
 
 		/// <summary>
-		/// 附加重量主键
-		/// </summary>
-		public string addWgtPk { get; set; }
+		/// 车型编号
+		/// <summary>
+		public string railwayModelNo { get; set; }
 
 		/// <summary>
-		/// 检化验取样状态(0=未处理;1=待取样;2=已取样)
-		/// </summary>
-		public string limsSamplingFlag { get; set; }
+		/// 车型名称
+		/// <summary>
+		public string railwayModelName { get; set; }
+
+		/// <summary>
+		/// 车型标重/自重
+		/// <summary>
+		public double? railwayFactoryWeight { get; set; }
 
+		/// <summary>
+		/// 水份
+		/// </summary>
+		public double? waterNum { get; set; }
 
 		/// <summary>
 		/// 页码
@@ -341,136 +352,30 @@ namespace RailLocalMeter
 		/// </summary>
 		public int pageSize { get; set; }
 
-
 		/// <summary>
-		/// 炉号
+		/// 开始时间
 		/// </summary>
-		public string heatNo { get; set; }
+		public string createTime1 { get; set; }
 
 		/// <summary>
-		/// 计量码头号
+		/// 结束时间
 		/// </summary>
-		public string meterPierNo { get; set; }
-
+		public string createTime2 { get; set; }
 
 		/// <summary>
-		/// 计量码头名称
+		/// 到站
 		/// </summary>
-		public string meterPierName { get; set; }
-
-		/// 
-		/// 船号
-		/// 
-
-		public string shipNo { get; set; }
-
-		/// 
-		/// 应扣除重量(KG)
-		/// 
-
-		public double? disWgt { get; set; }
-
-		/// 
-		/// 应扣比率%
-		/// 
-
-		public double? disRatio { get; set; }
-
-		/// 
-		/// 扣渣人
-		/// 
-
-		public string disOpr { get; set; }
+		public string arrival { get; set; }
 
-		/// 
-		/// 扣渣时间
-		/// 
-
-		public DateTime? disTime { get; set; }
-
-		/// 
-		/// 最终净重(扣水扣渣后净重)
-		/// 
-
-		public double? netEnd { get; set; }
-
-		/// 
-		/// 发运皮重
-		/// 
-
-		public double? shipmentTareWeight { get; set; }
-
-		/// 
-		/// 打印人编号
-		/// 
-
-		public string printManNo { get; set; }
-
-		/// 
-		/// 打印人姓名
-		/// 
-
-		public string printManName { get; set; }
-
-		/// 
-		/// 打印时间(YYYY-MM-DD HH:mm:SS)
-		/// 
-
-		public DateTime? printTime { get; set; }
-
-		/// 
-		/// 打印次数
-		/// 
-
-		public double? printNum { get; set; }
-
-		/// 
-		/// 卸货计划号(MES)
-		/// 
-
-		public string holddockSeq { get; set; }
-
-		/// 
-		/// 预报类型分类编码<大类>
-		/// 
-
-		public string scaleTypeNoM { get; set; }
-
-		/// 
-		/// 预报类型分类名称<大类>
-		/// 
-
-		public string scaleTypeNameM { get; set; }
-
-		/// 
-		/// 预报类型分类编码<大类下的细分小类>
-		/// 
-
-		public string scaleTypeNoD { get; set; }
-
-		/// 
-		/// 预报类型分类名称<大类下的细分小类>
-		/// 
-
-		public string scaleTypeNameD { get; set; }
-
-		/// 
-		/// 司机姓名
-		/// 
-
-		public string driverName { get; set; }
-
-		/// 
-		/// 联系电话
-		/// 
-
-		public string telNum { get; set; }
-
-		/// 
-		/// 身份证号
-		/// 
+		/// <summary>
+		/// 发站
+		/// </summary>
+		public string station { get; set; }
 
-		public string idNum { get; set; }
+		/// <summary>
+		/// 原产地
+		/// </summary>
+		public string sourceArea { get; set; }
 
 		/// 
 		/// 数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
@@ -485,10 +390,16 @@ namespace RailLocalMeter
 		public string note { get; set; }
 
 		/// 
-		/// 是否匹配委托(0:未匹配,1:已匹配)
+		/// 是否匹配委托
 		/// 
 
-		public string isPreScale { get; set; }
+		public string isPreSacale { get; set; }
+
+		/// 
+		/// 列次号
+		/// 
+
+		public string lcNo { get; set; }
 
 		#region 老系统字段
 		/// <summary>
@@ -590,6 +501,11 @@ namespace RailLocalMeter
 		/// 计量任务号
 		/// </summary>
 		public string measureTaskNum { get; set; }
+		public string flag { get; set; }
+		public string startTime { get; set; }
+		public string endTime { get; set; }
 		#endregion
+
+
 	}
 }

+ 73 - 162
RailLocalMeter/ModelCls/MeterWorkCarActual.cs → RailLocalMeter/ModelCls/MeterWorkRailwayActual.cs

@@ -1,18 +1,12 @@
-/***文档注释***********************************************
- * 作者            :
- * 创建日期     :2020-11-07
- * 描述            :计量汽车衡结净表
- * 注意事项     :
- * 遗留BUG   :
- * 修改日期     :
- * 修改人员     :
- * 修改内容     :
-***********************************************************/
-using System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
+
 namespace RailLocalMeter
 {
-	public class MeterWorkCarActual
+	public class MeterWorkRailwayActual
 	{
 		/// <summary>
 		/// 结净编号
@@ -31,14 +25,14 @@ namespace RailLocalMeter
 		public string noticeNo { get; set; }
 
 		/// <summary>
-		/// 车号
+		/// 火车车号
 		/// <summary>
-		public string carNo { get; set; }
+		public string railwayNo { get; set; }
 
 		/// <summary>
-		/// 
+		/// 车厢序
 		/// <summary>
-		public string trailerNo { get; set; }
+		public string railwayCarriageNo { get; set; }
 
 		/// <summary>
 		/// 物料编号
@@ -120,11 +114,6 @@ namespace RailLocalMeter
 		/// <summary>
 		public string loadPointName { get; set; }
 
-		/// <summary>
-		/// 取样编号
-		/// <summary>
-		public string sampleNo { get; set; }
-
 		/// <summary>
 		/// 取样凭证
 		/// <summary>
@@ -265,11 +254,6 @@ namespace RailLocalMeter
 		/// <summary>
 		public double? netWeight { get; set; }
 
-		/// <summary>
-		/// 计量数量
-		/// <summary>
-		public long? meterNum { get; set; }
-
 		/// <summary>
 		/// 净重计量员编号
 		/// <summary>
@@ -295,6 +279,11 @@ namespace RailLocalMeter
 		/// <summary>
 		public string netSpot3Name { get; set; }
 
+		/// <summary>
+		/// 净重班次
+		/// <summary>
+		public string netClass { get; set; }
+
 		/// <summary>
 		/// 净重班组
 		/// <summary>
@@ -346,19 +335,19 @@ namespace RailLocalMeter
 		public DateTime? uploadTime { get; set; }
 
 		/// <summary>
-		/// 净重班次
+		/// 取样编号
 		/// <summary>
-		public string netClass { get; set; }
+		public string sampleNo { get; set; }
 
 		/// <summary>
-		/// 火车车
+		/// 轨道衡类型编
 		/// <summary>
-		public string railwayNo { get; set; }
+		public string railwayTypeNo { get; set; }
 
 		/// <summary>
-		/// 附加重量
+		/// 轨道衡类型名称
 		/// <summary>
-		public double? addWeight { get; set; }
+		public string railwayTypeName { get; set; }
 
 		/// <summary>
 		/// 页码
@@ -371,173 +360,88 @@ namespace RailLocalMeter
 		public int pageSize { get; set; }
 
 		/// <summary>
-		/// 炉号
+		/// 开始时间
 		/// </summary>
-		public string heatNo { get; set; }
+		public string createTime1 { get; set; }
 
 		/// <summary>
-		/// 计量码头号
+		/// 结束时间
 		/// </summary>
-		public string meterPierNo { get; set; }
-
+		public string createTime2 { get; set; }
 
 		/// <summary>
-		/// 计量码头名称
+		/// 开始时间
 		/// </summary>
-		public string meterPierName { get; set; }
-
-		/// 
-		/// 船号
-		/// 
-
-		public string shipNo { get; set; }
-
-		/// 
-		/// 应扣除重量(KG)
-		/// 
-
-		public double? disWgt { get; set; }
-
-		/// 
-		/// 应扣比率%
-		/// 
-
-		public double? disRatio { get; set; }
-
-		/// 
-		/// 扣渣人
-		/// 
-
-		public string disOpr { get; set; }
-
-		/// 
-		/// 扣渣时间
-		/// 
-
-		public DateTime? disTime { get; set; }
-
-		/// 
-		/// 最终净重(扣水扣渣后净重)
-		/// 
-
-		public double? netEnd { get; set; }
-
-		/// 
-		/// 发运皮重
-		/// 
-
-		public double? shipmentTareWeight { get; set; }
-
-		/// 
-		/// 打印人编号
-		/// 
-
-		public string printManNo { get; set; }
-
-		/// 
-		/// 打印人姓名
-		/// 
-
-		public string printManName { get; set; }
-
-		/// 
-		/// 打印时间(YYYY-MM-DD HH:mm:SS)
-		/// 
+		public string startTime { get; set; }
 
-		public DateTime? printTime { get; set; }
-
-		/// 
-		/// 打印次数
-		/// 
-
-		public double? printNum { get; set; }
-
-		/// 
-		/// 卸货计划号(MES)
-		/// 
-
-		public string holddockSeq { get; set; }
-
-		/// 
-		/// 预报类型分类编码<大类>
-		/// 
-
-		public string scaleTypeNoM { get; set; }
-
-		/// 
-		/// 预报类型分类名称<大类>
-		/// 
-
-		public string scaleTypeNameM { get; set; }
-
-		/// 
-		/// 预报类型分类编码<大类下的细分小类>
-		/// 
-
-		public string scaleTypeNoD { get; set; }
-
-		/// 
-		/// 预报类型分类名称<大类下的细分小类>
-		/// 
-
-		public string scaleTypeNameD { get; set; }
-
-		/// 
-		/// 司机姓名
-		/// 
-
-		public string driverName { get; set; }
-
-		/// 
-		/// 联系电话
-		/// 
+		/// <summary>
+		/// 结束时间
+		/// </summary>
+		public string endTime { get; set; }
 
-		public string telNum { get; set; }
+		/// <summary>
+		/// 标识符(0=静轨;1=动轨)
+		/// </summary>
+		public string flag { get; set; }
 
-		/// 
-		/// 身份证号
-		/// 
+		/// <summary>
+		/// 水份
+		/// </summary>
+		public double? waterNum { get; set; }
 
-		public string idNum { get; set; }
+		/// <summary>
+		/// 到站
+		/// </summary>
+		public string arrival { get; set; }
 
 		/// <summary>
-		/// 备注
+		/// 发站
+		/// </summary>
+		public string station { get; set; }
+
 		/// <summary>
-		public string memo { get; set; }
+		/// 原产地
+		/// </summary>
+		public string sourceArea { get; set; }
+
+		public double? dryWgt { get; set; }
 
 		/// 
 		/// 数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
 		/// 
-
 		public string dataSource { get; set; }
 
-
 		/// 
-		/// 是否匹配委托(0:未匹配,1:已匹配)
+		/// 操作原因
 		/// 
 
-		public string isPreScale { get; set; }
+		public string note { get; set; }
 
 		/// 
-		/// 操作原因
+		/// 车型
 		/// 
 
-		public string note { get; set; }
+		public string railwayModelName { get; set; }
+		/// 
+		/// 是否匹配委托
+		/// 
 
+		public string isPreSacale { get; set; }
 		/// <summary>
-		/// 修改人编号
+		/// 计量员编号
 		/// <summary>
 		public string createManNo { get; set; }
 
 		/// <summary>
-		/// 创建人姓名
+		/// 计量员姓名
 		/// <summary>
 		public string createManName { get; set; }
 
 		/// <summary>
-		/// 创建时间
+		/// 计量时间
 		/// <summary>
-		public DateTime createTime { get; set; }
+		public DateTime? createTime { get; set; }
+
 
 		/// <summary>
 		/// 修改人编号
@@ -550,10 +454,17 @@ namespace RailLocalMeter
 		public string updateManName { get; set; }
 
 		/// <summary>
-		/// 修改时间
+		/// 修改时间
 		/// <summary>
 		public DateTime? updateTime { get; set; }
 
+		/// 
+		/// 列次号
+		/// 
+
+		public string lcNo { get; set; }
+
+		public string memo { get; set; }
 		#region 老系统字段
 		/// <summary>
 		/// 主凭据号 

+ 59 - 124
RailLocalMeter/ModelCls/PreTrackScale.cs → RailLocalMeter/ModelCls/PreRailwayScale.cs

@@ -1,22 +1,15 @@
-/***文档注释***********************************************
- * 作者            :
- * 创建日期     :2020-11-07
- * 描述            :汽车衡计量预报表
- * 注意事项     :
- * 遗留BUG   :
- * 修改日期     :
- * 修改人员     :
- * 修改内容     :
-***********************************************************/
-using System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
+
 namespace RailLocalMeter
 {
-	public class PreTrackScale
-	{
-		/// <summary>
-		/// 预报编号
-		/// <summary>
+    public class PreRailwayScale
+    {/// <summary>
+	 /// 预报编号
+	 /// <summary>
 		//[AttributeID("predictionNo")]
 		public string predictionNo { get; set; }
 
@@ -28,12 +21,12 @@ namespace RailLocalMeter
 		/// <summary>
 		/// 车号
 		/// <summary>
-		public string carNo { get; set; }
+		public string railwayNo { get; set; }
 
 		/// <summary>
-		/// 
+		/// 车厢序
 		/// <summary>
-		public string trailerNo { get; set; }
+		public string railwayCarriageNo { get; set; }
 
 		/// <summary>
 		/// 物料编号
@@ -125,16 +118,6 @@ namespace RailLocalMeter
 		/// <summary>
 		public long? shipmentNum { get; set; }
 
-		/// <summary>
-		/// 附加重量总和
-		/// <summary>
-		public double? addWeightSum { get; set; }
-
-		/// <summary>
-		/// 绑定卡号
-		/// <summary>
-		public string bindCardNo { get; set; }
-
 		/// <summary>
 		/// 卸货地点编号
 		/// <summary>
@@ -185,11 +168,6 @@ namespace RailLocalMeter
 		/// <summary>
 		public string meterTypeName { get; set; }
 
-		/// <summary>
-		/// 可用类型
-		/// <summary>
-		public string usedType { get; set; }
-
 		/// <summary>
 		/// 有效开始时间
 		/// <summary>
@@ -201,39 +179,14 @@ namespace RailLocalMeter
 		public DateTime? effectiveEndTime { get; set; }
 
 		/// <summary>
-		/// 有效总量
-		/// <summary>
-		public double? effectiveWeight { get; set; }
-
-		/// <summary>
-		/// 有效次数
-		/// <summary>
-		public long? effectiveNum { get; set; }
-
-		/// <summary>
-		/// 检斤重量
+		/// 轨道衡类型编号
 		/// <summary>
-		public double? meterWeight { get; set; }
+		public string railwayTypeNo { get; set; }
 
 		/// <summary>
-		/// 检斤次数
+		/// 轨道衡类型名称
 		/// <summary>
-		public long? meterNum { get; set; }
-
-		/// <summary>
-		/// 火车车号
-		/// <summary>
-		public string railwayNo { get; set; }
-
-		/// <summary>
-		/// 计量流程编号
-		/// <summary>
-		public string meterProcessNo { get; set; }
-
-		/// <summary>
-		/// 计量流程版本号
-		/// <summary>
-		public string meterProcessEditionNo { get; set; }
+		public string railwayTypeName { get; set; }
 
 		/// <summary>
 		/// 备注
@@ -301,101 +254,82 @@ namespace RailLocalMeter
 		public string pValueFlag { get; set; }
 
 		/// <summary>
-		/// 炉号
-		/// </summary>
-		public string heatNo { get; set; }
-
+		/// 是否危化品
 		/// <summary>
-		/// 计量码头号
-		/// </summary>
-		public string meterPierNo { get; set; }
-
+		public string isChemical { get; set; }
 
 		/// <summary>
-		/// 计量码头名称
-		/// </summary>
-		public string meterPierName { get; set; }
-
+		/// 限载重量
 		/// <summary>
-		/// 船号
-		/// </summary>
-		public string shipNo { get; set; }
+		public double? limitWeight { get; set; }
 
 		/// <summary>
-		/// 卸货计划号(MES)
-		/// </summary>
-		public string holddockSeq { get; set; }
-
+		/// 车型编号
 		/// <summary>
-		/// 内部车辆编号(MES)(MES)
-		/// </summary>
-		public string prdNo { get; set; }
+		public string railwayModelNo { get; set; }
 
 		/// <summary>
-		/// 到货地点(MES)(MES)
-		/// </summary>
-		public string sdrPlace { get; set; }
-
+		/// 车型名称
 		/// <summary>
-		/// 钢坯厚(MES)(MES)
-		/// </summary>
-		public string thick { get; set; }
+		public string railwayModelName { get; set; }
 
-		/// <summary>
-		/// 钢坯宽(MES)(MES)
-		/// </summary>
-		public string width { get; set; }
 
 		/// <summary>
-		/// 钢坯长(MES)(MES)
+		/// 页码
 		/// </summary>
-		public string length { get; set; }
+		public int pageNum { get; set; }
 
 		/// <summary>
-		/// 钢坯支数(MES)(MES)
+		/// 页面条数
 		/// </summary>
-		public string count { get; set; }
+		public int pageSize { get; set; }
 
 		/// <summary>
-		/// 钢坯炉号(MES)(MES)
+		/// 开始时间
 		/// </summary>
-		public string heatno { get; set; }
+		public string startTime { get; set; }
 
 		/// <summary>
-		/// 钢坯钢种(MES)(MES)
+		/// 结束时间
 		/// </summary>
-		public string steel { get; set; }
+		public string endTime { get; set; }
 
 		/// <summary>
-		/// 废钢主料类型编码(MES)(MES)
-		/// </summary>
-		public string scrapsteeltypeno { get; set; }
-
+		/// 毛重
 		/// <summary>
-		/// 废钢主料类型(MES)(MES)
-		/// </summary>
-		public string scrapsteeltype { get; set; }
+		public double? grossWeight { get; set; }
+		/// <summary>
+		/// 毛重时间
+		/// <summary>
+		public DateTime? grossTime { get; set; }
 
 		/// <summary>
-		/// 装车单号(MES)(MES)
-		/// </summary>
-		public string outbillno { get; set; }
+		/// 皮重
+		/// <summary>
+		public double? tareWeight { get; set; }
+		/// <summary>
+		/// 皮重时间
+		/// <summary>
+		public DateTime? tareTime { get; set; }
 
 		/// <summary>
-		/// 委托编号(MES)(MES)
-		/// </summary>
-		public string truNo { get; set; }
+		/// 净重
+		/// <summary>
+		public double? netWeight { get; set; }
+		/// <summary>
+		/// 净重时间
+		/// <summary>
+		public DateTime? netTime { get; set; }
 
 		/// <summary>
-		/// 检化验取样状态(0=不需要取样;1=待取样(已中签);2=已取样;3=待确认(默认值))
+		/// 到站
 		/// </summary>
-		public string limsSamplingFlag { get; set; }
+		public string arrival { get; set; }
 
 		/// <summary>
-		/// 是否为当次使用预报(0为否,1为是)默认为否
+		/// 发站
 		/// </summary>
-		public string lineDesc { get; set; }
-
+		public string station { get; set; }
 
 		#region 老系统字段
 		/// <summary>
@@ -501,12 +435,12 @@ namespace RailLocalMeter
 		/// <summary>
 		/// 签发时间
 		/// </summary>
-		public DateTime? trustDateTime { get; set; }
+		public DateTime trustDateTime { get; set; }
 
 		/// <summary>
 		/// 有效期截至时间
 		/// </summary>
-		public DateTime? trustAvailabilityTime { get; set; }
+		public DateTime trustAvailabilityTime { get; set; }
 
 		/// <summary>
 		/// 签发机器ip
@@ -545,3 +479,4 @@ namespace RailLocalMeter
 		#endregion
 	}
 }
+

+ 14 - 0
RailLocalMeter/ModelCls/ResponseData.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace RailLocalMeter
+{
+    public class ResponseData
+    {
+        public List<MeterWorkRailwayActFirst> firsts;
+        public List<MeterWorkRailwayActual> actuals;
+    }
+}

+ 0 - 237
RailLocalMeter/OptionCls/CarNoCls.cs

@@ -1,237 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace RailLocalMeter
-{
-    /// <summary>
-    /// 摄像头车号获取
-    /// </summary>
-    public class CarNoCls
-    {
-        #region
-        private bool m_bInitSDK = false;
-        private uint iLastErr = 0;
-        private Int32 m_lUserID = -1;
-        private Int32 m_lRealHandle = -1;
-        //int iFileNumber = 0;
-        private int[] iChannelNum = new int[96];
-        private Int32[] m_lAlarmHandle = new Int32[200];
-
-        private CHCNetSDK.MSGCallBack_V31 m_falarmData_V31 = null;
-        private CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo;
-        public delegate void MyDebugInfo(string str);
-
-        private bool bQj = true; //是否是枪机
-        #endregion
-
-        public CarNoCls()
-        {
-            m_bInitSDK = CHCNetSDK.NET_DVR_Init();
-            if (m_bInitSDK == false)
-            {
-                MessageBox.Show("NET_DVR_Init error!");
-                return;
-            }
-            else
-            {
-                //保存SDK日志 To save the SDK log
-                CHCNetSDK.NET_DVR_SetLogToFile(3, "C:\\SdkLog\\", true);
-                for (int i = 0; i < 64; i++)
-                {
-                    iChannelNum[i] = -1;
-                }
-
-                //设置报警回调函数
-                if (m_falarmData_V31 == null)
-                {
-                    m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
-                }
-                CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero);
-            }
-        }
-
-        public bool MsgCallback_V31(int lCommand, ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser)
-        {
-            //通过lCommand来判断接收到的报警信息类型,不同的lCommand对应不同的pAlarmInfo内容
-            AlarmMessageHandle(lCommand, ref pAlarmer, pAlarmInfo, dwBufLen, pUser);
-
-            return true; //回调函数需要有返回,表示正常接收到数据
-        }
-
-        public void AlarmMessageHandle(int lCommand, ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser)
-        {
-            if (lCommand == CHCNetSDK.COMM_ITS_PLATE_RESULT) 
-            {
-                ProcessCommAlarm_ITSPlate(ref pAlarmer, pAlarmInfo, dwBufLen, pUser);
-            }
-        }
-
-        
-        private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser)
-        {
-            CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT();
-            struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT));
-            uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult);
-            
-
-            //上传结果
-            string stringPlateLicense = System.Text.Encoding.GetEncoding("GBK").GetString(struITSPlateResult.struPlateInfo.sLicense).TrimEnd('\0');
-            string stringAlarm = "抓拍上传," + "车牌:" + stringPlateLicense + ",车辆序号:" + struITSPlateResult.struVehicleInfo.dwIndex;
-
-            if (bQj)
-                CacleCls.voicCarNo = stringPlateLicense.Replace("黄", "").Replace("蓝", "").Replace("绿", "").Replace("白", ""); //枪机
-            else
-                CacleCls.voicCarNo2 = stringPlateLicense.Replace("黄", "").Replace("蓝", "").Replace("绿", "").Replace("白", ""); //球机
-
-            DebugInfo(stringAlarm);
-        }
-
-        public void Login(string Ip, int port, string uid, string pwd, bool flag = true)
-        {
-            bQj = flag;
-            if (string.IsNullOrEmpty(Ip) || string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(pwd))
-            {
-                DebugInfo("请先载入摄像头信息");
-            }
-
-            if (m_lUserID < 0)
-            {
-                string DVRIPAddress = Ip; //设备IP地址或者域名 Device IP
-                Int16 DVRPortNumber = (Int16)port; //port
-                string DVRUserName = uid;//设备登录用户名 User name to login
-                string DVRPassword = pwd;//设备登录密码 Password to login
-
-                //登录设备 Login the device
-                m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref DeviceInfo);
-                if (m_lUserID < 0)
-                {
-                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
-                    //登录失败,输出错误号 Failed to login and output the error code
-                    DebugInfo($"NET_DVR_Login_V30 failed, error code= {iLastErr}");
-                    return;
-                }
-                else
-                {
-                    //登录成功
-                    DebugInfo("NET_DVR_Login_V30 succ!");
-                    SetAlarm();
-                }
-            }
-        }
-
-        /// <summary>
-        /// 登录后进行布防,布防后才能触发获取车号的功能
-        /// </summary>
-        public void SetAlarm() 
-        {
-            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
-            struAlarmParam.dwSize = (uint)Marshal.SizeOf(struAlarmParam);
-            struAlarmParam.byLevel = 1; //0- 一级布防,1- 二级布防
-            struAlarmParam.byAlarmInfoType = 1;//智能交通设备有效,新报警信息类型
-            struAlarmParam.byFaceAlarmDetection = 1;//1-人脸侦测
-
-            m_lAlarmHandle[m_lUserID] = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);
-            if (m_lAlarmHandle[m_lUserID] < 0)
-            {
-                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
-                string strErr = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
-                DebugInfo(strErr);
-            }
-            else
-            {
-                //"布防成功"
-                DebugInfo("布防成功");
-            }
-        }
-
-        public void LoginOut()
-        {
-            //注销登录 Logout the device
-            if (m_lRealHandle >= 0)
-            {
-                DebugInfo("Please stop live view firstly"); //登出前先停止预览 Stop live view before logout
-                return;
-            }
-
-
-            if (m_lAlarmHandle[m_lUserID] >= 0)
-            {
-                if (!CHCNetSDK.NET_DVR_CloseAlarmChan_V30(m_lAlarmHandle[m_lUserID]))
-                {
-                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
-                    string strErr = "撤防失败,错误号:" + iLastErr;
-                    DebugInfo(strErr);
-                }
-                else
-                {
-                    m_lAlarmHandle[m_lUserID] = -1;
-                }
-            }
-
-            if (!CHCNetSDK.NET_DVR_Logout(m_lUserID))
-            {
-                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
-                DebugInfo($"NET_DVR_Logout failed, error code= {iLastErr}");
-                return;
-            }
-            DebugInfo("NET_DVR_Logout succ!");
-            m_lUserID = -1;
-
-            //程序退出的时候释放资源
-            CHCNetSDK.NET_DVR_Cleanup();
-        }
-
-
-        CHCNetSDK.NET_DVR_JPEGPARA jpegPara = new CHCNetSDK.NET_DVR_JPEGPARA();
-        public void CapturePictrue2(string fileUrl)
-        {
-            jpegPara.wPicQuality = 0;
-            jpegPara.wPicSize = 4;
-            string str = "";
-            Log.GetInstance().WriteLog(LogType.VoiceLog, "完成快速仪表拍照:" + "车号:" + CacleCls.lockCarNo + ";重量:" + CacleCls.lockWgt + ";时间:" + DateTime.Now.ToLongTimeString());
-            if (!CHCNetSDK.NET_DVR_CaptureJPEGPicture(m_lUserID, 1, ref jpegPara, fileUrl))
-            {
-                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
-                str = "NET_DVR_CaptureJPEGPicture failed, error code= " + iLastErr;
-                DebugInfo(str);
-                return;
-            }
-            Log.GetInstance().WriteLog(LogType.VoiceLog, "结束快速仪表拍照:" + "车号:" + CacleCls.lockCarNo + ";重量:" + CacleCls.lockWgt + ";时间:" + DateTime.Now.ToLongTimeString());
-
-        }
-
-
-        protected void DebugInfo(string strMsg)
-        {
-            try
-            {
-                string m_szRunPath;
-                m_szRunPath = System.Environment.CurrentDirectory;
-                if (System.IO.Directory.Exists(m_szRunPath + "\\log") == false)
-                {
-                    System.IO.Directory.CreateDirectory(m_szRunPath + "\\log");
-                }
-                string strDate = System.DateTime.Now.ToString("yyyyMMdd");
-                string strPathFile = m_szRunPath + "\\log\\" + strDate;
-                if (!Directory.Exists(strPathFile))//如果不存在就创建file文件夹
-                {
-                    Directory.CreateDirectory(strPathFile);
-                }
-                System.IO.TextWriter tw = new System.IO.StreamWriter(strPathFile + "\\视频_" + strDate + ".log", true);
-
-                tw.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                tw.WriteLine(strMsg);
-                tw.WriteLine("\r\n");
-
-                tw.Close();
-            }
-            catch { }
-        }
-    }
-}

+ 0 - 113
RailLocalMeter/OptionCls/DbUpload.cs

@@ -1,113 +0,0 @@
-using com.hnshituo.core.webapp.vo;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace RailLocalMeter
-{
-    public class DbUpload
-    {
-        Log lg = Log.GetInstance();
-        private bool blThreadFlag = true;
-        Thread DataCollectThread = null;//采集进程
-        MeterWorkCarActualFirstService workCarActualFirstService = new MeterWorkCarActualFirstService();
-        ImageOption imgControl = new ImageOption();
-
-        public DbUpload()
-        {
-            DataCollectThread = new Thread(new ThreadStart(DataCollect));
-        }
-
-        public void start()
-        {
-            DataCollectThread.Start();
-        }
-
-        public void stop()
-        {
-            blThreadFlag = false;
-        }
-
-        private void DataCollect()
-        {
-            if (!blThreadFlag) return;
-
-            Dictionary<string, string> dic = new Dictionary<string, string>();
-            while (blThreadFlag)
-            {
-                try
-                {
-                    //重量小于500且网络正常时触发
-                    if (CacleCls.weight < 500 && CacleCls.serverFlag)
-                    {
-                        dic.Clear();
-                        //若本地存在计量数据未进行上传的,则进行数据上传并得到返回的结果
-                        //得到结果后构造成Dictionary然后进行图片操作,修改图片名称及位置
-                        bool bReadFlag = false;
-                        string strRtMsgInfo = "";
-                        List<MeterWorkCarActualFirst> lm = FileOption.ReadDb<MeterWorkCarActualFirst>(ref bReadFlag, ref strRtMsgInfo);
-                        if (bReadFlag)
-                        {
-                            //进行数据上传操作
-                            RESTfulResult<List<DjPbModel>> rmRst = workCarActualFirstService.doDbUpload(lm);
-                            if (rmRst.Succeed)
-                            {
-                                if (rmRst.Data.Count == lm.Count)
-                                {
-                                    //直接重写文件
-                                    FileOption.clearFile();
-                                    //然后对图片进行压缩及修改名称处理
-                                    foreach (DjPbModel dm in rmRst.Data)
-                                    {
-                                        dic.Add(dm.key, dm.value);
-                                    }
-                                }
-                                else
-                                {
-                                    //清理下文件
-                                    FileOption.clearFile();
-                                    //重写下未成功的数据
-                                    foreach (MeterWorkCarActualFirst first in lm)
-                                    {
-                                        DjPbModel pm = rmRst.Data.Where(s => s.key == first.actualFirstNo).FirstOrDefault();
-                                        if (pm == null || string.IsNullOrEmpty(pm.key) || string.IsNullOrEmpty(pm.value))
-                                        {
-                                            //Thread.Sleep(100);
-                                            bool flag = FileOption.WriterDb(new ActualFirstModel { actualFirstNo = first.actualFirstNo, baseSpotNo = first.baseSpotNo, baseSpotName = first.baseSpotName, carNo = first.carNo, createTime = first.createTime, meterWeight = first.meterWeight }, out string msgInfo);
-                                            if (!flag)
-                                            {
-                                                lg.WriteLog(LogType.serverLog, $"重写失败:{msgInfo},数据:actualFirstNo{first.actualFirstNo},baseSpotNo:{first.baseSpotNo},baseSpotName:{first.baseSpotName},carNo:{first.carNo},createTime:{first.createTime},meterWeight:{first.meterWeight}");
-                                            }
-                                        }
-                                        else
-                                        {
-                                            dic.Add(pm.key, pm.value);
-                                        }
-                                    }
-                                }
-
-                                if (dic.Count > 0) imgControl.ZipFiles(dic);
-                            }
-                            else
-                            {
-                                //计量失败,播报失败,然后写led屏幕及日志
-                                lg.WriteLog(LogType.serverLog, rmRst.ResultMessage);
-                                CacleCls.isLock = false;
-                                return;
-                            }
-                        }
-                    }
-                }
-                catch (Exception ex)
-                {
-                    lg.WriteLog(LogType.SystemLog, "数据上传异常:" + ex.Message);
-                }
-                Thread.Sleep(AppConfigCache.sleepUploadTime);
-            }
-        }
-    }
-}
-

+ 1 - 75
RailLocalMeter/OptionCls/PingNetwork.cs

@@ -16,8 +16,7 @@ namespace RailLocalMeter
         private bool blThreadFlag = true;
         Thread DataCollectThread = null;//采集进程
         string dbFile = Path.Combine(AppConfigCache.path, "data/rfidDb.data");
-        MeterBaseRfidInfoService rfidServer = new MeterBaseRfidInfoService();
-
+        
         public PingNetwork() 
         {
             DataCollectThread = new Thread(new ThreadStart(DataCollect));
@@ -54,79 +53,6 @@ namespace RailLocalMeter
                 }
                 finally
                 {
-                    if (CacleCls.serverFlag)
-                    {
-                        if (CacleCls.weight < 500 && DateTime.Now > CacleCls.updateRfidInfoTime)
-                        {
-                            CacleCls.updateRfidInfoTime.Value.AddHours(1); //每隔一小时更新一次rfid数据
-
-                            Dictionary<string, string> rfidInfo = new Dictionary<string, string>();
-                            RESTfulResult<List<MeterBaseRfidInfo>> rfids = rfidServer.doQueryRfid(new MeterBaseRfidInfo { valueFlag = "0" });
-                            if (rfids.Succeed)
-                            {
-                                if (rfids.Data != null && rfids.Data.Count > 0)
-                                {
-                                    StringBuilder sb = new StringBuilder();
-                                    foreach (MeterBaseRfidInfo rfid in rfids.Data)
-                                    {
-                                        try
-                                        {
-                                            sb.AppendLine($"{rfid.rfidCode},{rfid.carNo}");
-                                            rfidInfo.Add(rfid.rfidCode, rfid.carNo);
-                                        }
-                                        catch { }
-                                    }
-                                    try
-                                    {
-                                        //如果目标文件存在则覆盖,不存在则创建
-                                        File.WriteAllText(dbFile, sb.ToString());
-                                    }
-                                    catch (Exception ex)
-                                    {
-                                        lg.WriteLog(LogType.SystemLog, "写入rfid数据到本地失败:" + ex.Message);
-                                    }
-                                    CacleCls.rifdInfo = rfidInfo;
-                                }
-                            }
-                            else
-                            {
-                                lg.WriteLog(LogType.serverLog, $"获取RFID信息失败:{rfids.Message}");
-                            }
-                        }
-                    }
-                    else
-                    {
-                        if (CacleCls.rifdInfo == null || CacleCls.rifdInfo.Count == 0)
-                        {
-                            //读取本地rfid数据文件
-                            try
-                            {
-                                if (File.Exists(dbFile))
-                                {
-                                    Dictionary<string, string> rfidInfo = new Dictionary<string, string>();
-                                    string[] strs = File.ReadAllLines(dbFile);
-                                    foreach (string str in strs)
-                                    {
-                                        try
-                                        {
-                                            string[] strInfo = str.Split(',');
-                                            if (strInfo.Length == 2)
-                                            {
-                                                rfidInfo.Add(strInfo[0], strInfo[1]);
-                                            }
-                                        }
-                                        catch { }
-                                    }
-                                    CacleCls.rifdInfo = rfidInfo;
-                                }
-                            }
-                            catch (Exception ex)
-                            {
-                                lg.WriteLog(LogType.WriteDbLog, "写入信息失败:" + ex.Message);
-                            }
-                        }
-                    }
-
                     Thread.Sleep(1000); //1秒ping一次网络
                 }
             }

+ 2 - 8
RailLocalMeter/OptionCls/PlcCls.cs

@@ -166,11 +166,8 @@ namespace RailLocalMeter
                                         CacleCls.plcState = 0;
                                 };
                                 break;
-                            case "leftGs": //左光栅
-                                CacleCls.leftGs = db;
-                                break;
-                            case "rightGs": //右光栅
-                                CacleCls.rightGs = db;
+                            case "btnState": //左光栅
+                                CacleCls.btnState = db;
                                 break;
                             case "topHw": //前红外
                                 CacleCls.topJg = db;
@@ -178,9 +175,6 @@ namespace RailLocalMeter
                             case "bottomHw": //后红外
                                 CacleCls.bottomJg = db;
                                 break;
-                            case "rgLight": //红绿灯
-                                CacleCls.rgLight = db;
-                                break;
                         }
                     }
 

+ 23 - 0
RailLocalMeter/PbCls/AppConfigCache.cs

@@ -41,6 +41,17 @@ namespace RailLocalMeter
         /// </summary>
         public static int differenceWgt = Convert.ToInt32(ConfigurationManager.AppSettings["differenceWgt"].ToString());
 
+        /// <summary>
+        /// 输入的皮重跟历史皮重超差值
+        /// </summary>
+        public static int difTareHisWgt = Convert.ToInt32(ConfigurationManager.AppSettings["difTareHisWgt"].ToString());
+
+        /// <summary>
+        /// 毛皮分界线,小于该值为皮重,大于为毛(kg)
+        /// </summary>
+        public static int tareGrossBoundary = Convert.ToInt32(ConfigurationManager.AppSettings["tareGrossBoundary"].ToString());
+        
+
         /// <summary>
         /// 两次过磅最低间隔时间 分钟
         /// </summary>
@@ -62,6 +73,18 @@ namespace RailLocalMeter
         /// </summary>
         public static string pointName = ConfigurationManager.AppSettings["pointName"].ToString();
 
+        /// <summary>
+        /// 轨道衡类型
+        /// </summary>
+        public static string railwayTypeNo = ConfigurationManager.AppSettings["railwayTypeNo"].ToString();
+
+        /// <summary>
+        /// 轨道衡类型
+        /// </summary>
+        public static string railwayTypeName = ConfigurationManager.AppSettings["railwayTypeName"].ToString();
+        
+
+
         /// <summary>
         /// 秤体量程
         /// </summary>

+ 10 - 32
RailLocalMeter/PbCls/CacleCls.cs

@@ -30,16 +30,10 @@ namespace RailLocalMeter
         /// </summary>
         public static int isWd { get; set; }
 
-
         /// <summary>
-        /// 视频车号 枪机
+        /// 是否点击了按钮 0无信号 1有信号
         /// </summary>
-        public static string voicCarNo { get; set; }
-
-        /// <summary>
-        /// 视频车号 球机
-        /// </summary>
-        public static string voicCarNo2 { get; set; }
+        public static string btnState { get; set; }
 
         /// <summary>
         /// rfid车号
@@ -51,22 +45,11 @@ namespace RailLocalMeter
         /// </summary>
         public static string rfidEpc { get; set; }
 
-
-
         /// <summary>
         /// plc 连接状态 0正常 1异常
         /// </summary>
         public static int plcState { get; set; }
 
-        /// <summary>
-        /// 左光栅
-        /// </summary>
-        public static string leftGs { get; set; }
-
-        /// <summary>
-        /// 右光栅
-        /// </summary>
-        public static string rightGs { get; set; }
 
         /// <summary>
         /// 前激光
@@ -78,15 +61,6 @@ namespace RailLocalMeter
         /// </summary>
         public static string bottomJg { get; set; }
 
-        /// <summary>
-        /// 红绿灯
-        /// </summary>
-        public static string rgLight { get; set; }
-
-        /// <summary>
-        /// 道闸
-        /// </summary>
-        public static string dz { get; set; }
 
         /// <summary>
         /// 提示信息
@@ -119,6 +93,11 @@ namespace RailLocalMeter
         /// </summary>
         public static string lockCarNo { get; set; }
 
+        /// <summary>
+        /// 车型
+        /// </summary>
+        public static string carType { get; set; }
+
         /// <summary>
         /// 锁定重量
         /// </summary>
@@ -129,12 +108,12 @@ namespace RailLocalMeter
         /// </summary>
         public static bool isClear { get; set; }
 
-        public static MeterWorkCarActualFirst firstDb { get; set; }
+        public static MeterWorkRailwayActFirst firstDb { get; set; }
 
         /// <summary>
         /// 委托数据
         /// </summary>
-        public static PreTrackScale preTrackScale { get; set; }
+        public static PreRailwayScale preTrackScale { get; set; }
 
         /// <summary>
         /// 语音播报完毕状态
@@ -179,9 +158,8 @@ namespace RailLocalMeter
         {
             isLock = false;
             lockCarNo = "";
+            carType = "";
             lockWgt = 0;
-            voicCarNo = "";
-            voicCarNo2 = "";
             rfidCarNo = "";
             rfidEpc = "";
             firstDb = null;

+ 2 - 2
RailLocalMeter/PbCls/EntityBase.cs

@@ -7,9 +7,9 @@ using System.Threading.Tasks;
 
 namespace RailLocalMeter
 {
-    public class EntityBase<T>
+    public static class EntityBase
     {
-        public M format<M>(T t, M m, List<string> list = null)
+        public static M format<T, M>(this T t, M m, List<string> list = null)
         {
             PropertyInfo[] PropertyInfos1 = t.GetType().GetProperties();
             PropertyInfo[] PropertyInfos2 = m.GetType().GetProperties();

+ 18 - 8
RailLocalMeter/PbCls/FileOption.cs

@@ -10,29 +10,31 @@ namespace RailLocalMeter
 {
     public class FileOption
     {
-        static string dbFile = Path.Combine(AppConfigCache.path, "data/actualDb.data");
+        static string dbFile = $"{AppConfigCache.path}/data/";
         /// <summary>
         /// 计量数据写入本地文件
         /// </summary>
         /// <param name="actualDb"></param>
         /// <param name="msgInfo"></param>
         /// <returns></returns>
-        public static bool WriterDb(ActualFirstModel actualDb, out string msgInfo)
+        public static bool WriterDb<T>(T actualDb, FileTypeEnum fileType, out string msgInfo)
         {
             Log lg = Log.GetInstance();
             try
             {
+                string sPath = dbFile + (fileType == FileTypeEnum.一次数据 ? "FristDb.data" : "actualDb.data");
+
                 //判断文件是否存在
-                if (!File.Exists(dbFile))
+                if (!File.Exists(sPath))
                 {
                     //不存在则创建文件并直接写入数据
-                    File.WriteAllText(dbFile, JsonConvert.SerializeObject(actualDb));
+                    File.WriteAllText(sPath, JsonConvert.SerializeObject(actualDb, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }));
                 }
                 else
                 {
                     List<string> ls = new List<string>();
                     ls.Add(JsonConvert.SerializeObject(actualDb));
-                    File.AppendAllLines(dbFile, ls);
+                    File.AppendAllLines(sPath, ls);
                 }
                 msgInfo = "计量完成";
                 return true;
@@ -51,16 +53,18 @@ namespace RailLocalMeter
         /// <param name="readFlag"></param>
         /// <param name="msgInfo"></param>
         /// <returns></returns>
-        public static List<T> ReadDb<T>(ref bool readFlag, ref string msgInfo)
+        public static List<T> ReadDb<T>(FileTypeEnum fileType, ref bool readFlag, ref string msgInfo)
         {
             Log lg = Log.GetInstance();
             List<T> list = new List<T>();
 
             try
             {
+                string sPath = dbFile + (fileType == FileTypeEnum.一次数据 ? "FristDb.data" : "actualDb.data");
+
                 if (File.Exists(dbFile))
                 {
-                    string[] strs = File.ReadAllLines(dbFile);
+                    string[] strs = File.ReadAllLines(sPath);
                     foreach (string str in strs) 
                     {
                         T first = JsonConvert.DeserializeObject<T>(str);
@@ -71,7 +75,7 @@ namespace RailLocalMeter
             }
             catch (Exception ex)
             {
-                lg.WriteLog(LogType.WriteDbLog, "写入信息失败:" + ex.Message);
+                lg.WriteLog(LogType.WriteDbLog, "读取失败:" + ex.Message);
                 msgInfo = "读取失败:" + ex.Message;
                 readFlag = false;
             }
@@ -98,4 +102,10 @@ namespace RailLocalMeter
             }
         }
     }
+
+    public enum FileTypeEnum 
+    { 
+        一次数据,
+        结净数据,
+    }
 }

+ 21 - 13
RailLocalMeter/RailLocalMeter.csproj

@@ -18,7 +18,7 @@
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
+    <OutputPath>..\CarLocalMeter\bin\Debug\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
@@ -116,11 +116,10 @@
   <ItemGroup>
     <Compile Include="DbOption\DbHelper.cs" />
     <Compile Include="DbOption\ExtendCls.cs" />
-    <Compile Include="DbOption\MeterBaseRfidInfoService.cs" />
-    <Compile Include="DbOption\MeterWorkCarActualFirstService.cs" />
-    <Compile Include="DbOption\MeterWorkCarActualService.cs" />
     <Compile Include="DbOption\MeterWorkImageService.cs" />
-    <Compile Include="DbOption\PreTrackScaleService.cs" />
+    <Compile Include="DbOption\MeterWorkRailwayActFirstService.cs" />
+    <Compile Include="DbOption\MeterWorkRailwayActualService.cs" />
+    <Compile Include="DbOption\PreRailwayScaleService.cs" />
     <Compile Include="DbOption\ReflexCls.cs" />
     <Compile Include="frmMain.cs">
       <SubType>Form</SubType>
@@ -128,17 +127,13 @@
     <Compile Include="frmMain.Designer.cs">
       <DependentUpon>frmMain.cs</DependentUpon>
     </Compile>
-    <Compile Include="ModelCls\ActualFirstModel.cs" />
     <Compile Include="ModelCls\DjPbModel.cs" />
-    <Compile Include="ModelCls\MeterBaseRfidInfo.cs" />
     <Compile Include="ModelCls\MeterMonitorNote.cs" />
-    <Compile Include="ModelCls\MeterWorkCarActual.cs" />
-    <Compile Include="ModelCls\MeterWorkCarActualFirst.cs" />
     <Compile Include="ModelCls\MeterWorkImage.cs" />
-    <Compile Include="ModelCls\MeterWorkPreLink.cs" />
-    <Compile Include="ModelCls\PreTrackScale.cs" />
-    <Compile Include="OptionCls\CarNoCls.cs" />
-    <Compile Include="OptionCls\DbUpload.cs" />
+    <Compile Include="ModelCls\MeterWorkRailwayActFirst.cs" />
+    <Compile Include="ModelCls\MeterWorkRailwayActual.cs" />
+    <Compile Include="ModelCls\PreRailwayScale.cs" />
+    <Compile Include="ModelCls\ResponseData.cs" />
     <Compile Include="OptionCls\Led\LedDll.cs" />
     <Compile Include="OptionCls\Led\LED_Control.cs" />
     <Compile Include="OptionCls\MoxaCls.cs" />
@@ -168,6 +163,16 @@
     <Compile Include="PbCls\PbSomeModel.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Ucontrol\ucWeightT.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Ucontrol\ucWeightT.designer.cs">
+      <DependentUpon>ucWeightT.cs</DependentUpon>
+    </Compile>
+    <EmbeddedResource Include="frmMain.resx">
+      <DependentUpon>frmMain.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\licenses.licx" />
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@@ -177,6 +182,9 @@
       <AutoGen>True</AutoGen>
       <DependentUpon>Resources.resx</DependentUpon>
     </Compile>
+    <EmbeddedResource Include="Ucontrol\ucWeightT.resx">
+      <DependentUpon>ucWeightT.cs</DependentUpon>
+    </EmbeddedResource>
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>

+ 138 - 0
RailLocalMeter/Ucontrol/ucWeightT.cs

@@ -0,0 +1,138 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Infragistics.Win.UltraWinEditors;
+
+namespace RailLocalMeter
+{
+    public partial class ucWeightT : UserControl
+    {
+        public ucWeightT()
+        {
+            InitializeComponent();
+        }
+
+        #region 线程中赋值的控件需使用委托
+        private delegate void UpdateUIEventHander(object sender, UpdateUIArgs args); //自定义事件用来从线程中更新控件的值
+
+        public class UpdateUIArgs : EventArgs
+        {
+            public string textValue { get; private set; }
+            public UpdateUIArgs(string textValue)
+            {
+                this.textValue = textValue;
+            }
+        }
+
+        private void UpdateUI_Method(object sender, UpdateUIArgs args)
+        {
+            if(sender is UltraTextEditor) 
+            {
+                if (args.textValue == "" || args.textValue == null)
+                {
+                    ((UltraTextEditor)sender).Text = "0";
+                }
+                else
+                {
+                    ((UltraTextEditor)sender).Text = args.textValue;
+                }
+            }
+            else if (sender is Button)
+            {
+                if (args.textValue == "red")
+                {
+                    ((Button)sender).BackColor = Color.Red;
+                    ((Button)sender).ForeColor = Color.White;
+                }
+                else if (args.textValue == "green")
+                {
+                    ((Button)sender).BackColor = Color.White;
+                    ((Button)sender).ForeColor = Color.Black;
+                }
+                else
+                {
+                    ((Label)sender).Text = args.textValue;
+                }
+            }
+            else if (sender is PictureBox)
+            {
+                if (args.textValue == "red")
+                {
+                    ((PictureBox)sender).Load(AppConfigCache.path + "\\image\\icon\\red.gif");
+                }
+                else
+                {
+                    ((PictureBox)sender).Load(AppConfigCache.path + "\\image\\icon\\green.gif");
+                }
+            }
+        }
+
+        /// <summary>
+        /// 记录当前的颜色,在线程中窑调用下面的setControl方法前
+        /// 可先判断当前的颜色与显示颜色是否一致
+        /// 若一致则可不调用setControl,不一致再调用
+        /// </summary>
+        public bool isGreenWgt = true;
+        public bool isGrennExceed = true;
+
+        /// <summary>
+        /// 重量稳定
+        /// </summary>
+        /// <param name="bGreen"></param>
+        public void setStable(bool bGreen) 
+        {
+            if (!CacleCls.isLock)
+            {
+                if (picStable.IsHandleCreated)
+                {
+                    isGreenWgt = bGreen;
+                    string sValue = isGreenWgt ? "green" : "red";
+                    picStable.Invoke(new UpdateUIEventHander(UpdateUI_Method), picStable, new UpdateUIArgs(sValue));
+                    btnStable.Invoke(new UpdateUIEventHander(UpdateUI_Method), btnStable, new UpdateUIArgs(sValue));
+                }
+            }
+        }
+
+        /// <summary>
+        /// 超量程
+        /// </summary>
+        /// <param name="bGreen">true为绿色,false红色警告</param>
+        public void setExceed(bool bGreen)
+        {
+            if (!CacleCls.isLock)
+            {
+                if (picExceed.IsHandleCreated)
+                {
+                    isGrennExceed = bGreen;
+                    string sValue = isGrennExceed ? "green" : "red";
+                    picExceed.Invoke(new UpdateUIEventHander(UpdateUI_Method), picExceed, new UpdateUIArgs(sValue));
+                    btnExceedRange.Invoke(new UpdateUIEventHander(UpdateUI_Method), btnExceedRange, new UpdateUIArgs(sValue));
+                }
+            }
+        }
+
+        /// <summary>
+        /// 实时写入重量
+        /// PbCache.isLockWgt 重量未锁定则可写入,否则调用了也不会写入
+        /// </summary>
+        /// <param name="db">重量信息</param>
+        public void setWgt(double db) 
+        {
+            if (!CacleCls.isLock) 
+            {
+                if (txtWeight.IsHandleCreated)
+                {
+                    txtWeight.Invoke(new UpdateUIEventHander(UpdateUI_Method), txtWeight, new UpdateUIArgs(db + ""));
+                }
+            }
+        }
+        #endregion
+
+    }
+}

+ 201 - 0
RailLocalMeter/Ucontrol/ucWeightT.designer.cs

@@ -0,0 +1,201 @@
+namespace RailLocalMeter
+{
+    partial class ucWeightT
+    {
+        /// <summary> 
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region 组件设计器生成的代码
+
+        /// <summary> 
+        /// 设计器支持所需的方法 - 不要修改
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ucWeightT));
+            Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
+            this.txtWeight = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
+            this.txtUnit = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.btnExceedRange = new System.Windows.Forms.Button();
+            this.picExceed = new System.Windows.Forms.PictureBox();
+            this.panel2 = new System.Windows.Forms.Panel();
+            this.btnStable = new System.Windows.Forms.Button();
+            this.picStable = new System.Windows.Forms.PictureBox();
+            ((System.ComponentModel.ISupportInitialize)(this.txtWeight)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtUnit)).BeginInit();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picExceed)).BeginInit();
+            this.panel2.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picStable)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // txtWeight
+            // 
+            appearance1.BackColor = System.Drawing.Color.Black;
+            appearance1.ForeColor = System.Drawing.Color.Lime;
+            appearance1.ForeColorDisabled = System.Drawing.Color.Lime;
+            appearance1.ImageBackground = ((System.Drawing.Image)(resources.GetObject("appearance1.ImageBackground")));
+            appearance1.TextHAlignAsString = "Right";
+            this.txtWeight.Appearance = appearance1;
+            this.txtWeight.BackColor = System.Drawing.Color.Black;
+            this.txtWeight.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.Office2007;
+            this.txtWeight.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtWeight.Enabled = false;
+            this.txtWeight.Font = new System.Drawing.Font("宋体", 35F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(200)));
+            this.txtWeight.Location = new System.Drawing.Point(0, 0);
+            this.txtWeight.Multiline = true;
+            this.txtWeight.Name = "txtWeight";
+            this.txtWeight.ReadOnly = true;
+            this.txtWeight.Size = new System.Drawing.Size(194, 68);
+            this.txtWeight.TabIndex = 588;
+            this.txtWeight.Text = "0";
+            // 
+            // txtUnit
+            // 
+            appearance2.BackColor = System.Drawing.Color.Black;
+            appearance2.ForeColor = System.Drawing.Color.Lime;
+            appearance2.ForeColorDisabled = System.Drawing.Color.Lime;
+            appearance2.ImageBackground = ((System.Drawing.Image)(resources.GetObject("appearance2.ImageBackground")));
+            appearance2.TextHAlignAsString = "Right";
+            this.txtUnit.Appearance = appearance2;
+            this.txtUnit.BackColor = System.Drawing.Color.Black;
+            this.txtUnit.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.Office2007;
+            this.txtUnit.Dock = System.Windows.Forms.DockStyle.Right;
+            this.txtUnit.Enabled = false;
+            this.txtUnit.Font = new System.Drawing.Font("宋体", 35F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(200)));
+            this.txtUnit.Location = new System.Drawing.Point(194, 0);
+            this.txtUnit.Multiline = true;
+            this.txtUnit.Name = "txtUnit";
+            this.txtUnit.ReadOnly = true;
+            this.txtUnit.Size = new System.Drawing.Size(69, 68);
+            this.txtUnit.TabIndex = 587;
+            this.txtUnit.Text = "T";
+            // 
+            // panel1
+            // 
+            this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.panel1.Controls.Add(this.btnExceedRange);
+            this.panel1.Controls.Add(this.picExceed);
+            this.panel1.Controls.Add(this.panel2);
+            this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
+            this.panel1.Location = new System.Drawing.Point(263, 0);
+            this.panel1.Margin = new System.Windows.Forms.Padding(2);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(120, 68);
+            this.panel1.TabIndex = 586;
+            // 
+            // btnExceedRange
+            // 
+            this.btnExceedRange.BackColor = System.Drawing.Color.White;
+            this.btnExceedRange.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.btnExceedRange.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnExceedRange.Font = new System.Drawing.Font("楷体", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnExceedRange.ForeColor = System.Drawing.Color.Black;
+            this.btnExceedRange.Location = new System.Drawing.Point(36, 34);
+            this.btnExceedRange.Name = "btnExceedRange";
+            this.btnExceedRange.Size = new System.Drawing.Size(82, 32);
+            this.btnExceedRange.TabIndex = 590;
+            this.btnExceedRange.Text = "超量程";
+            this.btnExceedRange.UseVisualStyleBackColor = false;
+            // 
+            // picExceed
+            // 
+            this.picExceed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.picExceed.Dock = System.Windows.Forms.DockStyle.Left;
+            this.picExceed.Image = ((System.Drawing.Image)(resources.GetObject("picExceed.Image")));
+            this.picExceed.Location = new System.Drawing.Point(0, 34);
+            this.picExceed.Margin = new System.Windows.Forms.Padding(2);
+            this.picExceed.Name = "picExceed";
+            this.picExceed.Size = new System.Drawing.Size(36, 32);
+            this.picExceed.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.picExceed.TabIndex = 589;
+            this.picExceed.TabStop = false;
+            // 
+            // panel2
+            // 
+            this.panel2.Controls.Add(this.btnStable);
+            this.panel2.Controls.Add(this.picStable);
+            this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel2.Location = new System.Drawing.Point(0, 0);
+            this.panel2.Margin = new System.Windows.Forms.Padding(2);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(118, 34);
+            this.panel2.TabIndex = 0;
+            // 
+            // btnStable
+            // 
+            this.btnStable.BackColor = System.Drawing.Color.White;
+            this.btnStable.Dock = System.Windows.Forms.DockStyle.Top;
+            this.btnStable.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnStable.Font = new System.Drawing.Font("楷体", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnStable.ForeColor = System.Drawing.Color.Black;
+            this.btnStable.Location = new System.Drawing.Point(36, 0);
+            this.btnStable.Name = "btnStable";
+            this.btnStable.Size = new System.Drawing.Size(82, 34);
+            this.btnStable.TabIndex = 589;
+            this.btnStable.Text = "重量稳定";
+            this.btnStable.UseVisualStyleBackColor = false;
+            // 
+            // picStable
+            // 
+            this.picStable.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.picStable.Dock = System.Windows.Forms.DockStyle.Left;
+            this.picStable.Image = ((System.Drawing.Image)(resources.GetObject("picStable.Image")));
+            this.picStable.Location = new System.Drawing.Point(0, 0);
+            this.picStable.Margin = new System.Windows.Forms.Padding(2);
+            this.picStable.Name = "picStable";
+            this.picStable.Size = new System.Drawing.Size(36, 34);
+            this.picStable.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.picStable.TabIndex = 588;
+            this.picStable.TabStop = false;
+            // 
+            // ucWeightT
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.txtWeight);
+            this.Controls.Add(this.txtUnit);
+            this.Controls.Add(this.panel1);
+            this.Margin = new System.Windows.Forms.Padding(2);
+            this.Name = "ucWeightT";
+            this.Size = new System.Drawing.Size(383, 68);
+            ((System.ComponentModel.ISupportInitialize)(this.txtWeight)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtUnit)).EndInit();
+            this.panel1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.picExceed)).EndInit();
+            this.panel2.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.picStable)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+        private Infragistics.Win.UltraWinEditors.UltraTextEditor txtWeight;
+        private Infragistics.Win.UltraWinEditors.UltraTextEditor txtUnit;
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Panel panel2;
+        private System.Windows.Forms.Button btnStable;
+        private System.Windows.Forms.PictureBox picStable;
+        private System.Windows.Forms.Button btnExceedRange;
+        private System.Windows.Forms.PictureBox picExceed;
+    }
+}

+ 989 - 0
RailLocalMeter/Ucontrol/ucWeightT.resx

@@ -0,0 +1,989 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="appearance1.ImageBackground" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsN
+        DhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQU
+        FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAB6AdYDASIAAhEBAxEB/8QA
+        HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
+        MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
+        V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
+        x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
+        BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
+        YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
+        hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
+        8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8rRnIx61u+Pwf+E317/r+n/8AQ2py3/hrj/iT6l1/6CUf/wAY
+        rb8bX3h+PxdrKz6VfyzC7mDumoIqs29skAwnA9sn6ms7u+xxucvaL3Xs+3l5mJp4P/CDaz/1/Wn/AKLu
+        KwF++PXNd3YX3h8+D9VI0q/EIvLUOhv49zN5c+CD5PAHzZGDnI5GOcMX/hreP+JPqXX/AKCUf/xihN66
+        BCpLmn7r38uy8xPH/wDyO+vZ/wCf6b/0NqXT8/8ACDaz/wBf1p/6LuK2/G174fTxfrK3GlX8swu5Q7x6
+        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
+</value>
+  </data>
+  <data name="appearance2.ImageBackground" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsN
+        DhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQU
+        FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAB6AdYDASIAAhEBAxEB/8QA
+        HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
+        MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
+        V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
+        x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
+        BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
+        YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
+        hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
+        8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8rRnIx61u+Pwf+E317/r+n/8AQ2py3/hrj/iT6l1/6CUf/wAY
+        rb8bX3h+PxdrKz6VfyzC7mDumoIqs29skAwnA9sn6ms7u+xxucvaL3Xs+3l5mJp4P/CDaz/1/Wn/AKLu
+        KwF++PXNd3YX3h8+D9VI0q/EIvLUOhv49zN5c+CD5PAHzZGDnI5GOcMX/hreP+JPqXX/AKCUf/xihN66
+        BCpLmn7r38uy8xPH/wDyO+vZ/wCf6b/0NqXT8/8ACDaz/wBf1p/6LuK2/G174fTxfrK3GlX8swu5Q7x6
+        giqzb2yQDCcD2yfqadY3vh//AIQ7VSNKvxCLy1Dob+PczbJ9pB8ngD5sjBzkcjHM391adjH2kvYw9x/Z
+        7d15nBrnIx61u+Pwf+E317/r+n/9DanLf+GuP+JPqXX/AKCUf/xitvxtfeH4/F2srPpV/LMLuYO6agiq
+        zb2yQDCcD2yfqaq7vsbOcvaL3Xs+3l5mJp4P/CDaz/1/Wn/ou4rAX749c13dhfeHz4P1UjSr8Qi8tQ6G
+        /j3M3lz4IPk8AfNkYOcjkY5wxf8AhreP+JPqXX/oJR//ABihN66BCpLmn7r38uy8xPH/APyO+vZ/5/pv
+        /Q2pdPz/AMINrP8A1/Wn/ou4rb8bXvh9PF+srcaVfyzC7lDvHqCKrNvbJAMJwPbJ+pp1je+H/wDhDtVI
+        0q/EIvLUOhv49zNsn2kHyeAPmyMHORyMczf3Vp2MfaS9jD3H9nt3XmcGucjHrW74/B/4TfXv+v6f/wBD
+        anLf+GuP+JPqXX/oJR//ABitvxtfeH4/F2srPpV/LMLuYO6agiqzb2yQDCcD2yfqaq7vsbOcvaL3Xs+3
+        l5mJp4P/AAg2s/8AX9af+i7isBfvj1zXd2F94fPg/VSNKvxCLy1Dob+PczeXPgg+TwB82Rg5yORjnDF/
+        4a3j/iT6l1/6CUf/AMYoTeugQqS5p+69/LsvMTx//wAjvr2f+f6b/wBDal0/P/CDaz/1/Wn/AKLuK2/G
+        174fTxfrK3GlX8swu5Q7x6giqzb2yQDCcD2yfqadY3vh/wD4Q7VSNKvxCLy1Dob+PczbJ9pB8ngD5sjB
+        zkcjHM391adjH2kvYw9x/Z7d15nBrnIx61u+Pwf+E317/r+n/wDQ2py3/hrj/iT6l1/6CUf/AMYrb8bX
+        3h+PxdrKz6VfyzC7mDumoIqs29skAwnA9sn6mqu77GznL2i917Pt5eZiaeD/AMINrP8A1/Wn/ou4rAX7
+        49c13dhfeHz4P1UjSr8Qi8tQ6G/j3M3lz4IPk8AfNkYOcjkY5wxf+Gt4/wCJPqXX/oJR/wDxihN66BCp
+        Lmn7r38uy8xPH/8AyO+vZ/5/pv8A0NqXT8/8INrP/X9af+i7itvxte+H08X6ytxpV/LMLuUO8eoIqs29
+        skAwnA9sn6mnWN74f/4Q7VSNKvxCLy1Dob+PczbJ9pB8ngD5sjBzkcjHM391adjH2kvYw9x/Z7d15nBr
+        nIx61u+Pwf8AhN9e/wCv6f8A9DanLf8Ahrj/AIk+pdf+glH/APGK2/G194fj8Xays+lX8swu5g7pqCKr
+        NvbJAMJwPbJ+pqru+xs5y9ovdez7eXmYmng/8INrP/X9af8Aou4rAX749c13dhfeHz4P1UjSr8Qi8tQ6
+        G/j3M3lz4IPk8AfNkYOcjkY5wxf+Gt4/4k+pdf8AoJR//GKE3roEKkuafuvfy7LzE8f/API769n/AJ/p
+        v/Q2pdPz/wAINrP/AF/Wn/ou4rb8bXvh9PF+srcaVfyzC7lDvHqCKrNvbJAMJwPbJ+pp1je+H/8AhDtV
+        I0q/EIvLUOhv49zNsn2kHyeAPmyMHORyMczf3Vp2MfaS9jD3H9nt3XmcGucjHrW74/B/4TfXv+v6f/0N
+        qct/4a4/4k+pdf8AoJR//GK2/G194fj8Xays+lX8swu5g7pqCKrNvbJAMJwPbJ+pqru+xs5y9ovdez7e
+        XmYmng/8INrP/X9af+i7isBfvj1zXd2F94fPg/VSNKvxCLy1Dob+PczeXPgg+TwB82Rg5yORjnDF/wCG
+        t4/4k+pdf+glH/8AGKE3roEKkuafuvfy7LzE8f8A/I769n/n+m/9Dal0/P8Awg2s/wDX9af+i7itvxte
+        +H08X6ytxpV/LMLuUO8eoIqs29skAwnA9sn6mnWN74f/AOEO1UjSr8Qi8tQ6G/j3M2yfaQfJ4A+bIwc5
+        HIxzN/dWnYx9pL2MPcf2e3deZwa5yMetbvj8H/hN9e/6/p//AENqct/4a4/4k+pdf+glH/8AGK2/G194
+        fj8Xays+lX8swu5g7pqCKrNvbJAMJwPbJ+pqru+xs5y9ovdez7eXmYmng/8ACDaz/wBf1p/6LuKwF++P
+        XNd3YX3h8+D9VI0q/EIvLUOhv49zN5c+CD5PAHzZGDnI5GOcMX/hreP+JPqXX/oJR/8AxihN66BCpLmn
+        7r38uy8xPH//ACO+vZ/5/pv/AENqXT8/8INrP/X9af8Aou4rb8bXvh9PF+srcaVfyzC7lDvHqCKrNvbJ
+        AMJwPbJ+pp1je+H/APhDtVI0q/EIvLUOhv49zNsn2kHyeAPmyMHORyMczf3Vp2MfaS9jD3H9nt3XmcGu
+        cjHrW74/B/4TfXv+v6f/ANDanLf+GuP+JPqXX/oJR/8AxitvxtfeH4/F2srPpV/LMLuYO6agiqzb2yQD
+        CcD2yfqaq7vsbOcvaL3Xs+3l5mJp4P8Awg2s/wDX9af+i7isBfvj1zXd2F94fPg/VSNKvxCLy1Dob+Pc
+        zeXPgg+TwB82Rg5yORjnDF/4a3j/AIk+pdf+glH/APGKE3roEKkuafuvfy7LzE8f/wDI769n/n+m/wDQ
+        2pdPz/wg2s/9f1p/6LuK2/G174fTxfrK3GlX8swu5Q7x6giqzb2yQDCcD2yfqadY3vh//hDtVI0q/EIv
+        LUOhv49zNsn2kHyeAPmyMHORyMczf3Vp2MfaS9jD3H9nt3XmcGucjHrW74/B/wCE317/AK/p/wD0Nqct
+        /wCGuP8AiT6l1/6CUf8A8Yrb8bX3h+PxdrKz6VfyzC7mDumoIqs29skAwnA9sn6mqu77GznL2i917Pt5
+        eZiaeD/wg2s/9f1p/wCi7isBfvj1zXd2F94fPg/VSNKvxCLy1Dob+PczeXPgg+TwB82Rg5yORjnDF/4a
+        3j/iT6l1/wCglH/8YoTeugQqS5p+69/LsvMTx/8A8jvr2f8An+m/9Dal0/P/AAg2s/8AX9af+i7itvxt
+        e+H08X6ytxpV/LMLuUO8eoIqs29skAwnA9sn6mnWN74f/wCEO1UjSr8Qi8tQ6G/j3M2yfaQfJ4A+bIwc
+        5HIxzN/dWnYx9pL2MPcf2e3deZwa5yMetbvj8H/hN9e/6/p//Q2py3/hrj/iT6l1/wCglH/8Yrb8bX3h
+        +PxdrKz6VfyzC7mDumoIqs29skAwnA9sn6mqu77GznL2i917Pt5eZiaeD/wg2s/9f1p/6LuKwFHzj1zX
+        d2F94fPg/VSNKvxCLy1Dob+PczeXPgg+TwB82Rg5yORjnDF/4a3j/iT6l1/6CUf/AMYoTeugQqS5p+69
+        /LsvMT4gZ/4TbXf+v6f/ANGGitzxtfeH4/F+srPpWoSzC7mDvHqCKGbe2SB5JwPbJ+pooi3ZaBRnL2cf
+        de3l/mYi+AfEmR/xIdR6/wDPpJ/hW3418Fa9d+L9ang0a/nhku5nR47Z2VlLsQQQOQR3rhlYgjk9a3fH
+        zf8AFb69yf8Aj+n/APQ2o1uNqp7VarZ9PTzNyy8Fa8vg/VoG0a+E0l5aukZtn3MoScEgY6AsuT7j1rEH
+        gLxJvH/Eh1Lr/wA+j/4Uae3/ABQ+s8n/AI/rT/0XcVggneOT1FCvqKmqnNPVb9vJeZ3HjXwTr134v1qe
+        DRr+eGS7ldJI7Z2VlLsQQQOQR3p1l4K15fB2rQNo18J5Ly1dIzbOGZQk4JAx0BZcn3HrWF4/b/it9e5P
+        /H9N/wChmnae3/FDazyf+P60/wDRdxU68q+Rjy1fYw1X2enmvMRfAPiTI/4kOo9f+fST/Ctvxr4K1678
+        X61PBo1/PDJdzOjx2zsrKXYgggcgjvXDKxBHJ61u+Pm/4rfXuT/x/T/+htVa3NmqntFqtn09PM3LLwVr
+        y+D9WgbRr4TSXlq6Rm2fcyhJwSBjoCy5PuPWsQeAvEm8f8SHUuv/AD6P/hRp7f8AFD6zyf8Aj+tP/Rdx
+        WCCd45PUUK+oU1U5p6rft5LzO48a+Cdeu/F+tTwaNfzwyXcrpJHbOyspdiCCByCO9OsvBWvL4O1aBtGv
+        hPJeWrpGbZwzKEnBIGOgLLk+49awvH7f8Vvr3J/4/pv/AEM07T2/4obWeT/x/Wn/AKLuKnXlXyMeWr7G
+        Gq+z0815iL4B8SZH/Eh1Hr/z6Sf4Vt+NfBWvXfi/Wp4NGv54ZLuZ0eO2dlZS7EEEDkEd64ZWII5PWt3x
+        83/Fb69yf+P6f/0NqrW5s1U9otVs+np5m5ZeCteXwfq0DaNfCaS8tXSM2z7mUJOCQMdAWXJ9x61iDwF4
+        k3j/AIkOpdf+fR/8KNPb/ih9Z5P/AB/Wn/ou4rBBO8cnqKFfUKaqc09Vv28l5nceNfBOvXfi/Wp4NGv5
+        4ZLuV0kjtnZWUuxBBA5BHenWXgrXl8HatA2jXwnkvLV0jNs4ZlCTgkDHQFlyfcetYXj9v+K317k/8f03
+        /oZp2nt/xQ2s8n/j+tP/AEXcVOvKvkY8tX2MNV9np5rzEXwD4kyP+JDqPX/n0k/wrb8a+Cteu/F+tTwa
+        NfzwyXczo8ds7Kyl2IIIHII71wysQRyetbvj5v8Ait9e5P8Ax/T/APobVWtzZqp7RarZ9PTzNyy8Fa8v
+        g/VoG0a+E0l5aukZtn3MoScEgY6AsuT7j1rEHgLxJvH/ABIdS6/8+j/4Uae3/FD6zyf+P60/9F3FYIJ3
+        jk9RQr6hTVTmnqt+3kvM7jxr4J1678X61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8vg7VoG0a+E8l5
+        aukZtnDMoScEgY6AsuT7j1rC8ft/xW+vcn/j+m/9DNO09v8AihtZ5P8Ax/Wn/ou4qdeVfIx5avsYar7P
+        TzXmIvgHxJkf8SHUev8Az6Sf4Vt+NfBWvXfi/Wp4NGv54ZLuZ0eO2dlZS7EEEDkEd64ZWII5PWt3x83/
+        ABW+vcn/AI/p/wD0NqrW5s1U9otVs+np5m5ZeCteXwfq0DaNfCaS8tXSM2z7mUJOCQMdAWXJ9x61iDwF
+        4k3j/iQ6l1/59H/wo09v+KH1nk/8f1p/6LuKwQTvHJ6ihX1CmqnNPVb9vJeZ3HjXwTr134v1qeDRr+eG
+        S7ldJI7Z2VlLsQQQOQR3p1l4K15fB2rQNo18J5Ly1dIzbOGZQk4JAx0BZcn3HrWF4/b/AIrfXuT/AMf0
+        3/oZp2nt/wAUNrPJ/wCP60/9F3FTryr5GPLV9jDVfZ6ea8xF8A+JMj/iQ6j1/wCfST/Ctvxr4K1678X6
+        1PBo1/PDJdzOjx2zsrKXYgggcgjvXDKxBHJ61u+Pm/4rfXuT/wAf0/8A6G1Vrc2aqe0Wq2fT08zcsvBW
+        vL4P1aBtGvhNJeWrpGbZ9zKEnBIGOgLLk+49axB4C8Sbx/xIdS6/8+j/AOFGnt/xQ+s8n/j+tP8A0XcV
+        ggneOT1FCvqFNVOaeq37eS8zuPGvgnXrvxfrU8GjX88Ml3K6SR2zsrKXYgggcgjvTrLwVry+DtWgbRr4
+        TyXlq6Rm2cMyhJwSBjoCy5PuPWsLx+3/ABW+vcn/AI/pv/QzTtPb/ihtZ5P/AB/Wn/ou4qdeVfIx5avs
+        Yar7PTzXmIvgHxJkf8SHUev/AD6Sf4Vt+NfBWvXfi/Wp4NGv54ZLuZ0eO2dlZS7EEEDkEd64ZWII5PWt
+        3x83/Fb69yf+P6f/ANDaq1ubNVPaLVbPp6eZuWXgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg
+        8BeJN4/4kOpdf+fR/wDCjT2/4ofWeT/x/Wn/AKLuKwQTvHJ6ihX1CmqnNPVb9vJeZ3HjXwTr134v1qeD
+        Rr+eGS7ldJI7Z2VlLsQQQOQR3p1l4K15fB2rQNo18J5Ly1dIzbOGZQk4JAx0BZcn3HrWF4/b/it9e5P/
+        AB/Tf+hmnae3/FDazyf+P60/9F3FTryr5GPLV9jDVfZ6ea8xF8A+JMj/AIkOo9f+fST/AArb8a+Cteu/
+        F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wysQRyetbvj5v+K317k/8f0//AKG1Vrc2aqe0Wq2fT08zcsvB
+        WvL4P1aBtGvhNJeWrpGbZ9zKEnBIGOgLLk+49axB4C8Sbx/xIdS6/wDPo/8AhRp7f8UPrPJ/4/rT/wBF
+        3FYIJ3jk9RQr6hTVTmnqt+3kvM7jxr4J1678X61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8vg7VoG0
+        a+E8l5aukZtnDMoScEgY6AsuT7j1rC8ft/xW+vcn/j+m/wDQzTtPb/ihtZ5P/H9af+i7ip15V8jHlq+x
+        hqvs9PNeYi+AfEmR/wASHUev/PpJ/hW3418Fa9d+L9ang0a/nhku5nR47Z2VlLsQQQOQR3rhlYgjk9a3
+        fHzf8Vvr3J/4/p//AENqrW5s1U9otVs+np5m5ZeCteXwfq0DaNfCaS8tXSM2z7mUJOCQMdAWXJ9x61iD
+        wF4k3j/iQ6l1/wCfR/8ACjT2/wCKH1nk/wDH9af+i7isEE7xyeooV9QpqpzT1W/byXmdx418E69d+L9a
+        ng0a/nhku5XSSO2dlZS7EEEDkEd6dZeCteXwdq0DaNfCeS8tXSM2zhmUJOCQMdAWXJ9x61heP2/4rfXu
+        T/x/Tf8AoZp2nt/xQ2s8n/j+tP8A0XcVOvKvkY8tX2MNV9np5rzEXwD4kyP+JDqPX/n0k/wrb8a+Cteu
+        /F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wysQRyetbvj5v+K317k/8f0//obVWtzZqp7RarZ9PTzNyy8F
+        a8vg/VoG0a+E0l5aukZtn3MoScEgY6AsuT7j1rDHgLxIHH/Eh1Lr/wA+j/4Uunt/xQ+s8n/j+tP/AEXc
+        VgAneOTjPWhX1CmqnNPVb9vJeZ3XjbwVr154u1meDRb+eGS8ldJEtnYMC7EEEDkH1orD+IBx4213k/8A
+        H9P/AOjDRTjeyCiqns46rbt/wRRqHhnIH9j6lnP/AEEo/wD4xW341vvD6eL9ZWfSr+WYXcwd479FVm3t
+        kgGE4Htk/U1iL4C8Scf8SHUev/Po/wDhW3418Fa/d+L9ang0a/nhku5nR0tnZWUuxBBA5BHeo92+/wCJ
+        lL2PtV73R9X5C2N94f8A+EP1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt/4ZLA/2PqX/AIMo/wD4
+        xW1Y+CtfXwfq0DaNfCd7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP+JDqPX/n1f8AwoXLd6/iEPY80/e6
+        932RueNb3w/H4v1lZ9Kv5ZxdzB3jv0VWbe2SAYTge2T9TS2F74fPg7VSNLvxCLy2Dob+PczeXPgg+TwB
+        82Rg5yORjlvjXwVr954v1meDRr+eGS7mdJEtnZWUuxBBA5BHelsfBWvJ4P1WA6NfCeS8tXSM2z7ioScE
+        gY6AsuT7j1pe7yrUx/c+xh738v2n3XmYY1DwzkD+x9S6/wDQRj/+MVt+Nb7w+ni/WVn0q/lmF3MHeO/R
+        VZt7ZIBhOB7ZP1NYi+AvEvH/ABIdR6/8+j/4Vt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQOQR3p+7f
+        f8TaXsfar3uj6+gtjfeH/wDhD9VI0q/EIvLUOhv03M2yfaQfJ4A+bIwc5HIxziLf+GSwP9j6l/4Mo/8A
+        4xW1Y+CtfXwfq0DaNfCd7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP+JDqPX/AJ9X/wAKFy3ev4hD2PNP
+        3uvd9kbnjW98Px+L9ZWfSr+WcXcwd479FVm3tkgGE4Htk/U0the+Hz4O1UjS78Qi8tg6G/j3M3lz4IPk
+        8AfNkYOcjkY5b418Fa/eeL9Zng0a/nhku5nSRLZ2VlLsQQQOQR3pbHwVryeD9VgOjXwnkvLV0jNs+4qE
+        nBIGOgLLk+49aXu8q1Mf3PsYe9/L9p915mGNQ8M5A/sfUuv/AEEY/wD4xW341vvD6eL9ZWfSr+WYXcwd
+        479FVm3tkgGE4Htk/U1iL4C8S8f8SHUev/Po/wDhW3418Fa/d+L9ang0a/nhku5nR0tnZWUuxBBA5BHe
+        n7t9/wATaXsfar3uj6+gtjfeH/8AhD9VI0q/EIvLUOhv03M2yfaQfJ4A+bIwc5HIxziLf+GSwP8AY+pf
+        +DKP/wCMVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQMdAWXJ9x61iDwD4k3j/AIkOo9f+fV/8KFy3ev4h
+        D2PNP3uvd9kbnjW98Px+L9ZWfSr+WcXcwd479FVm3tkgGE4Htk/U0the+Hz4O1UjS78Qi8tg6G/j3M3l
+        z4IPk8AfNkYOcjkY5b418Fa/eeL9Zng0a/nhku5nSRLZ2VlLsQQQOQR3pbHwVryeD9VgOjXwnkvLV0jN
+        s+4qEnBIGOgLLk+49aXu8q1Mf3PsYe9/L9p915mGNQ8M5A/sfUuv/QRj/wDjFbfjW+8Pp4v1lZ9Kv5Zh
+        dzB3jv0VWbe2SAYTge2T9TWIvgLxLx/xIdR6/wDPo/8AhW3418Fa/d+L9ang0a/nhku5nR0tnZWUuxBB
+        A5BHen7t9/xNpex9qve6Pr6C2N94f/4Q/VSNKvxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3/AIZLA/2P
+        qX/gyj/+MVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQMdAWXJ9x61iDwD4k3j/iQ6j1/59X/woXLd6/iE
+        PY80/e6932RueNb3w/H4v1lZ9Kv5ZxdzB3jv0VWbe2SAYTge2T9TS2F74fPg7VSNLvxCLy2Dob+PczeX
+        Pgg+TwB82Rg5yORjlvjXwVr954v1meDRr+eGS7mdJEtnZWUuxBBA5BHelsfBWvJ4P1WA6NfCeS8tXSM2
+        z7ioScEgY6AsuT7j1pe7yrUx/c+xh738v2n3XmYY1DwzkD+x9S6/9BGP/wCMVt+Nb7w+ni/WVn0q/lmF
+        3MHeO/RVZt7ZIBhOB7ZP1NYi+AvEvH/Eh1Hr/wA+j/4Vt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQO
+        QR3p+7ff8TaXsfar3uj6+gtjfeH/APhD9VI0q/EIvLUOhv03M2yfaQfJ4A+bIwc5HIxziLf+GSwP9j6l
+        /wCDKP8A+MVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQMdAWXJ9x61iDwD4k3j/iQ6j1/59X/AMKFy3ev
+        4hD2PNP3uvd9kbnjW98Px+L9ZWfSr+WcXcwd479FVm3tkgGE4Htk/U0the+Hz4O1UjS78Qi8tg6G/j3M
+        3lz4IPk8AfNkYOcjkY5b418Fa/eeL9Zng0a/nhku5nSRLZ2VlLsQQQOQR3pbHwVryeD9VgOjXwnkvLV0
+        jNs+4qEnBIGOgLLk+49aXu8q1Mf3PsYe9/L9p915mGNQ8M5A/sfUuv8A0EY//jFbfjW+8Pp4v1lZ9Kv5
+        ZhdzB3jv0VWbe2SAYTge2T9TWIvgLxLx/wASHUev/Po/+FbfjXwVr934v1qeDRr+eGS7mdHS2dlZS7EE
+        EDkEd6fu33/E2l7H2q97o+voLY33h/8A4Q/VSNKvxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3/hksD/Y
+        +pf+DKP/AOMVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQMdAWXJ9x61iDwD4k3j/iQ6j1/wCfV/8AChct
+        3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3MHeO/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvLYOhv4
+        9zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NGv54ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo18J5Ly
+        1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy/afdeZhjUPDOQP7H1Lr/wBBGP8A+MVt+Nb7w+ni/WVn
+        0q/lmF3MHeO/RVZt7ZIBhOB7ZP1NYi+AvEvH/Eh1Hr/z6P8A4Vt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2Vl
+        LsQQQOQR3p+7ff8AE2l7H2q97o+voLY33h//AIQ/VSNKvxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3/h
+        ksD/AGPqX/gyj/8AjFbVj4K19fB+rQNo18J3vLV0jNs4ZlCTgkDHQFlyfcetYg8A+JN4/wCJDqPX/n1f
+        /Chct3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3MHeO/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvL
+        YOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NGv54ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo1
+        8J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy/afdeZhjUPDOQP7H1Lr/0EY/8A4xW341vvD6eL
+        9ZWfSr+WYXcwd479FVm3tkgGE4Htk/U1iL4C8S8f8SHUev8Az6P/AIVt+NfBWv3fi/Wp4NGv54ZLuZ0d
+        LZ2VlLsQQQOQR3p+7ff8TaXsfar3uj6+gtjfeH/+EP1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt
+        /wCGSwP9j6l/4Mo//jFbVj4K19fB+rQNo18J3vLV0jNs4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f+fV/
+        8KFy3ev4hD2PNP3uvd9kbnjW98Px+L9ZWfSr+WcXcwd479FVm3tkgGE4Htk/U0the+Hz4O1UjS78Qi8t
+        g6G/j3M3lz4IPk8AfNkYOcjkY5b418Fa/eeL9Zng0a/nhku5nSRLZ2VlLsQQQOQR3pbHwVryeD9VgOjX
+        wnkvLV0jNs+4qEnBIGOgLLk+49aXu8q1Mf3PsYe9/L9p915mGNQ8M5A/sfUuv/QRj/8AjFbfjW+8Pp4v
+        1lZ9Kv5ZhdzB3jv0VWbe2SAYTge2T9TWIvgLxLx/xIdR6/8APo/+FbfjXwVr934v1qeDRr+eGS7mdHS2
+        dlZS7EEEDkEd6fu33/E2l7H2q97o+voLY33h/wD4Q/VSNKvxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3
+        /hksD/Y+pf8Agyj/APjFbVj4K19fB+rQNo18J3vLV0jNs4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f+fV
+        /wDChct3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3MHeO/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EI
+        vLYOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NGv54ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYD
+        o18J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy/afdeZhjUPDOQP7H1Lr/ANBGP/4xW341vvD6
+        eL9ZWfSr+WYXcwd479FVm3tkgGE4Htk/U1iL4C8S8f8AEh1Hr/z6P/hW3418Fa/d+L9ang0a/nhku5nR
+        0tnZWUuxBBA5BHen7t9/xNpex9qve6Pr6C2N94f/AOEP1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHO
+        It/4Z3A/2PqX/gyj/wDjFbVj4K19fB+rQNo18J3vLV0jNs4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f8A
+        n1f/AAoXLd6/iEPY80/e6932RueNb7w/H4v1lZ9K1CWYXcwd479FDNvbJA8k4Htk/U0UnjXwXr154u1m
+        eDRr6aGS8mdJEtnYMpdiCCByCO9FEeWy1/EVF0fZx97p3f8AmcMGbIwTjPrW74+Lf8Jvr3J/4/p//Q2p
+        Vv8Aw1x/xJ9S6/8AQSj/APjFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9djaU37Ve49n2
+        8vMxNPLf8INrPP8Ay/Wn/oFxWCrNvHJzn1rurC+8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxz
+        hi/8Nbx/xJ9S6/8AQSj/APjFCb10CnOXNP3Xv5dl5h4/JHjfXuT/AMf03f8A22pdPLf8IPrPJ/4/rT/0
+        XcVteNr3w+ni/WVuNKv5Zhdyh3j1BFVm3tkgGE4Htk/U06xvfD//AAh2qkaVfiEXlqHQ38e5m2T7SD5P
+        AHzZGDnI5GOZv7q07GPPL2MPcf2e3deZwgZsjk4z61u+Pi3/AAm+vcn/AI/p/wD0NqVb/wANcf8AEn1L
+        r/0Eo/8A4xW342vvD8fi7WVn0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2c37Re49n28vMxNPLf8ACDaz
+        z/y/Wn/oFxWCrNvHJzn1rurC+8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxzhi/wDDW8f8SfUu
+        v/QSj/8AjFCb10CnOXNP3Xv5dl5h4/JHjfXuT/x/Td/9tqXTy3/CD6zyf+P60/8ARdxW142vfD6eL9ZW
+        40q/lmF3KHePUEVWbe2SAYTge2T9TTrG98P/APCHaqRpV+IReWodDfx7mbZPtIPk8AfNkYOcjkY5m/ur
+        TsY88vYw9x/Z7d15nCBmyOTjPrW74+Lf8Jvr3J/4/p//AENqVb/w1x/xJ9S6/wDQSj/+MVt+Nr7w/H4u
+        1lZ9Kv5ZhdzB3TUEVWbe2SAYTge2T9TVX12NnN+0XuPZ9vLzMTTy3/CDazz/AMv1p/6BcVgqzbxyc59a
+        7qwvvD58H6qRpV+IReWodDfx7mby58EHyeAPmyMHORyMc4Yv/DW8f8SfUuv/AEEo/wD4xQm9dApzlzT9
+        17+XZeYePyR4317k/wDH9N3/ANtqXTy3/CD6zyf+P60/9F3FbXja98Pp4v1lbjSr+WYXcod49QRVZt7Z
+        IBhOB7ZP1NOsb3w//wAIdqpGlX4hF5ah0N/HuZtk+0g+TwB82Rg5yORjmb+6tOxjzy9jD3H9nt3XmcIG
+        bI5OM+tbvj4t/wAJvr3J/wCP6f8A9DalW/8ADXH/ABJ9S6/9BKP/AOMVt+Nr7w/H4u1lZ9Kv5ZhdzB3T
+        UEVWbe2SAYTge2T9TVX12NnN+0XuPZ9vLzMTTy3/AAg2s8/8v1p/6BcVgqzbxyc59a7qwvvD58H6qRpV
+        +IReWodDfx7mby58EHyeAPmyMHORyMc4Yv8Aw1vH/En1Lr/0Eo//AIxQm9dApzlzT917+XZeYePyR431
+        7k/8f03f/bal08t/wg+s8n/j+tP/AEXcVteNr3w+ni/WVuNKv5Zhdyh3j1BFVm3tkgGE4Htk/U06xvfD
+        /wDwh2qkaVfiEXlqHQ38e5m2T7SD5PAHzZGDnI5GOZv7q07GPPL2MPcf2e3deZwgZsjk4z61u+Pi3/Cb
+        69yf+P6f/wBDalW/8Ncf8SfUuv8A0Eo//jFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9d
+        jZzftF7j2fby8zE08t/wg2s8/wDL9af+gXFYKs28cnOfWu6sL7w+fB+qkaVfiEXlqHQ38e5m8ufBB8ng
+        D5sjBzkcjHOGL/w1vH/En1Lr/wBBKP8A+MUJvXQKc5c0/de/l2XmHj8keN9e5P8Ax/Td/wDbal08t/wg
+        +s8n/j+tP/RdxW142vfD6eL9ZW40q/lmF3KHePUEVWbe2SAYTge2T9TTrG98P/8ACHaqRpV+IReWodDf
+        x7mbZPtIPk8AfNkYOcjkY5m/urTsY88vYw9x/Z7d15nCBmyOTjPrW74+Lf8ACb69yf8Aj+n/APQ2pVv/
+        AA1x/wASfUuv/QSj/wDjFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9djZzftF7j2fby8z
+        E08t/wAINrPP/L9af+gXFYKs28cnOfWu6sL7w+fB+qkaVfiEXlqHQ38e5m8ufBB8ngD5sjBzkcjHOGL/
+        AMNbx/xJ9S6/9BKP/wCMUJvXQKc5c0/de/l2XmHj8keN9e5P/H9N3/22pdPLf8IPrPJ/4/rT/wBF3FbX
+        ja98Pp4v1lbjSr+WYXcod49QRVZt7ZIBhOB7ZP1NOsb3w/8A8IdqpGlX4hF5ah0N/HuZtk+0g+TwB82R
+        g5yORjmb+6tOxjzy9jD3H9nt3XmcIGbI5OM+tbvj4t/wm+vcn/j+n/8AQ2pVv/DXH/En1Lr/ANBKP/4x
+        W342vvD8fi7WVn0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2c37Re49n28vMxNPLf8INrPP8Ay/Wn/oFx
+        WCrNvHJzn1rurC+8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxzhi/8Nbx/xJ9S6/8AQSj/APjF
+        Cb10CnOXNP3Xv5dl5h4/JHjfXuT/AMf03f8A22pdPLf8IPrPJ/4/rT/0XcVteNr3w+ni/WVuNKv5Zhdy
+        h3j1BFVm3tkgGE4Htk/U06xvfD//AAh2qkaVfiEXlqHQ38e5m2T7SD5PAHzZGDnI5GOZv7q07GPPL2MP
+        cf2e3deZwgZsjk4z61u+Pi3/AAm+vcn/AI/p/wD0NqVb/wANcf8AEn1Lr/0Eo/8A4xW342vvD8fi7WVn
+        0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2c37Re49n28vMxNPLf8ACDazz/y/Wn/oFxWCrNvHJzn1rurC
+        +8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxzhi/wDDW8f8SfUuv/QSj/8AjFCb10CnOXNP3Xv5
+        dl5h4/JHjfXuT/x/Td/9tqXTy3/CD6zyf+P60/8ARdxW142vfD6eL9ZW40q/lmF3KHePUEVWbe2SAYTg
+        e2T9TTrG98P/APCHaqRpV+IReWodDfx7mbZPtIPk8AfNkYOcjkY5m/urTsY88vYw9x/Z7d15nCBmyOTj
+        PrW74+Lf8Jvr3J/4/p//AENqVb/w1x/xJ9S6/wDQSj/+MVt+Nr7w/H4u1lZ9Kv5ZhdzB3TUEVWbe2SAY
+        Tge2T9TVX12NnN+0XuPZ9vLzMTTy3/CDazz/AMv1p/6BcVgqzbxyc59a7qwvvD58H6qRpV+IReWodDfx
+        7mby58EHyeAPmyMHORyMc4Yv/DW8f8SfUuv/AEEo/wD4xQm9dApzlzT917+XZeYePyR4317k/wDH9N3/
+        ANtqXTy3/CD6zyf+P60/9F3FbXja98Pp4v1lbjSr+WYXcod49QRVZt7ZIBhOB7ZP1NOsb3w//wAIdqpG
+        lX4hF5ah0N/HuZtk+0g+TwB82Rg5yORjmb+6tOxjzy9jD3H9nt3XmcIGbI5OM+tbvj4t/wAJvr3J/wCP
+        6f8A9DalW/8ADXH/ABJ9S6/9BKP/AOMVt+Nr7w/H4u1lZ9Kv5ZhdzB3TUEVWbe2SAYTge2T9TVX12NnN
+        +0XuPZ9vLzMTTy3/AAg2s8/8v1p/6BcVghm3jk5z613VhfeHz4P1UjSr8Qi8tQ6G/j3M3lz4IPk8AfNk
+        YOcjkY5wxf8AhreP+JPqXX/oJR//ABihN66BTnLmn7r38uy8w8fsw8ba7yf+P6bv/wBNGorb8bX3h+Px
+        frKz6VqEswu5g7x6gihm3tkgeScD2yfqaKIt2WgUZy9nH3Ht5f5mIvgHxJkf8SHUev8Az6Sf4Vt+NfBW
+        vXfi/Wp4NGv54ZLuZ0eO2dlZS7EEEDkEd64ZWII5PWt3x83/ABW+vcn/AI/p/wD0NqNbjaqe1Wq2fT08
+        zcsvBWvL4P1aBtGvhNJeWrpGbZ9zKEnBIGOgLLk+49axB4C8Sbx/xIdS6/8APo/+FGnt/wAUPrPJ/wCP
+        60/9F3FYIJ3jk9RQr6ipqpzT1W/byXmdx418E69d+L9ang0a/nhku5XSSO2dlZS7EEEDkEd6dZeCteXw
+        dq0DaNfCeS8tXSM2zhmUJOCQMdAWXJ9x61heP2/4rfXuT/x/Tf8AoZp2nt/xQ2s8n/j+tP8A0XcVOvKv
+        kY8tX2MNV9np5rzEXwD4kyP+JDqPX/n0k/wrb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wysQ
+        Ryetbvj5v+K317k/8f0//obVWtzZqp7RarZ9PTzNyy8Fa8vg/VoG0a+E0l5aukZtn3MoScEgY6AsuT7j
+        1rEHgLxJvH/Eh1Lr/wA+j/4Uae3/ABQ+s8n/AI/rT/0XcVggneOT1FCvqFNVOaeq37eS8zuPGvgnXrvx
+        frU8GjX88Ml3K6SR2zsrKXYgggcgjvTrLwVry+DtWgbRr4TyXlq6Rm2cMyhJwSBjoCy5PuPWsLx+3/Fb
+        69yf+P6b/wBDNO09v+KG1nk/8f1p/wCi7ip15V8jHlq+xhqvs9PNeYi+AfEmR/xIdR6/8+kn+FbfjXwV
+        r134v1qeDRr+eGS7mdHjtnZWUuxBBA5BHeuGViCOT1rd8fN/xW+vcn/j+n/9Daq1ubNVPaLVbPp6eZuW
+        XgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg8BeJN4/wCJDqXX/n0f/CjT2/4ofWeT/wAf1p/6
+        LuKwQTvHJ6ihX1CmqnNPVb9vJeZ3HjXwTr134v1qeDRr+eGS7ldJI7Z2VlLsQQQOQR3p1l4K15fB2rQN
+        o18J5Ly1dIzbOGZQk4JAx0BZcn3HrWF4/b/it9e5P/H9N/6Gadp7f8UNrPJ/4/rT/wBF3FTryr5GPLV9
+        jDVfZ6ea8xF8A+JMj/iQ6j1/59JP8K2/GvgrXrvxfrU8GjX88Ml3M6PHbOyspdiCCByCO9cMrEEcnrW7
+        4+b/AIrfXuT/AMf0/wD6G1Vrc2aqe0Wq2fT08zcsvBWvL4P1aBtGvhNJeWrpGbZ9zKEnBIGOgLLk+49a
+        xB4C8Sbx/wASHUuv/Po/+FGnt/xQ+s8n/j+tP/RdxWCCd45PUUK+oU1U5p6rft5LzO48a+Cdeu/F+tTw
+        aNfzwyXcrpJHbOyspdiCCByCO9OsvBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+49awvH7f8Vvr3J/
+        4/pv/QzTtPb/AIobWeT/AMf1p/6LuKnXlXyMeWr7GGq+z0815iL4B8SZH/Eh1Hr/AM+kn+FbfjXwVr13
+        4v1qeDRr+eGS7mdHjtnZWUuxBBA5BHeuGViCOT1rd8fN/wAVvr3J/wCP6f8A9Daq1ubNVPaLVbPp6eZu
+        WXgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg8BeJN4/4kOpdf+fR/8KNPb/ih9Z5P/H9af+i7
+        isEE7xyeooV9QpqpzT1W/byXmdx418E69d+L9ang0a/nhku5XSSO2dlZS7EEEDkEd6dZeCteXwdq0DaN
+        fCeS8tXSM2zhmUJOCQMdAWXJ9x61heP2/wCK317k/wDH9N/6Gadp7f8AFDazyf8Aj+tP/RdxU68q+Rjy
+        1fYw1X2enmvMRfAPiTI/4kOo9f8An0k/wrb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wysQRy
+        etbvj5v+K317k/8AH9P/AOhtVa3NmqntFqtn09PM3LLwVry+D9WgbRr4TSXlq6Rm2fcyhJwSBjoCy5Pu
+        PWsQeAvEm8f8SHUuv/Po/wDhRp7f8UPrPJ/4/rT/ANF3FYIJ3jk9RQr6hTVTmnqt+3kvM7jxr4J1678X
+        61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8vg7VoG0a+E8l5aukZtnDMoScEgY6AsuT7j1rC8ft/wAV
+        vr3J/wCP6b/0M07T2/4obWeT/wAf1p/6LuKnXlXyMeWr7GGq+z0815iL4B8SZH/Eh1Hr/wA+kn+FbfjX
+        wVr134v1qeDRr+eGS7mdHjtnZWUuxBBA5BHeuGViCOT1rd8fN/xW+vcn/j+n/wDQ2qtbmzVT2i1Wz6en
+        mbll4K15fB+rQNo18JpLy1dIzbPuZQk4JAx0BZcn3HrWIPAXiTeP+JDqXX/n0f8Awo09v+KH1nk/8f1p
+        /wCi7isEE7xyeooV9QpqpzT1W/byXmdx418E69d+L9ang0a/nhku5XSSO2dlZS7EEEDkEd6dZeCteXwd
+        q0DaNfCeS8tXSM2zhmUJOCQMdAWXJ9x61heP2/4rfXuT/wAf03/oZp2nt/xQ2s8n/j+tP/RdxU68q+Rj
+        y1fYw1X2enmvMRfAPiTI/wCJDqPX/n0k/wAK2/GvgrXrvxfrU8GjX88Ml3M6PHbOyspdiCCByCO9cMrE
+        EcnrW74+b/it9e5P/H9P/wChtVa3NmqntFqtn09PM3LLwVry+D9WgbRr4TSXlq6Rm2fcyhJwSBjoCy5P
+        uPWsQeAvEm8f8SHUuv8Az6P/AIUae3/FD6zyf+P60/8ARdxWCCd45PUUK+oU1U5p6rft5LzO48a+Cdeu
+        /F+tTwaNfzwyXcrpJHbOyspdiCCByCO9OsvBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+49awvH7f8
+        Vvr3J/4/pv8A0M07T2/4obWeT/x/Wn/ou4qdeVfIx5avsYar7PTzXmIvgHxJkf8AEh1Hr/z6Sf4Vt+Nf
+        BWvXfi/Wp4NGv54ZLuZ0eO2dlZS7EEEDkEd64ZWII5PWt3x83/Fb69yf+P6f/wBDaq1ubNVPaLVbPp6e
+        ZuWXgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg8BeJN4/4kOpdf8An0f/AAo09v8Aih9Z5P8A
+        x/Wn/ou4rBBO8cnqKFfUKaqc09Vv28l5nceNfBOvXfi/Wp4NGv54ZLuV0kjtnZWUuxBBA5BHenWXgrXl
+        8HatA2jXwnkvLV0jNs4ZlCTgkDHQFlyfcetYXj9v+K317k/8f03/AKGadp7f8UNrPJ/4/rT/ANF3FTry
+        r5GPLV9jDVfZ6ea8xF8A+JMj/iQ6j1/59JP8K2/GvgrXrvxfrU8GjX88Ml3M6PHbOyspdiCCByCO9cMr
+        EEcnrW74+b/it9e5P/H9P/6G1Vrc2aqe0Wq2fT08zcsvBWvL4P1aBtGvhNJeWrpGbZ9zKEnBIGOgLLk+
+        49awx4C8SBx/xIdS6/8APo/+FLp7f8UPrPJ/4/rT/wBF3FYAJ3jk4z1oV9QpqpzT1W/byXmd1428Fa9e
+        eLtZng0W/nhkvJXSRLZ2DAuxBBA5B9aKw/iAceNtd5P/AB/T/wDow0U43sgoqp7OOq27f8EUah4ZyB/Y
+        +pZz/wBBKP8A+MVt+Nb7w+ni/WVn0q/lmF3MHeO/RVZt7ZIBhOB7ZP1NYi+AvEnH/Eh1Hr/z6P8A4Vt+
+        NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQOQR3qPdvv8AiZS9j7Ve90fV+QtjfeH/APhD9VI0q/EIvLUO
+        hv03M2yfaQfJ4A+bIwc5HIxziLf+GSwP9j6l/wCDKP8A+MVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQM
+        dAWXJ9x61iDwD4k3j/iQ6j1/59X/AMKFy3ev4hD2PNP3uvd9kbnjW98Px+L9ZWfSr+WcXcwd479FVm3t
+        kgGE4Htk/U0the+Hz4O1UjS78Qi8tg6G/j3M3lz4IPk8AfNkYOcjkY5b418Fa/eeL9Zng0a/nhku5nSR
+        LZ2VlLsQQQOQR3pbHwVryeD9VgOjXwnkvLV0jNs+4qEnBIGOgLLk+49aXu8q1Mf3PsYe9/L9p915mGNQ
+        8M5A/sfUuv8A0EY//jFbfjW+8Pp4v1lZ9Kv5ZhdzB3jv0VWbe2SAYTge2T9TWIvgLxLx/wASHUev/Po/
+        +FbfjXwVr934v1qeDRr+eGS7mdHS2dlZS7EEEDkEd6fu33/E2l7H2q97o+voLY33h/8A4Q/VSNKvxCLy
+        1Dob9NzNsn2kHyeAPmyMHORyMc4i3/hksD/Y+pf+DKP/AOMVtWPgrX18H6tA2jXwne8tXSM2zhmUJOCQ
+        MdAWXJ9x61iDwD4k3j/iQ6j1/wCfV/8AChct3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3MHeO/RVZ
+        t7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvLYOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NGv54ZLuZ
+        0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo18J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy/afdeZh
+        jUPDOQP7H1Lr/wBBGP8A+MVt+Nb7w+ni/WVn0q/lmF3MHeO/RVZt7ZIBhOB7ZP1NYi+AvEvH/Eh1Hr/z
+        6P8A4Vt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQOQR3p+7ff8AE2l7H2q97o+voLY33h//AIQ/VSNK
+        vxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3/hksD/AGPqX/gyj/8AjFbVj4K19fB+rQNo18J3vLV0jNs4
+        ZlCTgkDHQFlyfcetYg8A+JN4/wCJDqPX/n1f/Chct3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3MHe
+        O/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvLYOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NGv5
+        4ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo18J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy/a
+        fdeZhjUPDOQP7H1Lr/0EY/8A4xW341vvD6eL9ZWfSr+WYXcwd479FVm3tkgGE4Htk/U1iL4C8S8f8SHU
+        ev8Az6P/AIVt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQOQR3p+7ff8TaXsfar3uj6+gtjfeH/+EP1U
+        jSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt/wCGSwP9j6l/4Mo//jFbVj4K19fB+rQNo18J3vLV0jNs
+        4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f+fV/8KFy3ev4hD2PNP3uvd9kbnjW98Px+L9ZWfSr+WcXcwd4
+        79FVm3tkgGE4Htk/U0the+Hz4O1UjS78Qi8tg6G/j3M3lz4IPk8AfNkYOcjkY5b418Fa/eeL9Zng0a/n
+        hku5nSRLZ2VlLsQQQOQR3pbHwVryeD9VgOjXwnkvLV0jNs+4qEnBIGOgLLk+49aXu8q1Mf3PsYe9/L9p
+        915mGNQ8M5A/sfUuv/QRj/8AjFbfjW+8Pp4v1lZ9Kv5ZhdzB3jv0VWbe2SAYTge2T9TWIvgLxLx/xIdR
+        6/8APo/+FbfjXwVr934v1qeDRr+eGS7mdHS2dlZS7EEEDkEd6fu33/E2l7H2q97o+voLY33h/wD4Q/VS
+        NKvxCLy1Dob9NzNsn2kHyeAPmyMHORyMc4i3/hksD/Y+pf8Agyj/APjFbVj4K19fB+rQNo18J3vLV0jN
+        s4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f+fV/wDChct3r+IQ9jzT97r3fZG541vfD8fi/WVn0q/lnF3M
+        HeO/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvLYOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3ni/WZ4NG
+        v54ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo18J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9z7GHvfy
+        /afdeZhjUPDOQP7H1Lr/ANBGP/4xW341vvD6eL9ZWfSr+WYXcwd479FVm3tkgGE4Htk/U1iL4C8S8f8A
+        Eh1Hr/z6P/hW3418Fa/d+L9ang0a/nhku5nR0tnZWUuxBBA5BHen7t9/xNpex9qve6Pr6C2N94f/AOEP
+        1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt/4ZLA/2PqX/gyj/wDjFbVj4K19fB+rQNo18J3vLV0j
+        Ns4ZlCTgkDHQFlyfcetYg8A+JN4/4kOo9f8An1f/AAoXLd6/iEPY80/e6932RueNb3w/H4v1lZ9Kv5Zx
+        dzB3jv0VWbe2SAYTge2T9TS2F74fPg7VSNLvxCLy2Dob+PczeXPgg+TwB82Rg5yORjlvjXwVr954v1me
+        DRr+eGS7mdJEtnZWUuxBBA5BHelsfBWvJ4P1WA6NfCeS8tXSM2z7ioScEgY6AsuT7j1pe7yrUx/c+xh7
+        38v2n3XmYY1DwzkD+x9S6/8AQRj/APjFbfjW+8Pp4v1lZ9Kv5ZhdzB3jv0VWbe2SAYTge2T9TWIvgLxL
+        x/xIdR6/8+j/AOFbfjXwVr934v1qeDRr+eGS7mdHS2dlZS7EEEDkEd6fu33/ABNpex9qve6Pr6C2N94f
+        /wCEP1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt/4ZLA/wBj6l/4Mo//AIxW1Y+CtfXwfq0DaNfC
+        d7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP8AiQ6j1/59X/woXLd6/iEPY80/e6932RueNb3w/H4v1lZ9
+        Kv5ZxdzB3jv0VWbe2SAYTge2T9TS2F74fPg7VSNLvxCLy2Dob+PczeXPgg+TwB82Rg5yORjlvjXwVr95
+        4v1meDRr+eGS7mdJEtnZWUuxBBA5BHelsfBWvJ4P1WA6NfCeS8tXSM2z7ioScEgY6AsuT7j1pe7yrUx/
+        c+xh738v2n3XmYY1DwzkD+x9S6/9BGP/AOMVt+Nb7w+ni/WVn0q/lmF3MHeO/RVZt7ZIBhOB7ZP1NYi+
+        AvEvH/Eh1Hr/AM+j/wCFbfjXwVr934v1qeDRr+eGS7mdHS2dlZS7EEEDkEd6fu33/E2l7H2q97o+voLY
+        33h//hD9VI0q/EIvLUOhv03M2yfaQfJ4A+bIwc5HIxziLf8AhksD/Y+pf+DKP/4xW1Y+CtfXwfq0DaNf
+        Cd7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP+JDqPX/n1f/Chct3r+IQ9jzT97r3fZG541vfD8fi/WVn0
+        q/lnF3MHeO/RVZt7ZIBhOB7ZP1NLYXvh8+DtVI0u/EIvLYOhv49zN5c+CD5PAHzZGDnI5GOW+NfBWv3n
+        i/WZ4NGv54ZLuZ0kS2dlZS7EEEDkEd6Wx8Fa8ng/VYDo18J5Ly1dIzbPuKhJwSBjoCy5PuPWl7vKtTH9
+        z7GHvfy/afdeZhjUPDOQP7H1Lr/0EY//AIxW341vvD6eL9ZWfSr+WYXcwd479FVm3tkgGE4Htk/U1iL4
+        C8S8f8SHUev/AD6P/hW3418Fa/d+L9ang0a/nhku5nR0tnZWUuxBBA5BHen7t9/xNpex9qve6Pr6C2N9
+        4f8A+EP1UjSr8Qi8tQ6G/TczbJ9pB8ngD5sjBzkcjHOIt/4ZLA/2PqX/AIMo/wD4xW1Y+CtfXwfq0DaN
+        fCd7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP+JDqPX/n1f8AwoXLd6/iEPY80/e6932RueNb3w/H4v1l
+        Z9Kv5ZxdzB3jv0VWbe2SAYTge2T9TS2F74fPg7VSNLvxCLy2Dob+PczeXPgg+TwB82Rg5yORjlvjXwVr
+        954v1meDRr+eGS7mdJEtnZWUuxBBA5BHelsfBWvJ4P1WA6NfCeS8tXSM2z7ioScEgY6AsuT7j1pe7yrU
+        x/c+xh738v2n3XmYY1DwzkD+x9S6/wDQRj/+MVt+Nb7w+ni/WVn0q/lmF3MHeO/RVZt7ZIBhOB7ZP1NY
+        i+AvEvH/ABIdR6/8+j/4Vt+NfBWv3fi/Wp4NGv54ZLuZ0dLZ2VlLsQQQOQR3p+7ff8TaXsfar3uj6+gt
+        jfeH/wDhD9VI0q/EIvLUOhv03M2yfaQfJ4A+bIwc5HIxziLf+GdwP9j6l/4Mo/8A4xW1Y+CtfXwfq0Da
+        NfCd7y1dIzbOGZQk4JAx0BZcn3HrWIPAPiTeP+JDqPX/AJ9X/wAKFy3ev4hD2PNP3uvd9kbnjW+8Px+L
+        9ZWfStQlmF3MHeO/RQzb2yQPJOB7ZP1NFJ418F69eeLtZng0a+mhkvJnSRLZ2DKXYgggcgjvRRHlstfx
+        FRdH2cfe6d3/AJnDBmyME4z61u+Pi3/Cb69yf+P6f/0NqVb/AMNcf8SfUuv/AEEo/wD4xW342vvD8fi7
+        WVn0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2lN+1XuPZ9vLzMTTy3/CDazz/AMv1p/6BcVgqzbxyc59a
+        7qwvvD58H6qRpV+IReWodDfx7mby58EHyeAPmyMHORyMc4Yv/DW8f8SfUuv/AEEo/wD4xQm9dApzlzT9
+        17+XZeYePyR4317k/wDH9N3/ANtqXTy3/CD6zyf+P60/9F3FbXja98Pp4v1lbjSr+WYXcod49QRVZt7Z
+        IBhOB7ZP1NOsb3w//wAIdqpGlX4hF5ah0N/HuZtk+0g+TwB82Rg5yORjmb+6tOxjzy9jD3H9nt3XmcIG
+        bI5OM+tbvj4t/wAJvr3J/wCP6f8A9DalW/8ADXH/ABJ9S6/9BKP/AOMVt+Nr7w/H4u1lZ9Kv5ZhdzB3T
+        UEVWbe2SAYTge2T9TVX12NnN+0XuPZ9vLzMTTy3/AAg2s8/8v1p/6BcVgqzbxyc59a7qwvvD58H6qRpV
+        +IReWodDfx7mby58EHyeAPmyMHORyMc4Yv8Aw1vH/En1Lr/0Eo//AIxQm9dApzlzT917+XZeYePyR431
+        7k/8f03f/bal08t/wg+s8n/j+tP/AEXcVteNr3w+ni/WVuNKv5Zhdyh3j1BFVm3tkgGE4Htk/U06xvfD
+        /wDwh2qkaVfiEXlqHQ38e5m2T7SD5PAHzZGDnI5GOZv7q07GPPL2MPcf2e3deZwgZsjk4z61u+Pi3/Cb
+        69yf+P6f/wBDalW/8Ncf8SfUuv8A0Eo//jFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9d
+        jZzftF7j2fby8zE08t/wg2s8/wDL9af+gXFYKs28cnOfWu6sL7w+fB+qkaVfiEXlqHQ38e5m8ufBB8ng
+        D5sjBzkcjHOGL/w1vH/En1Lr/wBBKP8A+MUJvXQKc5c0/de/l2XmHj8keN9e5P8Ax/Td/wDbal08t/wg
+        +s8n/j+tP/RdxW142vfD6eL9ZW40q/lmF3KHePUEVWbe2SAYTge2T9TTrG98P/8ACHaqRpV+IReWodDf
+        x7mbZPtIPk8AfNkYOcjkY5m/urTsY88vYw9x/Z7d15nCBmyOTjPrW74+Lf8ACb69yf8Aj+n/APQ2pVv/
+        AA1x/wASfUuv/QSj/wDjFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9djZzftF7j2fby8z
+        E08t/wAINrPP/L9af+gXFYKs28cnOfWu6sL7w+fB+qkaVfiEXlqHQ38e5m8ufBB8ngD5sjBzkcjHOGL/
+        AMNbx/xJ9S6/9BKP/wCMUJvXQKc5c0/de/l2XmHj8keN9e5P/H9N3/22pdPLf8IPrPJ/4/rT/wBF3FbX
+        ja98Pp4v1lbjSr+WYXcod49QRVZt7ZIBhOB7ZP1NOsb3w/8A8IdqpGlX4hF5ah0N/HuZtk+0g+TwB82R
+        g5yORjmb+6tOxjzy9jD3H9nt3XmcIGbI5OM+tbvj4t/wm+vcn/j+n/8AQ2pVv/DXH/En1Lr/ANBKP/4x
+        W342vvD8fi7WVn0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2c37Re49n28vMxNPLf8INrPP8Ay/Wn/oFx
+        WCrNvHJzn1rurC+8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxzhi/8Nbx/xJ9S6/8AQSj/APjF
+        Cb10CnOXNP3Xv5dl5h4/JHjfXuT/AMf03f8A22pdPLf8IPrPJ/4/rT/0XcVteNr3w+ni/WVuNKv5Zhdy
+        h3j1BFVm3tkgGE4Htk/U06xvfD//AAh2qkaVfiEXlqHQ38e5m2T7SD5PAHzZGDnI5GOZv7q07GPPL2MP
+        cf2e3deZwgZsjk4z61u+Pi3/AAm+vcn/AI/p/wD0NqVb/wANcf8AEn1Lr/0Eo/8A4xW342vvD8fi7WVn
+        0q/lmF3MHdNQRVZt7ZIBhOB7ZP1NVfXY2c37Re49n28vMxNPLf8ACDazz/y/Wn/oFxWCrNvHJzn1rurC
+        +8PnwfqpGlX4hF5ah0N/HuZvLnwQfJ4A+bIwc5HIxzhi/wDDW8f8SfUuv/QSj/8AjFCb10CnOXNP3Xv5
+        dl5h4/JHjfXuT/x/Td/9tqXTy3/CD6zyf+P60/8ARdxW142vfD6eL9ZW40q/lmF3KHePUEVWbe2SAYTg
+        e2T9TTrG98P/APCHaqRpV+IReWodDfx7mbZPtIPk8AfNkYOcjkY5m/urTsY88vYw9x/Z7d15nCBmyOTj
+        PrW74+Lf8Jvr3J/4/p//AENqVb/w1x/xJ9S6/wDQSj/+MVt+Nr7w/H4u1lZ9Kv5ZhdzB3TUEVWbe2SAY
+        Tge2T9TVX12NnN+0XuPZ9vLzMTTy3/CDazz/AMv1p/6BcVgqzbxyc59a7qwvvD58H6qRpV+IReWodDfx
+        7mby58EHyeAPmyMHORyMc4Yv/DW8f8SfUuv/AEEo/wD4xQm9dApzlzT917+XZeYePyR4317k/wDH9N3/
+        ANtqXTy3/CD6zyf+P60/9F3FbXja98Pp4v1lbjSr+WYXcod49QRVZt7ZIBhOB7ZP1NOsb3w//wAIdqpG
+        lX4hF5ah0N/HuZtk+0g+TwB82Rg5yORjmb+6tOxjzy9jD3H9nt3XmcIGbI5OM+tbvj4t/wAJvr3J/wCP
+        6f8A9DalW/8ADXH/ABJ9S6/9BKP/AOMVt+Nr7w/H4u1lZ9Kv5ZhdzB3TUEVWbe2SAYTge2T9TVX12NnN
+        +0XuPZ9vLzMTTy3/AAg2s8/8v1p/6BcVgqzbxyc59a7qwvvD58H6qRpV+IReWodDfx7mby58EHyeAPmy
+        MHORyMc4Yv8Aw1vH/En1Lr/0Eo//AIxQm9dApzlzT917+XZeYePyR4317k/8f03f/bal08t/wg+s8n/j
+        +tP/AEXcVteNr3w+ni/WVuNKv5Zhdyh3j1BFVm3tkgGE4Htk/U06xvfD/wDwh2qkaVfiEXlqHQ38e5m2
+        T7SD5PAHzZGDnI5GOZv7q07GPPL2MPcf2e3deZwgZsjk4z61u+Pi3/Cb69yf+P6f/wBDalW/8Ncf8SfU
+        uv8A0Eo//jFbfja+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9djZzftF7j2fby8zE08t/wg2s8
+        /wDL9af+gXFYKs28cnOfWu6sL7w+fB+qkaVfiEXlqHQ38e5m8ufBB8ngD5sjBzkcjHOGL/w1vH/En1Lr
+        /wBBKP8A+MUJvXQKc5c0/de/l2XmHj8keN9e5P8Ax/Td/wDbal08t/wg+s8n/j+tP/RdxW142vfD6eL9
+        ZW40q/lmF3KHePUEVWbe2SAYTge2T9TTrG98P/8ACHaqRpV+IReWodDfx7mbZPtIPk8AfNkYOcjkY5m/
+        urTsY88vYw9x/Z7d15nCBmyOTjPrW74+Lf8ACb69yf8Aj+n/APQ2pVv/AA1x/wASfUuv/QSj/wDjFbfj
+        a+8Px+LtZWfSr+WYXcwd01BFVm3tkgGE4Htk/U1V9djZzftF7j2fby8zE08t/wAINrPP/L9af+gXFYIZ
+        t45Oc+td1YX3h8+D9VI0q/EIvLUOhv49zN5c+CD5PAHzZGDnI5GOcMX/AIa3j/iT6l1/6CUf/wAYoTeu
+        gU5y5p+69/LsvMPH7MPG2u8n/j+m7/8ATRqK2/G194fj8X6ys+lahLMLuYO8eoIoZt7ZIHknA9sn6mii
+        LdloFGcvZx9x7eX+ZiL4B8SZH/Eh1Hr/AM+kn+FbfjXwVr134v1qeDRr+eGS7mdHjtnZWUuxBBA5BHeu
+        F3EMOTW74+Y/8Jvr3J/4/p//AEM0ru4NVParVbPp6eZu2XgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFl
+        yfcetYg8BeJN4/4kOpdf+fR/8KTT2P8Awg2scn/j/tP/AEC4rCUncOe9Cb1FTVTmnqt+3kvM7jxr4J16
+        78X61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8vg7VoG0a+E8l5aukZtnDMoScEgY6AsuT7j1rC8fE/
+        8Jvr3P8Ay/Tf+hml05j/AMINrPJ/4/rT/wBAuKm75V8jG1T2MPeX2enmvMF8A+JMj/iQ6j1/59JP8K2/
+        GvgrXrvxfrU8GjX88Ml3M6PHbOyspdiCCByCO9cLuIYcmt3x8x/4TfXuT/x/T/8AoZqru5u1U9otVs+n
+        p5m7ZeCteXwfq0DaNfCaS8tXSM2z7mUJOCQMdAWXJ9x61iDwF4k3j/iQ6l1/59H/AMKTT2P/AAg2scn/
+        AI/7T/0C4rCUncOe9Cb1FTVTmnqt+3kvM7jxr4J1678X61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8
+        vg7VoG0a+E8l5aukZtnDMoScEgY6AsuT7j1rC8fE/wDCb69z/wAv03/oZpdOY/8ACDazyf8Aj+tP/QLi
+        pu+VfIxtU9jD3l9np5rzBfAPiTI/4kOo9f8An0k/wrb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2IIIHII
+        71wu4hhya3fHzH/hN9e5P/H9P/6Gaq7ubtVPaLVbPp6eZu2XgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQ
+        FlyfcetYg8BeJN4/4kOpdf8An0f/AApNPY/8INrHJ/4/7T/0C4rCUncOe9Cb1FTVTmnqt+3kvM7jxr4J
+        1678X61PBo1/PDJdyukkds7Kyl2IIIHII706y8Fa8vg7VoG0a+E8l5aukZtnDMoScEgY6AsuT7j1rC8f
+        E/8ACb69z/y/Tf8AoZpdOY/8INrPJ/4/rT/0C4qbvlXyMbVPYw95fZ6ea8wXwD4kyP8AiQ6j1/59JP8A
+        Ctvxr4K1678X61PBo1/PDJdzOjx2zsrKXYgggcgjvXC7iGHJrd8fMf8AhN9e5P8Ax/T/APoZqru5u1U9
+        otVs+np5m7ZeCteXwfq0DaNfCaS8tXSM2z7mUJOCQMdAWXJ9x61iDwF4k3j/AIkOpdf+fR/8KTT2P/CD
+        axyf+P8AtP8A0C4rCUncOe9Cb1FTVTmnqt+3kvM7jxr4J1678X61PBo1/PDJdyukkds7Kyl2IIIHII70
+        6y8Fa8vg7VoG0a+E8l5aukZtnDMoScEgY6AsuT7j1rC8fE/8Jvr3P/L9N/6GaXTmP/CDazyf+P60/wDQ
+        Lipu+VfIxtU9jD3l9np5rzBfAPiTI/4kOo9f+fST/Ctvxr4K1678X61PBo1/PDJdzOjx2zsrKXYgggcg
+        jvXC7iGHJrd8fMf+E317k/8AH9P/AOhmqu7m7VT2i1Wz6enmbtl4K15fB+rQNo18JpLy1dIzbPuZQk4J
+        Ax0BZcn3HrWIPAXiTeP+JDqXX/n0f/Ck09j/AMINrHJ/4/7T/wBAuKwlJ3DnvQm9RU1U5p6rft5LzO48
+        a+Cdeu/F+tTwaNfzwyXcrpJHbOyspdiCCByCO9OsvBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+49a
+        wvHxP/Cb69z/AMv03/oZpdOY/wDCDazyf+P60/8AQLipu+VfIxtU9jD3l9np5rzBfAPiTI/4kOo9f+fS
+        T/Ctvxr4K1678X61PBo1/PDJdzOjx2zsrKXYgggcgjvXC7iGHJrd8fMf+E317k/8f0//AKGaq7ubtVPa
+        LVbPp6eZu2XgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg8BeJN4/4kOpdf+fR/wDCk09j/wAI
+        NrHJ/wCP+0/9AuKwlJ3DnvQm9RU1U5p6rft5LzO48a+Cdeu/F+tTwaNfzwyXcrpJHbOyspdiCCByCO9O
+        svBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+49awvHxP8Awm+vc/8AL9N/6GaXTmP/AAg2s8n/AI/r
+        T/0C4qbvlXyMbVPYw95fZ6ea8wXwD4kyP+JDqPX/AJ9JP8K2/GvgrXrvxfrU8GjX88Ml3M6PHbOyspdi
+        CCByCO9cLuIYcmt3x8x/4TfXuT/x/T/+hmqu7m7VT2i1Wz6enmbtl4K15fB+rQNo18JpLy1dIzbPuZQk
+        4JAx0BZcn3HrWIPAXiTeP+JDqXX/AJ9H/wAKTT2P/CDaxyf+P+0/9AuKwlJ3DnvQm9RU1U5p6rft5LzO
+        48a+Cdeu/F+tTwaNfzwyXcrpJHbOyspdiCCByCO9OsvBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+4
+        9awvHxP/AAm+vc/8v03/AKGaXTmP/CDazyf+P60/9AuKm75V8jG1T2MPeX2enmvMF8A+JMj/AIkOo9f+
+        fST/AArb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wu4hhya3fHzH/AITfXuT/AMf0/wD6Gaq7
+        ubtVPaLVbPp6eZu2XgrXl8H6tA2jXwmkvLV0jNs+5lCTgkDHQFlyfcetYg8BeJN4/wCJDqXX/n0f/Ck0
+        9j/wg2scn/j/ALT/ANAuKwlJ3DnvQm9RU1U5p6rft5LzO48a+Cdeu/F+tTwaNfzwyXcrpJHbOyspdiCC
+        ByCO9OsvBWvL4O1aBtGvhPJeWrpGbZwzKEnBIGOgLLk+49awvHxP/Cb69z/y/Tf+hml05j/wg2s8n/j+
+        tP8A0C4qbvlXyMbVPYw95fZ6ea8wXwD4kyP+JDqPX/n0k/wrb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2
+        IIIHII71wu4hhya3fHzH/hN9e5P/AB/T/wDoZqru5u1U9otVs+np5m7ZeCteXwfq0DaNfCaS8tXSM2z7
+        mUJOCQMdAWXJ9x61iDwF4k3j/iQ6l1/59H/wpNPY/wDCDaxyf+P+0/8AQLisJSdw570JvUVNVOaeq37e
+        S8zuPGvgnXrvxfrU8GjX88Ml3K6SR2zsrKXYgggcgjvTrLwVry+DtWgbRr4TyXlq6Rm2cMyhJwSBjoCy
+        5PuPWsLx8T/wm+vc/wDL9N/6GaXTmP8Awg2s8n/j+tP/AEC4qbvlXyMbVPYw95fZ6ea8wXwD4kyP+JDq
+        PX/n0k/wrb8a+Cteu/F+tTwaNfzwyXczo8ds7Kyl2IIIHII71wu4hhya3fHzH/hN9e5P/H9P/wChmqu7
+        m7VT2i1Wz6enmbtl4K15fB+rQNo18JpLy1dIzbPuZQk4JAx0BZcn3HrWGPAXiQOP+JDqXX/n0f8Awo09
+        j/wg2scn/j/tP/QLisIE5HPehN6ipqpzT1W/byXmdz428Fa9eeLtZng0W/nhkvJXSRLZ2DAuxBBA5B9a
+        Kw/HzH/hN9e5P/H9N/6MaiiLdh0VU9nHVbdv+Cf/2Q==
+</value>
+  </data>
+  <data name="picExceed.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="picStable.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+</root>

+ 2881 - 3
RailLocalMeter/frmMain.Designer.cs

@@ -29,13 +29,2891 @@ namespace RailLocalMeter
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("计量委托", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn1 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn2 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn3 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayCarriageNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn4 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn5 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn6 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn7 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("measureStation");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn8 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("trustDepartmentName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn9 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("trustDateTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn10 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionType");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn11 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("theoryAmount");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn12 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionCombination");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn13 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("senderRemark");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn14 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("UNCK", 0);
+            Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand2 = new Infragistics.Win.UltraWinGrid.UltraGridBand("一次计量数据", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn15 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn16 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn17 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn18 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("meterWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn19 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn20 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn21 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpotName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn22 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn23 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn24 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn25 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionType");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn26 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("memo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn27 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("UNCK", 0);
+            Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand3 = new Infragistics.Win.UltraWinGrid.UltraGridBand("一次待提交", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn28 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn29 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn30 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn31 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn32 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn33 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn34 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn35 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("meterWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn36 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpotName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn37 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn38 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn39 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("memo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn40 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("UNCK", 0);
+            Infragistics.Win.Appearance appearance13 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance14 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance15 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand4 = new Infragistics.Win.UltraWinGrid.UltraGridBand("结净待提交", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn41 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn42 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn43 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn44 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn45 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn46 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn47 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn48 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn49 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn50 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn51 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn52 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn53 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn54 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirst1No");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn55 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn56 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpot1Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn57 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirst2No");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn58 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn59 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpot2Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn60 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn61 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netSpot3Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn62 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayTypeName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn63 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("memo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn64 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("UNCK", 0);
+            Infragistics.Win.Appearance appearance16 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance17 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance18 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand5 = new Infragistics.Win.UltraWinGrid.UltraGridBand("本地一次", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn65 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn66 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn67 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn68 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn69 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn70 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn71 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn72 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("meterWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn73 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpotName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn74 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn75 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn76 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("memo");
+            Infragistics.Win.Appearance appearance10 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance11 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance12 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand6 = new Infragistics.Win.UltraWinGrid.UltraGridBand("本地结净", -1);
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn77 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn78 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn79 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn80 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netWeight");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn81 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn82 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn83 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("receivingUintName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn84 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn85 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn86 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netTime");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn87 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn88 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn89 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("matterNo");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn90 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirst1No");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn91 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("grossManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn92 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpot1Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn93 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirst2No");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn94 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("tareManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn95 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("baseSpot2Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn96 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netManName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn97 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("netSpot3Name");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn98 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayTypeName");
+            Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn99 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("memo");
+            Infragistics.Win.Appearance appearance7 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance8 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance9 = new Infragistics.Win.Appearance();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab2 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab3 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab4 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab5 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab7 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinTabControl.UltraTab ultraTab8 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
+            this.ultraTabPageControl1 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.ultraGridPre = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.dataSetFirst = new System.Data.DataSet();
+            this.dataTableFirst = new System.Data.DataTable();
+            this.dataColumn69 = new System.Data.DataColumn();
+            this.dataColumn162 = new System.Data.DataColumn();
+            this.dataColumn190 = new System.Data.DataColumn();
+            this.dataColumn193 = new System.Data.DataColumn();
+            this.dataColumn194 = new System.Data.DataColumn();
+            this.dataColumn195 = new System.Data.DataColumn();
+            this.dataColumn14 = new System.Data.DataColumn();
+            this.dataColumn15 = new System.Data.DataColumn();
+            this.dataColumn16 = new System.Data.DataColumn();
+            this.dataColumn17 = new System.Data.DataColumn();
+            this.dataColumn18 = new System.Data.DataColumn();
+            this.dataColumn19 = new System.Data.DataColumn();
+            this.dataTablePre = new System.Data.DataTable();
+            this.dataColumn1 = new System.Data.DataColumn();
+            this.dataColumn2 = new System.Data.DataColumn();
+            this.dataColumn3 = new System.Data.DataColumn();
+            this.dataColumn4 = new System.Data.DataColumn();
+            this.dataColumn5 = new System.Data.DataColumn();
+            this.dataColumn6 = new System.Data.DataColumn();
+            this.dataColumn7 = new System.Data.DataColumn();
+            this.dataColumn8 = new System.Data.DataColumn();
+            this.dataColumn9 = new System.Data.DataColumn();
+            this.dataColumn10 = new System.Data.DataColumn();
+            this.dataColumn11 = new System.Data.DataColumn();
+            this.dataColumn12 = new System.Data.DataColumn();
+            this.dataColumn13 = new System.Data.DataColumn();
+            this.dataTableWaitFirst = new System.Data.DataTable();
+            this.dataColumn20 = new System.Data.DataColumn();
+            this.dataColumn21 = new System.Data.DataColumn();
+            this.dataColumn22 = new System.Data.DataColumn();
+            this.dataColumn23 = new System.Data.DataColumn();
+            this.dataColumn24 = new System.Data.DataColumn();
+            this.dataColumn25 = new System.Data.DataColumn();
+            this.dataColumn26 = new System.Data.DataColumn();
+            this.dataColumn27 = new System.Data.DataColumn();
+            this.dataColumn28 = new System.Data.DataColumn();
+            this.dataColumn29 = new System.Data.DataColumn();
+            this.dataColumn30 = new System.Data.DataColumn();
+            this.dataColumn31 = new System.Data.DataColumn();
+            this.dataTableWaitNet = new System.Data.DataTable();
+            this.dataColumn32 = new System.Data.DataColumn();
+            this.dataColumn33 = new System.Data.DataColumn();
+            this.dataColumn34 = new System.Data.DataColumn();
+            this.dataColumn35 = new System.Data.DataColumn();
+            this.dataColumn36 = new System.Data.DataColumn();
+            this.dataColumn37 = new System.Data.DataColumn();
+            this.dataColumn38 = new System.Data.DataColumn();
+            this.dataColumn39 = new System.Data.DataColumn();
+            this.dataColumn40 = new System.Data.DataColumn();
+            this.dataColumn41 = new System.Data.DataColumn();
+            this.dataColumn42 = new System.Data.DataColumn();
+            this.dataColumn43 = new System.Data.DataColumn();
+            this.dataColumn44 = new System.Data.DataColumn();
+            this.dataColumn45 = new System.Data.DataColumn();
+            this.dataColumn46 = new System.Data.DataColumn();
+            this.dataColumn47 = new System.Data.DataColumn();
+            this.dataColumn48 = new System.Data.DataColumn();
+            this.dataColumn49 = new System.Data.DataColumn();
+            this.dataColumn50 = new System.Data.DataColumn();
+            this.dataColumn51 = new System.Data.DataColumn();
+            this.dataColumn52 = new System.Data.DataColumn();
+            this.dataColumn53 = new System.Data.DataColumn();
+            this.dataColumn54 = new System.Data.DataColumn();
+            this.ultraTabPageControl3 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.ultraGridFirst = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.ultraTabPageControl4 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.cbFirstWait = new System.Windows.Forms.CheckBox();
+            this.ultraGridWaitFirst = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.panel2 = new System.Windows.Forms.Panel();
+            this.btnSubmitFirstWait = new System.Windows.Forms.Button();
+            this.ultraTabPageControl5 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.cbNetWait = new System.Windows.Forms.CheckBox();
+            this.ultraGridWaitNet = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.panel3 = new System.Windows.Forms.Panel();
+            this.btnNetSubmit = new System.Windows.Forms.Button();
+            this.ultraTabPageControl2 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.ultraGridLocalFirst = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.dataSetLocal = new System.Data.DataSet();
+            this.dataTableLocalFirst = new System.Data.DataTable();
+            this.dataColumn81 = new System.Data.DataColumn();
+            this.dataColumn82 = new System.Data.DataColumn();
+            this.dataColumn83 = new System.Data.DataColumn();
+            this.dataColumn84 = new System.Data.DataColumn();
+            this.dataColumn85 = new System.Data.DataColumn();
+            this.dataColumn86 = new System.Data.DataColumn();
+            this.dataColumn87 = new System.Data.DataColumn();
+            this.dataColumn88 = new System.Data.DataColumn();
+            this.dataColumn89 = new System.Data.DataColumn();
+            this.dataColumn90 = new System.Data.DataColumn();
+            this.dataColumn91 = new System.Data.DataColumn();
+            this.dataColumn92 = new System.Data.DataColumn();
+            this.dataTableLocalNet = new System.Data.DataTable();
+            this.dataColumn93 = new System.Data.DataColumn();
+            this.dataColumn94 = new System.Data.DataColumn();
+            this.dataColumn95 = new System.Data.DataColumn();
+            this.dataColumn96 = new System.Data.DataColumn();
+            this.dataColumn97 = new System.Data.DataColumn();
+            this.dataColumn98 = new System.Data.DataColumn();
+            this.dataColumn99 = new System.Data.DataColumn();
+            this.dataColumn100 = new System.Data.DataColumn();
+            this.dataColumn101 = new System.Data.DataColumn();
+            this.dataColumn102 = new System.Data.DataColumn();
+            this.dataColumn103 = new System.Data.DataColumn();
+            this.dataColumn104 = new System.Data.DataColumn();
+            this.dataColumn105 = new System.Data.DataColumn();
+            this.dataColumn106 = new System.Data.DataColumn();
+            this.dataColumn107 = new System.Data.DataColumn();
+            this.dataColumn108 = new System.Data.DataColumn();
+            this.dataColumn109 = new System.Data.DataColumn();
+            this.dataColumn110 = new System.Data.DataColumn();
+            this.dataColumn111 = new System.Data.DataColumn();
+            this.dataColumn112 = new System.Data.DataColumn();
+            this.dataColumn113 = new System.Data.DataColumn();
+            this.dataColumn114 = new System.Data.DataColumn();
+            this.dataColumn115 = new System.Data.DataColumn();
+            this.ultraTabPageControl6 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
+            this.ultraGridLocalNet = new Infragistics.Win.UltraWinGrid.UltraGrid();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.uTab = new Infragistics.Win.UltraWinTabControl.UltraTabControl();
+            this.ultraTabSharedControlsPage1 = new Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage();
+            this.ultraTabSharedControlsPage2 = new Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage();
+            this.plMain = new System.Windows.Forms.Panel();
+            this.plCaptionMain = new System.Windows.Forms.Panel();
+            this.ultraTabControl1 = new Infragistics.Win.UltraWinTabControl.UltraTabControl();
+            this.ultraTabSharedControlsPage3 = new Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage();
+            this.ultraTabSharedControlsPage4 = new Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage();
+            this.panel11 = new System.Windows.Forms.Panel();
+            this.cbSetFirst = new System.Windows.Forms.CheckBox();
+            this.cbJg = new System.Windows.Forms.CheckBox();
+            this.btnSave = new System.Windows.Forms.Button();
+            this.btnOpenVoice = new System.Windows.Forms.Button();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.txtMsgInfo = new System.Windows.Forms.RichTextBox();
+            this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
+            this.txtMETER_TYPE = new System.Windows.Forms.Label();
+            this.label15 = new System.Windows.Forms.Label();
+            this.label16 = new System.Windows.Forms.Label();
+            this.label9 = new System.Windows.Forms.Label();
+            this.label8 = new System.Windows.Forms.Label();
+            this.txtMATTER_NAME = new System.Windows.Forms.Label();
+            this.txtFORWARDING_UNIT_NAME = new System.Windows.Forms.Label();
+            this.txtRECEIVING_UINT_NAME = new System.Windows.Forms.Label();
+            this.panel10 = new System.Windows.Forms.Panel();
+            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+            this.btnTareSaveOver = new System.Windows.Forms.Button();
+            this.txtNet = new System.Windows.Forms.Label();
+            this.label22 = new System.Windows.Forms.Label();
+            this.txtGroess = new System.Windows.Forms.Label();
+            this.label4 = new System.Windows.Forms.Label();
+            this.label3 = new System.Windows.Forms.Label();
+            this.txtTare = new System.Windows.Forms.NumericUpDown();
+            this.panel5 = new System.Windows.Forms.Panel();
+            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
+            this.panel7 = new System.Windows.Forms.Panel();
+            this.panel9 = new System.Windows.Forms.Panel();
+            this.btnHRed = new System.Windows.Forms.Button();
+            this.picHRed = new System.Windows.Forms.PictureBox();
+            this.panel8 = new System.Windows.Forms.Panel();
+            this.btnQRed = new System.Windows.Forms.Button();
+            this.picQRed = new System.Windows.Forms.PictureBox();
+            this.panel6 = new System.Windows.Forms.Panel();
+            this.ucWeightT1 = new RailLocalMeter.ucWeightT();
+            this.panel4 = new System.Windows.Forms.Panel();
+            this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
+            this.lbPointName = new System.Windows.Forms.Label();
+            this.txtCarNo = new System.Windows.Forms.TextBox();
+            this.lbPntName = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pbLineOn = new System.Windows.Forms.PictureBox();
+            this.plImgShow = new System.Windows.Forms.Panel();
+            this.pictureShow = new System.Windows.Forms.PictureBox();
+            this.ultraTabPageControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridPre)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataSetFirst)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableFirst)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTablePre)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableWaitFirst)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableWaitNet)).BeginInit();
+            this.ultraTabPageControl3.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridFirst)).BeginInit();
+            this.ultraTabPageControl4.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridWaitFirst)).BeginInit();
+            this.panel2.SuspendLayout();
+            this.ultraTabPageControl5.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridWaitNet)).BeginInit();
+            this.panel3.SuspendLayout();
+            this.ultraTabPageControl2.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridLocalFirst)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataSetLocal)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableLocalFirst)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableLocalNet)).BeginInit();
+            this.ultraTabPageControl6.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridLocalNet)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.uTab)).BeginInit();
+            this.uTab.SuspendLayout();
+            this.plMain.SuspendLayout();
+            this.plCaptionMain.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraTabControl1)).BeginInit();
+            this.ultraTabControl1.SuspendLayout();
+            this.panel11.SuspendLayout();
+            this.groupBox1.SuspendLayout();
+            this.tableLayoutPanel4.SuspendLayout();
+            this.panel10.SuspendLayout();
+            this.tableLayoutPanel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTare)).BeginInit();
+            this.panel5.SuspendLayout();
+            this.tableLayoutPanel2.SuspendLayout();
+            this.panel7.SuspendLayout();
+            this.panel9.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picHRed)).BeginInit();
+            this.panel8.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picQRed)).BeginInit();
+            this.panel6.SuspendLayout();
+            this.panel4.SuspendLayout();
+            this.tableLayoutPanel7.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pbLineOn)).BeginInit();
+            this.plImgShow.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureShow)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // ultraTabPageControl1
+            // 
+            this.ultraTabPageControl1.Controls.Add(this.ultraGridPre);
+            this.ultraTabPageControl1.Location = new System.Drawing.Point(1, 25);
+            this.ultraTabPageControl1.Name = "ultraTabPageControl1";
+            this.ultraTabPageControl1.Size = new System.Drawing.Size(947, 645);
+            // 
+            // ultraGridPre
+            // 
+            this.ultraGridPre.DataMember = "计量委托";
+            this.ultraGridPre.DataSource = this.dataSetFirst;
+            ultraGridColumn1.Header.VisiblePosition = 0;
+            ultraGridColumn1.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn1.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn1.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn1.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn2.Header.VisiblePosition = 1;
+            ultraGridColumn2.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn2.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn2.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn2.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn3.Header.VisiblePosition = 2;
+            ultraGridColumn3.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn3.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn3.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn3.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn4.Header.VisiblePosition = 3;
+            ultraGridColumn4.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn4.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn4.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn4.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn5.Header.VisiblePosition = 4;
+            ultraGridColumn5.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn5.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn5.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn5.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn6.Header.VisiblePosition = 5;
+            ultraGridColumn6.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn6.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn6.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn6.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn7.Header.VisiblePosition = 6;
+            ultraGridColumn7.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn7.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn7.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn7.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn8.Header.VisiblePosition = 7;
+            ultraGridColumn8.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn8.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn8.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn8.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn9.Header.VisiblePosition = 8;
+            ultraGridColumn9.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn9.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn9.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn9.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn10.Header.VisiblePosition = 9;
+            ultraGridColumn10.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn10.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn10.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn10.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn11.Header.VisiblePosition = 10;
+            ultraGridColumn11.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn11.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn11.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn11.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn12.Header.VisiblePosition = 11;
+            ultraGridColumn12.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn12.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn12.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn12.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn13.Header.VisiblePosition = 12;
+            ultraGridColumn13.RowLayoutColumnInfo.OriginX = 26;
+            ultraGridColumn13.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn13.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn13.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn14.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.Edit;
+            ultraGridColumn14.DataType = typeof(bool);
+            ultraGridColumn14.DefaultCellValue = false;
+            ultraGridColumn14.Header.Caption = "选择";
+            ultraGridColumn14.Header.VisiblePosition = 13;
+            ultraGridColumn14.RowLayoutColumnInfo.OriginX = 0;
+            ultraGridColumn14.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn14.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn14.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn14.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
+            ultraGridBand1.Columns.AddRange(new object[] {
+            ultraGridColumn1,
+            ultraGridColumn2,
+            ultraGridColumn3,
+            ultraGridColumn4,
+            ultraGridColumn5,
+            ultraGridColumn6,
+            ultraGridColumn7,
+            ultraGridColumn8,
+            ultraGridColumn9,
+            ultraGridColumn10,
+            ultraGridColumn11,
+            ultraGridColumn12,
+            ultraGridColumn13,
+            ultraGridColumn14});
+            ultraGridBand1.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridPre.DisplayLayout.BandsSerializer.Add(ultraGridBand1);
+            this.ultraGridPre.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridPre.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridPre.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance1.TextVAlignAsString = "Middle";
+            this.ultraGridPre.DisplayLayout.Override.CellAppearance = appearance1;
+            this.ultraGridPre.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridPre.DisplayLayout.Override.HeaderAppearance = appearance2;
+            this.ultraGridPre.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridPre.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridPre.DisplayLayout.Override.MinRowHeight = 21;
+            appearance3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance3.TextVAlignAsString = "Middle";
+            this.ultraGridPre.DisplayLayout.Override.RowSelectorAppearance = appearance3;
+            this.ultraGridPre.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridPre.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridPre.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridPre.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridPre.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridPre.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridPre.Location = new System.Drawing.Point(0, 0);
+            this.ultraGridPre.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridPre.Name = "ultraGridPre";
+            this.ultraGridPre.Size = new System.Drawing.Size(947, 645);
+            this.ultraGridPre.TabIndex = 8;
+            this.ultraGridPre.AfterRowActivate += new System.EventHandler(this.ultraGridPre_AfterRowActivate);
+            // 
+            // dataSetFirst
+            // 
+            this.dataSetFirst.DataSetName = "NewDataSet";
+            this.dataSetFirst.Tables.AddRange(new System.Data.DataTable[] {
+            this.dataTableFirst,
+            this.dataTablePre,
+            this.dataTableWaitFirst,
+            this.dataTableWaitNet});
+            // 
+            // dataTableFirst
+            // 
+            this.dataTableFirst.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn69,
+            this.dataColumn162,
+            this.dataColumn190,
+            this.dataColumn193,
+            this.dataColumn194,
+            this.dataColumn195,
+            this.dataColumn14,
+            this.dataColumn15,
+            this.dataColumn16,
+            this.dataColumn17,
+            this.dataColumn18,
+            this.dataColumn19});
+            this.dataTableFirst.TableName = "一次计量数据";
+            // 
+            // dataColumn69
+            // 
+            this.dataColumn69.Caption = "作业编号";
+            this.dataColumn69.ColumnName = "actualFirstNo";
+            // 
+            // dataColumn162
+            // 
+            this.dataColumn162.Caption = "车号";
+            this.dataColumn162.ColumnName = "railwayNo";
+            // 
+            // dataColumn190
+            // 
+            this.dataColumn190.Caption = "物料名称";
+            this.dataColumn190.ColumnName = "matterName";
+            // 
+            // dataColumn193
+            // 
+            this.dataColumn193.Caption = "计量重量(T)";
+            this.dataColumn193.ColumnName = "meterWeight";
+            // 
+            // dataColumn194
+            // 
+            this.dataColumn194.Caption = "发货单位";
+            this.dataColumn194.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn195
+            // 
+            this.dataColumn195.Caption = "收货单位";
+            this.dataColumn195.ColumnName = "receivingUintName";
+            // 
+            // dataColumn14
+            // 
+            this.dataColumn14.Caption = "计量点";
+            this.dataColumn14.ColumnName = "baseSpotName";
+            // 
+            // dataColumn15
+            // 
+            this.dataColumn15.Caption = "计量员";
+            this.dataColumn15.ColumnName = "createManName";
+            // 
+            // dataColumn16
+            // 
+            this.dataColumn16.Caption = "计量时间";
+            this.dataColumn16.ColumnName = "createTime";
+            // 
+            // dataColumn17
+            // 
+            this.dataColumn17.Caption = "委托编号";
+            this.dataColumn17.ColumnName = "predictionNo";
+            // 
+            // dataColumn18
+            // 
+            this.dataColumn18.Caption = "委托类型";
+            this.dataColumn18.ColumnName = "predictionType";
+            // 
+            // dataColumn19
+            // 
+            this.dataColumn19.Caption = "备注";
+            this.dataColumn19.ColumnName = "memo";
+            // 
+            // dataTablePre
+            // 
+            this.dataTablePre.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn1,
+            this.dataColumn2,
+            this.dataColumn3,
+            this.dataColumn4,
+            this.dataColumn5,
+            this.dataColumn6,
+            this.dataColumn7,
+            this.dataColumn8,
+            this.dataColumn9,
+            this.dataColumn10,
+            this.dataColumn11,
+            this.dataColumn12,
+            this.dataColumn13});
+            this.dataTablePre.TableName = "计量委托";
+            // 
+            // dataColumn1
+            // 
+            this.dataColumn1.Caption = "委托编号";
+            this.dataColumn1.ColumnName = "predictionNo";
+            // 
+            // dataColumn2
+            // 
+            this.dataColumn2.Caption = "车号";
+            this.dataColumn2.ColumnName = "railwayNo";
+            // 
+            // dataColumn3
+            // 
+            this.dataColumn3.Caption = "车厢序号";
+            this.dataColumn3.ColumnName = "railwayCarriageNo";
+            // 
+            // dataColumn4
+            // 
+            this.dataColumn4.Caption = "物料名称";
+            this.dataColumn4.ColumnName = "matterName";
+            // 
+            // dataColumn5
+            // 
+            this.dataColumn5.Caption = "发货单位";
+            this.dataColumn5.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn6
+            // 
+            this.dataColumn6.Caption = "收货单位";
+            this.dataColumn6.ColumnName = "receivingUintName";
+            // 
+            // dataColumn7
+            // 
+            this.dataColumn7.Caption = "使用站点";
+            this.dataColumn7.ColumnName = "measureStation";
+            // 
+            // dataColumn8
+            // 
+            this.dataColumn8.Caption = "签发部门";
+            this.dataColumn8.ColumnName = "trustDepartmentName";
+            // 
+            // dataColumn9
+            // 
+            this.dataColumn9.Caption = "签发时间";
+            this.dataColumn9.ColumnName = "trustDateTime";
+            // 
+            // dataColumn10
+            // 
+            this.dataColumn10.Caption = "委托类型";
+            this.dataColumn10.ColumnName = "predictionType";
+            // 
+            // dataColumn11
+            // 
+            this.dataColumn11.Caption = "理论量(T)";
+            this.dataColumn11.ColumnName = "theoryAmount";
+            // 
+            // dataColumn12
+            // 
+            this.dataColumn12.Caption = "委托组合";
+            this.dataColumn12.ColumnName = "predictionCombination";
+            // 
+            // dataColumn13
+            // 
+            this.dataColumn13.Caption = "货源";
+            this.dataColumn13.ColumnName = "senderRemark";
+            // 
+            // dataTableWaitFirst
+            // 
+            this.dataTableWaitFirst.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn20,
+            this.dataColumn21,
+            this.dataColumn22,
+            this.dataColumn23,
+            this.dataColumn24,
+            this.dataColumn25,
+            this.dataColumn26,
+            this.dataColumn27,
+            this.dataColumn28,
+            this.dataColumn29,
+            this.dataColumn30,
+            this.dataColumn31});
+            this.dataTableWaitFirst.TableName = "一次待提交";
+            // 
+            // dataColumn20
+            // 
+            this.dataColumn20.Caption = "作业编号";
+            this.dataColumn20.ColumnName = "actualFirstNo";
+            // 
+            // dataColumn21
+            // 
+            this.dataColumn21.Caption = "委托编号";
+            this.dataColumn21.ColumnName = "predictionNo";
+            // 
+            // dataColumn22
+            // 
+            this.dataColumn22.Caption = "车号";
+            this.dataColumn22.ColumnName = "railwayNo";
+            // 
+            // dataColumn23
+            // 
+            this.dataColumn23.Caption = "物料编号";
+            this.dataColumn23.ColumnName = "matterNo";
+            // 
+            // dataColumn24
+            // 
+            this.dataColumn24.Caption = "物料名称";
+            this.dataColumn24.ColumnName = "matterName";
+            // 
+            // dataColumn25
+            // 
+            this.dataColumn25.Caption = "发货单位";
+            this.dataColumn25.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn26
+            // 
+            this.dataColumn26.Caption = "收货单位";
+            this.dataColumn26.ColumnName = "receivingUintName";
+            // 
+            // dataColumn27
+            // 
+            this.dataColumn27.Caption = "计量重量(T)";
+            this.dataColumn27.ColumnName = "meterWeight";
+            // 
+            // dataColumn28
+            // 
+            this.dataColumn28.Caption = "计量点";
+            this.dataColumn28.ColumnName = "baseSpotName";
+            // 
+            // dataColumn29
+            // 
+            this.dataColumn29.Caption = "计量员姓名";
+            this.dataColumn29.ColumnName = "createManName";
+            // 
+            // dataColumn30
+            // 
+            this.dataColumn30.Caption = "创建时间";
+            this.dataColumn30.ColumnName = "createTime";
+            // 
+            // dataColumn31
+            // 
+            this.dataColumn31.Caption = "备注";
+            this.dataColumn31.ColumnName = "memo";
+            // 
+            // dataTableWaitNet
+            // 
+            this.dataTableWaitNet.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn32,
+            this.dataColumn33,
+            this.dataColumn34,
+            this.dataColumn35,
+            this.dataColumn36,
+            this.dataColumn37,
+            this.dataColumn38,
+            this.dataColumn39,
+            this.dataColumn40,
+            this.dataColumn41,
+            this.dataColumn42,
+            this.dataColumn43,
+            this.dataColumn44,
+            this.dataColumn45,
+            this.dataColumn46,
+            this.dataColumn47,
+            this.dataColumn48,
+            this.dataColumn49,
+            this.dataColumn50,
+            this.dataColumn51,
+            this.dataColumn52,
+            this.dataColumn53,
+            this.dataColumn54});
+            this.dataTableWaitNet.TableName = "结净待提交";
+            // 
+            // dataColumn32
+            // 
+            this.dataColumn32.Caption = "车号";
+            this.dataColumn32.ColumnName = "railwayNo";
+            // 
+            // dataColumn33
+            // 
+            this.dataColumn33.Caption = "毛重(T)";
+            this.dataColumn33.ColumnName = "grossWeight";
+            // 
+            // dataColumn34
+            // 
+            this.dataColumn34.Caption = "皮重(T)";
+            this.dataColumn34.ColumnName = "tareWeight";
+            // 
+            // dataColumn35
+            // 
+            this.dataColumn35.Caption = "净重(T)";
+            this.dataColumn35.ColumnName = "netWeight";
+            // 
+            // dataColumn36
+            // 
+            this.dataColumn36.Caption = "物料名称";
+            this.dataColumn36.ColumnName = "matterName";
+            // 
+            // dataColumn37
+            // 
+            this.dataColumn37.Caption = "发货单位";
+            this.dataColumn37.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn38
+            // 
+            this.dataColumn38.Caption = "收货单位";
+            this.dataColumn38.ColumnName = "receivingUintName";
+            // 
+            // dataColumn39
+            // 
+            this.dataColumn39.Caption = "毛重计量时间";
+            this.dataColumn39.ColumnName = "grossTime";
+            // 
+            // dataColumn40
+            // 
+            this.dataColumn40.Caption = "皮重计量时间";
+            this.dataColumn40.ColumnName = "tareTime";
+            // 
+            // dataColumn41
+            // 
+            this.dataColumn41.Caption = "净重计量时间";
+            this.dataColumn41.ColumnName = "netTime";
+            // 
+            // dataColumn42
+            // 
+            this.dataColumn42.Caption = "委托编号";
+            this.dataColumn42.ColumnName = "predictionNo";
+            // 
+            // dataColumn43
+            // 
+            this.dataColumn43.Caption = "结净编号";
+            this.dataColumn43.ColumnName = "actualNo";
+            // 
+            // dataColumn44
+            // 
+            this.dataColumn44.Caption = "物料编号";
+            this.dataColumn44.ColumnName = "matterNo";
+            // 
+            // dataColumn45
+            // 
+            this.dataColumn45.Caption = "毛重计量作业编号";
+            this.dataColumn45.ColumnName = "actualFirst1No";
+            // 
+            // dataColumn46
+            // 
+            this.dataColumn46.Caption = "毛重计量员姓名";
+            this.dataColumn46.ColumnName = "grossManName";
+            // 
+            // dataColumn47
+            // 
+            this.dataColumn47.Caption = "毛重计量点名称";
+            this.dataColumn47.ColumnName = "baseSpot1Name";
+            // 
+            // dataColumn48
+            // 
+            this.dataColumn48.Caption = "皮重计量作业编号";
+            this.dataColumn48.ColumnName = "actualFirst2No";
+            // 
+            // dataColumn49
+            // 
+            this.dataColumn49.Caption = "皮重计量员姓名";
+            this.dataColumn49.ColumnName = "tareManName";
+            // 
+            // dataColumn50
+            // 
+            this.dataColumn50.Caption = "皮重计量点名称";
+            this.dataColumn50.ColumnName = "baseSpot2Name";
+            // 
+            // dataColumn51
+            // 
+            this.dataColumn51.Caption = "净重计量员姓名";
+            this.dataColumn51.ColumnName = "netManName";
+            // 
+            // dataColumn52
+            // 
+            this.dataColumn52.Caption = "净重计量点名称";
+            this.dataColumn52.ColumnName = "netSpot3Name";
+            // 
+            // dataColumn53
+            // 
+            this.dataColumn53.Caption = "轨道衡类型名称";
+            this.dataColumn53.ColumnName = "railwayTypeName";
+            // 
+            // dataColumn54
+            // 
+            this.dataColumn54.Caption = "备注";
+            this.dataColumn54.ColumnName = "memo";
+            // 
+            // ultraTabPageControl3
+            // 
+            this.ultraTabPageControl3.Controls.Add(this.ultraGridFirst);
+            this.ultraTabPageControl3.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabPageControl3.Name = "ultraTabPageControl3";
+            this.ultraTabPageControl3.Size = new System.Drawing.Size(947, 645);
+            // 
+            // ultraGridFirst
+            // 
+            this.ultraGridFirst.DataMember = "一次计量数据";
+            this.ultraGridFirst.DataSource = this.dataSetFirst;
+            ultraGridColumn15.Header.VisiblePosition = 0;
+            ultraGridColumn15.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn15.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn15.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn15.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn16.Header.VisiblePosition = 1;
+            ultraGridColumn16.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn16.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn16.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn16.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn17.Header.VisiblePosition = 2;
+            ultraGridColumn17.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn17.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn17.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn17.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn18.Header.VisiblePosition = 3;
+            ultraGridColumn18.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn18.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn18.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn18.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn19.Header.VisiblePosition = 4;
+            ultraGridColumn19.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn19.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn19.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn19.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn20.Header.VisiblePosition = 5;
+            ultraGridColumn20.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn20.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn20.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn20.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn21.Header.VisiblePosition = 6;
+            ultraGridColumn21.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn21.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn21.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn21.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn22.Header.VisiblePosition = 7;
+            ultraGridColumn22.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn22.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn22.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn22.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn23.Header.VisiblePosition = 8;
+            ultraGridColumn23.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn23.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn23.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn23.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn24.Header.VisiblePosition = 9;
+            ultraGridColumn24.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn24.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn24.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn24.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn25.Header.VisiblePosition = 10;
+            ultraGridColumn25.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn25.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn25.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn25.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn26.Header.VisiblePosition = 11;
+            ultraGridColumn26.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn26.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn26.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn26.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn27.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.Edit;
+            ultraGridColumn27.DataType = typeof(bool);
+            ultraGridColumn27.DefaultCellValue = false;
+            ultraGridColumn27.Header.Caption = "选择";
+            ultraGridColumn27.Header.VisiblePosition = 12;
+            ultraGridColumn27.RowLayoutColumnInfo.OriginX = 0;
+            ultraGridColumn27.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn27.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn27.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn27.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
+            ultraGridBand2.Columns.AddRange(new object[] {
+            ultraGridColumn15,
+            ultraGridColumn16,
+            ultraGridColumn17,
+            ultraGridColumn18,
+            ultraGridColumn19,
+            ultraGridColumn20,
+            ultraGridColumn21,
+            ultraGridColumn22,
+            ultraGridColumn23,
+            ultraGridColumn24,
+            ultraGridColumn25,
+            ultraGridColumn26,
+            ultraGridColumn27});
+            ultraGridBand2.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridFirst.DisplayLayout.BandsSerializer.Add(ultraGridBand2);
+            this.ultraGridFirst.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridFirst.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridFirst.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance4.TextVAlignAsString = "Middle";
+            this.ultraGridFirst.DisplayLayout.Override.CellAppearance = appearance4;
+            this.ultraGridFirst.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance5.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridFirst.DisplayLayout.Override.HeaderAppearance = appearance5;
+            this.ultraGridFirst.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridFirst.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridFirst.DisplayLayout.Override.MinRowHeight = 21;
+            appearance6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance6.TextVAlignAsString = "Middle";
+            this.ultraGridFirst.DisplayLayout.Override.RowSelectorAppearance = appearance6;
+            this.ultraGridFirst.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridFirst.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridFirst.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridFirst.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridFirst.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridFirst.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridFirst.Location = new System.Drawing.Point(0, 0);
+            this.ultraGridFirst.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridFirst.Name = "ultraGridFirst";
+            this.ultraGridFirst.Size = new System.Drawing.Size(947, 645);
+            this.ultraGridFirst.TabIndex = 9;
+            this.ultraGridFirst.AfterRowActivate += new System.EventHandler(this.ultraGridFirst_AfterRowActivate);
+            // 
+            // ultraTabPageControl4
+            // 
+            this.ultraTabPageControl4.Controls.Add(this.cbFirstWait);
+            this.ultraTabPageControl4.Controls.Add(this.ultraGridWaitFirst);
+            this.ultraTabPageControl4.Controls.Add(this.panel2);
+            this.ultraTabPageControl4.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabPageControl4.Name = "ultraTabPageControl4";
+            this.ultraTabPageControl4.Size = new System.Drawing.Size(947, 645);
+            // 
+            // cbFirstWait
+            // 
+            this.cbFirstWait.AutoSize = true;
+            this.cbFirstWait.Location = new System.Drawing.Point(5, 43);
+            this.cbFirstWait.Name = "cbFirstWait";
+            this.cbFirstWait.Size = new System.Drawing.Size(15, 14);
+            this.cbFirstWait.TabIndex = 14;
+            this.cbFirstWait.UseVisualStyleBackColor = true;
+            this.cbFirstWait.CheckedChanged += new System.EventHandler(this.cbFirstWait_CheckedChanged);
+            // 
+            // ultraGridWaitFirst
+            // 
+            this.ultraGridWaitFirst.DataMember = "一次待提交";
+            this.ultraGridWaitFirst.DataSource = this.dataSetFirst;
+            ultraGridColumn28.Header.VisiblePosition = 0;
+            ultraGridColumn28.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn28.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn28.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn28.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn29.Header.VisiblePosition = 1;
+            ultraGridColumn29.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn29.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn29.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn29.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn30.Header.VisiblePosition = 2;
+            ultraGridColumn30.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn30.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn30.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn30.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn31.Header.VisiblePosition = 3;
+            ultraGridColumn31.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn31.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn31.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn31.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn32.Header.VisiblePosition = 4;
+            ultraGridColumn32.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn32.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn32.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn32.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn33.Header.VisiblePosition = 5;
+            ultraGridColumn33.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn33.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn33.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn33.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn34.Header.VisiblePosition = 6;
+            ultraGridColumn34.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn34.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn34.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn34.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn35.Header.VisiblePosition = 7;
+            ultraGridColumn35.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn35.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn35.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn35.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn36.Header.VisiblePosition = 8;
+            ultraGridColumn36.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn36.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn36.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn36.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn37.Header.VisiblePosition = 9;
+            ultraGridColumn37.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn37.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn37.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn37.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn38.Header.VisiblePosition = 10;
+            ultraGridColumn38.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn38.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn38.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn38.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn39.Header.VisiblePosition = 11;
+            ultraGridColumn39.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn39.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn39.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn39.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn40.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.Edit;
+            ultraGridColumn40.DataType = typeof(bool);
+            ultraGridColumn40.DefaultCellValue = false;
+            ultraGridColumn40.Header.Caption = "选择";
+            ultraGridColumn40.Header.VisiblePosition = 12;
+            ultraGridColumn40.RowLayoutColumnInfo.OriginX = 0;
+            ultraGridColumn40.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn40.RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(39, 0);
+            ultraGridColumn40.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn40.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn40.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
+            ultraGridBand3.Columns.AddRange(new object[] {
+            ultraGridColumn28,
+            ultraGridColumn29,
+            ultraGridColumn30,
+            ultraGridColumn31,
+            ultraGridColumn32,
+            ultraGridColumn33,
+            ultraGridColumn34,
+            ultraGridColumn35,
+            ultraGridColumn36,
+            ultraGridColumn37,
+            ultraGridColumn38,
+            ultraGridColumn39,
+            ultraGridColumn40});
+            ultraGridBand3.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridWaitFirst.DisplayLayout.BandsSerializer.Add(ultraGridBand3);
+            this.ultraGridWaitFirst.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridWaitFirst.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridWaitFirst.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance13.TextVAlignAsString = "Middle";
+            this.ultraGridWaitFirst.DisplayLayout.Override.CellAppearance = appearance13;
+            this.ultraGridWaitFirst.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance14.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridWaitFirst.DisplayLayout.Override.HeaderAppearance = appearance14;
+            this.ultraGridWaitFirst.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridWaitFirst.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridWaitFirst.DisplayLayout.Override.MinRowHeight = 21;
+            appearance15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance15.TextVAlignAsString = "Middle";
+            this.ultraGridWaitFirst.DisplayLayout.Override.RowSelectorAppearance = appearance15;
+            this.ultraGridWaitFirst.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridWaitFirst.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridWaitFirst.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridWaitFirst.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridWaitFirst.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridWaitFirst.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridWaitFirst.Location = new System.Drawing.Point(0, 38);
+            this.ultraGridWaitFirst.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridWaitFirst.Name = "ultraGridWaitFirst";
+            this.ultraGridWaitFirst.Size = new System.Drawing.Size(947, 607);
+            this.ultraGridWaitFirst.TabIndex = 9;
+            this.ultraGridWaitFirst.AfterRowActivate += new System.EventHandler(this.ultraGridWaitFirst_AfterRowActivate);
+            // 
+            // panel2
+            // 
+            this.panel2.Controls.Add(this.btnSubmitFirstWait);
+            this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel2.Location = new System.Drawing.Point(0, 0);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(947, 38);
+            this.panel2.TabIndex = 0;
+            // 
+            // btnSubmitFirstWait
+            // 
+            this.btnSubmitFirstWait.BackColor = System.Drawing.Color.DodgerBlue;
+            this.btnSubmitFirstWait.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnSubmitFirstWait.Font = new System.Drawing.Font("楷体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnSubmitFirstWait.ForeColor = System.Drawing.Color.White;
+            this.btnSubmitFirstWait.Location = new System.Drawing.Point(51, 3);
+            this.btnSubmitFirstWait.Margin = new System.Windows.Forms.Padding(4);
+            this.btnSubmitFirstWait.Name = "btnSubmitFirstWait";
+            this.btnSubmitFirstWait.Size = new System.Drawing.Size(80, 32);
+            this.btnSubmitFirstWait.TabIndex = 876;
+            this.btnSubmitFirstWait.Text = "提交";
+            this.btnSubmitFirstWait.UseVisualStyleBackColor = false;
+            this.btnSubmitFirstWait.Click += new System.EventHandler(this.btnSubmitFirstWait_Click);
+            // 
+            // ultraTabPageControl5
+            // 
+            this.ultraTabPageControl5.Controls.Add(this.cbNetWait);
+            this.ultraTabPageControl5.Controls.Add(this.ultraGridWaitNet);
+            this.ultraTabPageControl5.Controls.Add(this.panel3);
+            this.ultraTabPageControl5.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabPageControl5.Name = "ultraTabPageControl5";
+            this.ultraTabPageControl5.Size = new System.Drawing.Size(947, 645);
+            // 
+            // cbNetWait
+            // 
+            this.cbNetWait.AutoSize = true;
+            this.cbNetWait.Location = new System.Drawing.Point(5, 43);
+            this.cbNetWait.Name = "cbNetWait";
+            this.cbNetWait.Size = new System.Drawing.Size(15, 14);
+            this.cbNetWait.TabIndex = 15;
+            this.cbNetWait.UseVisualStyleBackColor = true;
+            this.cbNetWait.CheckedChanged += new System.EventHandler(this.cbNetWait_CheckedChanged);
+            // 
+            // ultraGridWaitNet
+            // 
+            this.ultraGridWaitNet.DataMember = "结净待提交";
+            this.ultraGridWaitNet.DataSource = this.dataSetFirst;
+            ultraGridColumn41.Header.VisiblePosition = 0;
+            ultraGridColumn41.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn41.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn41.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn41.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn42.Header.VisiblePosition = 1;
+            ultraGridColumn42.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn42.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn42.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn42.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn43.Header.VisiblePosition = 2;
+            ultraGridColumn43.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn43.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn43.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn43.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn44.Header.VisiblePosition = 3;
+            ultraGridColumn44.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn44.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn44.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn44.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn45.Header.VisiblePosition = 4;
+            ultraGridColumn45.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn45.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn45.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn45.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn46.Header.VisiblePosition = 5;
+            ultraGridColumn46.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn46.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn46.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn46.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn47.Header.VisiblePosition = 6;
+            ultraGridColumn47.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn47.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn47.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn47.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn48.Header.VisiblePosition = 7;
+            ultraGridColumn48.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn48.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn48.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn48.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn49.Header.VisiblePosition = 8;
+            ultraGridColumn49.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn49.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn49.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn49.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn50.Header.VisiblePosition = 9;
+            ultraGridColumn50.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn50.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn50.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn50.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn51.Header.VisiblePosition = 10;
+            ultraGridColumn51.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn51.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn51.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn51.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn52.Header.VisiblePosition = 11;
+            ultraGridColumn52.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn52.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn52.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn52.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn53.Header.VisiblePosition = 12;
+            ultraGridColumn53.RowLayoutColumnInfo.OriginX = 26;
+            ultraGridColumn53.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn53.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn53.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn54.Header.VisiblePosition = 13;
+            ultraGridColumn54.RowLayoutColumnInfo.OriginX = 28;
+            ultraGridColumn54.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn54.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn54.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn55.Header.VisiblePosition = 14;
+            ultraGridColumn55.RowLayoutColumnInfo.OriginX = 30;
+            ultraGridColumn55.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn55.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn55.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn56.Header.VisiblePosition = 15;
+            ultraGridColumn56.RowLayoutColumnInfo.OriginX = 32;
+            ultraGridColumn56.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn56.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn56.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn57.Header.VisiblePosition = 16;
+            ultraGridColumn57.RowLayoutColumnInfo.OriginX = 34;
+            ultraGridColumn57.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn57.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn57.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn58.Header.VisiblePosition = 17;
+            ultraGridColumn58.RowLayoutColumnInfo.OriginX = 36;
+            ultraGridColumn58.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn58.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn58.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn59.Header.VisiblePosition = 18;
+            ultraGridColumn59.RowLayoutColumnInfo.OriginX = 38;
+            ultraGridColumn59.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn59.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn59.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn60.Header.VisiblePosition = 19;
+            ultraGridColumn60.RowLayoutColumnInfo.OriginX = 40;
+            ultraGridColumn60.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn60.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn60.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn61.Header.VisiblePosition = 20;
+            ultraGridColumn61.RowLayoutColumnInfo.OriginX = 42;
+            ultraGridColumn61.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn61.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn61.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn62.Header.VisiblePosition = 21;
+            ultraGridColumn62.RowLayoutColumnInfo.OriginX = 44;
+            ultraGridColumn62.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn62.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn62.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn63.Header.VisiblePosition = 22;
+            ultraGridColumn63.RowLayoutColumnInfo.OriginX = 46;
+            ultraGridColumn63.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn63.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn63.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn64.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.Edit;
+            ultraGridColumn64.DataType = typeof(bool);
+            ultraGridColumn64.DefaultCellValue = false;
+            ultraGridColumn64.Header.Caption = "选择";
+            ultraGridColumn64.Header.VisiblePosition = 23;
+            ultraGridColumn64.RowLayoutColumnInfo.OriginX = 0;
+            ultraGridColumn64.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn64.RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(40, 0);
+            ultraGridColumn64.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn64.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn64.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
+            ultraGridBand4.Columns.AddRange(new object[] {
+            ultraGridColumn41,
+            ultraGridColumn42,
+            ultraGridColumn43,
+            ultraGridColumn44,
+            ultraGridColumn45,
+            ultraGridColumn46,
+            ultraGridColumn47,
+            ultraGridColumn48,
+            ultraGridColumn49,
+            ultraGridColumn50,
+            ultraGridColumn51,
+            ultraGridColumn52,
+            ultraGridColumn53,
+            ultraGridColumn54,
+            ultraGridColumn55,
+            ultraGridColumn56,
+            ultraGridColumn57,
+            ultraGridColumn58,
+            ultraGridColumn59,
+            ultraGridColumn60,
+            ultraGridColumn61,
+            ultraGridColumn62,
+            ultraGridColumn63,
+            ultraGridColumn64});
+            ultraGridBand4.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridWaitNet.DisplayLayout.BandsSerializer.Add(ultraGridBand4);
+            this.ultraGridWaitNet.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridWaitNet.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridWaitNet.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance16.TextVAlignAsString = "Middle";
+            this.ultraGridWaitNet.DisplayLayout.Override.CellAppearance = appearance16;
+            this.ultraGridWaitNet.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance17.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridWaitNet.DisplayLayout.Override.HeaderAppearance = appearance17;
+            this.ultraGridWaitNet.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridWaitNet.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridWaitNet.DisplayLayout.Override.MinRowHeight = 21;
+            appearance18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance18.TextVAlignAsString = "Middle";
+            this.ultraGridWaitNet.DisplayLayout.Override.RowSelectorAppearance = appearance18;
+            this.ultraGridWaitNet.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridWaitNet.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridWaitNet.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridWaitNet.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridWaitNet.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridWaitNet.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridWaitNet.Location = new System.Drawing.Point(0, 38);
+            this.ultraGridWaitNet.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridWaitNet.Name = "ultraGridWaitNet";
+            this.ultraGridWaitNet.Size = new System.Drawing.Size(947, 607);
+            this.ultraGridWaitNet.TabIndex = 9;
+            this.ultraGridWaitNet.AfterRowActivate += new System.EventHandler(this.ultraGridWaitNet_AfterRowActivate);
+            // 
+            // panel3
+            // 
+            this.panel3.Controls.Add(this.btnNetSubmit);
+            this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel3.Location = new System.Drawing.Point(0, 0);
+            this.panel3.Name = "panel3";
+            this.panel3.Size = new System.Drawing.Size(947, 38);
+            this.panel3.TabIndex = 1;
+            // 
+            // btnNetSubmit
+            // 
+            this.btnNetSubmit.BackColor = System.Drawing.Color.DodgerBlue;
+            this.btnNetSubmit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnNetSubmit.Font = new System.Drawing.Font("楷体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnNetSubmit.ForeColor = System.Drawing.Color.White;
+            this.btnNetSubmit.Location = new System.Drawing.Point(51, 3);
+            this.btnNetSubmit.Margin = new System.Windows.Forms.Padding(4);
+            this.btnNetSubmit.Name = "btnNetSubmit";
+            this.btnNetSubmit.Size = new System.Drawing.Size(80, 32);
+            this.btnNetSubmit.TabIndex = 875;
+            this.btnNetSubmit.Text = "提交";
+            this.btnNetSubmit.UseVisualStyleBackColor = false;
+            this.btnNetSubmit.Click += new System.EventHandler(this.btnNetSubmit_Click);
+            // 
+            // ultraTabPageControl2
+            // 
+            this.ultraTabPageControl2.Controls.Add(this.ultraGridLocalFirst);
+            this.ultraTabPageControl2.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabPageControl2.Name = "ultraTabPageControl2";
+            this.ultraTabPageControl2.Size = new System.Drawing.Size(947, 645);
+            // 
+            // ultraGridLocalFirst
+            // 
+            this.ultraGridLocalFirst.DataMember = "本地一次";
+            this.ultraGridLocalFirst.DataSource = this.dataSetLocal;
+            ultraGridColumn65.Header.VisiblePosition = 0;
+            ultraGridColumn65.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn65.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn65.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn65.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn66.Header.VisiblePosition = 1;
+            ultraGridColumn66.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn66.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn66.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn66.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn67.Header.VisiblePosition = 2;
+            ultraGridColumn67.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn67.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn67.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn67.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn68.Header.VisiblePosition = 3;
+            ultraGridColumn68.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn68.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn68.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn68.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn69.Header.VisiblePosition = 4;
+            ultraGridColumn69.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn69.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn69.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn69.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn70.Header.VisiblePosition = 5;
+            ultraGridColumn70.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn70.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn70.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn70.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn71.Header.VisiblePosition = 6;
+            ultraGridColumn71.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn71.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn71.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn71.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn72.Header.VisiblePosition = 7;
+            ultraGridColumn72.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn72.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn72.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn72.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn73.Header.VisiblePosition = 8;
+            ultraGridColumn73.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn73.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn73.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn73.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn74.Header.VisiblePosition = 9;
+            ultraGridColumn74.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn74.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn74.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn74.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn75.Header.VisiblePosition = 10;
+            ultraGridColumn75.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn75.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn75.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn75.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn76.Header.VisiblePosition = 11;
+            ultraGridColumn76.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn76.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn76.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn76.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridBand5.Columns.AddRange(new object[] {
+            ultraGridColumn65,
+            ultraGridColumn66,
+            ultraGridColumn67,
+            ultraGridColumn68,
+            ultraGridColumn69,
+            ultraGridColumn70,
+            ultraGridColumn71,
+            ultraGridColumn72,
+            ultraGridColumn73,
+            ultraGridColumn74,
+            ultraGridColumn75,
+            ultraGridColumn76});
+            ultraGridBand5.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridLocalFirst.DisplayLayout.BandsSerializer.Add(ultraGridBand5);
+            this.ultraGridLocalFirst.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridLocalFirst.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridLocalFirst.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance10.TextVAlignAsString = "Middle";
+            this.ultraGridLocalFirst.DisplayLayout.Override.CellAppearance = appearance10;
+            this.ultraGridLocalFirst.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance11.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridLocalFirst.DisplayLayout.Override.HeaderAppearance = appearance11;
+            this.ultraGridLocalFirst.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridLocalFirst.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridLocalFirst.DisplayLayout.Override.MinRowHeight = 21;
+            appearance12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance12.TextVAlignAsString = "Middle";
+            this.ultraGridLocalFirst.DisplayLayout.Override.RowSelectorAppearance = appearance12;
+            this.ultraGridLocalFirst.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridLocalFirst.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridLocalFirst.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridLocalFirst.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridLocalFirst.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridLocalFirst.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridLocalFirst.Location = new System.Drawing.Point(0, 0);
+            this.ultraGridLocalFirst.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridLocalFirst.Name = "ultraGridLocalFirst";
+            this.ultraGridLocalFirst.Size = new System.Drawing.Size(947, 645);
+            this.ultraGridLocalFirst.TabIndex = 10;
+            // 
+            // dataSetLocal
+            // 
+            this.dataSetLocal.DataSetName = "NewDataSet";
+            this.dataSetLocal.Tables.AddRange(new System.Data.DataTable[] {
+            this.dataTableLocalFirst,
+            this.dataTableLocalNet});
+            // 
+            // dataTableLocalFirst
+            // 
+            this.dataTableLocalFirst.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn81,
+            this.dataColumn82,
+            this.dataColumn83,
+            this.dataColumn84,
+            this.dataColumn85,
+            this.dataColumn86,
+            this.dataColumn87,
+            this.dataColumn88,
+            this.dataColumn89,
+            this.dataColumn90,
+            this.dataColumn91,
+            this.dataColumn92});
+            this.dataTableLocalFirst.TableName = "本地一次";
+            // 
+            // dataColumn81
+            // 
+            this.dataColumn81.Caption = "作业编号";
+            this.dataColumn81.ColumnName = "actualFirstNo";
+            // 
+            // dataColumn82
+            // 
+            this.dataColumn82.Caption = "委托编号";
+            this.dataColumn82.ColumnName = "predictionNo";
+            // 
+            // dataColumn83
+            // 
+            this.dataColumn83.Caption = "车号";
+            this.dataColumn83.ColumnName = "railwayNo";
+            // 
+            // dataColumn84
+            // 
+            this.dataColumn84.Caption = "物料编号";
+            this.dataColumn84.ColumnName = "matterNo";
+            // 
+            // dataColumn85
+            // 
+            this.dataColumn85.Caption = "物料名称";
+            this.dataColumn85.ColumnName = "matterName";
+            // 
+            // dataColumn86
+            // 
+            this.dataColumn86.Caption = "发货单位";
+            this.dataColumn86.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn87
+            // 
+            this.dataColumn87.Caption = "收货单位";
+            this.dataColumn87.ColumnName = "receivingUintName";
+            // 
+            // dataColumn88
+            // 
+            this.dataColumn88.Caption = "计量重量(T)";
+            this.dataColumn88.ColumnName = "meterWeight";
+            // 
+            // dataColumn89
+            // 
+            this.dataColumn89.Caption = "计量点";
+            this.dataColumn89.ColumnName = "baseSpotName";
+            // 
+            // dataColumn90
+            // 
+            this.dataColumn90.Caption = "计量员姓名";
+            this.dataColumn90.ColumnName = "createManName";
+            // 
+            // dataColumn91
+            // 
+            this.dataColumn91.Caption = "创建时间";
+            this.dataColumn91.ColumnName = "createTime";
+            // 
+            // dataColumn92
+            // 
+            this.dataColumn92.Caption = "备注";
+            this.dataColumn92.ColumnName = "memo";
+            // 
+            // dataTableLocalNet
+            // 
+            this.dataTableLocalNet.Columns.AddRange(new System.Data.DataColumn[] {
+            this.dataColumn93,
+            this.dataColumn94,
+            this.dataColumn95,
+            this.dataColumn96,
+            this.dataColumn97,
+            this.dataColumn98,
+            this.dataColumn99,
+            this.dataColumn100,
+            this.dataColumn101,
+            this.dataColumn102,
+            this.dataColumn103,
+            this.dataColumn104,
+            this.dataColumn105,
+            this.dataColumn106,
+            this.dataColumn107,
+            this.dataColumn108,
+            this.dataColumn109,
+            this.dataColumn110,
+            this.dataColumn111,
+            this.dataColumn112,
+            this.dataColumn113,
+            this.dataColumn114,
+            this.dataColumn115});
+            this.dataTableLocalNet.TableName = "本地结净";
+            // 
+            // dataColumn93
+            // 
+            this.dataColumn93.Caption = "车号";
+            this.dataColumn93.ColumnName = "railwayNo";
+            // 
+            // dataColumn94
+            // 
+            this.dataColumn94.Caption = "毛重(T)";
+            this.dataColumn94.ColumnName = "grossWeight";
+            // 
+            // dataColumn95
+            // 
+            this.dataColumn95.Caption = "皮重(T)";
+            this.dataColumn95.ColumnName = "tareWeight";
+            // 
+            // dataColumn96
+            // 
+            this.dataColumn96.Caption = "净重(T)";
+            this.dataColumn96.ColumnName = "netWeight";
+            // 
+            // dataColumn97
+            // 
+            this.dataColumn97.Caption = "物料名称";
+            this.dataColumn97.ColumnName = "matterName";
+            // 
+            // dataColumn98
+            // 
+            this.dataColumn98.Caption = "发货单位";
+            this.dataColumn98.ColumnName = "forwardingUnitName";
+            // 
+            // dataColumn99
+            // 
+            this.dataColumn99.Caption = "收货单位";
+            this.dataColumn99.ColumnName = "receivingUintName";
+            // 
+            // dataColumn100
+            // 
+            this.dataColumn100.Caption = "毛重计量时间";
+            this.dataColumn100.ColumnName = "grossTime";
+            // 
+            // dataColumn101
+            // 
+            this.dataColumn101.Caption = "皮重计量时间";
+            this.dataColumn101.ColumnName = "tareTime";
+            // 
+            // dataColumn102
+            // 
+            this.dataColumn102.Caption = "净重计量时间";
+            this.dataColumn102.ColumnName = "netTime";
+            // 
+            // dataColumn103
+            // 
+            this.dataColumn103.Caption = "委托编号";
+            this.dataColumn103.ColumnName = "predictionNo";
+            // 
+            // dataColumn104
+            // 
+            this.dataColumn104.Caption = "结净编号";
+            this.dataColumn104.ColumnName = "actualNo";
+            // 
+            // dataColumn105
+            // 
+            this.dataColumn105.Caption = "物料编号";
+            this.dataColumn105.ColumnName = "matterNo";
+            // 
+            // dataColumn106
+            // 
+            this.dataColumn106.Caption = "毛重计量作业编号";
+            this.dataColumn106.ColumnName = "actualFirst1No";
+            // 
+            // dataColumn107
+            // 
+            this.dataColumn107.Caption = "毛重计量员姓名";
+            this.dataColumn107.ColumnName = "grossManName";
+            // 
+            // dataColumn108
+            // 
+            this.dataColumn108.Caption = "毛重计量点名称";
+            this.dataColumn108.ColumnName = "baseSpot1Name";
+            // 
+            // dataColumn109
+            // 
+            this.dataColumn109.Caption = "皮重计量作业编号";
+            this.dataColumn109.ColumnName = "actualFirst2No";
+            // 
+            // dataColumn110
+            // 
+            this.dataColumn110.Caption = "皮重计量员姓名";
+            this.dataColumn110.ColumnName = "tareManName";
+            // 
+            // dataColumn111
+            // 
+            this.dataColumn111.Caption = "皮重计量点名称";
+            this.dataColumn111.ColumnName = "baseSpot2Name";
+            // 
+            // dataColumn112
+            // 
+            this.dataColumn112.Caption = "净重计量员姓名";
+            this.dataColumn112.ColumnName = "netManName";
+            // 
+            // dataColumn113
+            // 
+            this.dataColumn113.Caption = "净重计量点名称";
+            this.dataColumn113.ColumnName = "netSpot3Name";
+            // 
+            // dataColumn114
+            // 
+            this.dataColumn114.Caption = "轨道衡类型名称";
+            this.dataColumn114.ColumnName = "railwayTypeName";
+            // 
+            // dataColumn115
+            // 
+            this.dataColumn115.Caption = "备注";
+            this.dataColumn115.ColumnName = "memo";
+            // 
+            // ultraTabPageControl6
+            // 
+            this.ultraTabPageControl6.Controls.Add(this.ultraGridLocalNet);
+            this.ultraTabPageControl6.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabPageControl6.Name = "ultraTabPageControl6";
+            this.ultraTabPageControl6.Size = new System.Drawing.Size(947, 645);
+            // 
+            // ultraGridLocalNet
+            // 
+            this.ultraGridLocalNet.DataMember = "本地结净";
+            this.ultraGridLocalNet.DataSource = this.dataSetLocal;
+            ultraGridColumn77.Header.VisiblePosition = 0;
+            ultraGridColumn77.RowLayoutColumnInfo.OriginX = 2;
+            ultraGridColumn77.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn77.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn77.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn78.Header.VisiblePosition = 1;
+            ultraGridColumn78.RowLayoutColumnInfo.OriginX = 4;
+            ultraGridColumn78.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn78.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn78.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn79.Header.VisiblePosition = 2;
+            ultraGridColumn79.RowLayoutColumnInfo.OriginX = 6;
+            ultraGridColumn79.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn79.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn79.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn80.Header.VisiblePosition = 3;
+            ultraGridColumn80.RowLayoutColumnInfo.OriginX = 8;
+            ultraGridColumn80.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn80.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn80.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn81.Header.VisiblePosition = 4;
+            ultraGridColumn81.RowLayoutColumnInfo.OriginX = 10;
+            ultraGridColumn81.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn81.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn81.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn82.Header.VisiblePosition = 5;
+            ultraGridColumn82.RowLayoutColumnInfo.OriginX = 12;
+            ultraGridColumn82.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn82.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn82.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn83.Header.VisiblePosition = 6;
+            ultraGridColumn83.RowLayoutColumnInfo.OriginX = 14;
+            ultraGridColumn83.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn83.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn83.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn84.Header.VisiblePosition = 7;
+            ultraGridColumn84.RowLayoutColumnInfo.OriginX = 16;
+            ultraGridColumn84.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn84.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn84.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn85.Header.VisiblePosition = 8;
+            ultraGridColumn85.RowLayoutColumnInfo.OriginX = 18;
+            ultraGridColumn85.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn85.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn85.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn86.Header.VisiblePosition = 9;
+            ultraGridColumn86.RowLayoutColumnInfo.OriginX = 20;
+            ultraGridColumn86.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn86.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn86.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn87.Header.VisiblePosition = 10;
+            ultraGridColumn87.RowLayoutColumnInfo.OriginX = 22;
+            ultraGridColumn87.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn87.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn87.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn88.Header.VisiblePosition = 11;
+            ultraGridColumn88.RowLayoutColumnInfo.OriginX = 24;
+            ultraGridColumn88.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn88.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn88.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn89.Header.VisiblePosition = 12;
+            ultraGridColumn89.RowLayoutColumnInfo.OriginX = 26;
+            ultraGridColumn89.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn89.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn89.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn90.Header.VisiblePosition = 13;
+            ultraGridColumn90.RowLayoutColumnInfo.OriginX = 28;
+            ultraGridColumn90.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn90.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn90.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn91.Header.VisiblePosition = 14;
+            ultraGridColumn91.RowLayoutColumnInfo.OriginX = 30;
+            ultraGridColumn91.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn91.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn91.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn92.Header.VisiblePosition = 15;
+            ultraGridColumn92.RowLayoutColumnInfo.OriginX = 32;
+            ultraGridColumn92.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn92.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn92.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn93.Header.VisiblePosition = 16;
+            ultraGridColumn93.RowLayoutColumnInfo.OriginX = 34;
+            ultraGridColumn93.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn93.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn93.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn94.Header.VisiblePosition = 17;
+            ultraGridColumn94.RowLayoutColumnInfo.OriginX = 36;
+            ultraGridColumn94.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn94.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn94.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn95.Header.VisiblePosition = 18;
+            ultraGridColumn95.RowLayoutColumnInfo.OriginX = 38;
+            ultraGridColumn95.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn95.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn95.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn96.Header.VisiblePosition = 19;
+            ultraGridColumn96.RowLayoutColumnInfo.OriginX = 40;
+            ultraGridColumn96.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn96.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn96.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn97.Header.VisiblePosition = 20;
+            ultraGridColumn97.RowLayoutColumnInfo.OriginX = 42;
+            ultraGridColumn97.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn97.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn97.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn98.Header.VisiblePosition = 21;
+            ultraGridColumn98.RowLayoutColumnInfo.OriginX = 44;
+            ultraGridColumn98.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn98.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn98.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridColumn99.Header.VisiblePosition = 22;
+            ultraGridColumn99.RowLayoutColumnInfo.OriginX = 46;
+            ultraGridColumn99.RowLayoutColumnInfo.OriginY = 0;
+            ultraGridColumn99.RowLayoutColumnInfo.SpanX = 2;
+            ultraGridColumn99.RowLayoutColumnInfo.SpanY = 2;
+            ultraGridBand6.Columns.AddRange(new object[] {
+            ultraGridColumn77,
+            ultraGridColumn78,
+            ultraGridColumn79,
+            ultraGridColumn80,
+            ultraGridColumn81,
+            ultraGridColumn82,
+            ultraGridColumn83,
+            ultraGridColumn84,
+            ultraGridColumn85,
+            ultraGridColumn86,
+            ultraGridColumn87,
+            ultraGridColumn88,
+            ultraGridColumn89,
+            ultraGridColumn90,
+            ultraGridColumn91,
+            ultraGridColumn92,
+            ultraGridColumn93,
+            ultraGridColumn94,
+            ultraGridColumn95,
+            ultraGridColumn96,
+            ultraGridColumn97,
+            ultraGridColumn98,
+            ultraGridColumn99});
+            ultraGridBand6.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
+            this.ultraGridLocalNet.DisplayLayout.BandsSerializer.Add(ultraGridBand6);
+            this.ultraGridLocalNet.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
+            this.ultraGridLocalNet.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
+            this.ultraGridLocalNet.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
+            appearance7.TextVAlignAsString = "Middle";
+            this.ultraGridLocalNet.DisplayLayout.Override.CellAppearance = appearance7;
+            this.ultraGridLocalNet.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
+            appearance8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance8.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridLocalNet.DisplayLayout.Override.HeaderAppearance = appearance8;
+            this.ultraGridLocalNet.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
+            this.ultraGridLocalNet.DisplayLayout.Override.MaxSelectedRows = 1;
+            this.ultraGridLocalNet.DisplayLayout.Override.MinRowHeight = 21;
+            appearance9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance9.TextVAlignAsString = "Middle";
+            this.ultraGridLocalNet.DisplayLayout.Override.RowSelectorAppearance = appearance9;
+            this.ultraGridLocalNet.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
+            this.ultraGridLocalNet.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
+            this.ultraGridLocalNet.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
+            this.ultraGridLocalNet.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.True;
+            this.ultraGridLocalNet.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraGridLocalNet.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraGridLocalNet.Location = new System.Drawing.Point(0, 0);
+            this.ultraGridLocalNet.Margin = new System.Windows.Forms.Padding(4);
+            this.ultraGridLocalNet.Name = "ultraGridLocalNet";
+            this.ultraGridLocalNet.Size = new System.Drawing.Size(947, 645);
+            this.ultraGridLocalNet.TabIndex = 10;
+            // 
+            // panel1
+            // 
+            this.panel1.AutoScroll = true;
+            this.panel1.BackColor = System.Drawing.Color.Transparent;
+            this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
+            this.panel1.Location = new System.Drawing.Point(0, 0);
+            this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(488, 1049);
+            this.panel1.TabIndex = 8;
+            // 
+            // uTab
+            // 
+            this.uTab.Controls.Add(this.ultraTabSharedControlsPage1);
+            this.uTab.Location = new System.Drawing.Point(0, 0);
+            this.uTab.Name = "uTab";
+            this.uTab.SharedControlsPage = this.ultraTabSharedControlsPage2;
+            this.uTab.Size = new System.Drawing.Size(200, 100);
+            this.uTab.TabIndex = 0;
+            // 
+            // ultraTabSharedControlsPage1
+            // 
+            this.ultraTabSharedControlsPage1.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabSharedControlsPage1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ultraTabSharedControlsPage1.Name = "ultraTabSharedControlsPage1";
+            this.ultraTabSharedControlsPage1.Size = new System.Drawing.Size(947, 552);
+            // 
+            // ultraTabSharedControlsPage2
+            // 
+            this.ultraTabSharedControlsPage2.Location = new System.Drawing.Point(1, 20);
+            this.ultraTabSharedControlsPage2.Name = "ultraTabSharedControlsPage2";
+            this.ultraTabSharedControlsPage2.Size = new System.Drawing.Size(196, 77);
+            // 
+            // plMain
+            // 
+            this.plMain.Controls.Add(this.plCaptionMain);
+            this.plMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.plMain.Location = new System.Drawing.Point(488, 0);
+            this.plMain.Name = "plMain";
+            this.plMain.Size = new System.Drawing.Size(949, 1049);
+            this.plMain.TabIndex = 45;
+            // 
+            // plCaptionMain
+            // 
+            this.plCaptionMain.Controls.Add(this.ultraTabControl1);
+            this.plCaptionMain.Controls.Add(this.panel11);
+            this.plCaptionMain.Controls.Add(this.panel10);
+            this.plCaptionMain.Controls.Add(this.panel5);
+            this.plCaptionMain.Controls.Add(this.panel4);
+            this.plCaptionMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.plCaptionMain.Location = new System.Drawing.Point(0, 0);
+            this.plCaptionMain.Name = "plCaptionMain";
+            this.plCaptionMain.Size = new System.Drawing.Size(949, 1049);
+            this.plCaptionMain.TabIndex = 10;
+            // 
+            // ultraTabControl1
+            // 
+            this.ultraTabControl1.Controls.Add(this.ultraTabSharedControlsPage3);
+            this.ultraTabControl1.Controls.Add(this.ultraTabSharedControlsPage4);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl1);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl3);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl4);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl5);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl2);
+            this.ultraTabControl1.Controls.Add(this.ultraTabPageControl6);
+            this.ultraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ultraTabControl1.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ultraTabControl1.Location = new System.Drawing.Point(0, 378);
+            this.ultraTabControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ultraTabControl1.Name = "ultraTabControl1";
+            this.ultraTabControl1.SharedControlsPage = this.ultraTabSharedControlsPage4;
+            this.ultraTabControl1.Size = new System.Drawing.Size(949, 671);
+            this.ultraTabControl1.TabIndex = 11;
+            ultraTab2.TabPage = this.ultraTabPageControl1;
+            ultraTab2.Text = "计量委托";
+            ultraTab3.TabPage = this.ultraTabPageControl3;
+            ultraTab3.Text = "一次计量数据";
+            ultraTab4.TabPage = this.ultraTabPageControl4;
+            ultraTab4.Text = "待提交一次计量数据";
+            ultraTab5.TabPage = this.ultraTabPageControl5;
+            ultraTab5.Text = "待提交结净数据";
+            ultraTab7.TabPage = this.ultraTabPageControl2;
+            ultraTab7.Text = "本地待上传一次计量数据";
+            ultraTab8.TabPage = this.ultraTabPageControl6;
+            ultraTab8.Text = "本地待上传结净数据";
+            this.ultraTabControl1.Tabs.AddRange(new Infragistics.Win.UltraWinTabControl.UltraTab[] {
+            ultraTab2,
+            ultraTab3,
+            ultraTab4,
+            ultraTab5,
+            ultraTab7,
+            ultraTab8});
+            this.ultraTabControl1.ViewStyle = Infragistics.Win.UltraWinTabControl.ViewStyle.Office2007;
+            // 
+            // ultraTabSharedControlsPage3
+            // 
+            this.ultraTabSharedControlsPage3.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabSharedControlsPage3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ultraTabSharedControlsPage3.Name = "ultraTabSharedControlsPage3";
+            this.ultraTabSharedControlsPage3.Size = new System.Drawing.Size(947, 645);
+            // 
+            // ultraTabSharedControlsPage4
+            // 
+            this.ultraTabSharedControlsPage4.Location = new System.Drawing.Point(-10000, -10000);
+            this.ultraTabSharedControlsPage4.Name = "ultraTabSharedControlsPage4";
+            this.ultraTabSharedControlsPage4.Size = new System.Drawing.Size(947, 645);
+            // 
+            // panel11
+            // 
+            this.panel11.Controls.Add(this.cbSetFirst);
+            this.panel11.Controls.Add(this.cbJg);
+            this.panel11.Controls.Add(this.btnSave);
+            this.panel11.Controls.Add(this.btnOpenVoice);
+            this.panel11.Controls.Add(this.groupBox1);
+            this.panel11.Controls.Add(this.tableLayoutPanel4);
+            this.panel11.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel11.Location = new System.Drawing.Point(0, 157);
+            this.panel11.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel11.Name = "panel11";
+            this.panel11.Size = new System.Drawing.Size(949, 221);
+            this.panel11.TabIndex = 7;
+            // 
+            // cbSetFirst
+            // 
+            this.cbSetFirst.AutoSize = true;
+            this.cbSetFirst.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cbSetFirst.ForeColor = System.Drawing.Color.Black;
+            this.cbSetFirst.Location = new System.Drawing.Point(109, 179);
+            this.cbSetFirst.Name = "cbSetFirst";
+            this.cbSetFirst.Size = new System.Drawing.Size(154, 24);
+            this.cbSetFirst.TabIndex = 14;
+            this.cbSetFirst.Text = "设为一次计量";
+            this.cbSetFirst.UseVisualStyleBackColor = true;
+            this.cbSetFirst.CheckedChanged += new System.EventHandler(this.cbSetFirst_CheckedChanged);
+            // 
+            // cbJg
+            // 
+            this.cbJg.AutoSize = true;
+            this.cbJg.Checked = true;
+            this.cbJg.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.cbJg.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cbJg.ForeColor = System.Drawing.Color.Red;
+            this.cbJg.Location = new System.Drawing.Point(9, 179);
+            this.cbJg.Name = "cbJg";
+            this.cbJg.Size = new System.Drawing.Size(70, 24);
+            this.cbJg.TabIndex = 13;
+            this.cbJg.Text = "接管";
+            this.cbJg.UseVisualStyleBackColor = true;
+            this.cbJg.Visible = false;
+            this.cbJg.CheckedChanged += new System.EventHandler(this.cbJg_CheckedChanged);
+            // 
+            // btnSave
+            // 
+            this.btnSave.BackColor = System.Drawing.Color.DodgerBlue;
+            this.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnSave.Font = new System.Drawing.Font("楷体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnSave.ForeColor = System.Drawing.Color.White;
+            this.btnSave.Location = new System.Drawing.Point(324, 171);
+            this.btnSave.Margin = new System.Windows.Forms.Padding(4);
+            this.btnSave.Name = "btnSave";
+            this.btnSave.Size = new System.Drawing.Size(100, 40);
+            this.btnSave.TabIndex = 11;
+            this.btnSave.Text = "保存";
+            this.btnSave.UseVisualStyleBackColor = false;
+            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+            // 
+            // btnOpenVoice
+            // 
+            this.btnOpenVoice.BackColor = System.Drawing.Color.DodgerBlue;
+            this.btnOpenVoice.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnOpenVoice.Font = new System.Drawing.Font("楷体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnOpenVoice.ForeColor = System.Drawing.Color.White;
+            this.btnOpenVoice.Location = new System.Drawing.Point(482, 171);
+            this.btnOpenVoice.Margin = new System.Windows.Forms.Padding(4);
+            this.btnOpenVoice.Name = "btnOpenVoice";
+            this.btnOpenVoice.Size = new System.Drawing.Size(100, 40);
+            this.btnOpenVoice.TabIndex = 10;
+            this.btnOpenVoice.Text = "打开对讲";
+            this.btnOpenVoice.UseVisualStyleBackColor = false;
+            this.btnOpenVoice.Click += new System.EventHandler(this.btnOpenVoice_Click);
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.txtMsgInfo);
+            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.groupBox1.Location = new System.Drawing.Point(0, 84);
+            this.groupBox1.Margin = new System.Windows.Forms.Padding(4);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Padding = new System.Windows.Forms.Padding(4);
+            this.groupBox1.Size = new System.Drawing.Size(949, 85);
+            this.groupBox1.TabIndex = 8;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "提示信息";
+            // 
+            // txtMsgInfo
+            // 
+            this.txtMsgInfo.BackColor = System.Drawing.Color.White;
+            this.txtMsgInfo.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtMsgInfo.Enabled = false;
+            this.txtMsgInfo.Font = new System.Drawing.Font("宋体", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtMsgInfo.ForeColor = System.Drawing.Color.Red;
+            this.txtMsgInfo.Location = new System.Drawing.Point(4, 18);
+            this.txtMsgInfo.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.txtMsgInfo.Name = "txtMsgInfo";
+            this.txtMsgInfo.ReadOnly = true;
+            this.txtMsgInfo.Size = new System.Drawing.Size(941, 63);
+            this.txtMsgInfo.TabIndex = 3;
+            this.txtMsgInfo.Text = "";
+            // 
+            // tableLayoutPanel4
+            // 
+            this.tableLayoutPanel4.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
+            this.tableLayoutPanel4.ColumnCount = 4;
+            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 135F));
+            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 135F));
+            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel4.Controls.Add(this.txtMETER_TYPE, 0, 1);
+            this.tableLayoutPanel4.Controls.Add(this.label15, 2, 1);
+            this.tableLayoutPanel4.Controls.Add(this.label16, 2, 0);
+            this.tableLayoutPanel4.Controls.Add(this.label9, 0, 0);
+            this.tableLayoutPanel4.Controls.Add(this.label8, 0, 1);
+            this.tableLayoutPanel4.Controls.Add(this.txtMATTER_NAME, 1, 0);
+            this.tableLayoutPanel4.Controls.Add(this.txtFORWARDING_UNIT_NAME, 3, 0);
+            this.tableLayoutPanel4.Controls.Add(this.txtRECEIVING_UINT_NAME, 3, 1);
+            this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Top;
+            this.tableLayoutPanel4.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel4.Margin = new System.Windows.Forms.Padding(0);
+            this.tableLayoutPanel4.Name = "tableLayoutPanel4";
+            this.tableLayoutPanel4.Padding = new System.Windows.Forms.Padding(0, 6, 0, 6);
+            this.tableLayoutPanel4.RowCount = 2;
+            this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 46.875F));
+            this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 53.125F));
+            this.tableLayoutPanel4.Size = new System.Drawing.Size(949, 84);
+            this.tableLayoutPanel4.TabIndex = 7;
+            // 
+            // txtMETER_TYPE
+            // 
+            this.txtMETER_TYPE.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtMETER_TYPE.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.txtMETER_TYPE.Location = new System.Drawing.Point(141, 40);
+            this.txtMETER_TYPE.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtMETER_TYPE.Name = "txtMETER_TYPE";
+            this.txtMETER_TYPE.Size = new System.Drawing.Size(329, 37);
+            this.txtMETER_TYPE.TabIndex = 5;
+            this.txtMETER_TYPE.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label15
+            // 
+            this.label15.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label15.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.label15.Location = new System.Drawing.Point(479, 40);
+            this.label15.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label15.Name = "label15";
+            this.label15.Size = new System.Drawing.Size(127, 37);
+            this.label15.TabIndex = 1;
+            this.label15.Text = "收货单位";
+            this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label16
+            // 
+            this.label16.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label16.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.label16.Location = new System.Drawing.Point(479, 7);
+            this.label16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label16.Name = "label16";
+            this.label16.Size = new System.Drawing.Size(127, 32);
+            this.label16.TabIndex = 1;
+            this.label16.Text = "发货单位";
+            this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label9
+            // 
+            this.label9.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label9.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.label9.Location = new System.Drawing.Point(5, 7);
+            this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label9.Name = "label9";
+            this.label9.Size = new System.Drawing.Size(127, 32);
+            this.label9.TabIndex = 1;
+            this.label9.Text = "物资名称";
+            this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label8
+            // 
+            this.label8.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label8.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.label8.Location = new System.Drawing.Point(5, 40);
+            this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(127, 37);
+            this.label8.TabIndex = 1;
+            this.label8.Text = "检斤类型";
+            this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // txtMATTER_NAME
+            // 
+            this.txtMATTER_NAME.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtMATTER_NAME.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.txtMATTER_NAME.Location = new System.Drawing.Point(141, 7);
+            this.txtMATTER_NAME.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtMATTER_NAME.Name = "txtMATTER_NAME";
+            this.txtMATTER_NAME.Size = new System.Drawing.Size(329, 32);
+            this.txtMATTER_NAME.TabIndex = 2;
+            this.txtMATTER_NAME.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // txtFORWARDING_UNIT_NAME
+            // 
+            this.txtFORWARDING_UNIT_NAME.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtFORWARDING_UNIT_NAME.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.txtFORWARDING_UNIT_NAME.Location = new System.Drawing.Point(615, 7);
+            this.txtFORWARDING_UNIT_NAME.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtFORWARDING_UNIT_NAME.Name = "txtFORWARDING_UNIT_NAME";
+            this.txtFORWARDING_UNIT_NAME.Size = new System.Drawing.Size(329, 32);
+            this.txtFORWARDING_UNIT_NAME.TabIndex = 3;
+            this.txtFORWARDING_UNIT_NAME.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // txtRECEIVING_UINT_NAME
+            // 
+            this.txtRECEIVING_UINT_NAME.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtRECEIVING_UINT_NAME.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
+            this.txtRECEIVING_UINT_NAME.Location = new System.Drawing.Point(615, 40);
+            this.txtRECEIVING_UINT_NAME.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtRECEIVING_UINT_NAME.Name = "txtRECEIVING_UINT_NAME";
+            this.txtRECEIVING_UINT_NAME.Size = new System.Drawing.Size(329, 37);
+            this.txtRECEIVING_UINT_NAME.TabIndex = 4;
+            this.txtRECEIVING_UINT_NAME.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // panel10
+            // 
+            this.panel10.Controls.Add(this.tableLayoutPanel1);
+            this.panel10.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel10.Location = new System.Drawing.Point(0, 112);
+            this.panel10.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel10.Name = "panel10";
+            this.panel10.Size = new System.Drawing.Size(949, 45);
+            this.panel10.TabIndex = 6;
+            // 
+            // tableLayoutPanel1
+            // 
+            this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
+            this.tableLayoutPanel1.ColumnCount = 7;
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 34F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
+            this.tableLayoutPanel1.Controls.Add(this.btnTareSaveOver, 4, 0);
+            this.tableLayoutPanel1.Controls.Add(this.txtNet, 6, 0);
+            this.tableLayoutPanel1.Controls.Add(this.label22, 2, 0);
+            this.tableLayoutPanel1.Controls.Add(this.txtGroess, 1, 0);
+            this.tableLayoutPanel1.Controls.Add(this.label4, 5, 0);
+            this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0);
+            this.tableLayoutPanel1.Controls.Add(this.txtTare, 3, 0);
+            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(4);
+            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+            this.tableLayoutPanel1.RowCount = 1;
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel1.Size = new System.Drawing.Size(949, 45);
+            this.tableLayoutPanel1.TabIndex = 0;
+            // 
+            // btnTareSaveOver
+            // 
+            this.btnTareSaveOver.BackColor = System.Drawing.Color.DodgerBlue;
+            this.btnTareSaveOver.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.btnTareSaveOver.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnTareSaveOver.Font = new System.Drawing.Font("楷体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnTareSaveOver.ForeColor = System.Drawing.Color.White;
+            this.btnTareSaveOver.Location = new System.Drawing.Point(557, 5);
+            this.btnTareSaveOver.Margin = new System.Windows.Forms.Padding(4);
+            this.btnTareSaveOver.Name = "btnTareSaveOver";
+            this.btnTareSaveOver.Size = new System.Drawing.Size(112, 35);
+            this.btnTareSaveOver.TabIndex = 1;
+            this.btnTareSaveOver.Text = "匹配标识皮";
+            this.btnTareSaveOver.UseVisualStyleBackColor = false;
+            this.btnTareSaveOver.Click += new System.EventHandler(this.btnTareSaveOver_Click);
+            // 
+            // txtNet
+            // 
+            this.txtNet.AutoSize = true;
+            this.txtNet.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtNet.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtNet.Location = new System.Drawing.Point(779, 1);
+            this.txtNet.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtNet.Name = "txtNet";
+            this.txtNet.Size = new System.Drawing.Size(165, 43);
+            this.txtNet.TabIndex = 29;
+            this.txtNet.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            // 
+            // label22
+            // 
+            this.label22.AutoSize = true;
+            this.label22.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label22.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label22.Location = new System.Drawing.Point(278, 1);
+            this.label22.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label22.Name = "label22";
+            this.label22.Size = new System.Drawing.Size(92, 43);
+            this.label22.TabIndex = 24;
+            this.label22.Text = "皮重(T)";
+            this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // txtGroess
+            // 
+            this.txtGroess.AutoSize = true;
+            this.txtGroess.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtGroess.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroess.Location = new System.Drawing.Point(106, 1);
+            this.txtGroess.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.txtGroess.Name = "txtGroess";
+            this.txtGroess.Size = new System.Drawing.Size(163, 43);
+            this.txtGroess.TabIndex = 28;
+            this.txtGroess.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label4.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label4.Location = new System.Drawing.Point(678, 1);
+            this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(92, 43);
+            this.label4.TabIndex = 27;
+            this.label4.Text = "净重(T)";
+            this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label3.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label3.Location = new System.Drawing.Point(5, 1);
+            this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(92, 43);
+            this.label3.TabIndex = 22;
+            this.label3.Text = "毛重(T)";
+            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // txtTare
+            // 
+            this.txtTare.DecimalPlaces = 2;
+            this.txtTare.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.txtTare.Font = new System.Drawing.Font("宋体", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtTare.Location = new System.Drawing.Point(378, 4);
+            this.txtTare.Maximum = new decimal(new int[] {
+            999,
+            0,
+            0,
+            0});
+            this.txtTare.Name = "txtTare";
+            this.txtTare.Size = new System.Drawing.Size(171, 38);
+            this.txtTare.TabIndex = 30;
+            // 
+            // panel5
+            // 
+            this.panel5.Controls.Add(this.tableLayoutPanel2);
+            this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel5.Location = new System.Drawing.Point(0, 40);
+            this.panel5.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel5.Name = "panel5";
+            this.panel5.Size = new System.Drawing.Size(949, 72);
+            this.panel5.TabIndex = 5;
+            // 
+            // tableLayoutPanel2
+            // 
+            this.tableLayoutPanel2.ColumnCount = 2;
+            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F));
+            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel2.Controls.Add(this.panel7, 0, 0);
+            this.tableLayoutPanel2.Controls.Add(this.panel6, 1, 0);
+            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(4);
+            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
+            this.tableLayoutPanel2.RowCount = 1;
+            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel2.Size = new System.Drawing.Size(949, 72);
+            this.tableLayoutPanel2.TabIndex = 0;
+            // 
+            // panel7
+            // 
+            this.panel7.Controls.Add(this.panel9);
+            this.panel7.Controls.Add(this.panel8);
+            this.panel7.Location = new System.Drawing.Point(3, 2);
+            this.panel7.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel7.Name = "panel7";
+            this.panel7.Size = new System.Drawing.Size(144, 68);
+            this.panel7.TabIndex = 43;
+            // 
+            // panel9
+            // 
+            this.panel9.Controls.Add(this.btnHRed);
+            this.panel9.Controls.Add(this.picHRed);
+            this.panel9.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel9.Location = new System.Drawing.Point(0, 32);
+            this.panel9.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel9.Name = "panel9";
+            this.panel9.Size = new System.Drawing.Size(144, 32);
+            this.panel9.TabIndex = 4;
+            // 
+            // btnHRed
+            // 
+            this.btnHRed.BackColor = System.Drawing.Color.White;
+            this.btnHRed.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.btnHRed.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnHRed.Font = new System.Drawing.Font("楷体", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnHRed.ForeColor = System.Drawing.Color.Black;
+            this.btnHRed.Location = new System.Drawing.Point(39, 0);
+            this.btnHRed.Margin = new System.Windows.Forms.Padding(4);
+            this.btnHRed.Name = "btnHRed";
+            this.btnHRed.Size = new System.Drawing.Size(105, 32);
+            this.btnHRed.TabIndex = 589;
+            this.btnHRed.Text = "后红外";
+            this.btnHRed.UseVisualStyleBackColor = false;
+            // 
+            // picHRed
+            // 
+            this.picHRed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.picHRed.Dock = System.Windows.Forms.DockStyle.Left;
+            this.picHRed.Image = ((System.Drawing.Image)(resources.GetObject("picHRed.Image")));
+            this.picHRed.Location = new System.Drawing.Point(0, 0);
+            this.picHRed.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.picHRed.Name = "picHRed";
+            this.picHRed.Size = new System.Drawing.Size(39, 32);
+            this.picHRed.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.picHRed.TabIndex = 588;
+            this.picHRed.TabStop = false;
+            // 
+            // panel8
+            // 
+            this.panel8.Controls.Add(this.btnQRed);
+            this.panel8.Controls.Add(this.picQRed);
+            this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel8.Location = new System.Drawing.Point(0, 0);
+            this.panel8.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel8.Name = "panel8";
+            this.panel8.Size = new System.Drawing.Size(144, 32);
+            this.panel8.TabIndex = 3;
+            // 
+            // btnQRed
+            // 
+            this.btnQRed.BackColor = System.Drawing.Color.White;
+            this.btnQRed.Dock = System.Windows.Forms.DockStyle.Top;
+            this.btnQRed.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btnQRed.Font = new System.Drawing.Font("楷体", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)), true);
+            this.btnQRed.ForeColor = System.Drawing.Color.Black;
+            this.btnQRed.Location = new System.Drawing.Point(39, 0);
+            this.btnQRed.Margin = new System.Windows.Forms.Padding(4);
+            this.btnQRed.Name = "btnQRed";
+            this.btnQRed.Size = new System.Drawing.Size(105, 36);
+            this.btnQRed.TabIndex = 589;
+            this.btnQRed.Text = "前红外";
+            this.btnQRed.UseVisualStyleBackColor = false;
+            // 
+            // picQRed
+            // 
+            this.picQRed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.picQRed.Dock = System.Windows.Forms.DockStyle.Left;
+            this.picQRed.Image = ((System.Drawing.Image)(resources.GetObject("picQRed.Image")));
+            this.picQRed.Location = new System.Drawing.Point(0, 0);
+            this.picQRed.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.picQRed.Name = "picQRed";
+            this.picQRed.Size = new System.Drawing.Size(39, 32);
+            this.picQRed.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.picQRed.TabIndex = 588;
+            this.picQRed.TabStop = false;
+            // 
+            // panel6
+            // 
+            this.panel6.Controls.Add(this.ucWeightT1);
+            this.panel6.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.panel6.Location = new System.Drawing.Point(153, 2);
+            this.panel6.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel6.Name = "panel6";
+            this.panel6.Size = new System.Drawing.Size(793, 68);
+            this.panel6.TabIndex = 3;
+            // 
+            // ucWeightT1
+            // 
+            this.ucWeightT1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.ucWeightT1.Location = new System.Drawing.Point(0, 0);
+            this.ucWeightT1.Margin = new System.Windows.Forms.Padding(2);
+            this.ucWeightT1.Name = "ucWeightT1";
+            this.ucWeightT1.Size = new System.Drawing.Size(793, 68);
+            this.ucWeightT1.TabIndex = 0;
+            // 
+            // panel4
+            // 
+            this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.panel4.Controls.Add(this.tableLayoutPanel7);
+            this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel4.Location = new System.Drawing.Point(0, 0);
+            this.panel4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.panel4.Name = "panel4";
+            this.panel4.Size = new System.Drawing.Size(949, 40);
+            this.panel4.TabIndex = 4;
+            // 
+            // tableLayoutPanel7
+            // 
+            this.tableLayoutPanel7.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
+            this.tableLayoutPanel7.ColumnCount = 6;
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F));
+            this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65F));
+            this.tableLayoutPanel7.Controls.Add(this.lbPointName, 1, 0);
+            this.tableLayoutPanel7.Controls.Add(this.txtCarNo, 3, 0);
+            this.tableLayoutPanel7.Controls.Add(this.lbPntName, 0, 0);
+            this.tableLayoutPanel7.Controls.Add(this.label2, 2, 0);
+            this.tableLayoutPanel7.Controls.Add(this.label1, 4, 0);
+            this.tableLayoutPanel7.Controls.Add(this.pbLineOn, 5, 0);
+            this.tableLayoutPanel7.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel7.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel7.Margin = new System.Windows.Forms.Padding(4);
+            this.tableLayoutPanel7.Name = "tableLayoutPanel7";
+            this.tableLayoutPanel7.RowCount = 1;
+            this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel7.Size = new System.Drawing.Size(947, 38);
+            this.tableLayoutPanel7.TabIndex = 0;
+            // 
+            // lbPointName
+            // 
+            this.lbPointName.AutoSize = true;
+            this.lbPointName.BackColor = System.Drawing.Color.Transparent;
+            this.lbPointName.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.lbPointName.Font = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lbPointName.ForeColor = System.Drawing.Color.Black;
+            this.lbPointName.Location = new System.Drawing.Point(86, 1);
+            this.lbPointName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lbPointName.Name = "lbPointName";
+            this.lbPointName.Size = new System.Drawing.Size(517, 36);
+            this.lbPointName.TabIndex = 3;
+            this.lbPointName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            // 
+            // txtCarNo
+            // 
+            this.txtCarNo.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtCarNo.Location = new System.Drawing.Point(672, 3);
+            this.txtCarNo.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.txtCarNo.Name = "txtCarNo";
+            this.txtCarNo.Size = new System.Drawing.Size(144, 32);
+            this.txtCarNo.TabIndex = 0;
+            this.txtCarNo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtCarNo_KeyDown);
+            // 
+            // lbPntName
+            // 
+            this.lbPntName.AutoSize = true;
+            this.lbPntName.BackColor = System.Drawing.Color.Transparent;
+            this.lbPntName.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.lbPntName.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lbPntName.ForeColor = System.Drawing.Color.Blue;
+            this.lbPntName.Location = new System.Drawing.Point(5, 1);
+            this.lbPntName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lbPntName.Name = "lbPntName";
+            this.lbPntName.Size = new System.Drawing.Size(72, 36);
+            this.lbPntName.TabIndex = 2;
+            this.lbPntName.Text = "计量点:";
+            this.lbPntName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.BackColor = System.Drawing.Color.Transparent;
+            this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label2.ForeColor = System.Drawing.Color.Blue;
+            this.label2.Location = new System.Drawing.Point(612, 1);
+            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(52, 36);
+            this.label2.TabIndex = 8;
+            this.label2.Text = "车牌:";
+            this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.BackColor = System.Drawing.Color.Transparent;
+            this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.label1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label1.ForeColor = System.Drawing.Color.Blue;
+            this.label1.Location = new System.Drawing.Point(824, 1);
+            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(52, 36);
+            this.label1.TabIndex = 9;
+            this.label1.Text = "网络:";
+            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // pbLineOn
+            // 
+            this.pbLineOn.Image = ((System.Drawing.Image)(resources.GetObject("pbLineOn.Image")));
+            this.pbLineOn.Location = new System.Drawing.Point(884, 4);
+            this.pbLineOn.Name = "pbLineOn";
+            this.pbLineOn.Size = new System.Drawing.Size(39, 30);
+            this.pbLineOn.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pbLineOn.TabIndex = 83;
+            this.pbLineOn.TabStop = false;
+            // 
+            // plImgShow
+            // 
+            this.plImgShow.Controls.Add(this.pictureShow);
+            this.plImgShow.Location = new System.Drawing.Point(268, 487);
+            this.plImgShow.Margin = new System.Windows.Forms.Padding(2);
+            this.plImgShow.Name = "plImgShow";
+            this.plImgShow.Size = new System.Drawing.Size(900, 500);
+            this.plImgShow.TabIndex = 46;
+            this.plImgShow.Visible = false;
+            // 
+            // pictureShow
+            // 
+            this.pictureShow.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
+            this.pictureShow.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.pictureShow.Location = new System.Drawing.Point(0, 0);
+            this.pictureShow.Margin = new System.Windows.Forms.Padding(2);
+            this.pictureShow.Name = "pictureShow";
+            this.pictureShow.Size = new System.Drawing.Size(900, 500);
+            this.pictureShow.TabIndex = 2;
+            this.pictureShow.TabStop = false;
+            this.pictureShow.DoubleClick += new System.EventHandler(this.pictureShow_DoubleClick);
+            // 
+            // frmMain
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(800, 450);
-            this.Text = "Form1";
+            this.ClientSize = new System.Drawing.Size(1437, 1049);
+            this.Controls.Add(this.plImgShow);
+            this.Controls.Add(this.plMain);
+            this.Controls.Add(this.panel1);
+            this.Name = "frmMain";
+            this.Text = "静态轨道衡本地计量";
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing);
+            this.Load += new System.EventHandler(this.frmMain_Load);
+            this.ultraTabPageControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridPre)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataSetFirst)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableFirst)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTablePre)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableWaitFirst)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableWaitNet)).EndInit();
+            this.ultraTabPageControl3.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridFirst)).EndInit();
+            this.ultraTabPageControl4.ResumeLayout(false);
+            this.ultraTabPageControl4.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridWaitFirst)).EndInit();
+            this.panel2.ResumeLayout(false);
+            this.ultraTabPageControl5.ResumeLayout(false);
+            this.ultraTabPageControl5.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridWaitNet)).EndInit();
+            this.panel3.ResumeLayout(false);
+            this.ultraTabPageControl2.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridLocalFirst)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataSetLocal)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableLocalFirst)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataTableLocalNet)).EndInit();
+            this.ultraTabPageControl6.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.ultraGridLocalNet)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.uTab)).EndInit();
+            this.uTab.ResumeLayout(false);
+            this.plMain.ResumeLayout(false);
+            this.plCaptionMain.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.ultraTabControl1)).EndInit();
+            this.ultraTabControl1.ResumeLayout(false);
+            this.panel11.ResumeLayout(false);
+            this.panel11.PerformLayout();
+            this.groupBox1.ResumeLayout(false);
+            this.tableLayoutPanel4.ResumeLayout(false);
+            this.panel10.ResumeLayout(false);
+            this.tableLayoutPanel1.ResumeLayout(false);
+            this.tableLayoutPanel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtTare)).EndInit();
+            this.panel5.ResumeLayout(false);
+            this.tableLayoutPanel2.ResumeLayout(false);
+            this.panel7.ResumeLayout(false);
+            this.panel9.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.picHRed)).EndInit();
+            this.panel8.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.picQRed)).EndInit();
+            this.panel6.ResumeLayout(false);
+            this.panel4.ResumeLayout(false);
+            this.tableLayoutPanel7.ResumeLayout(false);
+            this.tableLayoutPanel7.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pbLineOn)).EndInit();
+            this.plImgShow.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.pictureShow)).EndInit();
+            this.ResumeLayout(false);
+
         }
 
         #endregion
+
+        private System.Data.DataSet dataSetFirst;
+        private System.Data.DataTable dataTableFirst;
+        private System.Data.DataColumn dataColumn69;
+        private System.Data.DataColumn dataColumn162;
+        private System.Data.DataColumn dataColumn190;
+        private System.Data.DataColumn dataColumn193;
+        private System.Data.DataColumn dataColumn194;
+        private System.Data.DataColumn dataColumn195;
+        private System.Windows.Forms.Panel panel1;
+        private System.Data.DataTable dataTablePre;
+        private System.Data.DataTable dataTableWaitFirst;
+        private System.Data.DataTable dataTableWaitNet;
+        private System.Data.DataColumn dataColumn14;
+        private System.Data.DataColumn dataColumn15;
+        private System.Data.DataColumn dataColumn16;
+        private System.Data.DataColumn dataColumn17;
+        private System.Data.DataColumn dataColumn18;
+        private System.Data.DataColumn dataColumn19;
+        private System.Data.DataColumn dataColumn1;
+        private System.Data.DataColumn dataColumn2;
+        private System.Data.DataColumn dataColumn3;
+        private System.Data.DataColumn dataColumn4;
+        private System.Data.DataColumn dataColumn5;
+        private System.Data.DataColumn dataColumn6;
+        private System.Data.DataColumn dataColumn7;
+        private System.Data.DataColumn dataColumn8;
+        private System.Data.DataColumn dataColumn9;
+        private System.Data.DataColumn dataColumn10;
+        private System.Data.DataColumn dataColumn11;
+        private System.Data.DataColumn dataColumn12;
+        private System.Data.DataColumn dataColumn13;
+        private System.Data.DataColumn dataColumn20;
+        private System.Data.DataColumn dataColumn21;
+        private System.Data.DataColumn dataColumn22;
+        private System.Data.DataColumn dataColumn23;
+        private System.Data.DataColumn dataColumn24;
+        private System.Data.DataColumn dataColumn25;
+        private System.Data.DataColumn dataColumn26;
+        private System.Data.DataColumn dataColumn27;
+        private System.Data.DataColumn dataColumn28;
+        private System.Data.DataColumn dataColumn29;
+        private System.Data.DataColumn dataColumn30;
+        private System.Data.DataColumn dataColumn31;
+        private System.Data.DataColumn dataColumn32;
+        private System.Data.DataColumn dataColumn33;
+        private System.Data.DataColumn dataColumn34;
+        private System.Data.DataColumn dataColumn35;
+        private System.Data.DataColumn dataColumn36;
+        private System.Data.DataColumn dataColumn37;
+        private System.Data.DataColumn dataColumn38;
+        private System.Data.DataColumn dataColumn39;
+        private System.Data.DataColumn dataColumn40;
+        private System.Data.DataColumn dataColumn41;
+        private System.Data.DataColumn dataColumn42;
+        private System.Data.DataColumn dataColumn43;
+        private System.Data.DataColumn dataColumn44;
+        private System.Data.DataColumn dataColumn45;
+        private System.Data.DataColumn dataColumn46;
+        private System.Data.DataColumn dataColumn47;
+        private System.Data.DataColumn dataColumn48;
+        private System.Data.DataColumn dataColumn49;
+        private System.Data.DataColumn dataColumn50;
+        private System.Data.DataColumn dataColumn51;
+        private System.Data.DataColumn dataColumn52;
+        private System.Data.DataColumn dataColumn53;
+        private System.Data.DataColumn dataColumn54;
+        private Infragistics.Win.UltraWinTabControl.UltraTabControl uTab;
+        private Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage ultraTabSharedControlsPage1;
+        private Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage ultraTabSharedControlsPage2;
+        private System.Windows.Forms.Panel plMain;
+        private System.Windows.Forms.Panel plCaptionMain;
+        private System.Windows.Forms.Panel panel11;
+        private System.Windows.Forms.CheckBox cbJg;
+        private System.Windows.Forms.Button btnSave;
+        private System.Windows.Forms.Button btnOpenVoice;
+        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.RichTextBox txtMsgInfo;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
+        private System.Windows.Forms.Label txtMETER_TYPE;
+        private System.Windows.Forms.Label label15;
+        private System.Windows.Forms.Label label16;
+        private System.Windows.Forms.Label label9;
+        private System.Windows.Forms.Label label8;
+        private System.Windows.Forms.Label txtMATTER_NAME;
+        private System.Windows.Forms.Label txtFORWARDING_UNIT_NAME;
+        private System.Windows.Forms.Label txtRECEIVING_UINT_NAME;
+        private System.Windows.Forms.Panel panel10;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+        private System.Windows.Forms.Button btnTareSaveOver;
+        private System.Windows.Forms.Label txtNet;
+        private System.Windows.Forms.Label label22;
+        private System.Windows.Forms.Label txtGroess;
+        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Panel panel5;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
+        private System.Windows.Forms.Panel panel7;
+        private System.Windows.Forms.Panel panel9;
+        private System.Windows.Forms.Button btnHRed;
+        private System.Windows.Forms.PictureBox picHRed;
+        private System.Windows.Forms.Panel panel8;
+        private System.Windows.Forms.Button btnQRed;
+        private System.Windows.Forms.PictureBox picQRed;
+        private System.Windows.Forms.Panel panel6;
+        private System.Windows.Forms.Panel panel4;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel7;
+        private System.Windows.Forms.Label lbPointName;
+        private System.Windows.Forms.TextBox txtCarNo;
+        private System.Windows.Forms.Label lbPntName;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pbLineOn;
+        private System.Windows.Forms.Panel plImgShow;
+        private System.Windows.Forms.PictureBox pictureShow;
+        private System.Windows.Forms.CheckBox cbSetFirst;
+        private ucWeightT ucWeightT1;
+        private Infragistics.Win.UltraWinTabControl.UltraTabControl ultraTabControl1;
+        private Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage ultraTabSharedControlsPage3;
+        private Infragistics.Win.UltraWinTabControl.UltraTabSharedControlsPage ultraTabSharedControlsPage4;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl1;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridPre;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl3;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridFirst;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl4;
+        private System.Windows.Forms.CheckBox cbFirstWait;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridWaitFirst;
+        private System.Windows.Forms.Panel panel2;
+        private System.Windows.Forms.Button btnSubmitFirstWait;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl5;
+        private System.Windows.Forms.CheckBox cbNetWait;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridWaitNet;
+        private System.Windows.Forms.Panel panel3;
+        private System.Windows.Forms.Button btnNetSubmit;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl2;
+        private Infragistics.Win.UltraWinTabControl.UltraTabPageControl ultraTabPageControl6;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridLocalFirst;
+        private Infragistics.Win.UltraWinGrid.UltraGrid ultraGridLocalNet;
+        private System.Data.DataSet dataSetLocal;
+        private System.Data.DataTable dataTableLocalFirst;
+        private System.Data.DataColumn dataColumn81;
+        private System.Data.DataColumn dataColumn82;
+        private System.Data.DataColumn dataColumn83;
+        private System.Data.DataColumn dataColumn84;
+        private System.Data.DataColumn dataColumn85;
+        private System.Data.DataColumn dataColumn86;
+        private System.Data.DataColumn dataColumn87;
+        private System.Data.DataColumn dataColumn88;
+        private System.Data.DataColumn dataColumn89;
+        private System.Data.DataColumn dataColumn90;
+        private System.Data.DataColumn dataColumn91;
+        private System.Data.DataColumn dataColumn92;
+        private System.Data.DataTable dataTableLocalNet;
+        private System.Data.DataColumn dataColumn93;
+        private System.Data.DataColumn dataColumn94;
+        private System.Data.DataColumn dataColumn95;
+        private System.Data.DataColumn dataColumn96;
+        private System.Data.DataColumn dataColumn97;
+        private System.Data.DataColumn dataColumn98;
+        private System.Data.DataColumn dataColumn99;
+        private System.Data.DataColumn dataColumn100;
+        private System.Data.DataColumn dataColumn101;
+        private System.Data.DataColumn dataColumn102;
+        private System.Data.DataColumn dataColumn103;
+        private System.Data.DataColumn dataColumn104;
+        private System.Data.DataColumn dataColumn105;
+        private System.Data.DataColumn dataColumn106;
+        private System.Data.DataColumn dataColumn107;
+        private System.Data.DataColumn dataColumn108;
+        private System.Data.DataColumn dataColumn109;
+        private System.Data.DataColumn dataColumn110;
+        private System.Data.DataColumn dataColumn111;
+        private System.Data.DataColumn dataColumn112;
+        private System.Data.DataColumn dataColumn113;
+        private System.Data.DataColumn dataColumn114;
+        private System.Data.DataColumn dataColumn115;
+        private System.Windows.Forms.NumericUpDown txtTare;
     }
 }
 

+ 1092 - 1
RailLocalMeter/frmMain.cs

@@ -1,10 +1,18 @@
-using System;
+using com.hnshituo.core.webapp.vo;
+using Infragistics.Win.UltraWinGrid;
+using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
+using System.Diagnostics;
 using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.IO;
 using System.Linq;
+using System.Net;
+using System.Runtime.InteropServices;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 
@@ -16,5 +24,1088 @@ namespace RailLocalMeter
         {
             InitializeComponent();
         }
+
+        string ip = "";
+        Log lg = Log.GetInstance();
+
+        private LED_Control led_controler;
+
+        /// <summary>
+        /// 硬盘录像机图片抓拍通道
+        /// </summary>
+        List<int> lc = new List<int>();
+
+        /// <summary>
+        /// 服务端委托获取
+        /// </summary>
+        private PreRailwayScaleService preService = new PreRailwayScaleService();
+        RESTfulResult<List<PreRailwayScale>> rmRailwayScaleList = new RESTfulResult<List<PreRailwayScale>>();
+        private MeterWorkRailwayActFirstService firstService = new MeterWorkRailwayActFirstService(); 
+        RESTfulResult<List<MeterWorkRailwayActFirst>> rmRailwayFirstList = new RESTfulResult<List<MeterWorkRailwayActFirst>>();//一次计量数据
+        RESTfulResult<List<MeterWorkRailwayActFirst>> rmWaitFirstList = new RESTfulResult<List<MeterWorkRailwayActFirst>>();//一次待提交数据
+        private MeterWorkRailwayActualService netService = new MeterWorkRailwayActualService();
+        RESTfulResult<List<MeterWorkRailwayActual>> rmWaitNetList = new RESTfulResult<List<MeterWorkRailwayActual>>();//结净待提交数据
+
+        PlcCls plc = new PlcCls();
+
+        /// <summary>
+        /// 图片操作类
+        /// </summary>
+        ImageOption imgControl = new ImageOption();
+
+        /// <summary>
+        /// 重量采集类
+        /// </summary>
+        MoxaCls mx = new MoxaCls();
+
+        /// <summary>
+        /// 语音播放
+        /// </summary>
+        VoicePlay vicPlayClass = new VoicePlay();
+
+        /// <summary>
+        /// rfid车号识别
+        /// </summary>
+        RfIdCarNo rfid = new RfIdCarNo();
+
+        /// <summary>
+        /// Ping服务器服务是否通
+        /// </summary>
+        PingNetwork ping = new PingNetwork();
+
+        /// <summary>
+        /// 以下是硬盘录像机的控制
+        /// </summary>
+        bool bVoice = false;
+        CamerEs ce = new CamerEs(AppConfigCache.voicePlayIp, $"{AppConfigCache.voicePlayPort}", AppConfigCache.voicePlayUid, AppConfigCache.voicePlayPwd);
+        List<int> voPlay = new List<int>();
+        int iPic = 0;
+
+        int lockWgtImg = 0;
+        string strGuid = "";
+
+        //导出代码,如果要用,则丢到按钮事件中即可
+        //ClsControlPack.ExportDataWithSaveDialog2(ref ultraGridFirst, DateTime.Now.ToString("yyyyMMddHHmmss"));
+
+        private void frmMain_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
+                IPAddress ipAddr = ipHost.AddressList[0];
+                ip = ipAddr.ToString();
+            }
+            catch (Exception ex)
+            {
+                Random rd = new Random();
+                lg.WriteLog(LogType.SystemLog, $"获取本地IP异常{ex.Message}");
+                ip = $"{rd.Next(99999, 999999)}";
+            }
+
+            //CacleCls.isJg = true;
+            CacleCls.updateRfidInfoTime = DateTime.Now;
+            if (!string.IsNullOrEmpty(AppConfigCache.ledIp))
+            {
+                led_controler = new LED_Control(AppConfigCache.ledIp);
+            }
+
+            #region 读取音频文件名称
+            List<string> ls = new List<string>();
+            DirectoryInfo folder = new DirectoryInfo(AppConfigCache.path + "\\Sound");
+
+            foreach (FileInfo file in folder.GetFiles("*.wav"))
+            {
+                ls.Add(file.Name.Replace(".wav", ""));
+            }
+            CacleCls.voiceInfo = ls;
+            #endregion
+
+            string[] strTd1 = AppConfigCache.channelOther.Split(',');
+            string[] strTd2 = AppConfigCache.channelVis.Split(',');
+            string[] strAll = new string[strTd1.Length + strTd2.Length];
+            strTd1.CopyTo(strAll, 0);
+            strTd2.CopyTo(strAll, strTd1.Length);
+            List<string> lcs = strAll.Distinct().OrderBy(s => s).ToList(); //
+
+            lc.Add(AppConfigCache.channelCarNo);
+            foreach (string str in lcs)
+            {
+                if ($"{AppConfigCache.channel}" != str && $"{AppConfigCache.channelCarNo}" != str)
+                {
+                    lc.Add(Convert.ToInt32(str)); //抓拍通道与数组中不相同的时候写入,因为我们仪表抓拍的通道需单独进行处理
+                }
+            }
+
+            plImgShow.Visible = false;
+            lbPointName.Text = AppConfigCache.pointName;
+
+            foreach (string str in AppConfigCache.channelVis.Split(','))
+            {
+                voPlay.Add(Convert.ToInt32(str));
+            }
+
+            ce.Connection();
+            foreach (int i in voPlay)
+            {
+                PictureBox pb = new PictureBox();
+                pb.Dock = DockStyle.Top;
+                pb.DoubleClick += new EventHandler(PictureBoxDoubleClick);
+                pb.Height = AppConfigCache.channelVisHeight;
+                pb.Name = $"pb{i}";
+                panel1.Controls.Add(pb);
+                ce.RealPlay(pb, i);
+            }
+
+            if (AppConfigCache.plcStart == "1") plc.Start();
+
+            //*
+            ping.start();
+            mx.start();
+            rfid.Start();
+            imgControl.Start();
+
+
+            blThreadFlag = true;
+            DataCollectThread = new Thread(new ThreadStart(DataCollect));
+            start();
+
+            BindTable<MeterWorkRailwayActFirst>(ultraGridLocalFirst, dataTableWaitFirst, "localFirst");
+            BindTable<MeterWorkRailwayActual>(ultraGridLocalNet, dataTableWaitNet, "localNet");
+        }
+
+        #region 语音控制
+        /// <summary>
+        ///  必须先打开视频,然后再打开语音
+        /// </summary>
+        private void VoiceOpen()
+        {
+            try
+            {
+                if (ce.StartTalk())
+                {
+                    btnOpenVoice.Text = "关闭对讲";
+                    bVoice = true;
+                }
+            }
+            catch (Exception ex)
+            {
+                txtMsgInfo.Text = "打开对讲失败:" + ex.Message;
+            }
+        }
+
+        /// <summary>
+        /// 关闭语音对讲
+        /// </summary>
+        private void VoiceClose()
+        {
+            try
+            {
+                if (ce.StopTalk())
+                {
+                    btnOpenVoice.Text = "打开对讲";
+                    bVoice = false;
+                }
+            }
+            catch (Exception ex)
+            {
+                txtMsgInfo.Text = "关闭对讲失败:" + ex.Message;
+            }
+        }
+        #endregion
+
+        #region 本地主逻辑判断线程
+        bool blThreadFlag;//数据采集线程开关
+        Thread DataCollectThread = null;//采集进程
+
+        bool flagCaption = false, isVoiceDownCar = false;
+        string strOldCarNo = "";
+        bool isMeasureSuccess = false;
+        int voiceNum = 0;
+        int iImgCnt = 0;
+
+        private void start() => DataCollectThread.Start();
+
+        private void stop() => blThreadFlag = false;
+
+        bool flagQuery = false;
+        private void DataCollect()
+        {
+            if (!blThreadFlag) return;
+            int iError = 0;
+            while (blThreadFlag)
+            {
+                try
+                {
+                    this.plMain.Invoke(new Action(() => {
+                        ucWeightT1.setWgt(Math.Round((double)CacleCls.weight / 1000, 2)); //2021年5月10日界面显示单位,调整为T
+                        ucWeightT1.setStable(CacleCls.isWd != 1 ? true : false);
+                        ucWeightT1.setExceed(CacleCls.weight > AppConfigCache.maxRange * 1000 ? false : true);
+
+                        if (txtCarNo.Text.Trim() != "" && !txtCarNo.Focused)
+                        {
+                            CacleCls.lockCarNo = txtCarNo.Text.Trim();
+                        }
+                        else if (!string.IsNullOrEmpty(CacleCls.rfidCarNo))
+                        {
+                            if (CacleCls.rfidCarNo.Length > 14) 
+                            {
+                                CacleCls.lockCarNo = CacleCls.rfidCarNo.Substring(7, 7);
+                                CacleCls.carType = CacleCls.rfidCarNo.Substring(1, 5).Trim().ToUpper();
+                            }
+                        }
+
+                        if (!string.IsNullOrEmpty(CacleCls.lockCarNo) && txtCarNo.Text.Trim() == "")
+                        {
+                            txtCarNo.Text = CacleCls.lockCarNo;
+                        }
+                        if (strOldCarNo != CacleCls.lockCarNo)
+                        {
+                            isUseLabelTare = false;
+                            strOldCarNo = CacleCls.lockCarNo;
+                            flagQuery = false;
+                            CacleCls.isLock = false;//车号不同了则不锁定
+                        }
+
+                        #region 获取一次数据跟车号
+                        if (!string.IsNullOrEmpty(CacleCls.lockCarNo) && !flagQuery && CacleCls.serverFlag)
+                        {
+                            //查询一次计量数据
+                            BindTable<MeterWorkRailwayActFirst>(ultraGridFirst, dataTableFirst, "first");
+
+                            //查询预报数据
+                            BindTable<PreRailwayScale>(ultraGridPre, dataTablePre, "pre");
+                            flagQuery = true;
+                        }
+                        #endregion
+
+                        iError = 1;
+                        //是否能连上远程服务器,这里只是服务器,不是服务器上的服务端
+                        pbLineOn.Load(CacleCls.serverFlag ? (AppConfigCache.path + "\\image\\icon\\green.gif") : (AppConfigCache.path + "\\image\\icon\\red.gif"));
+
+                        iError = 2;
+                        if (CacleCls.weight > 1000)
+                        {
+                            iError = 21;
+                            iImgCnt = 0;
+                            CacleCls.isClear = false;
+
+                            #region 如果是自动计量
+                            if (!CacleCls.isLock && !CacleCls.isJg && CacleCls.btnState == "1" && CacleCls.isWd == 0)
+                            {
+                                if (string.IsNullOrEmpty(CacleCls.lockCarNo)) 
+                                {
+                                    txtMsgInfo.Text = "车号未识别";
+                                    vicPlayClass.GetVoicePlay(VoiceEnum.车号未识别, "");
+                                    led_controler.setStaticLineMsg(AppConfigCache.ledIp, "车号未识别");
+                                    return;
+                                }
+
+                                //重量最后一位不为0也是超量程
+                                if ((AppConfigCache.maxRange * 1000 < CacleCls.weight) || CacleCls.weight.ToString().Substring(CacleCls.weight.ToString().Length - 1, 1) != "0")
+                                {
+                                    //超量程
+                                    vicPlayClass.GetVoicePlay(VoiceEnum.车辆超重, CacleCls.lockCarNo);
+                                    txtMsgInfo.Text = "当前重量已超量程,秤体量程为【" + AppConfigCache.maxRange + "】T";
+                                    led_controler.setStaticLineMsg(AppConfigCache.ledIp, "当前重量已超量程,秤体量程为【" + AppConfigCache.maxRange + "】T");
+                                    CacleCls.isLock = false;
+                                    return;
+                                }
+                                iError = 22;
+                                if ((CacleCls.topJg == "1" || CacleCls.bottomJg == "1"))
+                                {
+                                    //重量稳定,且对射验证不合格
+                                    vicPlayClass.GetVoicePlay(VoiceEnum.车辆未停到位, CacleCls.lockCarNo);
+                                    txtMsgInfo.Text = "车辆超出秤台,请调整车位";
+                                    led_controler.setStaticLineMsg(AppConfigCache.ledIp, "车辆超出秤台,请调整车位");
+                                    CacleCls.isLock = false;
+                                    return;
+                                }
+                                iError = 23;
+
+                                if (!isVoiceDownCar)
+                                {
+                                    txtMsgInfo.Text = "";
+                                    isVoiceDownCar = true;
+                                    vicPlayClass.GetVoicePlay(VoiceEnum.开始计量, CacleCls.lockCarNo);//只播放一次
+
+                                    lg.WriteLog(LogType.SystemLog, CacleCls.lockCarNo + "开始保存:" + DateTime.Now.ToLongTimeString());
+                                }
+                            }
+                            #endregion
+
+                            //计量完成后进行语音播报,提示离开秤台,播报5次
+                            if (isMeasureSuccess)
+                            {
+                                if (voiceNum < AppConfigCache.voiceNum)
+                                {
+                                    if (CacleCls.voiceOver)
+                                    {
+                                        vicPlayClass.GetVoicePlay(VoiceEnum.计量完成, CacleCls.lockCarNo);
+                                        voiceNum++;
+                                    }
+                                }
+                                return;
+                            }
+                            iError = 13;
+                        }
+                        else
+                        {
+                            iError = 31;
+                            voiceNum = 0;
+                            isMeasureSuccess = false;
+                            lockWgtImg = CacleCls.weight;
+                            flagCaption = false;
+                            isVoiceDownCar = false;
+                            strGuid = "";
+
+                            if (!CacleCls.isClear)
+                            {
+                                iError = 32;
+                                CacleCls.Clear(); //清理一次数据
+                                btnSave.Enabled = false;
+                                txtCarNo.Text = "";
+                                txtMATTER_NAME.Text = "";
+                                txtFORWARDING_UNIT_NAME.Text = "";
+                                txtRECEIVING_UINT_NAME.Text = "";
+                                txtMETER_TYPE.Text = "";
+                                txtCarNo.Enabled = true;
+                                txtMsgInfo.Text = "";
+                                txtGroess.Text = "";
+                                txtTare.Text = "";
+                                txtNet.Text = "";
+
+                                iError = 33;
+                                //释放一次内存
+                                FlushMemory();
+                                iError = 34;
+
+                                //
+                                imgControl.ZipFiles();
+                                iError = 35;
+                            }
+                        }
+                    }));
+                }
+                catch (Exception ex)
+                {
+                    //在关闭程序后,由于线程还会跑一下,所以会有一个错误“调用方法时发生错误。  目标线程不再存在” 这个不影响
+                    lg.WriteLog(LogType.SystemLog, $"主逻辑判断线程,其i值为:{iError},异常信息为:{ex.Message}");
+                }
+                Thread.Sleep(AppConfigCache.sleepTime);
+            }
+        }
+        #endregion
+
+        #region 事件部分
+        private void PictureBoxDoubleClick(object sender, EventArgs e)
+        {
+            if (iPic != 0)
+            {
+                ce.StopRealPlay(iPic);
+            }
+            PictureBox picture = (PictureBox)sender;
+            iPic = Convert.ToInt32(picture.Name.Substring(picture.Name.Length - 1, 1));
+            plImgShow.Visible = true;
+            ce.RealPlay(pictureShow, iPic);
+        }
+
+        private void pictureShow_DoubleClick(object sender, EventArgs e)
+        {
+            plImgShow.Visible = false;
+            ce.StopRealPlay(iPic);
+            iPic = 0;
+        }
+
+        private void cbJg_CheckedChanged(object sender, EventArgs e)
+        {
+            CacleCls.isJg = cbJg.Checked;
+            btnSave.Enabled = cbJg.Checked;
+        }
+
+        private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            stop();
+            try { mx?.ClosingCollect(); } catch { }
+            try { rfid?.ClosingCollect(); } catch { }
+            try { if (bVoice) ce?.StopTalk(); } catch { }
+
+            foreach (int i in voPlay)
+            {
+                try { ce?.StopRealPlay(i); } catch { }
+            }
+
+            try { plc?.Stop(); } catch { }
+            try { ping?.stop(); } catch { }
+            try { imgControl?.Stop(); } catch { }
+        }
+
+        private void btnOpenVoice_Click(object sender, EventArgs e)
+        {
+            if (btnOpenVoice.Text == "打开对讲")
+            {
+                VoiceOpen();
+            }
+            else
+            {
+                VoiceClose();
+            }
+        }
+
+        private void btnSave_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                #region 下面是业务逻辑代码
+                string msgInfo = "";
+                if (txtCarNo.Focused) return; //如果正在修改车号,就必须等光标离开后再保存,否则容易导致车号输入了一半保存了
+
+                if (CacleCls.isWd != 0) return;
+
+                ucWeightT1.setStable(true);    // 重量稳定
+                ucWeightT1.setWgt(Math.Round((double)CacleCls.weight / 1000, 2));    // 最新重量
+                CacleCls.lockWgt = CacleCls.weight;
+
+                if (!CacleCls.lockWgt.ToString().EndsWith("0")) //个位不是0则说明超量程了
+                {
+                    //txtMsgInfo.Text = "仪表重量[" + CacleCls.lockWgt + "]不是以0结尾,禁止计量操作!";
+                    vicPlayClass.GetVoicePlay(VoiceEnum.车辆超重, CacleCls.lockCarNo);
+                    txtMsgInfo.Text = "当前重量已超量程,秤体量程为【" + AppConfigCache.maxRange + "】T";
+                    return;
+                }
+
+                //接管状态点的保存
+                if (!isUseLabelTare && MessageBox.Show("是否确认保存当前计量数据?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
+                {
+                    return;
+                }
+
+                if (string.IsNullOrEmpty(CacleCls.lockCarNo))
+                {
+                    txtMsgInfo.Text = "没有车号,无法保存";
+                    return;
+                }
+                else if (CacleCls.lockWgt < 1000)
+                {
+                    txtMsgInfo.Text = "重量过小,无法保存";
+                    return;
+                }
+                else if (CacleCls.isWd != 0)
+                {
+                    DialogResult dr = MessageBox.Show($"[{CacleCls.lockCarNo}]重量不稳定,请确认是否保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
+                    if (dr == DialogResult.Cancel)
+                    {
+                        return;
+                    }
+                }
+                else if (CacleCls.topJg == "1" || CacleCls.bottomJg == "1")
+                {
+                    DialogResult dr = MessageBox.Show($"[{CacleCls.lockCarNo}]未停到位,请确认是否保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
+                    if (dr == DialogResult.Cancel)
+                    {
+                        return;
+                    }
+                }
+                else
+                {
+                    lg.WriteLog(LogType.SystemLog, CacleCls.lockCarNo + "接管状态下进行的保存:" + DateTime.Now.ToLongTimeString());
+                }
+
+                /*
+                //存在零点,且不为接管状态则禁止计量
+                if (CacleCls.isZeroState)
+                {
+                    vicPlayClass.GetVoicePlay(VoiceEnum.仪表未归零, CacleCls.lockCarNo);
+                    txtMsgInfo.Text = "仪表未归零,无法计量"; //btnSave_Click
+                    led_controler.setStaticLineMsg(AppConfigCache.ledIp, "仪表未归零,无法计量");
+                    return;
+                }
+                //*/
+
+                //车号不是7位,请确认
+                if (CacleCls.lockCarNo.Length != 7)
+                {
+                    DialogResult dr = MessageBox.Show("车号不是7位,请确认是否保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
+                    if (dr == DialogResult.Cancel)
+                    {
+                        return;
+                    }
+                }
+
+
+                CacleCls.firstDb = null;
+                ultraGridFirst.UpdateData();
+                foreach (UltraGridRow ugr in ultraGridFirst.Rows)
+                {
+                    if (ugr.Cells["UNCK"].Text.ToUpper() == "TRUE")
+                    {
+                        CacleCls.firstDb = dataTableFirst.TableToDataList<MeterWorkRailwayActFirst>().Where(s => s.actualFirstNo == ugr.Cells["actualFirstNo"].Text.Trim()).FirstOrDefault();
+                        break;
+                    }
+                }
+
+                ultraGridPre.UpdateData();
+                foreach (UltraGridRow ugr in ultraGridPre.Rows)
+                {
+                    if (ugr.Cells["UNCK"].Text.ToUpper() == "TRUE")
+                    {
+                        CacleCls.preTrackScale = dataTablePre.TableToDataList<PreRailwayScale>().Where(s => s.predictionNo == ugr.Cells["predictionNo"].Text.Trim()).FirstOrDefault();
+                        break;
+                    }
+                }
+
+                if (CacleCls.firstDb != null && !isUseLabelTare)
+                {
+                    if (Math.Abs(CacleCls.firstDb.meterWeight.Value - CacleCls.lockWgt) < AppConfigCache.differenceWgt)
+                    {
+                        DialogResult dr = MessageBox.Show("净重小于" + AppConfigCache.differenceWgt / 1000 + "吨,请确认是否保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
+                        if (dr == DialogResult.Cancel)
+                        {
+                            return;
+                        }
+                    }
+                }
+
+                lg.WriteLog(LogType.SystemLog, $"锁定车号:{CacleCls.lockCarNo},锁定重量:{CacleCls.lockWgt},rfid编号:{CacleCls.rfidEpc},rfid车号:{CacleCls.rfidCarNo}");
+
+                txtMsgInfo.Text = "称重保存中......";
+
+                CacleCls.isLock = true;
+                txtCarNo.Enabled = false;
+
+                strGuid = strGuid == "" ? Guid.NewGuid().ToString() : strGuid;
+                #region 截图
+                if (!flagCaption)
+                {
+                    for (int i = 0; i < lc.Count(); i++)
+                    {
+                        //从_2开始,因为_1是仪表图片  2是车号快照抓拍
+                        ce.CapPic((uint)lc[i], $"{AppConfigCache.path}/imgShort/formalImg/{AppConfigCache.pointNo}_C{strGuid}_tempImg_{i + 2}.jpg");
+                    }
+                    flagCaption = true;
+                }
+
+                if (lockWgtImg != CacleCls.lockWgt)
+                {
+                    lockWgtImg = CacleCls.lockWgt;
+
+                    foreach (Control cn in panel1.Controls)
+                    {
+                        if (cn.Name.Substring(cn.Name.Length - 1) == $"{AppConfigCache.channel}")
+                        {
+                            if (cn is PictureBox)
+                            {
+                                Bitmap bit = new Bitmap(cn.Width, cn.Height);//实例化一个和窗体一样大的bitmap
+                                Graphics g = Graphics.FromImage(bit);
+                                g.CompositingQuality = CompositingQuality.HighQuality;//质量设为最高 HighQuality
+                                g.CopyFromScreen(panel1.Left, panel1.Top + 25, 0, 0, new Size(cn.Width, cn.Height));//保存整个窗体为图片       
+                                bit.Save($"{AppConfigCache.path}/imgShort/formalImg/{AppConfigCache.pointNo}_C{strGuid}_tempImg_1.jpg");//默认保存格式为PNG,保存成jpg格式质量不是很好
+                                bit.Dispose();
+                                break;
+                            }
+                        }
+                    }
+                }
+                #endregion
+
+                
+
+                if (isUseLabelTare) //如果是用期限皮结净
+                {
+                    if (CacleCls.serverFlag)
+                    {
+                        MeterWorkRailwayActFirst firstDb = new MeterWorkRailwayActFirst();
+                        CreateFirst(ref firstDb);
+                        
+                        if (CacleCls.preTrackScale != null)
+                        {
+                            CacleCls.preTrackScale.format(firstDb);
+                        }
+                        
+                        firstDb.weightType = "0";
+                        firstDb.railwayFactoryWeight = Convert.ToDouble((txtTare.Value * 1000).ToString());
+                        firstDb.valueFlag = "2";
+
+                        if (firstService.doIdentifyWeight(firstDb).Succeed)
+                        {
+                            //保存成功
+                            isMeasureSuccess = true;
+                        }
+                        else
+                        {
+                            vicPlayClass.GetVoicePlay(VoiceEnum.程序处理异常, CacleCls.lockCarNo);
+                            led_controler.setStaticLineMsg(AppConfigCache.ledIp, "计量失败,请联系管理员");
+                            txtMsgInfo.Text = "计量失败写入,本地文件异常:" + msgInfo;
+                            lg.WriteLog(LogType.serverLog, "计量失败,写入本地文件异常:" + msgInfo);
+                            CacleCls.isLock = false;
+                            return;
+                        }
+                    }
+                    else
+                    {
+                        //断网只有一种结净,就是标识皮结净
+                        MeterWorkRailwayActual netDb = new MeterWorkRailwayActual();
+                        netDb.baseSpot1No = AppConfigCache.pointNo;
+                        netDb.baseSpot1Name = AppConfigCache.pointName;
+                        netDb.baseSpot2No = AppConfigCache.pointNo;
+                        netDb.baseSpot2Name = AppConfigCache.pointName;
+                        netDb.createManNo = "system";
+                        netDb.createManName = "system";
+
+                        netDb.railwayTypeNo = AppConfigCache.railwayTypeNo;
+                        netDb.railwayTypeName = AppConfigCache.railwayTypeName;
+                        netDb.conveyanceType = CacleCls.carType;
+                        netDb.railwayNo = CacleCls.lockCarNo;
+                        netDb.lcNo = "无列次";
+                        netDb.tareWeight = Convert.ToDouble(txtTare.Value);
+                        netDb.tareManNo = "system";
+                        netDb.tareManName = "system";
+                        netDb.tareTime = DateTime.Now;
+
+                        netDb.grossWeight = CacleCls.lockWgt;
+                        netDb.grossManNo = "system";
+                        netDb.grossManName = "system";
+                        netDb.grossTime = DateTime.Now;
+
+                        netDb.netManNo = "system";
+                        netDb.netManName = "system";
+                        netDb.netTime = DateTime.Now;
+                        netDb.netWeight = Convert.ToDouble(CacleCls.lockWgt - txtTare.Value);
+
+                        netDb.dataSource = "3";
+                        netDb.noticeNo = $"{ip},{Thread.CurrentThread.Name}";
+
+                        if (FileOption.WriterDb(netDb, FileTypeEnum.结净数据, out string msg))
+                        {
+                            //保存成功
+                            isMeasureSuccess = true;
+                        }
+                        else 
+                        {
+                            vicPlayClass.GetVoicePlay(VoiceEnum.程序处理异常, CacleCls.lockCarNo);
+                            lg.WriteLog(LogType.SystemLog, "计量失败1:" + msg);
+                            CacleCls.isLock = false;
+                        }
+                    }
+                }
+                else //非期限皮结净
+                {
+                    if (CacleCls.serverFlag)
+                    {
+                        if (cbSetFirst.Checked) //保存一次计量数据
+                        {
+                            MeterWorkRailwayActFirst firstDb = new MeterWorkRailwayActFirst();
+                            CreateFirst(ref firstDb);
+
+                            if (CacleCls.preTrackScale != null)
+                            {
+                                CacleCls.preTrackScale.format(firstDb);
+                            }
+
+                            if (firstService.add(firstDb).Succeed)
+                            {
+                                //保存成功
+                                isMeasureSuccess = true;
+                            }
+                            else
+                            {
+                                vicPlayClass.GetVoicePlay(VoiceEnum.程序处理异常, CacleCls.lockCarNo);
+                                led_controler.setStaticLineMsg(AppConfigCache.ledIp, "计量失败,请联系管理员");
+                                txtMsgInfo.Text = "计量失败写入,本地文件异常:" + msgInfo;
+                                lg.WriteLog(LogType.serverLog, "计量失败,写入本地文件异常:" + msgInfo);
+                                CacleCls.isLock = false;
+                                return;
+                            }
+                        }
+                        else
+                        {
+                            //勾选了一次计量数据,勾选了预报数据
+
+                            //勾选了一次计量数据,未勾选预报数据
+
+                            //未勾选一次计量数据,未勾选预报数据,勾选自动结净
+
+                            //未勾选一次计量数据,未勾选预报数据,未勾选自动结净
+                        }
+                    }
+                    else //没网络统一写一次数据
+                    {
+                        MeterWorkRailwayActFirst firstDb = new MeterWorkRailwayActFirst();
+                        CreateFirst(ref firstDb);
+
+                        if (FileOption.WriterDb(firstDb, FileTypeEnum.一次数据, out string msg))
+                        {
+                            isMeasureSuccess = true;
+                        }
+                        else
+                        {
+                            vicPlayClass.GetVoicePlay(VoiceEnum.程序处理异常, CacleCls.lockCarNo);
+                            led_controler.setStaticLineMsg(AppConfigCache.ledIp, "计量失败,请联系管理员");
+                            txtMsgInfo.Text = "计量失败写入,本地文件异常:" + msgInfo;
+                            lg.WriteLog(LogType.serverLog, "计量失败,写入本地文件异常:" + msgInfo);
+                            CacleCls.isLock = false;
+                            return;
+                        }
+                    }
+                }
+
+
+
+
+
+
+
+
+                //计量成功
+                if (isMeasureSuccess)
+                {
+                    txtMsgInfo.Text = "计量完成";
+                    #region 毛皮净赋值
+                    if (CacleCls.firstDb != null && CacleCls.firstDb.meterWeight > 0 && CacleCls.lockWgt > 0)
+                    {
+                        if (CacleCls.firstDb.meterWeight > CacleCls.lockWgt)
+                        {
+                            txtGroess.Text = $"{CacleCls.firstDb.meterWeight / 1000}";
+                            txtTare.Text = $"{CacleCls.lockWgt / 1000}";
+                            txtNet.Text = $"{(CacleCls.firstDb.meterWeight - CacleCls.lockWgt) / 1000}";
+                        }
+                        else
+                        {
+                            txtGroess.Text = $"{CacleCls.lockWgt / 1000}";
+                            txtTare.Text = $"{CacleCls.firstDb.meterWeight / 1000}";
+                            txtNet.Text = $"{(CacleCls.lockWgt - CacleCls.firstDb.meterWeight) / 1000}";
+                        }
+                    }
+
+                    if (!string.IsNullOrEmpty(CacleCls.LEDResultMessage))
+                    {
+                        led_controler.setStaticLineMsg(AppConfigCache.ledIp, CacleCls.LEDResultMessage);
+                    }
+                    #endregion
+
+                    //屏幕截图操作
+                    _ = BeginInvoke(new Action(() => { shotImageScreen(strGuid); }));
+
+
+                    BindTable<PreRailwayScale>(ultraGridWaitFirst, dataTableWaitFirst, "firstWait");
+                    BindTable<MeterWorkRailwayActual>(ultraGridWaitNet, dataTableWaitNet, "netWait");
+                    BindTable<MeterWorkRailwayActFirst>(ultraGridLocalFirst, dataTableWaitFirst, "localFirst");
+                    BindTable<MeterWorkRailwayActual>(ultraGridLocalNet, dataTableWaitNet, "localNet");
+                }
+                #endregion
+            }
+            catch (Exception ex)
+            {
+                vicPlayClass.GetVoicePlay(VoiceEnum.程序处理异常, CacleCls.lockCarNo);
+                lg.WriteLog(LogType.SystemLog, "计量失败1:" + ex.Message);
+                CacleCls.isLock = false;
+            }
+        }
+
+        bool isUseLabelTare = false;
+        private void btnTareSaveOver_Click(object sender, EventArgs e)
+        {
+            if (txtTare.Value < 1)
+            {
+                MessageBox.Show("请输入皮重");
+                txtTare.Focus();
+                return;
+            }
+
+            if (CacleCls.weight - txtTare.Value <= 0)
+            {
+                MessageBox.Show("结净重量过小无法结净");
+                txtTare.Focus();
+                return;
+            }
+
+            if (MessageBox.Show("是否确认保存当前计量数据?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
+            {
+                return;
+            }
+
+            if (CacleCls.weight - txtTare.Value < AppConfigCache.differenceWgt)
+            {
+                DialogResult dr = MessageBox.Show("净重小于" + AppConfigCache.differenceWgt / 1000 + "吨,请确认是否保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
+                if (dr == DialogResult.Cancel)
+                {
+                    return;
+                }
+            }
+
+            txtMsgInfo.Text = "";
+            isUseLabelTare = true;
+            btnSave.PerformClick();
+        }
+        
+        #endregion
+
+        #region 绑定数据
+        private void BindTable<T>(UltraGrid ug, DataTable dtDatabase, string sType)
+        {
+            bool bReadFlag = false;
+            string strRtMsgInfo = "";
+            List<T> lm = null;
+            DataTable dtV = dtDatabase.Clone();
+            
+            switch (sType)
+            {
+                case "first":
+                    if (CacleCls.serverFlag)
+                    {
+                        rmRailwayFirstList = firstService.doQueryWf(new MeterWorkRailwayActFirst { railwayTypeNo = "001019001", railwayNo = CacleCls.lockCarNo, valueFlag = "1", pageNum = 1, pageSize = 50 });
+                        if (rmRailwayFirstList.Succeed)
+                        {
+                            lm = rmRailwayFirstList.Data as List<T>;
+                            flagQF = true;
+                        }
+                        else
+                        {
+                            txtMsgInfo.Text = $"获取一次计量数据异常:{rmRailwayFirstList.ResultMessage}";
+                        }
+                    };
+                    break;
+                case "pre":
+                    if (CacleCls.serverFlag)
+                    {
+                        rmRailwayScaleList = preService.doQueryTenWf(new PreRailwayScale { railwayNo = CacleCls.lockCarNo });
+                        if (rmRailwayScaleList.Succeed)
+                        {
+                            lm = rmRailwayScaleList.Data as List<T>;
+                            flagQP = true;
+                        }
+                        else
+                        {
+                            txtMsgInfo.Text = $"获取预报数据异常:{rmRailwayScaleList.ResultMessage}";
+                        }
+                    };
+                    break;
+                case "localFirst":
+                    lm = FileOption.ReadDb<T>(FileTypeEnum.一次数据, ref bReadFlag, ref strRtMsgInfo);
+                    break;
+                case "localNet":
+                    lm = FileOption.ReadDb<T>(FileTypeEnum.结净数据, ref bReadFlag, ref strRtMsgInfo);
+                    break;
+                case "firstWait":
+                    if (CacleCls.serverFlag)
+                    {
+                        rmWaitFirstList = firstService.getWaitSubmitBySpotNo(new MeterWorkRailwayActFirst { baseSpotNo = AppConfigCache.pointNo, flag = "1", createTime1 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss"), createTime2 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+                        if (rmWaitFirstList.Succeed)
+                        {
+                            lm = rmWaitFirstList.Data as List<T>;
+                            flagQP = true;
+                        }
+                        else
+                        {
+                            txtMsgInfo.Text = $"获取待提交一次计量数据异常:{rmWaitFirstList.ResultMessage}";
+                        }
+                    };
+                    break;
+                case "netWait":
+                    if (CacleCls.serverFlag)
+                    {
+                        rmWaitNetList = netService.getWaitSubmitBySpotNo(new MeterWorkRailwayActual { netSpot3No = AppConfigCache.pointNo, flag = "1", startTime = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss"), endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+                        if (rmWaitNetList.Succeed)
+                        {
+                            lm = rmWaitNetList.Data as List<T>;
+                            flagQP = true;
+                        }
+                        else
+                        {
+                            txtMsgInfo.Text = $"获取待提交结净计量数据异常:{rmWaitNetList.ResultMessage}";
+                        }
+                    };
+                    break;
+            }
+            
+
+            if (lm != null && lm.Count > 0)
+            {
+                dtV = lm.ListToDataTable<T>();
+            }
+            ClsControlPack.CopyDataToDatatable(ref dtV, ref dtDatabase, true);
+            ClsControlPack.RefreshAndAutoSize(ug);
+        }
+
+        bool flagQF = true, flagQP = true;
+        private void ultraGridPre_AfterRowActivate(object sender, EventArgs e)
+        {
+            if (!flagQP) 
+            {
+                UltraGridRow ugr = ultraGridPre.ActiveRow;
+                if (ugr != null)
+                {
+                    try
+                    {
+                        foreach (UltraGridRow ugrc in ultraGridPre.Rows)
+                        {
+                            ugrc.Cells["UNCK"].Value = false;
+                        }
+                        ugr.Cells["UNCK"].Value = !(bool)ugr.Cells["UNCK"].Value; //选择筛选栏的时候,这里会报错,所以捕获下异常
+                    }
+                    catch { }
+                }
+            }
+            flagQP = false;
+        }
+
+        private void ultraGridFirst_AfterRowActivate(object sender, EventArgs e)
+        {
+            if (!flagQF) 
+            {
+                UltraGridRow ugr = ultraGridFirst.ActiveRow;
+                if (ugr != null)
+                {
+                    try
+                    {
+                        foreach (UltraGridRow ugrc in ultraGridFirst.Rows)
+                        {
+                            ugrc.Cells["UNCK"].Value = false;
+                        }
+                        ugr.Cells["UNCK"].Value = !(bool)ugr.Cells["UNCK"].Value; //选择筛选栏的时候,这里会报错,所以捕获下异常
+
+                    }
+                    catch { }
+                }
+            }
+            flagQF=false;
+        }
+
+        private void ultraGridWaitFirst_AfterRowActivate(object sender, EventArgs e)
+        {
+            UltraGridRow ugr = ultraGridWaitFirst.ActiveRow;
+            if (ugr != null)
+            {
+                try
+                {
+                    ugr.Cells["UNCK"].Value = !(bool)ugr.Cells["UNCK"].Value; //选择筛选栏的时候,这里会报错,所以捕获下异常
+                }
+                catch { }
+            }
+        }
+
+        private void cbFirstWait_CheckedChanged(object sender, EventArgs e)
+        {
+            foreach (UltraGridRow ugrc in ultraGridWaitFirst.Rows)
+            {
+                ugrc.Cells["UNCK"].Value = cbFirstWait.Checked;
+            }
+        }
+
+        private void ultraGridWaitNet_AfterRowActivate(object sender, EventArgs e)
+        {
+            UltraGridRow ugr = ultraGridWaitNet.ActiveRow;
+            if (ugr != null)
+            {
+                try
+                {
+                    ugr.Cells["UNCK"].Value = !(bool)ugr.Cells["UNCK"].Value; //选择筛选栏的时候,这里会报错,所以捕获下异常
+                }
+                catch { }
+            }
+        }
+
+        private void cbNetWait_CheckedChanged(object sender, EventArgs e)
+        {
+            foreach (UltraGridRow ugrc in ultraGridWaitNet.Rows)
+            {
+                ugrc.Cells["UNCK"].Value = cbNetWait.Checked;
+            }
+        }
+
+        private void btnSubmitFirstWait_Click(object sender, EventArgs e)
+        {
+            ultraGridWaitFirst.UpdateData();
+
+
+        }
+
+        private void btnNetSubmit_Click(object sender, EventArgs e)
+        {
+            ultraGridWaitNet.UpdateData();
+
+
+        }
+
+        private void txtCarNo_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter) label3.Focus();
+        }
+        #endregion
+
+        #region 截图
+        /// <summary>
+        /// 终端截图(临时截图,使用临时ID存储)
+        /// </summary>
+        public void shotImageScreen(string strActualFirstNo)
+        {
+            try
+            {
+                #region 截取图片信息
+                //截取屏幕信息
+                Point screenPoint = plCaptionMain.PointToScreen(new Point());
+                Rectangle rect = new Rectangle(screenPoint, plCaptionMain.Size);
+                Image img = new Bitmap(plCaptionMain.Width, plCaptionMain.Height);
+                Graphics g = Graphics.FromImage(img);
+                g.CopyFromScreen(rect.X - 1, rect.Y - 1, 0, 0, rect.Size);//"D://file/1.jpg"
+                img.Save(string.Format("{0}imgShort\\formalImg\\{1}_{2}_tempImg_{3}.jpg",
+                    AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
+                    AppConfigCache.pointNo, "C" + strActualFirstNo, 7), System.Drawing.Imaging.ImageFormat.Jpeg);
+
+                //lg.WriteLog(35, "完成截图    成功标识:" + PbCache.shotSuccess.ToString() + "车号:" + PbCache.lockCarNo + ";重量:" + PbCache.lockWgt + ";时间:" + DateTime.Now.ToLongTimeString());
+                #endregion 截取图片信息
+            }
+            catch (Exception ex)
+            {
+                lg.WriteLog(LogType.SystemLog, "计量完成,但图片截取失败,编号:" + strActualFirstNo);
+            }
+        }
+        #endregion
+
+        #region 释放内存
+        [DllImport("kernel32.dll")]
+        private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
+
+        private void cbSetFirst_CheckedChanged(object sender, EventArgs e)
+        {
+
+        }
+
+        //刷新存储器
+        private static void FlushMemory()
+        {
+            GC.Collect();
+            GC.WaitForPendingFinalizers();
+            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+            {
+                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
+            }
+        }
+        #endregion
+
+
+        #region
+        private void CreateFirst(ref MeterWorkRailwayActFirst mwraf)
+        {
+            mwraf.meterWeight = CacleCls.lockWgt;
+            mwraf.railwayNo = CacleCls.lockCarNo;
+            mwraf.conveyanceType = CacleCls.carType;
+            mwraf.lcNo = "无列次";
+            mwraf.createManNo = "system";
+            mwraf.createManName = "system";
+            mwraf.createTime = DateTime.Now;
+            mwraf.baseSpotNo = AppConfigCache.pointNo;
+            mwraf.baseSpotName = AppConfigCache.pointName;
+            mwraf.railwayTypeNo = AppConfigCache.railwayTypeNo;
+            mwraf.railwayTypeName = AppConfigCache.railwayTypeName;
+            mwraf.meterMode = "1";
+            mwraf.dataSource = "1";
+            mwraf.checkFlag = "0";
+            mwraf.noticeNo = $"{ip},{Thread.CurrentThread.Name}";
+            if (isUseLabelTare)
+            {
+                mwraf.railwayFactoryWeight = Convert.ToDouble(txtTare.Value.ToString());
+            }
+        }
+        #endregion
     }
 }

+ 211 - 0
RailLocalMeter/frmMain.resx

@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="dataSetFirst.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="dataSetLocal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>121, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="picHRed.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        R0lGODlhjgCOAIZMAAT3Acf8xYLsclrjQUXjLdv+23fpZC7lFxbtCT/iJ2blT8H7vtX+1UniMYbsd0/j
+        NzDlGRzqC17jRmrlU5fxi8n8x8n8yE3hNEjiL6X0nArzAwj0Aqn1oT3jJm3nWIntehjsCbf5szTkHA7w
+        BHrpZozufsP8waHzlx7pDRLvB736uorte4zuf6P0mirlFYTsdHHnXdP90kHiKL36uRTuB8X8w9H90CLo
+        EKv2pKX0nUPhKlbjPZPwhlfiP8P7wGblTlPjO7f5sjbjHhrrC4rue9n+2YLrcTLkGxzrDDriIZXwiAD6
+        AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQB
+        AABMACwAAAAAjgCOAAAI/wCZCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJ
+        jRZyCPjRAMKQDUtiylyyYQiEBj8E5LBwsufIAhwMYIgws6jRo0siYDDAoYDPpxcXvGiQAqnVqzNTNHix
+        AKrXhgGMJMBKtqzMBEYCfF1L8MSOEWbjmh2x4wRbqAVWJJHLV26SFU7vkiwiAELfw3IhCCgiOGSJI4gj
+        yz1SonHHFgQka5ZLoIVljBUUANhM2iwABRU+U1RyoLRrsweUqIZoQ8Hr22YV2JjNEEcH3MDJdsDBOyER
+        osGTW41ApLhBGMqjX4XhXCADCdKzI5XAoLiFB9rDG/99wFO1iczi08skYOKzDxnq48eU4aNxAPTy4xNQ
+        yzbGhfwAXhADWwMAaOAAa3lg4IIeeOXAghA68FQGCEC4IAIZ9FSBEBZCKERqJmHXIYQSmPTBiB1+QNIM
+        N6Bo4Q0zjNSDix32IBIPNI7IA0gMiJBjhyJ055EBP45ogEcLIFFkh0h0xdEES444AUcq0BBlhzSosBGU
+        V3Y4ZUYBgNBlhyDwdxEJY45IQkatpWnhARhR4OaIFFwE3pwWPmBRDRrgaaEGNVQkgJ8dClCRDoRaqANF
+        AYyW6IIAmAkRC49ayMJEQFQKIRAToaDpgihIFMSnEAYR0YOkGighRAWmCiCCELWS6ap8cD5UgKOzxgdA
+        YA2FkCuAITwk56/y1ekQkcTGd6RDrSabHqwNjeVsegk85MK06bnwUIXYhofAQ7h2Kx0AD4krXrnmaodu
+        utKty65y7r4bXLzy4kZvva+Biy9w5DrE7b6vfevQtQC/pq1D0hZcWrXMKuwatAwh6/BmyzY07MSaGdsr
+        xpsF69CtHEe2a6whI1b/60PNliwXxA2hqrJcqz406stymRqRpzSXFapEmeZMFqcSUeozVpdK1OjQVkVK
+        EaJIH7UoRYM2bZShFPEp9UyAWnTn1UvoadHFV2tckaxNn2wRmleviVGYUpepEZdIf5lRlUhn+WTcHSXp
+        c5ND+lwxRz3SHCRIOL68Y0gzlmyjSCyGDCNJJ3KsYkkiOlyiSRs6/GFPFBaM4VMu4xuzTwri2+BXKafL
+        8lP+vSvgXfelu19j74lL32fnYcvebN85S15x1xHLXXVMQDcrdcQLdBypzCVPkG+aDud8QbU9qtv0B7GG
+        Z2zYJxRauEueBmL3CWF2ZWfkO/TYj5SlDxFhho2oUhhj7keU114L/sVr/RO5BZd6dLEL/8AklvCgRVID
+        1IhUqAIcrXAlgT8JylA0oxSm7A+CJknJSlrykqPU5CY52QkGR0jCEprwhChMoQpXyELeBAQAOw==
+</value>
+  </data>
+  <data name="picQRed.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="pbLineOn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+</root>