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

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO;
  10. using System.Reflection;
  11. using ICSSoft.Base.Config.DBHelper;
  12. using ICSSoft.Base.Config.AppConfig;
  13. namespace ICSSoft.Frame.APP
  14. {
  15. public partial class FormICSDrawingShow : Form
  16. {
  17. public bool hasFile = false;
  18. public FormICSDrawingShow(string fileName, string itemCode)
  19. {
  20. InitializeComponent();
  21. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  22. this.WindowState = FormWindowState.Maximized;
  23. //string fileName = filePath + "\\" + "1301010290-JJGY$A1.pdf";
  24. //string fileName = "E:\\1501010061$A1.pdf";
  25. axAcroPDF1.LoadFile(fileName);
  26. axAcroPDF1.setShowToolbar(false);
  27. axAcroPDF1.setShowToolbar(false);
  28. axAcroPDF1.setPageMode("thumbs");
  29. axAcroPDF1.setPageMode("none");
  30. axAcroPDF1.Show();
  31. axAcroPDF1.setPageMode("thumbs");
  32. axAcroPDF1.setPageMode("none");
  33. axAcroPDF1.IsAccessible = false;
  34. axAcroPDF1.setShowToolbar(false);
  35. axAcroPDF1.setShowToolbar(false);
  36. axAcroPDF1.Update();
  37. axAcroPDF1.Refresh();
  38. }
  39. public FormICSDrawingShow(string itemCode)
  40. {
  41. InitializeComponent();
  42. //this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  43. //this.WindowState = FormWindowState.Maximized;
  44. BandData(itemCode);
  45. }
  46. #region 根据存货编码查询列表信息
  47. private void BandData(string itemCode)
  48. {
  49. try
  50. {
  51. #region new
  52. string sql = @"SELECT DISTINCT
  53. T.CDOCUMENTNAME as [FileName],
  54. T.CDOCUMENTID as FileID,
  55. T.CDOCUMENTVER as FileVer,
  56. T.CDFORMAT as FileFormat
  57. FROM
  58. DOC_008 T
  59. LEFT OUTER JOIN DOC_030 S ON (T.SECRECYGRADEID = S.SECRECYGRADEID)
  60. LEFT OUTER JOIN SYS_057 SORT ON (T.SORTID = SORT.SORTID)
  61. LEFT OUTER JOIN SYS_019 Q ON (T.CMODIFIER = Q.CPERSONID),
  62. DOC_026 T_ADD,
  63. SYS_019 P,
  64. DOC_017 K,
  65. BOM_026 M
  66. WHERE
  67. T.CDOCUMENTID = M.CDOCUMENTID
  68. AND T.CDOCUMENTVER = M.CDOCUMENTVER
  69. AND T.CDOCUMENTID = T_ADD.CDOCUMENTID
  70. AND T.CDOCUMENTVER = T_ADD.CDOCUMENTVER
  71. AND T.CCREATORID = P.CPERSONID
  72. AND T.CMKINDID = K.CMKINDID
  73. AND M.PARTVAR = 'A1'
  74. AND T.CDFORMAT = 'pdf'
  75. AND M.PARTID = '{0}'";
  76. sql = string.Format(sql, itemCode);
  77. #endregion
  78. #region old
  79. // string sql = @"SELECT A.CDOCUMENTID as FileID,
  80. // A.CDOCUMENTVER as FileVer,
  81. // A.CDOCUMENTNAME as [FileName],
  82. // A.CDFORMAT as FileFormat
  83. // FROM DOC_008 A
  84. // LEFT OUTER JOIN DOC_030 D ON(A.SECRECYGRADEID=D.SECRECYGRADEID)
  85. // LEFT OUTER JOIN SYS_057 E ON (A.SORTID = E.SORTID)
  86. // LEFT OUTER JOIN SYS_019 Q ON (A.CMODIFIER = Q.CPERSONID)
  87. // LEFT OUTER JOIN DOC_026 B ON(A.CDOCUMENTID=B.CDOCUMENTID AND A.CDOCUMENTVER=B.CDOCUMENTVER)
  88. // 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
  89. // 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
  90. // ON (A.CDOCUMENTID = CHK.CDOCUMENTID AND A.CDOCUMENTVER = CHK.CDOCUMENTVER), SYS_019 C ,DOC_017 F
  91. // WHERE A.CCREATORID=C.CPERSONID and A.CMKINDID=F.CMKINDID ";
  92. // if (!string.IsNullOrEmpty(itemCode))
  93. // {
  94. // sql += "and a.CDOCUMENTID like '%" + itemCode + "%' ";
  95. // }
  96. #endregion
  97. string connectionStr = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
  98. DataTable dt = DBHelper.ExecuteDataset(connectionStr, CommandType.Text, sql).Tables[0];
  99. string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
  100. string[] ftps = connectionString.Split(';');
  101. string ftpServerIP = ftps[0].Split('=')[1];
  102. string ftpRemotePath = ftps[1].Split('=')[1];
  103. string ftpUserID = ftps[2].Split('=')[1];
  104. string ftpPassword = ftps[3].Split('=')[1];
  105. FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
  106. string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
  107. if (!Directory.Exists(filePath))
  108. {
  109. Directory.CreateDirectory(filePath);
  110. }
  111. string fileName = "";
  112. for (int i = 0; i < dt.Rows.Count;i++ )
  113. {
  114. DataRow dr = dt.Rows[i];
  115. //文件名称有 ID + “$” + 版本 + 文件格式组成
  116. fileName = dr["FileID"].ToString() + "$" + dr["FileVer"].ToString() + "." + dr["FileFormat"].ToString();
  117. }
  118. if (!string.IsNullOrEmpty(fileName))
  119. {
  120. hasFile = true;
  121. ftpWeb.Download(filePath + "\\", fileName);
  122. string filePathName = filePath + "\\" + fileName;
  123. axAcroPDF1.LoadFile(filePathName);
  124. axAcroPDF1.setShowToolbar(false);
  125. axAcroPDF1.setPageMode("thumbs");
  126. axAcroPDF1.setPageMode("none");
  127. axAcroPDF1.Show();
  128. axAcroPDF1.setPageMode("thumbs");
  129. axAcroPDF1.setPageMode("none");
  130. axAcroPDF1.IsAccessible = false;
  131. axAcroPDF1.setShowToolbar(false);
  132. axAcroPDF1.Update();
  133. axAcroPDF1.Refresh();
  134. }
  135. }
  136. catch (Exception ex)
  137. {
  138. MessageBox.Show(ex.Message);
  139. }
  140. }
  141. #endregion
  142. private void FormICSDrawingShow_FormClosing(object sender, FormClosingEventArgs e)
  143. {
  144. //DeleteFile();
  145. }
  146. public void DeleteFile()
  147. {
  148. try
  149. {
  150. //获取文件夹
  151. //string path = Server.MapPath("Image");
  152. string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
  153. //获取文件夹中所有图片
  154. if (Directory.GetFileSystemEntries(filePath).Length > 0)
  155. {
  156. //遍历文件夹中所有文件
  157. foreach (string file in Directory.GetFiles(filePath))
  158. {
  159. try
  160. {
  161. //文件己存在
  162. if (File.Exists(file))
  163. {
  164. FileInfo fi = new FileInfo(file);
  165. //判断当前文件属性是否是只读
  166. if (fi.Attributes.ToString().IndexOf("ReadyOnly") >= 0)
  167. {
  168. fi.Attributes = FileAttributes.Normal;
  169. }
  170. //删除文件
  171. File.Delete(file);
  172. }
  173. }
  174. catch (Exception ex)
  175. {
  176. }
  177. }
  178. //删除文件夹
  179. //Directory.Delete(path);
  180. }
  181. }
  182. catch (Exception ex)
  183. {
  184. }
  185. }
  186. }
  187. }