Bladeren bron

winfrom修改

duyong 4 jaren geleden
bovenliggende
commit
ac370b776d

+ 1 - 1
CarMeterSystem/App.config

@@ -24,7 +24,7 @@
 		<!--毛皮差值验证(单位kg)-->
 		<add key="differenceWgt" value="400" />
 		<!--进入测试界面还是正式界面 0测试,1正式,2一码到底测试-->
-		<add key="productType" value="1" />
+		<add key="productType" value="0" />
 		<!--联达比较重量-->
 		<add key="lianDaWgt" value="200" />
 		<!--联达计量点编号-->

+ 35 - 1
CarMeterSystem/frmOneYardToEnd.cs

@@ -326,7 +326,7 @@ namespace CarMeterSystem
                                 }
                                 else
                                 {
-                                    //说明:不满足场景的的要求,不能进行return,继续下一个场景,若所有的场景都失败,则提示“未找到计量场景配置信息”
+                                    //说明:不满足场景的的要求,不能进行return,继续下一个场景,若所有的场景都失败,则提示“未找到计量场景配置信息” 
                                     //ResultMessage = strRm.Data.resultInfo;
                                     //return strRm.Data.result;  //2021-3-18 杨秀东注释;要处理一车联运(多场景)的数据;问题:提示信息会出现问题
                                 }
@@ -352,6 +352,7 @@ namespace CarMeterSystem
                                 return;
 
                             }
+                            Monitor(strRm.Data);
                         }
                         else
                         {
@@ -917,6 +918,10 @@ namespace CarMeterSystem
                             vicPlayClass.GetVoicePlay("车上人员请下车", PbCache.collect.carno);
                             //txtMsgInfo.Text = "请核对车号后,扫描您手机中的二维码";
                         }
+
+                        //五秒后自动执行保存方法
+                        Thread.Sleep(5000);
+                        this.btnSave.PerformClick();
                     }
                     else if (PbCache.monitor.validMatClick == "0")
                     {
@@ -1690,5 +1695,34 @@ namespace CarMeterSystem
 
             #endregion 清理一次监控表的几个数值,防止上车速度过快导致提示称重完成
         }
+        
+        /// <summary>
+        /// 修改监控表验证状态
+        /// </summary>
+        public void Monitor(rtInfo rt)
+        {
+            MeterWorkMonitor meterWorkMonitor = new MeterWorkMonitor();
+            meterWorkMonitor.pointNo = PbCache.sportInfo.baseSpotNo;
+            if (rt.isWarn)
+            {
+                if (rt.WarnContent == "validIsPre")
+                {
+                    meterWorkMonitor.validIsPre = "1";
+                }
+                if(rt.WarnContent == "validWgt")
+                {
+                    meterWorkMonitor.validWgt = "1";
+                }
+            }
+            if (rt.isHelp)
+            {
+                meterWorkMonitor.isHelp = "1";
+            }
+            RESTfulResult<string> rms = monitor.doUpdateWf(meterWorkMonitor);
+            if (!rms.Succeed)
+            {
+                lg.WriteLog(3, PbCache.lockCarNo + "求助写入失败");
+            }
+        }
     }
 }

+ 22 - 0
Common/DbOption/work/MeterWorkCarActualService.cs

@@ -194,6 +194,28 @@ namespace Common
             RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doNetTermTare", new object[] { pbSomeModel }, 1);
             return rm;
         }
+
+        /// <summary>
+        /// 多毛一皮逻辑
+        /// </summary>
+        /// <param name="actualFirst">一次计量数据</param>
+        /// <returns></returns>
+        public RESTfulResult<string> doNetAddMuch(MeterWorkCarActualFirst actualFirst)
+        {
+            DbHelper db = new DbHelper();
+            PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale>();
+            pbSomeModel.one = actualFirst;
+
+            if (actualFirst != null && string.IsNullOrEmpty(actualFirst.createManNo))
+            {
+                actualFirst.createManNo = actualFirst.baseSpotNo;
+                actualFirst.createManName = actualFirst.baseSpotName;
+            }
+
+            //RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetInnerWf", new object[] { secondDb, netDb, saveTare }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doNetAddMuch", new object[] { pbSomeModel }, 1);
+            return rm;
+        }
         #endregion
     }
 }

+ 45 - 1
Common/DbOption/work/MeterWorkRailwayMotorialReceivedService.cs

@@ -1,4 +1,6 @@
-using System;
+using com.hnshituo.core.webapp.vo;
+using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -8,5 +10,47 @@ namespace Common.DbOption.work
 {
     public class MeterWorkRailwayReceivedService
     {
+        /// <summary>
+        /// 新增到从表列车数据(无业务)
+        /// </summary>
+        /// <param name="info">MeterWorkCarActualFirst</param>
+        /// <returns></returns>
+        public RESTfulResult<string> doAdd(MeterWorkRailwayMotorialReceived info)
+        {
+            DbHelper db = new DbHelper();
+
+            RESTfulResult<string> rm = db.doOption<string>("meterworkrailwayreceiveds", "/", new object[] { info }, 1);
+            RESTfulResult<string> result = new RESTfulResult<string>();
+            result.Succeed = rm.Succeed;
+            result.Status = rm.Status;
+            result.Message = rm.Message;
+            result.ResultMessage = rm.ResultMessage;
+            result.Code = rm.Code;
+            result.Data = rm.Data;
+            return rm;
+        }
+
+        /// <summary>
+        /// 查询
+        /// </summary>
+        /// <param name="info">MeterWorkRailwayMotorialReceived</param>
+        /// <returns></returns>
+        public RESTfulResult<List<MeterWorkRailwayMotorialReceived>> Query(Hashtable info)
+        {
+            DbHelper db = new DbHelper();
+
+            RESTfulResult<PageList<List<MeterWorkRailwayMotorialReceived>>> rm = db.doOption<PageList<List<MeterWorkRailwayMotorialReceived>>>("meterworkrailwayreceiveds", "/listLikePost/", new object[] { info }, 1);
+            RESTfulResult<List<MeterWorkRailwayMotorialReceived>> result = new RESTfulResult<List<MeterWorkRailwayMotorialReceived>>();
+            result.Succeed = rm.Succeed;
+            result.Status = rm.Status;
+            result.Message = rm.Message;
+            result.ResultMessage = rm.ResultMessage;
+            result.Code = rm.Code;
+            if (rm != null && rm.Data.size > 0)
+            {
+                result.Data = rm.Data.list;
+            }
+            return result;
+        }
     }
 }

+ 27 - 3
Common/DbOption/work/MeterWorkRailwayRecMainService.cs

@@ -1,5 +1,6 @@
 using com.hnshituo.core.webapp.vo;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -10,7 +11,7 @@ namespace Common.DbOption.work
     public class MeterWorkRailwayRecMainService
     {
         /// <summary>
-        /// 直接新增一次计量数据(无业务)
+        /// 新增到主表列车数据(无业务)
         /// </summary>
         /// <param name="info">MeterWorkCarActualFirst</param>
         /// <returns></returns>
@@ -18,7 +19,7 @@ namespace Common.DbOption.work
         {
             DbHelper db = new DbHelper();
 
-            RESTfulResult<string> rm = db.doOption<string>("meterworkrailwayreceiveds", "/", new object[] { info }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkrailwayrecmains", "/", new object[] { info }, 1);
             RESTfulResult<string> result = new RESTfulResult<string>();
             result.Succeed = rm.Succeed;
             result.Status = rm.Status;
@@ -26,7 +27,30 @@ namespace Common.DbOption.work
             result.ResultMessage = rm.ResultMessage;
             result.Code = rm.Code;
             result.Data = rm.Data;
-            return rm;
+            return result;
+        }
+
+        /// <summary>
+        /// 查询
+        /// </summary>
+        /// <param name="info">MeterWorkRailwayRecMain</param>
+        /// <returns></returns>
+        public RESTfulResult<List<MeterWorkRailwayRecMain>> Query(Hashtable info)
+        {
+            DbHelper db = new DbHelper();
+
+            RESTfulResult<PageList<List<MeterWorkRailwayRecMain>>> rm = db.doOption<PageList<List<MeterWorkRailwayRecMain>>>("meterworkrailwayrecmains", "/listLikePost/", new object[] { info }, 1);
+            RESTfulResult<List<MeterWorkRailwayRecMain>> result = new RESTfulResult<List<MeterWorkRailwayRecMain>>();
+            result.Succeed = rm.Succeed;
+            result.Status = rm.Status;
+            result.Message = rm.Message;
+            result.ResultMessage = rm.ResultMessage;
+            result.Code = rm.Code;
+            if (rm != null && rm.Data.size > 0)
+            {
+                result.Data = rm.Data.list;
+            }
+            return result;
         }
     }
 }

+ 4 - 0
Common/Reflex/EntityBase.cs

@@ -20,6 +20,10 @@ namespace Common
             {
                 foreach (PropertyInfo p1 in PropertyInfos1) 
                 {
+                    if (p2.Name == "createManNo" || p2.Name == "createManName")
+                    {
+                        continue;
+                    }
                     if (p2.Name.ToUpper() == p1.Name.ToUpper()) 
                     {
                         value = p1.GetValue(t, null);

+ 5 - 0
Common/vo/work/MeterWorkMonitor.cs

@@ -201,6 +201,11 @@ namespace Common
 		/// </summary>
 		public string validMeterArea { get; set; }
 
+		/// <summary>
+		/// 验证是否存在委托:0不验证  1验证
+		/// </summary>
+		public string validIsPre { get; set; }
+
 		/// <summary>
 		/// 派位的时间<用于在界面显示>
 		/// </summary>

+ 15 - 0
MeterSceneLibrary/ExecuteMethod.cs

@@ -75,6 +75,21 @@ namespace MeterSceneLibrary
         /// 为1时提示取样
         /// </summary>
         public string message { get; set; }
+
+        /// <summary>
+        /// 警告标识
+        /// </summary>
+        public bool isWarn { get; set; }
+
+        /// <summary>
+        /// 警告标识
+        /// </summary>
+        public string WarnContent { get; set; }
+
+        /// <summary>
+        /// 求助标识
+        /// </summary>
+        public bool isHelp { get; set; }
     }
 }
 

+ 16 - 1
MeterSceneLibrary/JISCO/InnerCarJISCO.cs

@@ -57,6 +57,8 @@ namespace MeterSceneLibrary
             mwaf.createManName = PbCache.sportInfo.baseSpotName;
             mwaf.meterGroup = "";
             mwaf.meterClass = "";
+            mwaf.createManNo = "SYSTEM";
+            mwaf.createManName = "system";
             mwaf.createTime = DateTime.Now;
             mwaf.baseSpotNo = PbCache.sportInfo.baseSpotNo;//计量点编号
             mwaf.baseSpotName = PbCache.sportInfo.baseSpotName;
@@ -284,7 +286,20 @@ namespace MeterSceneLibrary
                                     /* a. 程序报警a
                                      * b. 自动进行语音求助
                                      */
-                                     rt = saveMethod.doError("存在多条有效的一次计量数据,请联系计量大厅");
+                                    //多条一次记录下判断是否全为毛重,是全部结净
+                                    if (firstList[firstList.Count-1].weightType == "0" && list[0].weightTypeNo == "001033002")
+                                    {
+                                        //给一次数据匹配委托
+                                        EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
+                                        mwaf = entityBase.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
+                                        mwaf.isPreScale = "1";
+
+                                        rt = saveMethod.doNetAddMuch(mwaf);
+                                    }
+                                    else
+                                    {
+                                        rt = saveMethod.doError("存在多条有效的一次计量数据,请联系计量大厅");
+                                    }
                                 }
                             }
                         }

+ 12 - 1
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -88,6 +88,8 @@ namespace MeterSceneLibrary
                         // 不存在委托
                         if (listPreScale == null || listPreScale.Count == 0)    
                         {
+                            rt.isWarn = true;
+                            rt.WarnContent = "validIsPre";
                             rt = saveMethod.doAddFirst(null, mwaf);
                         }
                         // 存在一条使用中的委托
@@ -137,6 +139,8 @@ namespace MeterSceneLibrary
                                     {
                                         rt = saveMethod.doAddFirst(null, mwaf);
                                         rt = saveMethod.doError("称重完成,上次净重数据未匹配委托,请联系计量大厅");
+                                        rt.isWarn = true;
+                                        rt.WarnContent = "validIsPre";
                                     }
                                     // 上次净重已匹配委托 
                                     else if (lastMeterWorkCarActual.isPreScale == "1")
@@ -384,7 +388,8 @@ namespace MeterSceneLibrary
                                      * a. 正常产生洁净数据(状态为未发布)
                                      * b. 提示司机当前计量数据未匹配委托,请联系计量打印进行处理
                                      */
-
+                                    rt.isWarn = true;
+                                    rt.WarnContent = "validIsPre";
                                     rt = saveMethod.doNet(scale, rmX.Data[0], mwaf);
 
                                 }
@@ -457,6 +462,8 @@ namespace MeterSceneLibrary
 
                                         rt = saveMethod.doNet(scale, rmX.Data[0], mwaf);
                                         rt = saveMethod.doError("称重完成,当前所存计量数据未匹配委托,请联系计量大厅进行处理");
+                                        rt.isWarn = true;
+                                        rt.WarnContent = "validIsPre";
                                     }
                                 }
                                 // 存在多条未使用的委托数据
@@ -500,6 +507,8 @@ namespace MeterSceneLibrary
                                     //}
                                     rt = saveMethod.doNet(scale, rmX.Data[0], mwaf);
                                     rt = saveMethod.doError("称重完成,当前所存计量数据未匹配委托,请联系计量大厅进行处理");
+                                    rt.isWarn = true;
+                                    rt.WarnContent = "validIsPre";
                                 }
                             }
                             // 存在的一次计量数据已匹配委托
@@ -550,6 +559,8 @@ namespace MeterSceneLibrary
                     else
                     {
                         rt = saveMethod.doError("第一次计量重量【" + rmX.Data[0].meterWeight.Value / 1000 + "T】和第二次计量重量【" + PbCache.lockWgt / 1000 + "T】接近,小于结净最小值【" + diffrentWgt / 1000 + " T】");
+                        rt.isWarn = true;
+                        rt.WarnContent = "validWgt";
                     }
                 }
             }

+ 63 - 3
MeterSceneLibrary/JISCO/private/SaveMethod.cs

@@ -243,7 +243,22 @@ namespace MeterSceneLibrary.JISCO
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
-            actualService.doAddNetHZHX(actualFirst2, actualFirst, netDb, monitorNote, "0");
+            RESTfulResult<string> rmI = actualService.doAddNetHZHX(actualFirst2, actualFirst, netDb, monitorNote, "0");
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "称重完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+                PbCache.isTareWeight = false;//毛重
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
 
             return rt;
         }
@@ -363,7 +378,22 @@ namespace MeterSceneLibrary.JISCO
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
-            actualService.doNetAddTwo(scale, actualFirst1, netDb);
+            RESTfulResult<string> rmI = actualService.doNetAddTwo(scale, actualFirst1, netDb);
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "称重完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+                PbCache.isTareWeight = false;//毛重
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
             return rt;
         }
 
@@ -419,7 +449,22 @@ namespace MeterSceneLibrary.JISCO
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
-            actualService.doNetTermTare(actualFirst, netDb,"1");
+            RESTfulResult<string> rmI = actualService.doNetTermTare(actualFirst, netDb,"1");
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "称重完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+                PbCache.isTareWeight = false;//毛重
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
             return rt;
         }
 
@@ -605,6 +650,21 @@ namespace MeterSceneLibrary.JISCO
             return rt;
         }
 
+        /// <summary>
+        /// 产生一次计量数据,同时结净并匹配委托(多委托)
+        /// </summary>
+        /// <param name="scale"></param>
+        /// <param name="actualFirst"></param>
+        /// <param name="actualFirst1"></param>
+        public rtInfo doNetAddMuch(MeterWorkCarActualFirst actualFirst)
+        {
+            // 保存结净记录,后续改成统一提交模式  BourneCao
+
+            MeterWorkCarActualService actualService = new MeterWorkCarActualService();
+            actualService.doNetAddMuch(actualFirst);
+            return rt;
+        }
+
         /// <summary>
         /// 失败执行逻辑
         /// </summary>

+ 39 - 20
RailMeterSystem/frmTgMotoriaMain.cs

@@ -15,6 +15,8 @@ using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 using CreateAccess;
+using Common.DbOption.work;
+using System.Collections;
 
 namespace RailMeterSystem
 {
@@ -24,6 +26,8 @@ namespace RailMeterSystem
         MeterWorkRailwayActFirstService actFirstService = new MeterWorkRailwayActFirstService(); //
         MeterBaseRailwayWeightService baseRailwayWgt = new MeterBaseRailwayWeightService(); 
         MeterWorkRailwayActualService actualService = new MeterWorkRailwayActualService();
+        MeterWorkRailwayRecMainService meterWorkRailwayRecMainService = new MeterWorkRailwayRecMainService();
+        MeterWorkRailwayReceivedService meterWorkRailwayReceivedService = new MeterWorkRailwayReceivedService();
         #endregion
 
 
@@ -80,6 +84,9 @@ namespace RailMeterSystem
             QueryFirstDb();
         }
 
+        /// <summary>
+        /// 结净匹配
+        /// </summary>
         private void btnSubmit() 
         {
             ultraGridRecive.UpdateData();
@@ -196,6 +203,10 @@ namespace RailMeterSystem
             }
         }
 
+        /// <summary>
+        /// 取消结净
+        /// </summary>
+
         private void btnUnSubmit()
         {
             ultraGridNet.UpdateData();
@@ -237,6 +248,9 @@ namespace RailMeterSystem
                 }
             }
         }
+        /// <summary>
+        ///皮重保存
+        /// </summary>
 
         private void btnTare()
         {
@@ -291,6 +305,10 @@ namespace RailMeterSystem
             }
         }
 
+        /// <summary>
+        /// 皮重删除
+        /// </summary>
+
         private void btnUnTare()
         {
             if (ultraGridFirst.Rows.Count > 0)
@@ -369,33 +387,26 @@ namespace RailMeterSystem
         /// </summary>
         private void QueryVoice() 
         {
-            string sql = string.Format(@"select t.actual_no actualNo,
-                               to_char(t.create_time, 'yyyy-MM-dd HH24:mi:ss') createTime,
-                               t.carriage_num carriageNum,
-                               t.base_spot_no baseSpotNo,
-                               t.base_spot_name baseSpotName,
-                               t.video_name videoName,
-                               t.sound_name soundName,
-                               t.track_way trackWay
-                          from METER_WORK_RAILWAY_REC_MAIN t
-                          where t.create_time between to_date('{0}','yyyy-MM-dd HH24:mi:ss') and to_date('{1}','yyyy-MM-dd HH24:mi:ss')",
-                          dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), dtEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
+            DataTable dtV = dtVioce.Clone();
 
+            Hashtable hashtable = new Hashtable();
+            hashtable.Add("startTime", dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
+            hashtable.Add("endTime", dtEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
             if (!string.IsNullOrEmpty(strBaseSpotNo))
             {
-                sql += " and t.base_spot_no='" + strBaseSpotNo + "'";
+                hashtable.Add("startTime", dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
             }
 
-            sql += " order by t.actual_no";
+            RESTfulResult<List<MeterWorkRailwayRecMain>> rm = meterWorkRailwayRecMainService.Query(hashtable);
 
-            DataTable dtV = dtVioce.Clone();
+            dtV = rm.Data;
 
-            PbModelDbService<List<MeterWorkRailwayMotorialRecMain>> pb = new PbModelDbService<List<MeterWorkRailwayMotorialRecMain>>();
-            RESTfulResult<List<MeterWorkRailwayMotorialRecMain>> rmType = pb.executeSqlDataWf(sql);
-            if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
-            {
-                dtV = rmType.Data.ListToDataTable<MeterWorkRailwayMotorialRecMain>();
-            }
+            //PbModelDbService<List<MeterWorkRailwayRecMain>> pb = new PbModelDbService<List<MeterWorkRailwayRecMain>>();
+            //RESTfulResult<List<MeterWorkRailwayRecMain>> rmType = pb.executeSqlDataWf(sql);
+            //if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
+            //{
+            //    dtV = rmType.Data.ListToDataTable<MeterWorkRailwayMotorialRecMain>();
+            //}
 
             ClsControlPack.CopyDataToDatatable(ref dtV, ref this.dtVioce, true);
             ClsControlPack.RefreshAndAutoSize(ultraGridVoice);
@@ -423,6 +434,9 @@ namespace RailMeterSystem
 
             DataTable dtV = dtRecevice.Clone();
 
+
+            
+
             PbModelDbService<List<MeterWorkRailwayMotorialReceived>> pb = new PbModelDbService<List<MeterWorkRailwayMotorialReceived>>();
             RESTfulResult<List<MeterWorkRailwayMotorialReceived>> rmType = pb.executeSqlDataWf(sql);
             if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
@@ -691,6 +705,11 @@ namespace RailMeterSystem
             
         }
 
+        private void ultraGridVoice_InitializeLayout(object sender, InitializeLayoutEventArgs e)
+        {
+
+        }
+
         private void cbNetAll_CheckedChanged(object sender, EventArgs e)
         {
             if (ultraGridNet.Rows.Count > 0)

+ 13 - 12
RailMeterSystem/frmTgMotoriaMain.designer.cs

@@ -141,11 +141,11 @@
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn101 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayModelName");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn102 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("UNCK", 0);
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings1 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Sum, null, "netWeight", 48, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings2 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Count, null, "receivingUintName", 14, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings3 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Sum, null, "dryWgt", 69, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance13 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance14 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance16 = new Infragistics.Win.Appearance();
@@ -161,7 +161,7 @@
             Infragistics.Win.Appearance appearance20 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance21 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance22 = new Infragistics.Win.Appearance();
-            Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar2 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("UltraToolbar1");
+            Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar1 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("UltraToolbar1");
             Infragistics.Win.UltraWinToolbars.LabelTool labelTool3 = new Infragistics.Win.UltraWinToolbars.LabelTool("时间类型");
             Infragistics.Win.UltraWinToolbars.ControlContainerTool controlContainerTool1 = new Infragistics.Win.UltraWinToolbars.ControlContainerTool("ControlContainerTool1");
             Infragistics.Win.UltraWinToolbars.LabelTool labelTool7 = new Infragistics.Win.UltraWinToolbars.LabelTool("时间");
@@ -1895,11 +1895,11 @@
             ultraGridColumn102});
             ultraGridBand3.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
             summarySettings1.DisplayFormat = "{0}";
-            summarySettings1.GroupBySummaryValueAppearance = appearance4;
+            summarySettings1.GroupBySummaryValueAppearance = appearance1;
             summarySettings2.DisplayFormat = "{0}";
-            summarySettings2.GroupBySummaryValueAppearance = appearance5;
+            summarySettings2.GroupBySummaryValueAppearance = appearance2;
             summarySettings3.DisplayFormat = "{0}";
-            summarySettings3.GroupBySummaryValueAppearance = appearance6;
+            summarySettings3.GroupBySummaryValueAppearance = appearance3;
             ultraGridBand3.Summaries.AddRange(new Infragistics.Win.UltraWinGrid.SummarySettings[] {
             summarySettings1,
             summarySettings2,
@@ -2018,6 +2018,7 @@
             this.ultraGridVoice.Name = "ultraGridVoice";
             this.ultraGridVoice.Size = new System.Drawing.Size(1702, 198);
             this.ultraGridVoice.TabIndex = 14;
+            this.ultraGridVoice.InitializeLayout += new Infragistics.Win.UltraWinGrid.InitializeLayoutEventHandler(this.ultraGridVoice_InitializeLayout);
             this.ultraGridVoice.AfterRowActivate += new System.EventHandler(this.ultraGridVoice_Click);
             // 
             // panel12
@@ -2104,8 +2105,8 @@
             this.ultraToolbarsManager1.DockWithinContainer = this.panel12;
             this.ultraToolbarsManager1.ShowFullMenusDelay = 500;
             this.ultraToolbarsManager1.Style = Infragistics.Win.UltraWinToolbars.ToolbarStyle.Office2003;
-            ultraToolbar2.DockedColumn = 0;
-            ultraToolbar2.DockedRow = 0;
+            ultraToolbar1.DockedColumn = 0;
+            ultraToolbar1.DockedRow = 0;
             controlContainerTool1.ControlName = "cbTimeType";
             controlContainerTool1.InstanceProps.Width = 121;
             labelTool7.InstanceProps.Width = 54;
@@ -2119,7 +2120,7 @@
             buttonTool2.InstanceProps.IsFirstInGroup = true;
             buttonTool6.InstanceProps.IsFirstInGroup = true;
             buttonTool3.InstanceProps.IsFirstInGroup = true;
-            ultraToolbar2.NonInheritedTools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
+            ultraToolbar1.NonInheritedTools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
             labelTool3,
             controlContainerTool1,
             labelTool7,
@@ -2131,9 +2132,9 @@
             buttonTool2,
             buttonTool6,
             buttonTool3});
-            ultraToolbar2.Text = "UltraToolbar1";
+            ultraToolbar1.Text = "UltraToolbar1";
             this.ultraToolbarsManager1.Toolbars.AddRange(new Infragistics.Win.UltraWinToolbars.UltraToolbar[] {
-            ultraToolbar2});
+            ultraToolbar1});
             appearance25.Image = ((object)(resources.GetObject("appearance25.Image")));
             buttonTool7.SharedPropsInternal.AppearancesSmall.Appearance = appearance25;
             buttonTool7.SharedPropsInternal.Caption = "查询";

+ 6 - 6
RailMeterSystem/frmTgStaticMain.designer.cs

@@ -123,11 +123,11 @@ namespace RailMeterSystem
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn86 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("dryWgt");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn87 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayModelName");
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings1 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Sum, null, "netWeight", 48, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings2 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Count, null, "receivingUintName", 14, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinGrid.SummarySettings summarySettings3 = new Infragistics.Win.UltraWinGrid.SummarySettings("", Infragistics.Win.UltraWinGrid.SummaryType.Sum, null, "dryWgt", 69, true, "dtRailwayActual", 0, Infragistics.Win.UltraWinGrid.SummaryPosition.UseSummaryPositionColumn, null, -1, false);
-            Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance13 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance14 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance16 = new Infragistics.Win.Appearance();
@@ -1970,11 +1970,11 @@ namespace RailMeterSystem
             ultraGridColumn87});
             ultraGridBand2.RowLayoutStyle = Infragistics.Win.UltraWinGrid.RowLayoutStyle.ColumnLayout;
             summarySettings1.DisplayFormat = "{0}";
-            summarySettings1.GroupBySummaryValueAppearance = appearance4;
+            summarySettings1.GroupBySummaryValueAppearance = appearance1;
             summarySettings2.DisplayFormat = "{0}";
-            summarySettings2.GroupBySummaryValueAppearance = appearance5;
+            summarySettings2.GroupBySummaryValueAppearance = appearance2;
             summarySettings3.DisplayFormat = "{0}";
-            summarySettings3.GroupBySummaryValueAppearance = appearance6;
+            summarySettings3.GroupBySummaryValueAppearance = appearance3;
             ultraGridBand2.Summaries.AddRange(new Infragistics.Win.UltraWinGrid.SummarySettings[] {
             summarySettings1,
             summarySettings2,

+ 1 - 0
TrainVideoDataDispose/App.config

@@ -11,6 +11,7 @@
     <add key="icoredbTcp" value="tarantool://guest@10.99.200.86:2101" />
     <!--SFTP或者vsftp服务端连接及地址-->
     <add key="fip" value="192.168.185.238" />
+    <add key="spotConfig" value="E:\winformProject\jisco_winform_wzj\TrainVideoDataDispose\bin\Debug\logs,0006,6号磅;E:\winformProject\jisco_winform_wzj\TrainVideoDataDispose\bin\Debug\log,0007,7号磅" />
     <add key="fport" value="22" />
     <add key="fuid" value="jgjlftp" />
     <add key="fpwd" value="xxzx2021" />

+ 75 - 197
TrainVideoDataDispose/Form1.cs

@@ -1,18 +1,16 @@
-using System;
+using com.hnshituo.core.webapp.vo;
+using Common;
+using Common.DbOption.work;
+using System;
+using System.Collections;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
-using System.Drawing;
+using System.Data.OracleClient;
+using System.Diagnostics;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
-using System.IO;
-using System.Data.OracleClient;
-using System.Collections;
-using System.Diagnostics;
-using Common;
-using Common.DbOption.work;
-using com.hnshituo.core.webapp.vo;
 
 namespace TrainVideoDataDispose
 {
@@ -63,6 +61,8 @@ namespace TrainVideoDataDispose
             m_dtTrainWeightOrigDataMain.Columns.Add(dc);
             dc = new System.Data.DataColumn("WEIGHTTIME");//时间
             m_dtTrainWeightOrigDataMain.Columns.Add(dc);
+            dc = new System.Data.DataColumn("POINTNO");//计量编号
+            m_dtTrainWeightOrigDataMain.Columns.Add(dc);
             dc = new System.Data.DataColumn("POINTNAME");//计量点
             m_dtTrainWeightOrigDataMain.Columns.Add(dc);
             dc = new System.Data.DataColumn("TOTALCOUNT");//总节数
@@ -78,50 +78,22 @@ namespace TrainVideoDataDispose
             m_dtTrainWeightOrigData.Columns.Add(dc);
             dc = new System.Data.DataColumn("TRAINNO");//车号
             m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("FID");//FID
-            m_dtTrainWeightOrigData.Columns.Add(dc);
             dc = new System.Data.DataColumn("WEIGHT");//重量
             m_dtTrainWeightOrigData.Columns.Add(dc);
             dc = new System.Data.DataColumn("SPEED");//速度
             m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("POINTNAME");//计量点
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("MATERIALNAME");//物料
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("SENDERID");//发送方
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("RECEIVERID");//接收方
+            dc = new System.Data.DataColumn("POINTNO");//计量编号
             m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("WEIGHTTYPE");//计量类型
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("VIDEOFILENAME");//录像文件
+            dc = new System.Data.DataColumn("POINTNAME");//计量点
             m_dtTrainWeightOrigData.Columns.Add(dc);
             dc = new System.Data.DataColumn("WEIGHTTIME");//时间
             m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("OPERATER");//计量点
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("STOVENO");//炉号
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("STEELTYPE");//钢种
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("SPEC");//规格
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("BILLETCOUNTS");//根数
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("WASTEWEIGHT");//扣杂
-            m_dtTrainWeightOrigData.Columns.Add(dc);
             dc = new System.Data.DataColumn("ISVALID");//是否有效
             m_dtTrainWeightOrigData.Columns.Add(dc);
-            dc = new System.Data.DataColumn("ISMATCHED");//是否配车
+            dc = new System.Data.DataColumn("RAILWAYWORKNO");//列车作业编号
             m_dtTrainWeightOrigData.Columns.Add(dc);
-
-            //==================eason add 2019-10-21===============
-            dc = new System.Data.DataColumn("POT");//罐号
+            dc = new System.Data.DataColumn("RAILWAYMODELNAME");//车型名称
             m_dtTrainWeightOrigData.Columns.Add(dc);
-
-            dc = new System.Data.DataColumn("TRAIN_NO");//车号
-            m_dtTrainWeightOrigData.Columns.Add(dc);
-            //===================================================
         }
 
         /// <summary>
@@ -146,6 +118,8 @@ namespace TrainVideoDataDispose
         }
 
         private string[] carHeadNo = null;
+
+        private Hashtable hashtable = new Hashtable();//存储称点信息
         private void Form1_Load(object sender, EventArgs e)
         {
             //ldb- 进程已存在,则不重复打开。
@@ -155,7 +129,7 @@ namespace TrainVideoDataDispose
 
                 m_szRunPath = System.Environment.CurrentDirectory;
                 //getBaseCarInfo();
-               
+
                 GetOrigDataPathInfo();
                 BuildOrigDataTable();
 
@@ -190,6 +164,22 @@ namespace TrainVideoDataDispose
                 // Create a reference to the current directory.
                 foreach (string strPath in m_szOrigDataPath)
                 {
+                    //读取称点配置信息并存入hashtable
+                    hashtable.Clear();
+                    //读取配置
+                    string[] list = System.Configuration.ConfigurationSettings.AppSettings["spotConfig"].ToString().Split(';');
+                    foreach (var item in list)
+                    {
+                        string path = item.Split(',')[0];
+                        string spotNo = item.Split(',')[1];
+                        string spotName = item.Split(',')[2];
+                        //判断是否为配置信息中的某个
+                        if (strPath == path)
+                        {
+                            hashtable.Add("spotNo", spotNo);
+                            hashtable.Add("spotName", spotName);
+                        }
+                    }
                     System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(strPath);
                     FileInfo[] fis = null;
 
@@ -293,7 +283,7 @@ namespace TrainVideoDataDispose
 
             try
             {
-                
+
                 List<string[]> lss = new List<string[]>();
                 if (lss.Count == 0)
                 {
@@ -309,8 +299,8 @@ namespace TrainVideoDataDispose
                         WriteLog("轨道衡车号数据格式不正确!" + Lines[i]);
                         return false;
                     }
-                    
-                    
+
+
                     sModel sm = lm.Where(s => s.key == Fields[1].TrimStart('0').PadLeft(4, '0')).FirstOrDefault();
 
                     // 写入采集主表
@@ -393,6 +383,7 @@ namespace TrainVideoDataDispose
             string[] Lines = null;
             string[] Fields = null;
             string strWeightTime = "";
+            string strPointNo = "";
             string strPointName = "";
             string strVideoFileName = "";
             DataRow dr = null;
@@ -421,7 +412,6 @@ namespace TrainVideoDataDispose
                 dr = m_dtTrainWeightOrigData.NewRow();
 
                 //strSequenceNo = Fields[6]; //20181130增加: 改取现场生成时间 //20181207 取此字段容易主键冲突
-
                 if (dtCarInfo != null && dtCarInfo.Rows.Count > 0)
                 {
                     foreach (DataRow drs in dtCarInfo.Rows)
@@ -438,127 +428,28 @@ namespace TrainVideoDataDispose
                     //说明是车头信息
                     continue;
                 }
-               
+
                 dr["SEQUENCENUMBER"] = strSequenceNo;
-                dr["INDEXNO"] = Fields[0].PadLeft(2, '0');
-                dr["TRAINNO"] = Fields[1].TrimStart('0');
-                dr["FID"] = "";
-                dr["WEIGHT"] = Fields[2];
+                dr["INDEXNO"] = Fields[1];//车厢号
+                dr["RAILWAYMODELNAME"] = Fields[2];//车型
+                dr["TRAINNO"] = Fields[3];//车号
+                dr["WEIGHT"] = Fields[4];//重量
+                dr["RAILWAYWORKNO"] = Fields[8];//列车作业编号
                 if (Fields[3] == "")
                 {//lck20150109静态过磅时车速处理
                     Fields[3] = "3";
                 }
-                dr["SPEED"] = Fields[3];
-                dr["POINTNAME"] = Fields[4];
-                strPointName = Fields[4];
-                dr["MATERIALNAME"] = "";
-                dr["SENDERID"] = "";
-                dr["RECEIVERID"] = "";
-                dr["WEIGHTTYPE"] = "";
-                string _path = strPath.Substring(2);
-                string _strPath = "\\\\194.168.0.38" + _path;//194.168.0.38
-                dr["VIDEOFILENAME"] = _strPath + "\\" + Fields[5];
-                strVideoFileName = _strPath + "\\" + Fields[5];
-                dr["WEIGHTTIME"] = Fields[6];
-                strWeightTime = Fields[6];
-                dr["OPERATER"] = Fields[7];
-                dr["WASTEWEIGHT"] = "0";
-                dr["ISVALID"] = "False";
-                dr["ISMATCHED"] = "False";
-                dr["TRAIN_NO"] = Fields[1];//eason add191106保留原始车号
-                //==============eason add 2019-10-21==================
-                if (Fields.Length > 8)
-                {
-                    dr["POT"] = Fields[8].TrimStart('0');
-                    if (Fields[8].Trim() != "")//if (Fields[1].Trim() == "" && Fields[8].Trim() != "")
-                    {
-                        dr["TRAINNO"] = "";
-                        //dr["TRAINNO"] = Fields[8];
-                        //如果是铁水车则车号位置放置罐号
-                        if (strPointName == "冶钢四炼东进" || strPointName == "冶钢106线"
-                            || strPointName == "84线铁水轨道衡")
-                        {
-                            if (Fields[8].TrimStart('0').Length > 2)
-                            {
-                                //if (Fields[8].TrimStart('0').IndexOf("65") == 0)
-                                //{ 
-                                //    string m = Fields[8].TrimStart('0').Replace("65", "");
-                                //    if (m == "10")
-                                //    {
-                                //        dr["TRAINNO"] = "010";
-                                //    }
-                                //    else
-                                //    {
-                                //        dr["TRAINNO"] = m;//取最后2位数
-                                //    }
-                                //    dr["TRAINNO"] = Fields[8].Trim().PadLeft(7, '0');
-                                //}
-                                //else if (Fields[8].TrimStart('0').IndexOf("75") == 0)
-                                //{
-                                //    dr["TRAINNO"] = Fields[8].Replace("75", "").TrimStart('0');//取最后2位数 如果是09 则变为 9
-                                //    dr["TRAINNO"] = Fields[8].Trim().PadLeft(7, '0');
-                                //}
-                                //else //if (Fields[8].TrimStart('0').IndexOf("120") == 0)
-                                //    dr["TRAINNO"] = Fields[8];
-                                // 20200430 zzq
-                                dr["TRAINNO"] = Fields[8].Trim().PadLeft(7, '0');
-                            }
-                            else
-                            {
-                                dr["TRAINNO"] = "";
-                            }
-                        }
-                    }
-                    else
-                    {
-                        dr["TRAINNO"] = "";
-                    }
-                }
-                else
-                {
-                    dr["POT"] = "";
-                    if (Fields[1].Trim() != "")
-                    {
-                        dr["TRAINNO"] = Fields[1].Trim().PadLeft(7, '0');
-                    }
-                    else
-                    {
-                        dr["TRAINNO"] = "";
-                    } 
-                }
-                if (strPointName == "冶钢新站7道" || strPointName == "冶钢新站8道")
-                {
-                    dr["POT"] = Fields[1].TrimStart('0');//罐号
-                    //车号另算
-                    //dr["TRAINNO"] = Fields[1];
-                    if (Fields[1].TrimStart('0').Length > 2)
-                    {
-                        //if (Fields[1].TrimStart('0').IndexOf("65") == 0)
-                        //{
-                        //    //string m = Fields[1].TrimStart('0').Replace("65", "");
-                        //    //if (m == "10")
-                        //    //{
-                        //    //    dr["TRAINNO"] = "010";
-                        //    //}
-                        //    //else
-                        //    //{
-                        //    //    dr["TRAINNO"] = m;//取最后2位数
-                        //    //}
-                        //    dr["TRAINNO"] = Fields[8].Trim().PadLeft(7, '0');
-                        //}
-                        //else if (Fields[1].TrimStart('0').IndexOf("75") == 0)
-                        //    // dr["TRAINNO"] = Fields[1].Replace("75", "").TrimStart('0');//取最后2位数 如果是09 则变为 9
-                        //    dr["TRAINNO"] = Fields[8].Trim().PadLeft(7, '0');
-                        //else
-                        //    dr["TRAINNO"] = Fields[1];//120则取车号信息
-                        // 20200430 zzq
-                        dr["TRAINNO"] = Fields[1].Trim().PadLeft(7, '0');
-                    }
-
-                    dr["TRAIN_NO"] = "";
-                }
-                //==================================================
-
+                dr["SPEED"] = Fields[5];//速度
+                dr["POINTNO"] = hashtable["spotNo"].ToString();//称点信息
+                dr["POINTNAME"] = hashtable["spotName"].ToString();//称点信息
+                strPointNo = hashtable["spotNo"].ToString();//称点信息
+                strPointName = hashtable["spotName"].ToString();//称点信息
+                string _path = strPath.Substring(2);//录像地址
+                string _strPath = "\\\\194.168.0.38" + _path;//194.168.0.38//录像地址
+                strVideoFileName = _strPath + "\\" + Fields[4];//录像地址
+                dr["WEIGHTTIME"] = Fields[6];//时间
+                strWeightTime = Fields[6];//时间
+                dr["ISVALID"] = "1";//是否有效
                 m_dtTrainWeightOrigData.Rows.Add(dr);
             }
 
@@ -566,6 +457,7 @@ namespace TrainVideoDataDispose
             DataRow newRow = m_dtTrainWeightOrigDataMain.NewRow();
             newRow["SEQUENCENUMBER"] = strSequenceNo;
             newRow["WEIGHTTIME"] = strWeightTime;
+            newRow["POINTNO"] = strPointNo;
             newRow["POINTNAME"] = strPointName;
             newRow["TOTALCOUNT"] = (Lines.Length - 1).ToString();
             newRow["VIDEOFILENAME"] = strVideoFileName;
@@ -591,40 +483,25 @@ namespace TrainVideoDataDispose
                 //保存从表数据
                 foreach (DataRow dr in dtDetail.Rows)
                 {
-                    //;
-                    //dr["FID"].ToString().Trim();
-                    //dr["POINTNAME"].ToString().Trim();
-                    //dr["TRAINNO"].ToString().Trim();
-                    //dr["SPEED"].ToString().Trim();
-                    //dr["MATERIALNAME"].ToString().Trim();
-                    //dr["SENDERID"].ToString().Trim();
-                    //dr["RECEIVERID"].ToString().Trim();
-                    //dr["WEIGHT"].ToString().Trim();
-                    //dr["WEIGHTTIME"].ToString().Trim();
-
-                    //dr["OPERATER"].ToString().Trim();
-                    //dr["WEIGHTTYPE"].ToString().Trim();
-                    //dr["SEQUENCENUMBER"].ToString().Trim();
-                    //"0");
-                    //dr["INDEXNO"].ToString().Trim();
-                    //dr["ISVALID"].ToString().Trim();
-                    //dr["ISMATCHED"].ToString().Trim();
-                    //"0");
-                    //ClsServerCommon.setData("core.mcms.track.TrainDataDispose_Jiekou.AddTrainDataDetail_JieKou", new object[] { list }, ob, out strError);
-                    //if (!string.IsNullOrEmpty(strError))
-                    //{
-                    //    WriteLog("从表数据异常原因:" + strError);
-                    //    return false;
-                    //}
-                    //MeterWorkRailwayMotorialReceived meterWorkRailwayMotorialReceived = new MeterWorkRailwayMotorialReceived();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.baseSpotName = dr["POINTNAME"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.railwayNo = dr["TRAINNO"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
-                    //meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();
+                    MeterWorkRailwayMotorialReceived meterWorkRailwayMotorialReceived = new MeterWorkRailwayMotorialReceived();
+                    meterWorkRailwayMotorialReceived.actualFirstNo = dr["SEQUENCENUMBER"].ToString().Trim();//流水号
+                    meterWorkRailwayMotorialReceived.baseSpotName = dr["POINTNAME"].ToString().Trim();//称点名称
+                    meterWorkRailwayMotorialReceived.baseSpotNo = dr["POINTNO"].ToString().Trim();//称点编号
+                    meterWorkRailwayMotorialReceived.railwayNo = dr["TRAINNO"].ToString().Trim();//车号
+                    meterWorkRailwayMotorialReceived.railwaySpeed = double.Parse(dr["SPEED"].ToString().Trim());//速度
+                    meterWorkRailwayMotorialReceived.valueFlag = dr["ISVALID"].ToString().Trim();//是否有效
+                    meterWorkRailwayMotorialReceived.meterWeight = double.Parse(dr["WEIGHT"].ToString().Trim());//重量
+                    meterWorkRailwayMotorialReceived.railwayModel = dr["RAILWAYMODELNAME"].ToString().Trim();//车型
+                    meterWorkRailwayMotorialReceived.railwayWorkNo = dr["RAILWAYWORKNO"].ToString().Trim();//列车作业编号
+                    meterWorkRailwayMotorialReceived.createTime = DateTime.Parse(dr["WEIGHTTIME"].ToString());//时间
+                    meterWorkRailwayMotorialReceived.railwayCarriageNo = dr["INDEXNO"].ToString().Trim();//车厢号
+
+                    RESTfulResult<String> rm = MeterWorkRailwayReceivedService.doAdd(meterWorkRailwayMotorialReceived);
+                    if (!rm.Succeed)
+                    {
+                        WriteLog("保存数据异常原因!:" + rm.Message);
+                        return false;
+                    }
 
                 }
                 //保存主表数据
@@ -633,6 +510,7 @@ namespace TrainVideoDataDispose
                     MeterWorkRailwayRecMain meterWorkRailwayRecMain = new MeterWorkRailwayRecMain();
                     meterWorkRailwayRecMain.actualNo = dr["SEQUENCENUMBER"].ToString().Trim();
                     meterWorkRailwayRecMain.baseSpotName = dr["POINTNAME"].ToString().Trim();
+                    meterWorkRailwayRecMain.baseSpotNo = dr["POINTNO"].ToString().Trim();
                     meterWorkRailwayRecMain.createTime = DateTime.Now;
                     meterWorkRailwayRecMain.videoName = dr["VIDEOFILENAME"].ToString().Trim();
                     meterWorkRailwayRecMain.carriageNum = int.Parse(dr["TOTALCOUNT"].ToString().Trim());