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 CoreFS.CA03;
using CoreFS.CA04;
using CoreFS.CA06;
using System.Collections;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Tool;
//可以根据登录人所属部门来确认试验项目权限
namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
{
public partial class FrmOutdecJGSampleConfirm : FrmBase
{
public FrmOutdecJGSampleConfirm()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
publicUltraGridBase1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
publicUltraGridBase2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void FrmOutdecJGSampleConfirm_Load(object sender, EventArgs e)
{
InitColumns();
}
private void InitColumns()
{
string[] arrColumnsBase = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "CONTROL_NO", "SAMPLE_NAME", "STEEL_GRADE_NO", "TOTAL_LARGE_SAMPLE_SIZE", "LARGE_SAMPLE_COUNT", "HEAT_NO", "TOTAL_SAMPLE_NO", "OTHER_DESC", "LARGE_SAMPLE_STATE", "CHECK_TYPE", "CHECK_BASE", "SURPLUS", "SURPLUS_STATE", "PROMISE_FINISH_TIME", "CHECK_PRICE", "REPORT_TYPE", "GET_REPORT_WAY", "CONSIGN_DEPT", "CONSIGN_ADDRESS", "POSTCODE", "PHONE", "FAX", "CHECK_DEPT", "CHECK_ADDRESS", "CONSIGN_NAME", "CONSIGN_TIME", "JC_RECEIVE_NAME", "JC_RECEIVE_TIME", "JG_RECEIVE_NAME", "JG_RECEIVE_TIME", "SAMPLE_REMARK" };
string[] arrCaptionBase = new string[] { "选择", "状态", "状态", "检验编号", "受控编号", "样品名称", "钢号/钢级", "规格", "数量(个数)", "炉号", "样品编号", "其他说明", "样品状态", "检验类别", "检验依据", "余样处理方式", "余样情况", "检验完成时间约定", "检验费用", "报告类型", "取报告方式", "委托方全称", "通信地址", "邮编", "电话", "传真", "主检单位", "地址", "委托方授权人签字", "委托时间", "检验单位接受人", "接受日期", "加工接样人", "加工接样时间", "样品备注" };
publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(outdecUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件
publicUltraGridBase1.InitColumns(arrColumnsBase, arrCaptionBase);
publicUltraGridBase1.setColumnShowOrHidden(new string[] { "FLAG", "FLAG_DESC", "CHECK_PRICE", "REPORT_TYPE", "GET_REPORT_WAY", "CONSIGN_DEPT", "CONSIGN_ADDRESS", "POSTCODE", "PHONE", "FAX", "CHECK_DEPT", "CHECK_ADDRESS", "CONSIGN_NAME", "CONSIGN_TIME", "JC_RECEIVE_NAME", "JC_RECEIVE_TIME", "JG_RECEIVE_NAME", "JG_RECEIVE_TIME" }, false);//隐藏列
publicUltraGridBase1.setOtherColumnReadOnly(new string[] { "CHK" });//可编辑列
string[] arrColumns = new string[] { "SAMPLE_NO", "SAMPLE_SIZE", "HX", "ONH" };
string[] arrCaption = new string[] { "试样号", "规格", "化学", "ONH" };//
publicUltraGridDetail1.InitColumns(arrColumns, arrCaption);
publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
//publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
publicUltraGridBase2.PublicUltraGridBaseActive += new EventHandler(outdecUltraGridBase2_PublicUltraGridBaseActive);
publicUltraGridBase2.InitColumns(arrColumnsBase, arrCaptionBase);
publicUltraGridBase2.setColumnShowOrHidden(new string[] { "FLAG", "CHECK_PRICE", "REPORT_TYPE", "GET_REPORT_WAY", "CONSIGN_DEPT", "CONSIGN_ADDRESS", "POSTCODE", "PHONE", "FAX", "CHECK_DEPT", "CHECK_ADDRESS", "CONSIGN_NAME", "CONSIGN_TIME", "JC_RECEIVE_NAME", "JC_RECEIVE_TIME" }, false);
publicUltraGridBase2.setOtherColumnReadOnly(new string[] { "CHK" });//可编辑列
publicUltraGridDetail2.InitColumns(arrColumns, arrCaption);
publicUltraGridDetail2.setOtherColumnReadOnly(null);//可编辑列
//publicUltraGridDetail2.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//查询、确认、退出
switch (ToolbarKey)
{
case "Query":
if (ultraTabControl1.SelectedTab.Index == 0)
{
QueryCheckConsignBase(publicUltraGridBase1, "1");
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
QueryCheckConsignBase(publicUltraGridBase2, "2");
}
break;
case "Confirm":
UpdateCheckConsign();
break;
case "Cancel":
CancelUpdateCheckConsign();
break;
case "Print":
if (ultraTabControl1.SelectedTab.Index == 0)
{
RepLimsOutdecJGSampleConfirm(publicUltraGridBase1);
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
RepLimsOutdecJGSampleConfirm(publicUltraGridBase2);
}
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
//查询检验委托基本信息
private void QueryCheckConsignBase(PublicUltraGridBase publicUltraGridBase, string strFlag)
{
try
{
publicUltraGridBase.QueryCheckConsignBase("outdec.PublicOutdecBase", outdecQueryBase1.GetQueryInfo(strFlag), this.ob);
if (publicUltraGridBase.DataTable == null || publicUltraGridBase.DataTable.Rows.Count == 0)
{
if (publicUltraGridBase == publicUltraGridBase1)
{
publicUltraGridDetail1.DataTable.Rows.Clear();
}
else if (publicUltraGridBase == publicUltraGridBase2)
{
publicUltraGridDetail2.DataTable.Rows.Clear();
}
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
//查询检验委托加工信息
private void QueryCheckConsignDetail(PublicUltraGridDetail publicUltraGridDetail, UltraGridRow ur, int strNum)
{
try
{
ArrayList al = new ArrayList();
al.Add("");
al.Add(ur.Cells["CHECK_NO"].Text.Trim());
publicUltraGridDetail.QueryCheckConsignDetail("outdec.PublicOutdecBase", al, this.ob, strNum);
string strHide = "HX,ONH";
PublicPipeAndOutdec.HideNullColumn(strHide, publicUltraGridDetail.Ug);
publicUltraGridDetail.setOtherColumnReadOnly(null);//可编辑列
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
#region 待确认任务单
void outdecUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e)
{
QueryCheckConsignDetail(publicUltraGridDetail1, publicUltraGridBase1.Ur, 4);
//string strHide = "HX";
//PublicPipeAndOutdec.HideNullColumn(strHide, publicUltraGridDetail1.Ug);
//publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
}
//确认来样,更新检验委托加工信息2015-08-03修改为一个检验编号确认
private void UpdateCheckConsign()
{
try
{
if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (ultraTabControl1.SelectedTab.Index != 0)
{
MessageUtil.ShowTips("只有选择了未确认页才能进行来样确认操作!");
return;
}
publicUltraGridBase1.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridBase1.DataTable.Select("CHK = 'True' AND FLAG = '1'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowTips("请勾选状态为检测中心已下发的检验信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否来样确认?") == DialogResult.Yes)
{
string user = UserInfo.GetUserName();
string strDate = DateTime.Now.ToString();
publicUltraGridBase1.UpdateCheckConsignBase("outdec.FrmOutdecJGSampleConfirm", this.ob, arrBase, "2", user, strDate, "1", "");
QueryCheckConsignBase(publicUltraGridBase1, "1");
QueryCheckConsignBase(publicUltraGridBase2, "2");
MessageUtil.ShowTips("来样确认成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
#endregion
#region 已确认任务单
void outdecUltraGridBase2_PublicUltraGridBaseActive(object sender, EventArgs e)
{
QueryCheckConsignDetail(publicUltraGridDetail2, publicUltraGridBase2.Ur, 3);//4
//publicUltraGridDetail2.setOtherColumnReadOnly(null);//可编辑列
//赋值给全局变量
}
private void CancelUpdateCheckConsign()
{
try
{
if (publicUltraGridBase2.Ug == null || publicUltraGridBase2.Ug.Rows.Count == 0)
{
return;
}
if (ultraTabControl1.SelectedTab.Index != 1)
{
MessageUtil.ShowTips("只有选择了已确认页才能进行来样确认操作!");
return;
}
publicUltraGridBase2.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridBase2.DataTable.Select("CHK = 'True' AND FLAG = '2'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowTips("请勾选至少一条状态为加工已确认的检验信息!");
return;
}
//if (MessageUtil.ShowYesNoAndQuestion("是否取消确认?") == DialogResult.Yes)
//{
string user = UserInfo.GetUserName();
string strDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
WinCancelSampleComfirm pc = new WinCancelSampleComfirm();
pc.ShowDialog();
if (pc.DialogResult != DialogResult.OK)
{
return;
}
string strSample_Remark = pc.StrRemark;
strSample_Remark = this.Text + "取消确认由于" + strSample_Remark + "(" + user + " " + strDate + ")";
//需要判断下一个状态位
publicUltraGridBase2.UpdateCheckConsignBase("outdec.FrmOutdecJGSampleConfirm", this.ob, arrBase, "1", "", "", "2", strSample_Remark);
QueryCheckConsignBase(publicUltraGridBase2, "2");
QueryCheckConsignBase(publicUltraGridBase1, "1");
MessageUtil.ShowTips("取消确认成功!");
//}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
#endregion
private void RepLimsOutdecJGSampleConfirm(PublicUltraGridBase publicUltraGridBase)
{
try
{
this.Cursor = Cursors.WaitCursor;
publicUltraGridBase.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridBase.DataTable.Select("CHK = 'True'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowWarning("请选择您要打印的加工来样明细单!");
return;
}
string strCHECK_NO = "";
foreach (DataRow row in arrBase)
{
strCHECK_NO += "'" + row["CHECK_NO"].ToString() + "',";
}
strCHECK_NO = strCHECK_NO.Remove(0, 1);
strCHECK_NO = strCHECK_NO.Remove(strCHECK_NO.Length - 2);
string strurl = "";
//if (ob.MainUrl.StartsWith("http://127.0.0.1"))
//{
// strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsOutdecJGSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
//}
//else
//{
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsOutdecJGSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
//}
FrmRepExcel fBug = new FrmRepExcel(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;
}
}
}
}