锐腾搅拌上料功能
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.

207 lines
8.9 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using ICSSoft.Base.Config.DBHelper;
using ICSSoft.Base.Config.AppConfig;
namespace ICSSoft.Frame.APP
{
public partial class FormICSDrawingShow : Form
{
public bool hasFile = false;
public FormICSDrawingShow(string fileName, string itemCode)
{
InitializeComponent();
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
this.WindowState = FormWindowState.Maximized;
//string fileName = filePath + "\\" + "1301010290-JJGY$A1.pdf";
//string fileName = "E:\\1501010061$A1.pdf";
axAcroPDF1.LoadFile(fileName);
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setPageMode("thumbs");
axAcroPDF1.setPageMode("none");
axAcroPDF1.Show();
axAcroPDF1.setPageMode("thumbs");
axAcroPDF1.setPageMode("none");
axAcroPDF1.IsAccessible = false;
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.Update();
axAcroPDF1.Refresh();
}
public FormICSDrawingShow(string itemCode)
{
InitializeComponent();
//this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
//this.WindowState = FormWindowState.Maximized;
BandData(itemCode);
}
#region 根据存货编码查询列表信息
private void BandData(string itemCode)
{
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 T.CDFORMAT = 'pdf'
AND M.PARTID = '{0}'";
sql = string.Format(sql, itemCode);
#endregion
#region old
// string sql = @"SELECT A.CDOCUMENTID as FileID,
// A.CDOCUMENTVER as FileVer,
// A.CDOCUMENTNAME as [FileName],
// A.CDFORMAT as FileFormat
// FROM DOC_008 A
// LEFT OUTER JOIN DOC_030 D ON(A.SECRECYGRADEID=D.SECRECYGRADEID)
// LEFT OUTER JOIN SYS_057 E ON (A.SORTID = E.SORTID)
// LEFT OUTER JOIN SYS_019 Q ON (A.CMODIFIER = Q.CPERSONID)
// LEFT OUTER JOIN DOC_026 B ON(A.CDOCUMENTID=B.CDOCUMENTID AND A.CDOCUMENTVER=B.CDOCUMENTVER)
// LEFT OUTER JOIN (SELECT A.CDOCUMENTID, A.CDOCUMENTVER, C.CANAME, D.CPERSONNAME,E.CSTATENAME FROM DOC_011 A, PRJ_001 C, DOC_025 B LEFT JOIN SYS_019 D ON (B.CPERSONID = D.CPERSONID), DOC_013 E
// WHERE E.INTERNATIONKEY = 'zh_CN' AND A.CTASKID = B.CTASKID AND B.CACTIVEID = C.CACTIVEID AND E.CSTATEID = B.CSTATEID AND ISNULL(A.CDOCUMENTID,'') <> '' AND ISNULL(A.CDOCUMENTVER,'') <> '' AND (B.CSTATEID = '2' OR B.CSTATEID = '3') AND A.CSTATEID <> '4' AND A.CSTATEID <> '5' AND E.INTERNATIONKEY = 'zh_CN') AS CHK
// ON (A.CDOCUMENTID = CHK.CDOCUMENTID AND A.CDOCUMENTVER = CHK.CDOCUMENTVER), SYS_019 C ,DOC_017 F
// WHERE A.CCREATORID=C.CPERSONID and A.CMKINDID=F.CMKINDID ";
// if (!string.IsNullOrEmpty(itemCode))
// {
// sql += "and a.CDOCUMENTID like '%" + itemCode + "%' ";
// }
#endregion
string connectionStr = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
DataTable dt = DBHelper.ExecuteDataset(connectionStr, CommandType.Text, sql).Tables[0];
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];
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
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))
{
hasFile = true;
ftpWeb.Download(filePath + "\\", fileName);
string filePathName = filePath + "\\" + fileName;
axAcroPDF1.LoadFile(filePathName);
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setPageMode("thumbs");
axAcroPDF1.setPageMode("none");
axAcroPDF1.Show();
axAcroPDF1.setPageMode("thumbs");
axAcroPDF1.setPageMode("none");
axAcroPDF1.IsAccessible = false;
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.Update();
axAcroPDF1.Refresh();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
private void FormICSDrawingShow_FormClosing(object sender, FormClosingEventArgs e)
{
//DeleteFile();
}
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)
{
}
}
}
}