锐腾搅拌上料功能
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

695 lines
33 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using ICSSoft.Base.Config.AppConfig;
using ICSSoft.Base.Config.DBHelper;
using ICSSoft.Frame.Data.BLL;
using System.Configuration;
namespace ICSSoft.Frame.APP
{
public class FileDrawing
{
public static string YanMo = "研磨";
public static string ZhuangPei = "装配";
public static string PengQi = "喷漆";
public static string QiLu = "气路";
public static string ShiYa = "试压";
public static string ZiJian = "自检";
public static string TuZhi = "设计图纸";
public static string WuLiao = "物料清单";
public static string CuJiaGong = "工序图纸";
public static string ZuoYeZhiDao = "工艺卡片";
public static string ZuoYeZhiDaoJY = "检验作业指导书";
public static string YaoSu = "工作要素表";
public static string GuanCha = "工作观察表";
public static string ZuHe = "工作组合表";
public static string SZuoYeZhiDao = "6S作业指导书";
public static string SZuoYeZhiDaoJY = "检验6S作业指导书";
public static string SheBei = "设备操作规程";
public static string WPS = "WPS";
public static string ChengXu = "程序";
public static string ShiPin = "视频";
public static string JianYan = "检验规范";
public static string ZhuYi = "注意事项";
public static string ZhuYiJY = "检验注意事项";
public static string GuiFan = "作业规范";
public static string WenTi = "常见问题处理方案";
public static string PeiXun = "培训文件";
public static string ToolSpec = "刀具规格";
public static string GongZhuang = "工装信息";
//public static SysUserBLL userBll = new SysUserBLL();
private static DataTable dataSource = null;
public static string GetMainTypeCode(string ItemCode)
{
string MainTypeCode = "";
string strsql = @"select ItemMainCategoryCode from Base_Inventory
where ItemCode='{0}'";
strsql = string.Format(strsql, ItemCode);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, strsql).Tables[0];
if (dt.Rows.Count != 0)
{
MainTypeCode = dt.Rows[0]["ItemMainCategoryCode"].ToString();
}
return MainTypeCode;
}
public static DataTable GetDrawingDT(string name, string suffix, string type)
{
try
{
#region new
// string sql = @"SELECT DISTINCT
// T.CDOCUMENTNAME as [FileName],
// T.CDOCUMENTID as FileID,
// T.CDOCUMENTVER as FileVer,
// T.CDFORMAT as FileFormat
// FROM
// DOC_008 T
// LEFT OUTER JOIN DOC_030 S ON (T.SECRECYGRADEID = S.SECRECYGRADEID)
// LEFT OUTER JOIN SYS_057 SORT ON (T.SORTID = SORT.SORTID)
// LEFT OUTER JOIN SYS_019 Q ON (T.CMODIFIER = Q.CPERSONID),
// DOC_026 T_ADD,
// SYS_019 P,
// DOC_017 K,
// BOM_026 M
// WHERE
// T.CDOCUMENTID = M.CDOCUMENTID
// AND T.CDOCUMENTVER = M.CDOCUMENTVER
// AND T.CDOCUMENTID = T_ADD.CDOCUMENTID
// AND T.CDOCUMENTVER = T_ADD.CDOCUMENTVER
// AND T.CCREATORID = P.CPERSONID
// AND T.CMKINDID = K.CMKINDID
// AND M.PARTVAR = 'A1'
// AND M.PARTID = '{0}'
// AND T.CDFORMAT = '{1}'";
// sql = string.Format(sql, name, suffix);
#endregion
string sql = "";
if (type.Equals(ShiPin) || type.Equals(SZuoYeZhiDaoJY) || type.Equals(ChengXu) || type.Equals(ZhuYiJY) || type.Equals(ZhuYi) || type.Equals(GuiFan) || type.Equals(WenTi) || type.Equals(WPS) || type.Equals(SZuoYeZhiDao) || type.Equals(SheBei))
{
sql = @"select Top 1
A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH ,
-- CDOCUMENTID + '$' + CDOCUMENTVER +'.' +CDFORMAT AS FileName,
CDOCUMENTNAME as [FileName],
CDOCUMENTID as FileID,
CDOCUMENTVER as FileVer,
CDFORMAT as FileFormat,
CDOCUMENTID,
* from DOC_008 A where CDOCUMENTID = '{0}' AND CDFORMAT='{1}'
";
if (type.Equals(ZhuYi))
name = "ZY-" + name;
else if (type.Equals(GuiFan))
name = "ZG-" + name;
else if (type.Equals(WenTi))
name = "WT-" + name;
else if (type.Equals(WPS))
name = "WPS-" + name;
else if (type.Equals(SZuoYeZhiDao))
name = "5S-" + name;
else if (type.Equals(SheBei))
name = "SG-" + name;
else if (type.Equals(ZhuYiJY))
name = "Q-Attention-" + name;
else if (type.Equals(SZuoYeZhiDaoJY))
name = "Q-5S" + name;
}
else if (type.Equals(ZuoYeZhiDao))
{
sql = @"select Top 1
A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH ,
-- CDOCUMENTID + '$' + CDOCUMENTVER +'.' +CDFORMAT AS FileName,
CDOCUMENTNAME as [FileName],
CDOCUMENTID as FileID,
CDOCUMENTVER as FileVer,
CDFORMAT as FileFormat,
CDOCUMENTID,
* from DOC_008 A where CDOCUMENTNAME = '{0}' AND CDFORMAT='{1}'
";
}
else if (type.Equals(JianYan) || type.Equals(ZuoYeZhiDaoJY))
{
sql = @"select Top 1
A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH ,
CDOCUMENTNAME as [FileName],
CDOCUMENTID as FileID,
CDOCUMENTVER as FileVer,
CDFORMAT as FileFormat,
CDOCUMENTID,*
from DOC_008 A
where CDOCUMENTID='{0}' AND CDFORMAT='{1}'
";
}
else
{
#region 图纸
sql = @"SELECT Top 1
A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH ,
-- A.CDOCUMENTID + '$' + A.CDOCUMENTVER + '.' + A.CDFORMAT AS FileName,
A.CDOCUMENTNAME AS [FileName],
A.CDOCUMENTID AS FileID,
A.CDOCUMENTVER AS FileVer,
A.CDFORMAT AS FileFormat,
A.CDOCUMENTID,
*
FROM
DOC_008 A
LEFT JOIN BOM_026 B ON A.CDOCUMENTNAME = B.CDOCUMENTNAME
--AND A.CCREATORID = B.relevancePerson
LEFT JOIN DOC_017 C ON A.CMKINDID=C.CMKINDID
WHERE
1=1
AND A.CDFORMAT = '{1}'";
#endregion
if (type.Equals(CuJiaGong))
{
sql += " AND B.PARTID = '{0}'";
//sql += " AND A.CDOCUMENTNAME = '{0}'";
// string sqlstd = @"SELECT * from Base_Inventory c WITH (nolock) where c.ItemCode
// = '{0}'";
//sqlstd = string.Format(sqlstd, name);
//DataTable dataStd = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sqlstd).Tables[0];
//if (dataStd.Rows.Count > 0)
//{
// //name = dataStd.Rows[0]["ItemStd"].ToString();
// //sql += " AND C.CMKINDNAME = 'CJ-粗加工'";
// //sql += " AND A.CDOCUMENTID = '{0}'";
// //name = dataStd.Rows[0]["ItemStd"].ToString();
// //sql += " AND C.CMKINDNAME = 'CJ-粗加工'";
// //sql += " AND A.CDOCUMENTID = '{0}'";
//}
}
else
{
sql += " AND B.PARTID = '{0}'";
}
}
if (string.IsNullOrWhiteSpace(sql))
return null;
sql = string.Format(sql, name, suffix);
sql += " Order by A.CREATETIME desc ";
string connectionStr = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
DataTable dt = DBHelper.ExecuteDataset(connectionStr, CommandType.Text, sql).Tables[0];
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
public static string GetDrawing(string name, string suffix, string type)
{
////TODO
//if(itemCode =="1")
// return "E:\\1501010061$A1.pdf";
//else
// return "E:\\1303040001$A1.pdf";
try
{
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
string[] ftps = connectionString.Split(';');
string ftpServerIP = ftps[0].Split('=')[1];
string ftpRemotePath = ftps[1].Split('=')[1];
string ftpUserID = ftps[2].Split('=')[1];
string ftpPassword = ftps[3].Split('=')[1];
string filePath = System.IO.Path.GetTempPath() + "Drawing";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
//获取图纸数据
DataTable dt = GetDrawingDT(name, suffix, type);
if (dt.Rows.Count > 0)
{
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
string fileName = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
//文件名称有 ID + “$” + 版本 + 文件格式组成
fileName = dr["FileID"].ToString() + "$" + dr["FileVer"].ToString() + "." + dr["FileFormat"].ToString();
}
if (!string.IsNullOrEmpty(fileName))
{
fileName = fileName.Replace("/", "");
if (fileName.Contains(".CNC"))
filePath = "C:\\mesjk";
ftpWeb.Download(filePath + "\\", fileName);
string filePathName = filePath + "\\" + fileName;
return filePathName;
}
}
else
{
if (type.Equals(TuZhi) || type.Equals(CuJiaGong))
{
DataTable dtauto = GetAutoPDF(name);
if (dtauto != null && dtauto.Rows.Count > 0)
{
string fileName = "";
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath + "\\pdf", ftpUserID, ftpPassword);
string FilePath = dtauto.Rows[0]["FileID"].ToString() + '$' + dtauto.Rows[0]["FileVer"].ToString();
if (ftpWeb.DirectoryExist(FilePath))
{
string[] downloadFiles = ftpWeb.GetFileList(FilePath);
Array.Sort(downloadFiles);
fileName = downloadFiles[downloadFiles.Length - 1];
ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath + "\\pdf\\" + FilePath, ftpUserID, ftpPassword);
ftpWeb.Download(filePath + "\\", fileName);
string filePathName = filePath + "\\" + fileName;
return filePathName;
}
}
}
}
return string.Empty;
}
catch (Exception)
{
return string.Empty;
}
}
public static DataTable GetAutoPDF(string itemCode)
{
string sql = @"SELECT DISTINCT
T.CDOCUMENTID + '$' + T.CDOCUMENTVER AS FilePath,
T.CDOCUMENTNAME as [FileName],
T.CDOCUMENTID as FileID,
T.CDOCUMENTVER as FileVer,
T.CDFORMAT as FileFormat,
'' as ItemCode,
'' as ItemName,
'' as ItemStd,
M.PARTID
FROM
DOC_008 T
LEFT OUTER JOIN DOC_030 S ON (T.SECRECYGRADEID = S.SECRECYGRADEID)
LEFT OUTER JOIN SYS_057 SORT ON (T.SORTID = SORT.SORTID)
LEFT OUTER JOIN SYS_019 Q ON (T.CMODIFIER = Q.CPERSONID),
DOC_026 T_ADD,
SYS_019 P,
DOC_017 K,
BOM_026 M
WHERE
T.CDOCUMENTID = M.CDOCUMENTID
AND T.CDOCUMENTVER = M.CDOCUMENTVER
AND T.CDOCUMENTID = T_ADD.CDOCUMENTID
AND T.CDOCUMENTVER = T_ADD.CDOCUMENTVER
AND T.CCREATORID = P.CPERSONID
AND T.CMKINDID = K.CMKINDID
AND M.PARTVAR = 'A1'
AND T.CDFORMAT in ('dwg') ";
string[] itemlist = itemCode.Trim(',').Split(',');
for (int i = 0; i < itemlist.Length; i++)
{
if (!string.IsNullOrEmpty(itemlist[i]))
{
if (i == 0)
{
sql += " And ( M.PARTID like '%" + itemlist[i] + "%' ";
}
else
{
sql += " OR M.PARTID like '%" + itemlist[i] + "%' ";
}
}
}
sql += " ) ";
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
DataTable dt = DBHelper.ExecuteDataset(connectionString, CommandType.Text, sql).Tables[0];
return dt;
}
public static void Enlarge(AxAcroPDFLib.AxAcroPDF axAcroPDF)
{
//string fileName = "E:\\1501010061$A1.pdf";
string fileName = axAcroPDF.src;
if (!string.IsNullOrWhiteSpace(fileName))
{
FormICSDrawingShow draw = new FormICSDrawingShow(fileName, "");
draw.ShowDialog();
}
}
public static void LoadPDF(string fileName)
{
if (!string.IsNullOrWhiteSpace(fileName))
{
FormICSDrawingShow draw = new FormICSDrawingShow(fileName, "");
draw.ShowDialog();
}
}
public static void DeleteFile(List<string> fileNames)
{
//遍历所有文件
//foreach (string fileName in fileNames)
//{
// try
// {
// //文件己存在
// if (File.Exists(fileName))
// {
// FileInfo fi = new FileInfo(fileName);
// //判断当前文件属性是否是只读
// if (fi.Attributes.ToString().IndexOf("ReadyOnly") >= 0)
// {
// fi.Attributes = FileAttributes.Normal;
// }
// //删除文件
// File.Delete(fileName);
// }
// }
// catch (Exception)
// {
// }
//}
}
public void DeleteFile()
{
try
{
//获取文件夹
//string path = Server.MapPath("Image");
string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
//获取文件夹中所有图片
if (Directory.GetFileSystemEntries(filePath).Length > 0)
{
//遍历文件夹中所有文件
foreach (string file in Directory.GetFiles(filePath))
{
try
{
//文件己存在
if (File.Exists(file))
{
FileInfo fi = new FileInfo(file);
//判断当前文件属性是否是只读
if (fi.Attributes.ToString().IndexOf("ReadyOnly") >= 0)
{
fi.Attributes = FileAttributes.Normal;
}
//删除文件
File.Delete(file);
}
}
catch (Exception ex)
{
}
}
//删除文件夹
//Directory.Delete(path);
}
}
catch (Exception ex)
{
}
}
public static bool Login(string userCode, string userPwd)
{
//if (userCode == "")
//{
// ICSBaseSimpleCode.AppshowMessageBox("用户账号不可以为空!");
// return false;
//}
//else if (userPwd == "")
//{
// ICSBaseSimpleCode.AppshowMessageBox("用户口令不可以为空!");
// return false;
//}
//int num = userBll.Login(AppConfig.WorkPointCode, userCode, userPwd);
//if (num == 0)
//{
// return true;
//}
//else
//{
// switch (num)
// {
// case 1:
// ICSBaseSimpleCode.AppshowMessageBox("用户账号不存在");
// return false;
// case 2:
// ICSBaseSimpleCode.AppshowMessageBox("用户口令错误");
// return false;
// case 3:
// ICSBaseSimpleCode.AppshowMessageBox("用户账号被禁用");
// return false;
// case 4:
// ICSBaseSimpleCode.AppshowMessageBox("用户账号已经累计输出口令超过5次被自动锁定");
// return false;
// case 5:
// ICSBaseSimpleCode.AppshowMessageBox("本机IP地址禁止该用户账号登录");
// return false;
// case 6:
// ICSBaseSimpleCode.AppshowMessageBox("该用户账号为单点登录账号,该账号已经在其他地方登录");
// return false;
// }
//}
return false;
}
public static void loadCollect(string userCode, DevExpress.XtraGrid.GridControl gridControl, DevExpress.XtraGrid.Views.Grid.GridView gridView1)
{
if (string.IsNullOrWhiteSpace(userCode))
return;
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
try
{
_wait.Show();
dataSource = null;
dataSource = FindSIMULATION(userCode).Copy();
gridControl.DataSource = dataSource;
gridView1.BestFitColumns();
_wait.Close();
}
catch (Exception ex)
{
ICSBaseSimpleCode.AppshowMessageBox("异常:" + ex.Message);
_wait.Close();
}
}
#region 主表数据
private static DataTable FindSIMULATION(string userCode)
{
string sql = @"SELECT distinct
a.ProjectCode,
a.mocode,
b.LOTNO ,
A.ITEMCODE ,
c.ROUTECODE ,
e.ROUTEDESC,
c.OPCODE,
f.OPDESC ,
c.EQPCODE ,
c.[ACTION],
c.NGTIMES ,
c.UserCodeBegin,
g.UserName AS UserNameBegin,
c.UserCodeEnd ,
h.UserName AS UserNameEnd ,
CONVERT (
datetime,
CASE LEN(c.BeginTime)
WHEN '5' THEN
SUBSTRING (
CAST (c.BeginDate AS CHAR),
1,
4
) + '-' + SUBSTRING (
CAST (c.BeginDate AS CHAR),
5,
2
) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 4, 2)
WHEN '6' THEN
SUBSTRING (
CAST (c.BeginDate AS CHAR),
1,
4
) + '-' + SUBSTRING (
CAST (c.BeginDate AS CHAR),
5,
2
) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 5, 2)
END
) AS BeginTime,
CONVERT (
datetime,
CASE LEN(EndTime)
WHEN '5' THEN
SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 4, 2)
WHEN '6' THEN
SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 5, 2)
END
) AS EndTime,
DATEDIFF(
s,
CONVERT (
datetime,
CASE LEN(BeginTime)
WHEN '5' THEN
SUBSTRING (CAST(BeginDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 4, 2)
WHEN '6' THEN
SUBSTRING (CAST(BeginDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 5, 2)
END
),
CONVERT (
datetime,
CASE LEN(EndTime)
WHEN '5' THEN
SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 4, 2)
WHEN '6' THEN
SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 5, 2)
END
)
) * 1.0 / 3600 AS Hours,
round(convert(float,i.STIME),2) AS STIME
FROM
ICSMO A
LEFT JOIN ICSMO2Lot B ON A.MOCODE = B.MOCODE
LEFT JOIN ICSLOTONWIP c ON a.MOCODE = c.MOCODE
AND B.LOTNO = C.LOTNO
AND (
c.[ACTION] IN ('GOOD', 'NG')
OR [ACTION] IS NULL
)
LEFT JOIN ICSMO2ROUTE d ON a.MOCODE = d.MOCODE
LEFT JOIN ICSROUTE e ON d.ROUTECODE = e.routecode
LEFT JOIN ICSOP f ON c.opcode = f.opcode
LEFT JOIN Sys_User G ON C.UserCodeBegin = G.Usercode
LEFT JOIN Sys_User h ON c.UserCodeEnd = h.UserCode
LEFT JOIN ICSEQPSTP i ON a.itemcode = i.itemcode
AND c.opcode = i.opcode
WHERE
(
c.[ACTION] IN ('GOOD', 'NG')
OR [ACTION] IS NULL
) AND year(c.MTIME)+month(c.MTIME) = year(getDate())+month(getDate())
AND c.UserCodeEnd = '" + userCode + "'";
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
return data;
}
#endregion
public static string GetFTPToPath(string path)
{
try
{
string returnpath = "";
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
string[] ftps = connectionString.Split(';');
string ftpServerIP = ftps[0].Split('=')[1];
string ftpRemotePath = ftps[1].Split('=')[1];
string ftpUserID = ftps[2].Split('=')[1];
string ftpPassword = ftps[3].Split('=')[1];
string TempFile = ConfigurationManager.AppSettings["MesTempFilePath"].ToString(); ; //MesTempFilePath
if (Directory.Exists(TempFile) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(TempFile);
}
else
{
DeleteFile(TempFile, 3);//删除3天前的临时图纸文件
}
string fileName = "";
//例子:\\192.168.0.40\share\9db49a4d-7b42-41f7-a037-62ef95551276_0100001ZH1410011040.pdf
int index = path.LastIndexOf("\\");
string pathfrom = path.Substring(0, index + 1);//例子:\\192.168.0.40\share\
pathfrom = pathfrom.Replace("\\", "/").TrimStart('/').TrimStart('/'); //例子://192.168.0.40/share/
FtpWeb ftpWeb = new FtpWeb(pathfrom, ftpUserID, ftpPassword);
fileName = path.Substring(index + 1);//例子:9db49a4d-7b42-41f7-a037-62ef95551276_0100001ZH1410011040.pdf
if (ftpWeb.FileExist(fileName))
{
string filePathName = TempFile + "\\" + fileName;
if (File.Exists(filePathName))
{
File.Delete(filePathName);
}
ftpWeb.Download(TempFile + "\\", fileName);
returnpath = filePathName;
}
else
{
returnpath = "";
}
return returnpath;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 删除文件夹
/// </summary>
/// <param name="fileDirect"></param>
/// <param name="saveDay"></param>
private static void DeleteFile(string fileDirect, int saveDay)
{
DateTime nowTime = DateTime.Now;
DirectoryInfo root = new DirectoryInfo(fileDirect);
DirectoryInfo[] dics = root.GetDirectories();//获取文件夹
FileAttributes attr = File.GetAttributes(fileDirect);
if (attr == FileAttributes.Directory)//判断是不是文件夹
{
foreach (DirectoryInfo file in dics)//遍历文件夹
{
TimeSpan t = nowTime - file.CreationTime; //当前时间 减去 文件创建时间
int day = t.Days;
if (day > saveDay) //保存的时间 ; 单位:天
{
Directory.Delete(file.FullName, true); //删除超过时间的文件夹
}
}
}
}
}
}