CraftOrdDesignPopup.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  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.Net;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Server;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Core.StlMes.Client.SaleOrder.Control;
  14. using Core.StlMes.Client.SaleOrder.ReviewForm;
  15. using CoreFS.CA06;
  16. using Infragistics.Win.UltraWinGrid;
  17. using System.IO;
  18. using System.Diagnostics;
  19. namespace Core.StlMes.Client.SaleOrder.Dialog
  20. {
  21. public partial class CraftOrdDesignPopup : FrmBase
  22. {
  23. private CraftOrdDesignCtrl _craftOrdDesignCtrl;
  24. private CraftOrdDesignAuditCtrl _craftOrdDesignAuditCtrl;
  25. private PlaSaleOrdProcCtrl _plaSaleOrdProcCtrl;
  26. private string _ordLnPk = "";
  27. private bool _isPopup = false;
  28. public bool IsPopup
  29. {
  30. get { return _isPopup; }
  31. set { _isPopup = value; }
  32. }
  33. private frmCraftReviewTechnology frmCraftReviewTechnology;
  34. public CraftOrdDesignPopup(string ordLnPk, OpeBase ob, frmCraftReviewTechnology frmCraftReviewTechnology)
  35. {
  36. InitializeComponent();
  37. this.ob = ob;
  38. this.frmCraftReviewTechnology = frmCraftReviewTechnology;
  39. _ordLnPk = ordLnPk;
  40. }
  41. public CraftOrdDesignPopup()
  42. {
  43. InitializeComponent();
  44. this.IsLoadUserView = true;
  45. }
  46. public override void ToolBar_Click(object sender, string ToolbarKey)
  47. {
  48. base.ToolBar_Click(sender, ToolbarKey);
  49. switch (ToolbarKey)
  50. {
  51. case "Query":
  52. Query();
  53. break;
  54. case "QueryCraft":
  55. QueryCraft();
  56. break;
  57. case "Audit":
  58. Audit();
  59. break;
  60. case "Audit1":
  61. Audit1();
  62. break;
  63. case "Approval":
  64. Approval();
  65. break;
  66. case "Approval1":
  67. Approval1();
  68. break;
  69. case "Export":
  70. GridHelper.ulGridToExcel(_craftOrdDesignAuditCtrl.UltraGrid1, this.Text);
  71. break;
  72. }
  73. }
  74. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  75. {
  76. switch (e.Tool.Key)
  77. {
  78. case "查询工艺文件":
  79. PopupQuery();
  80. break;
  81. case "预览工艺文件":
  82. //.......
  83. QueryCraft();
  84. break;
  85. case "解锁工艺文件":
  86. UnLock();
  87. break;
  88. case "封锁工艺文件":
  89. Lock();
  90. break;
  91. case "保存":
  92. Save();
  93. break;
  94. case "删除工艺文件":
  95. DeleteCraftFile();
  96. break;
  97. }
  98. }
  99. private void Save()
  100. {
  101. _craftOrdDesignCtrl.Save();
  102. }
  103. private void DeleteCraftFile()
  104. {
  105. _craftOrdDesignCtrl.DeleteCraftFile();
  106. }
  107. private void UnLock()
  108. {
  109. _craftOrdDesignCtrl.UnLock();
  110. }
  111. private void Lock()
  112. {
  113. _craftOrdDesignCtrl.Lock();
  114. }
  115. private void CraftOrdDesignPopup_Load(object sender, EventArgs e)
  116. {
  117. labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30);
  118. labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  119. DataTable dt = new DataTable();
  120. dt.Columns.AddRange(new DataColumn[]{new DataColumn("NAME"), new DataColumn("CODE")});
  121. dt.Rows.Add("", "");
  122. dt.Rows.Add("制定中", "2");
  123. dt.Rows.Add("待科室审核", "3");
  124. dt.Rows.Add("待部门审核", "4");
  125. dt.Rows.Add("待相关科室审核", "6");
  126. dt.Rows.Add("待批准", "7");
  127. dt.Rows.Add("生效", "1");
  128. dt.Rows.Add("审核失败", "5");
  129. labelComboBox1.ComboBox.DataSource = dt;
  130. labelComboBox1.ComboBox.ValueMember = "CODE";
  131. labelComboBox1.ComboBox.DisplayMember = "NAME";
  132. ClsBaseInfo.SetComboItemHeight(labelComboBox1.ComboBox);
  133. labelComboBox1.SelecteValue = CustomInfo;
  134. if (CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7")
  135. {
  136. _craftOrdDesignAuditCtrl = new CraftOrdDesignAuditCtrl(this.splitContainer1.Panel1, ob);
  137. _craftOrdDesignAuditCtrl.UltraGrid1.AfterRowActivate += UltraGrid1_AfterRowActivate;
  138. }
  139. else
  140. {
  141. _craftOrdDesignCtrl = new CraftOrdDesignCtrl(this.splitContainer1.Panel1, ob, _isPopup);
  142. _craftOrdDesignCtrl.UltraGrid1.AfterRowActivate += UltraGrid1_AfterRowActivate;
  143. }
  144. _plaSaleOrdProcCtrl = new PlaSaleOrdProcCtrl(this.splitContainer1.Panel2, ob, "Craft");
  145. //_craftOrdDesignCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
  146. if (_isPopup == false)
  147. {
  148. ultraToolbarsManager1.Visible = false;
  149. splitContainer1.Panel2Collapsed = true;
  150. }
  151. else
  152. {
  153. PopupQuery();
  154. panel2.Visible = false;
  155. }
  156. }
  157. void UltraGrid1_AfterRowActivate(object sender, EventArgs e)
  158. {
  159. UltraGridRow row;
  160. if(CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7")
  161. {
  162. row = _craftOrdDesignAuditCtrl.UltraGrid1.ActiveRow;
  163. }
  164. else
  165. {
  166. row = _craftOrdDesignCtrl.UltraGrid1.ActiveRow;
  167. }
  168. _plaSaleOrdProcCtrl.Query(new PlnSaleordProcEntity()
  169. {
  170. CraftFileNo = row.GetValue("CraftNo"),
  171. CraftNoV = row.GetValue("CraftNoV")
  172. }, row.GetValue("OrdLnPk"));
  173. }
  174. private void QueryCraft()
  175. {
  176. try
  177. {
  178. this.Cursor = Cursors.WaitCursor;
  179. UltraGridRow ugr = _craftOrdDesignCtrl.UltraGrid1.ActiveRow;
  180. if (ugr == null)
  181. {
  182. MessageUtil.ShowWarning("请选择您要预览的工艺文件!");
  183. return;
  184. }
  185. string designKey = ugr.Cells["DesginKey"].Value.ToString();
  186. string ordLnPk = ugr.Cells["OrdLnPk"].Value.ToString();
  187. string craftSeq = ugr.Cells["CraftSeq"].Value.ToString();
  188. //string craftNo = ugr.Cells["CraftNo"].Value.ToString();
  189. string pdfName = ugr.GetValue("OrderNo") + "-" + ugr.GetValue("OrderSeq") + "-" + ugr.GetValue("CraftSeq").PadLeft(3, '0');
  190. WebClient webClient = new WebClient();
  191. string filePathNew = "Qcm/Craft/" + ordLnPk + "/" + craftSeq + "/";
  192. DataTable dtComMsc = CraftOrdDesignCtrl.GetComMscByOrdLnPk(ordLnPk, ob);
  193. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true"
  194. + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk;
  195. if (dtComMsc.Rows[0]["DEPARTMENT_CODE"].ToString() == "002001007")
  196. {
  197. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraftCenter.cpt&bypagesize=false&format=pdf&embed=true"
  198. + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk;
  199. }
  200. byte[] pdf = webClient.DownloadData(strurl);
  201. webClient.Dispose();
  202. ClearTmp();
  203. WriteBytesToTmp(pdf, pdfName + ".pdf");
  204. OpenPdf(pdfName + ".pdf");
  205. //调用浏览报表的弹窗。
  206. //if (ob.MainUrl.StartsWith("http://172.16.2.130"))
  207. //{
  208. // strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true"
  209. // + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk;
  210. //}
  211. //else
  212. //{
  213. // strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true"
  214. // + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk;
  215. //}
  216. //FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl);
  217. //fBug.AutoSize = true;
  218. //fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  219. //fBug.WindowState = FormWindowState.Maximized;
  220. //fBug.Text = "工艺文件";
  221. //fBug.Show();
  222. }
  223. finally
  224. {
  225. this.Cursor = Cursors.Default;
  226. }
  227. }
  228. private void WriteBytesToTmp(byte[] Bytes, string fileName)
  229. {
  230. try
  231. {
  232. string tmpPath = Environment.CurrentDirectory + "\\Tmp\\";
  233. FileStream fs = new FileStream(tmpPath + fileName, FileMode.Create);
  234. fs.Write(Bytes, 0, Bytes.Length);
  235. fs.Flush();
  236. fs.Close();
  237. }
  238. catch (Exception ex)
  239. {
  240. string str = ex.Message;
  241. }
  242. }
  243. private void ClearTmp()
  244. {
  245. string tmpPath = Environment.CurrentDirectory + "\\Tmp\\";
  246. DirectoryInfo di = new DirectoryInfo(tmpPath);
  247. if (!di.Exists)
  248. {
  249. di.Create();
  250. }
  251. foreach (FileInfo fi in di.GetFiles())
  252. {
  253. try
  254. {
  255. fi.Delete();
  256. }
  257. catch { continue; }
  258. }
  259. }
  260. private void OpenPdf(string fileName)
  261. {
  262. string filePath = Environment.CurrentDirectory + "\\Tmp\\" + fileName;
  263. Process.Start(filePath);
  264. }
  265. private void Query()
  266. {
  267. try
  268. {
  269. this.Cursor = Cursors.WaitCursor;
  270. string createTimes = "";
  271. if (labelDateTimePicker1.Checked)
  272. {
  273. createTimes = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss")
  274. + "," + labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss");
  275. }
  276. if (CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7")
  277. {
  278. _craftOrdDesignAuditCtrl.Query(new CraftOrdDesignEntity()
  279. {
  280. OrderNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "",
  281. Validflag = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : "",
  282. CreateTime = createTimes
  283. }, UserInfo.DataPurviewIds, UserInfo.GetUserID());
  284. }
  285. else
  286. {
  287. _craftOrdDesignCtrl.Query(new CraftOrdDesignEntity()
  288. {
  289. OrderNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "",
  290. Validflag = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : "",
  291. CreateTime = createTimes
  292. }, UserInfo.DataPurviewIds, UserInfo.GetUserID());
  293. }
  294. }
  295. finally
  296. {
  297. this.Cursor = Cursors.Default;
  298. }
  299. }
  300. private void PopupQuery()
  301. {
  302. _craftOrdDesignCtrl.Query(new CraftOrdDesignEntity() { OrdLnPk = _ordLnPk }, UserInfo.DataPurviewIds, UserInfo.GetUserID());
  303. }
  304. /// <summary>
  305. /// 科室审核
  306. /// </summary>
  307. private void Audit()
  308. {
  309. PopupAudit popupAudit = new PopupAudit("审核");
  310. if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  311. {
  312. if (popupAudit.CmbAuditType.Text == "通过")
  313. {
  314. _craftOrdDesignAuditCtrl.Audit(popupAudit.TxtAudit.Text.Trim());
  315. }
  316. else
  317. {
  318. _craftOrdDesignAuditCtrl.AuditOrApprovalFail("科室审核", popupAudit.TxtAudit.Text.Trim());
  319. }
  320. }
  321. }
  322. /// <summary>
  323. /// 相关科室审核
  324. /// </summary>
  325. private void Audit1()
  326. {
  327. PopupAudit popupAudit = new PopupAudit("相关科室审核");
  328. if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  329. {
  330. if (popupAudit.CmbAuditType.Text == "通过")
  331. {
  332. _craftOrdDesignAuditCtrl.Audit1(popupAudit.TxtAudit.Text.Trim());
  333. }
  334. else
  335. {
  336. _craftOrdDesignAuditCtrl.AuditOrApprovalFail("相关科室审核", popupAudit.TxtAudit.Text.Trim());
  337. }
  338. }
  339. }
  340. /// <summary>
  341. /// 审批
  342. /// </summary>
  343. private void Approval()
  344. {
  345. PopupAudit popupAudit = new PopupAudit("审批");
  346. if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  347. {
  348. if (popupAudit.CmbAuditType.Text == "通过")
  349. {
  350. _craftOrdDesignAuditCtrl.Approval(popupAudit.TxtAudit.Text.Trim());
  351. }
  352. else
  353. {
  354. _craftOrdDesignAuditCtrl.AuditOrApprovalFail("审批", popupAudit.TxtAudit.Text.Trim());
  355. }
  356. }
  357. }
  358. /// <summary>
  359. /// 批准
  360. /// </summary>
  361. private void Approval1()
  362. {
  363. PopupAudit popupAudit = new PopupAudit("批准");
  364. if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  365. {
  366. if (popupAudit.CmbAuditType.Text == "通过")
  367. {
  368. _craftOrdDesignAuditCtrl.Approval1(popupAudit.TxtAudit.Text.Trim());
  369. }
  370. else
  371. {
  372. _craftOrdDesignAuditCtrl.AuditOrApprovalFail("批准", popupAudit.TxtAudit.Text.Trim());
  373. }
  374. }
  375. }
  376. private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e)
  377. {
  378. labelDateTimePicker2.Checked = labelDateTimePicker1.Checked;
  379. }
  380. }
  381. }