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;
}
}
}