using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Uninpho.DBOperation.Model;
using Uninpho.DBOperation.Operation;
using System.IO;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid;
using ClosedXML.Excel;
namespace Uninpho.Tools.components.MTLFF
{
class MTLFCommon
{
static string UUID;
static int celllength = 18;
public static T_mitielifeng_filelist updataListMessage(GridView gv,string url,int row)
{
IXLWorksheet XLWorksheet = new XLWorkbook(url).Worksheet(1);
T_mitielifeng_filelist tm = new T_mitielifeng_filelist()
{
Zhanming= XLWorksheet.Row(2).Cell(3).Value.ToString(),
Xianluming = XLWorksheet.Row(2).Cell(14).Value.ToString(),
Daochahao = XLWorksheet.Row(2).Cell(6).Value.ToString(),
Zhechahao = XLWorksheet.Row(2).Cell(9).Value.ToString(),
Shejituhao = XLWorksheet.Row(2).Cell(12).Value.ToString(),
Riqi = XLWorksheet.Row(2).Cell(20).Value.ToString(),
Jiancharen = XLWorksheet.Row(2).Cell(17).Value.ToString()
};
gv.SetRowCellValue(row, "Zhanming", tm.Zhanming);
gv.SetRowCellValue(row, "Xianluming", tm.Xianluming);
gv.SetRowCellValue(row, "Daochahao", tm.Daochahao);
gv.SetRowCellValue(row, "Zhechahao", tm.Zhechahao);
gv.SetRowCellValue(row, "Shejituhao", tm.Shejituhao);
gv.SetRowCellValue(row, "Riqi", tm.Riqi.Split(' ')[0]);
gv.SetRowCellValue(row, "Jiancharen", tm.Jiancharen);
return tm;
}
///
/// 保存至filelist表
///
public static string SaveExcel2PG()
{
T_mitielifeng_filelist mtlf = new T_mitielifeng_filelist();
mtlf.Zhanming = ExcelTools.chezhan;
mtlf.Daochahao = ExcelTools.daocha;
mtlf.Zhechahao = ExcelTools.zhecha;
mtlf.Riqi = ExcelTools.jianceshijian;
mtlf.Jiancharen = ExcelTools.jianceren;
mtlf.Shejituhao = ExcelTools.shejituhao;
mtlf.Xianluming = ExcelTools.xianluming;
mtlf.Excelbytearr = ExcelTools.GetFileData(ExcelTools.filenameall);
mtlf.Remark = DateTime.Now.ToString();
//mtlf.Gengxinriqi = DateTime.Now.ToString();
//mtlf.Gengxinren = UserInform.userinf.Username;
UUID = DataAnalysisToPG.InsertMTLFListDataToPG(mtlf);
return UUID;
}
#region 读excel内部(没必要)
///
/// 保存至exceldata表
///
public static void saveExcelData2PG()
{
T_mitielifeng_exceldata mtlfdata = new T_mitielifeng_exceldata();
string[] datas = GetmtlfExcelData();
mtlfdata.Filelistid = UUID;
mtlfdata.Jgjdyhctjx = datas[0];
mtlfdata.Qita = datas[1];
mtlfdata.Cljgfgzbyjbggzbzxjx = datas[2];
mtlfdata.Jgwy = datas[3];
mtlfdata.Gczqs = datas[4];
mtlfdata.Ljgxcl = datas[5];
mtlfdata.Bcqs = datas[6];
mtlfdata.Jggyydtjxch = datas[7];
mtlfdata.Jggyydtjxzh = datas[8];
mtlfdata.Jggdsbmyftdtjx = datas[9];
mtlfdata.Jgymtjbgjx = datas[10];
mtlfdata.Xggdyhctjx = datas[11];
mtlfdata.Xggyydtjx = datas[12];
mtlfdata.Xggtsbmyftdtjx = datas[13];
mtlfdata.Xgyftjgtjx = datas[14];
mtlfdata.Xgyygjx = datas[15];
mtlfdata.Dxgycgjgjdjx = datas[16];
mtlfdata.Cljggdsbmyftxwzzjx = datas[17];
DataAnalysisToPG.InsertMTLFExcelDataToPG(mtlfdata);
}
///
/// 读取密贴离缝excel数据
/// 返回数据格式为
/// 【Filelistid,Jgjdyhctjx,Qita,Cljgfgzbyjbggzbzxjx,
/// Jgwy,Gczqs,Ljgxcl,Bcqs,Jggyydtjxch,Jggyydtjxzh,,
/// Jggdsbmyftdtjx,Jgymtjbgjx,Xggdyhctjx,Xggyydtjx,
/// Xggtsbmyftdtjx,Xgyftjgtjx,Xgyygjx,Dxgycgjgjdjx,
/// Cljggdsbmyftxwzzjx】
///
///
private static string[] GetmtlfExcelData()
{
string[] datas = new string[18];
var workbook = new XLWorkbook(ExcelTools.filenameall);
IXLWorksheet XLWorksheet = workbook.Worksheet(1);
datas[0] = readJgjdyhctjx(XLWorksheet);
datas[1] = readQita(XLWorksheet);
datas[2] = readCljgfgzbyjbggzbzxjx(XLWorksheet);
datas[3] = readJgwy(XLWorksheet);
datas[4] = readGxzqs(XLWorksheet);
datas[5] = readLjgxcl(XLWorksheet);
datas[6] = readBcqs(XLWorksheet);
datas[7] = readJggyydtjxch(XLWorksheet);
datas[8] = readJggyydtjxzh(XLWorksheet);
datas[9] = readJggdsbmyftdtjx(XLWorksheet);
datas[10] = readJgymtjbgjx(XLWorksheet);
datas[11] = readXggdyhctjx(XLWorksheet);
datas[12] = readXggyydtjx(XLWorksheet);
datas[13] = readXggtsbmyftdtjx(XLWorksheet);
datas[14] = readXgyftjgtjx(XLWorksheet);
datas[15] = readXgyygjx(XLWorksheet);
datas[16] = readDxgycgjgjdjx(XLWorksheet);
datas[17] = readCljggdsbmyftxwzzjx(XLWorksheet);
return datas;
}
///
/// 获取尖轨轨底与滑床台间隙
///
///
///
private static string readJgjdyhctjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] rows = new int[] { 4, 7, 10, 13 };
for (int i = 0; i < rows.Length; i++)
{
for (int j = 0; j < celllength; j++)
{
data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ",";//直
data += XLWorksheet.Row(rows[i] + 2).Cell(j + 4).Value.ToString() + ";";//曲
}
}
return data;
}
///
/// 获取其他
///
///
///
private static string readQita(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(16).Cell(10).Value.ToString();
return data;
}
///
/// 获取斥离尖轨非工作边与基本轨工作边最小间距
///
private static string readCljgfgzbyjbggzbzxjx(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(16).Cell(15).Value.ToString() + ",";
data += XLWorksheet.Row(16).Cell(16).Value.ToString() + ",";
data += XLWorksheet.Row(17).Cell(15).Value.ToString() + ",";
data += XLWorksheet.Row(18).Cell(15).Value.ToString();
return data;
}
///
/// 获取尖轨位移
///
private static string readJgwy(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(16).Cell(19).Value.ToString() + ",";
data += XLWorksheet.Row(17).Cell(19).Value.ToString();
return data;
}
///
/// 获取观测桩缺损
///
private static string readGxzqs(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(18).Cell(19).Value.ToString();
return data;
}
///
/// 获取两尖轨相错量
///
private static string readLjgxcl(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(16).Cell(21).Value.ToString();
return data;
}
///
/// 获取标尺缺损
///
private static string readBcqs(IXLWorksheet XLWorksheet)
{
string data = XLWorksheet.Row(18).Cell(21).Value.ToString();
return data;
}
///
/// 获取尖轨轨腰与顶铁间隙的岔号
///
private static string readJggyydtjxch(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] rows = new int[] { 19, 21 };
for (int i = 0; i < rows.Length; i++)
{
for (int j = 0; j < celllength - 1; j = j + 2)
{
data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左
data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
}
}
return data;
}
///
/// 获取尖轨轨腰与顶铁间隙的枕号
///
private static string readJggyydtjxzh(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int rows = 23;
for (int j = 0; j < celllength - 1; j = j + 2)
{
data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
}
return data;
}
///
/// 获取尖轨轨底上表面与防跳顶铁间隙
///
private static string readJggdsbmyftdtjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int rows = 25;
for (int j = 0; j < celllength - 1; j = j + 2)
{
data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲
}
return data;
}
///
/// 获取尖轨与密贴基本轨间隙
///
private static string readJgymtjbgjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int rows = 28;
for (int j = 0; j < celllength - 2; j = j + 3)
{
data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(rows).Cell(j + 6).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ";";//曲
}
return data;
}
///
/// 获取心轨轨底与滑床台间隙
///
private static string readXggdyhctjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] rows = new int[] { 31, 33 };
for (int i = 0; i < rows.Length; i++)
{
for (int j = 0; j < celllength; j++)
{
data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ";";//间隙值
}
}
return data;
}
///
/// 获取心轨轨腰与顶铁间隙
///
private static string readXggyydtjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] rows = new int[] { 35, 37 };
for (int i = 0; i < rows.Length; i++)
{
for (int j = 0; j < celllength - 1; j = j + 2)
{
data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左
data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
}
}
return data;
}
///
/// 获取心轨轨底上表面与防跳顶铁间隙
///
private static string readXggtsbmyftdtjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int rows = 39;
for (int j = 0; j < celllength - 1; j = j + 2)
{
data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲
}
return data;
}
///
/// 获取心轨与防跳间隔铁间隙
///
private static string readXgyftjgtjx(IXLWorksheet XLWorksheet)
{
return XLWorksheet.Row(39).Cell(celllength + 3).Value.ToString();
}
///
/// 获取心轨与翼轨间隙
///
private static string readXgyygjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] cell = new int[] { 4, 7, 10 };
for (int i = 0; i < cell.Length; i++)
{
data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ",";//直
data += XLWorksheet.Row(44).Cell(cell[i]).Value.ToString() + ";";//曲
}
return data;
}
///
/// 获取短心轨与岔跟尖轨尖端间隙
///
private static string readDxgycgjgjdjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
int[] cell = new int[] { 16, 19 };
for (int i = 0; i < cell.Length; i++)
{
data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右
data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ";";//间隙值
}
return data;
}
///
/// 获取斥离尖轨轨底上表面与防跳限位装置间隙
///
private static string readCljggdsbmyftxwzzjx(IXLWorksheet XLWorksheet)
{
string data = String.Empty;
for (int i = 4; i <= 9; i++)
{
data += XLWorksheet.Row(16).Cell(i).Value.ToString() + ",";//枕号左
data += XLWorksheet.Row(17).Cell(i).Value.ToString() + ",";//直
data += XLWorksheet.Row(18).Cell(i).Value.ToString() + ";";//曲
}
return data;
}
#endregion
}
}