|
|
@@ -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());
|