using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace FileWatcher
{
public partial class 测试记录解析DCW : Form
{
DataHelper dh = new DataHelper();
ftpOperater ftp = new ftpOperater();
public 测试记录解析DCW()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 1000 * 10;
OperateResult.AppendText("连接上服务器\n");
//timer1.Start();
}
public void DoLog(string Message)
{
try
{
StreamWriter sw = File.AppendText(DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
sw.WriteLine("\n【时间】" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Message + "\n");
sw.Close();
}
catch (Exception) { }
}
///
/// 私有变量
///
private List lst = new List();
///
/// 获得目录下所有文件或指定文件类型文件(包含所有子文件夹)
///
/// 文件夹路径
/// 扩展名可以多个 例如 .mp3.wma.rm
/// List
public List getFile(string path, string extName)
{
getdir(path, extName);
return lst;
}
///
/// 私有方法,递归获取指定类型文件,包含子文件夹
///
///
///
private void getdir(string path, string extName)
{
try
{
string[] dir = Directory.GetDirectories(path); //文件夹列表
DirectoryInfo fdir = new DirectoryInfo(path);
FileInfo[] file = fdir.GetFiles();
//FileInfo[] file = Directory.GetFiles(path); //文件列表
if (file.Length != 0 || dir.Length != 0) //当前目录文件或文件夹不为空
{
string SN = "";
string folderpath = "";
foreach (FileInfo f in file) //显示当前目录所有文件
{
string filename = f.FullName;
if (filename.Substring(filename.LastIndexOf(".") + 1).ToUpper() == "INI")
{
folderpath = f.FullName.Substring(0, f.FullName.LastIndexOf(@"\"));
SN = f.Name.Split('.')[0].ToUpper().Split('_')[0];
//if (SN.Length == 12)
//{
try
{
string ftppath = "/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
ftp.UpLoadFile(folderpath, f.Name, ftppath, "");
int dt = int.Parse(dh.ExecuteSql("insert into STEPTESTDETAIL (std_id,std_sn,std_makecode,std_indate,std_class)values( STEPTESTDETAIL_seq.nextval,'" + SN + "','" + ma_code.Text + "',sysdate,'http://81.71.42.91:8099/ftp" + ftppath + f.Name + "')", "insert").ToString());
if (dt > 0)
{
OperateResult.AppendText("序列号:" + SN + "上传成功\n");
}
//else
//{
// OperateResult.AppendText("序列号: " + SN + "前工段未扫描\n");
// MessageBox.Show("序列号: " + SN + "前工段未扫描", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
//}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
File.Delete(f.FullName);
//}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
getFile(FolderPath.Text, ".txt");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
///
/// 获得目录下所有文件或指定文件类型文件(包含所有子文件夹)
///
/// 文件夹路径
/// 扩展名可以多个 例如 .mp3.wma.rm
/// List
public static List getFile(string path, string extName, List lst)
{
try
{
string[] dir = Directory.GetDirectories(path); //文件夹列表
DirectoryInfo fdir = new DirectoryInfo(path);
FileInfo[] file = fdir.GetFiles();
//FileInfo[] file = Directory.GetFiles(path); //文件列表
if (file.Length != 0 || dir.Length != 0) //当前目录文件或文件夹不为空
{
foreach (FileInfo f in file) //显示当前目录所有文件
{
if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= 0)
{
lst.Add(f);
}
}
foreach (string d in dir)
{
getFile(d, extName, lst);//递归
}
}
return lst;
}
catch (Exception ex)
{
throw ex;
}
}
private void ChooseFolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog folder = new FolderBrowserDialog();
folder.Description = "选择监控文件夹";
DialogResult result = folder.ShowDialog();
if (result == DialogResult.OK)
{
FolderPath.Text = folder.SelectedPath;
}
}
private void ChooseBackUpFolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog folder = new FolderBrowserDialog();
folder.Description = "选择备份文件夹";
DialogResult result = folder.ShowDialog();
if (result == DialogResult.OK)
{
// BackUpFolderPath.Text = folder.SelectedPath;
}
}
private void Start_Click(object sender, EventArgs e)
{
if (!dh.CheckExist("make", "ma_code='" + ma_code.Text + "'"))
{
OperateResult.AppendText("工单" + ma_code.Text + "不存在\n");
return;
}
timer1.Start();
}
}
}