using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.SaleOrder.Control; using Core.StlMes.Client.SaleOrder.ReviewForm; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System.IO; using System.Diagnostics; namespace Core.StlMes.Client.SaleOrder.Dialog { public partial class CraftOrdDesignPopup : FrmBase { private CraftOrdDesignCtrl _craftOrdDesignCtrl; private CraftOrdDesignAuditCtrl _craftOrdDesignAuditCtrl; private PlaSaleOrdProcCtrl _plaSaleOrdProcCtrl; private string _ordLnPk = ""; private bool _isPopup = false; public bool IsPopup { get { return _isPopup; } set { _isPopup = value; } } private frmCraftReviewTechnology frmCraftReviewTechnology; public CraftOrdDesignPopup(string ordLnPk, OpeBase ob, frmCraftReviewTechnology frmCraftReviewTechnology) { InitializeComponent(); this.ob = ob; this.frmCraftReviewTechnology = frmCraftReviewTechnology; _ordLnPk = ordLnPk; } public CraftOrdDesignPopup() { InitializeComponent(); this.IsLoadUserView = true; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "QueryCraft": QueryCraft(); break; case "Audit": Audit(); break; case "Audit1": Audit1(); break; case "Approval": Approval(); break; case "Approval1": Approval1(); break; case "Export": GridHelper.ulGridToExcel(_craftOrdDesignAuditCtrl.UltraGrid1, this.Text); break; } } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询工艺文件": PopupQuery(); break; case "预览工艺文件": //....... QueryCraft(); break; case "解锁工艺文件": UnLock(); break; case "封锁工艺文件": Lock(); break; case "保存": Save(); break; case "删除工艺文件": DeleteCraftFile(); break; } } private void Save() { _craftOrdDesignCtrl.Save(); } private void DeleteCraftFile() { _craftOrdDesignCtrl.DeleteCraftFile(); } private void UnLock() { _craftOrdDesignCtrl.UnLock(); } private void Lock() { _craftOrdDesignCtrl.Lock(); } private void CraftOrdDesignPopup_Load(object sender, EventArgs e) { labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30); labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[]{new DataColumn("NAME"), new DataColumn("CODE")}); dt.Rows.Add("", ""); dt.Rows.Add("制定中", "2"); dt.Rows.Add("待科室审核", "3"); dt.Rows.Add("待部门审核", "4"); dt.Rows.Add("待相关科室审核", "6"); dt.Rows.Add("待批准", "7"); dt.Rows.Add("生效", "1"); dt.Rows.Add("审核失败", "5"); labelComboBox1.ComboBox.DataSource = dt; labelComboBox1.ComboBox.ValueMember = "CODE"; labelComboBox1.ComboBox.DisplayMember = "NAME"; ClsBaseInfo.SetComboItemHeight(labelComboBox1.ComboBox); labelComboBox1.SelecteValue = CustomInfo; if (CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7") { _craftOrdDesignAuditCtrl = new CraftOrdDesignAuditCtrl(this.splitContainer1.Panel1, ob); _craftOrdDesignAuditCtrl.UltraGrid1.AfterRowActivate += UltraGrid1_AfterRowActivate; } else { _craftOrdDesignCtrl = new CraftOrdDesignCtrl(this.splitContainer1.Panel1, ob, _isPopup); _craftOrdDesignCtrl.UltraGrid1.AfterRowActivate += UltraGrid1_AfterRowActivate; } _plaSaleOrdProcCtrl = new PlaSaleOrdProcCtrl(this.splitContainer1.Panel2, ob, "Craft"); //_craftOrdDesignCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False; if (_isPopup == false) { ultraToolbarsManager1.Visible = false; splitContainer1.Panel2Collapsed = true; } else { PopupQuery(); panel2.Visible = false; } } void UltraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row; if(CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7") { row = _craftOrdDesignAuditCtrl.UltraGrid1.ActiveRow; } else { row = _craftOrdDesignCtrl.UltraGrid1.ActiveRow; } _plaSaleOrdProcCtrl.Query(new PlnSaleordProcEntity() { CraftFileNo = row.GetValue("CraftNo"), CraftNoV = row.GetValue("CraftNoV") }, row.GetValue("OrdLnPk")); } private void QueryCraft() { try { this.Cursor = Cursors.WaitCursor; UltraGridRow ugr = _craftOrdDesignCtrl.UltraGrid1.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要预览的工艺文件!"); return; } string designKey = ugr.Cells["DesginKey"].Value.ToString(); string ordLnPk = ugr.Cells["OrdLnPk"].Value.ToString(); string craftSeq = ugr.Cells["CraftSeq"].Value.ToString(); //string craftNo = ugr.Cells["CraftNo"].Value.ToString(); string pdfName = ugr.GetValue("OrderNo") + "-" + ugr.GetValue("OrderSeq") + "-" + ugr.GetValue("CraftSeq").PadLeft(3, '0'); WebClient webClient = new WebClient(); string filePathNew = "Qcm/Craft/" + ordLnPk + "/" + craftSeq + "/"; DataTable dtComMsc = CraftOrdDesignCtrl.GetComMscByOrdLnPk(ordLnPk, ob); string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true" + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk; if (dtComMsc.Rows[0]["DEPARTMENT_CODE"].ToString() == "002001007") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraftCenter.cpt&bypagesize=false&format=pdf&embed=true" + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk; } byte[] pdf = webClient.DownloadData(strurl); webClient.Dispose(); ClearTmp(); WriteBytesToTmp(pdf, pdfName + ".pdf"); OpenPdf(pdfName + ".pdf"); //调用浏览报表的弹窗。 //if (ob.MainUrl.StartsWith("http://172.16.2.130")) //{ // strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true" // + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk; //} //else //{ // strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true" // + "&desgin_key=" + designKey + "&lnpk=" + ordLnPk; //} //FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); //fBug.AutoSize = true; //fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); //fBug.WindowState = FormWindowState.Maximized; //fBug.Text = "工艺文件"; //fBug.Show(); } finally { this.Cursor = Cursors.Default; } } private void WriteBytesToTmp(byte[] Bytes, string fileName) { try { string tmpPath = Environment.CurrentDirectory + "\\Tmp\\"; FileStream fs = new FileStream(tmpPath + fileName, FileMode.Create); fs.Write(Bytes, 0, Bytes.Length); fs.Flush(); fs.Close(); } catch (Exception ex) { string str = ex.Message; } } private void ClearTmp() { string tmpPath = Environment.CurrentDirectory + "\\Tmp\\"; DirectoryInfo di = new DirectoryInfo(tmpPath); if (!di.Exists) { di.Create(); } foreach (FileInfo fi in di.GetFiles()) { try { fi.Delete(); } catch { continue; } } } private void OpenPdf(string fileName) { string filePath = Environment.CurrentDirectory + "\\Tmp\\" + fileName; Process.Start(filePath); } private void Query() { try { this.Cursor = Cursors.WaitCursor; string createTimes = ""; if (labelDateTimePicker1.Checked) { createTimes = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") + "," + labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (CustomInfo == "3" || CustomInfo == "4" || CustomInfo == "6" || CustomInfo == "7") { _craftOrdDesignAuditCtrl.Query(new CraftOrdDesignEntity() { OrderNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "", Validflag = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : "", CreateTime = createTimes }, UserInfo.DataPurviewIds, UserInfo.GetUserID()); } else { _craftOrdDesignCtrl.Query(new CraftOrdDesignEntity() { OrderNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "", Validflag = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : "", CreateTime = createTimes }, UserInfo.DataPurviewIds, UserInfo.GetUserID()); } } finally { this.Cursor = Cursors.Default; } } private void PopupQuery() { _craftOrdDesignCtrl.Query(new CraftOrdDesignEntity() { OrdLnPk = _ordLnPk }, UserInfo.DataPurviewIds, UserInfo.GetUserID()); } /// /// 科室审核 /// private void Audit() { PopupAudit popupAudit = new PopupAudit("审核"); if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (popupAudit.CmbAuditType.Text == "通过") { _craftOrdDesignAuditCtrl.Audit(popupAudit.TxtAudit.Text.Trim()); } else { _craftOrdDesignAuditCtrl.AuditOrApprovalFail("科室审核", popupAudit.TxtAudit.Text.Trim()); } } } /// /// 相关科室审核 /// private void Audit1() { PopupAudit popupAudit = new PopupAudit("相关科室审核"); if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (popupAudit.CmbAuditType.Text == "通过") { _craftOrdDesignAuditCtrl.Audit1(popupAudit.TxtAudit.Text.Trim()); } else { _craftOrdDesignAuditCtrl.AuditOrApprovalFail("相关科室审核", popupAudit.TxtAudit.Text.Trim()); } } } /// /// 审批 /// private void Approval() { PopupAudit popupAudit = new PopupAudit("审批"); if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (popupAudit.CmbAuditType.Text == "通过") { _craftOrdDesignAuditCtrl.Approval(popupAudit.TxtAudit.Text.Trim()); } else { _craftOrdDesignAuditCtrl.AuditOrApprovalFail("审批", popupAudit.TxtAudit.Text.Trim()); } } } /// /// 批准 /// private void Approval1() { PopupAudit popupAudit = new PopupAudit("批准"); if (popupAudit.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (popupAudit.CmbAuditType.Text == "通过") { _craftOrdDesignAuditCtrl.Approval1(popupAudit.TxtAudit.Text.Trim()); } else { _craftOrdDesignAuditCtrl.AuditOrApprovalFail("批准", popupAudit.TxtAudit.Text.Trim()); } } } private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker2.Checked = labelDateTimePicker1.Checked; } } }