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.CA06; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using System.Collections; using Core.Mes.Client.Comm.Control; //需要填写重量字段,每个试样一个重量,返回备注给质保部 namespace Core.StlMes.Client.Lims.Data.Mat { public partial class FrmMatLabSampleConfirm : FrmBase { private string[] arrId;//数据权限 public FrmMatLabSampleConfirm() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void FrmMatLabSampleConfirm_Load(object sender, EventArgs e) { //arrId = this.ValidDataPurviewIds;//获取数据权限 arrId = UserInfo.GetUserName() == "admin" ? PublicMat.ValidData() : this.ValidDataPurviewIds; InitColumns(); } private void InitColumns() { //"SAMPLE_WEIGHT","试样重量", publicUltraGridDetail1.InitColumnsBaseDetail(new string[] { "CHK", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "SAMPLE_REMARK" }, true, new string[] { "CHK", "SAMPLE_WEIGHT" }); publicUltraGridDetail2.InitColumnsBaseDetail(new string[] { "CHK", "FLAG_DESC", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "SAMPLE_REMARK" }, true, new string[] { "CHK" }); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { //新增、修改修约值、审核、删除、退出 switch (ToolbarKey) { case "Query": if (ultraTabControl1.SelectedTab.Index == 0) { QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0"); } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "12345"); } break; case "Confirm": UpdateCheckConsignDetail(); break; case "Cancel": CancelUpdateCheckConsignDetail(); break; case "Print": if (ultraTabControl1.SelectedTab.Index == 0) { RepLimsMatLabSampleConfirm(publicUltraGridDetail1, "0"); } else if (ultraTabControl1.SelectedTab.Index == 1) { RepLimsMatLabSampleConfirm(publicUltraGridDetail2, "12345"); } break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //查询检验委托基本信息 private void QueryCheckConsignDetail_Dept(PublicUltraGridDetail publicUltraGridDetail, string strFlag) { try { ArrayList arrayList = matQueryBase1.GetQueryInfo(strFlag); DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatSampleConfirm.QueryCheckConsignBaseDetail_Dept", arrId == null ? new Object[] { arrayList, new string[] { UserInfo.GetDeptid() } } : new Object[] { arrayList, arrId }, ob); if (dt == null || dt.Rows.Count == 0) { publicUltraGridDetail.DataTable.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, publicUltraGridDetail.DataTable, true);//把dt复制给dataTable4 //GridHelper.RefreshAndAutoSize(publicUltraGridDetail.Ug);//刷新Grid PublicMat.RefreshAndAutoSizeColumns(publicUltraGridDetail.Ug, new string[] { "SAMPLE_REMARK" }, false); } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } //来样确认 private void UpdateCheckConsignDetail() { try { if (publicUltraGridDetail1.Ug == null || publicUltraGridDetail1.Ug.Rows.Count == 0) { return; } if (ultraTabControl1.SelectedTab.Index != 0) { MessageUtil.ShowTips("只有选择了未确认页才能进行来样确认操作!"); return; } publicUltraGridDetail1.Ug.UpdateData(); DataRow[] arrBase = publicUltraGridDetail1.DataTable.Select("CHK = 'True'"); if (arrBase == null || arrBase.Length == 0) { MessageUtil.ShowTips("请勾选至少一条需要进行来样确认的信息!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否来样确认?") == DialogResult.Yes) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(row["SAMPLE_WEIGHT"].ToString());//试样重量 alBaseParams.Add("1"); alBaseParams.Add(UserInfo.GetUserName());//收样人 alBaseParams.Add(DateTime.Now.ToString());//收样时间 alBaseParams.Add(""); alBaseParams.Add("");//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add("0"); alBaseParams.Add(row["DEPT_ID"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail", new Object[] { alBase }, ob); QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0"); QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234"); MessageUtil.ShowTips("来样确认成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); } } private void CancelUpdateCheckConsignDetail() { try { if (publicUltraGridDetail2.Ug == null || publicUltraGridDetail2.Ug.Rows.Count == 0) { return; } if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowTips("只有选择了已确认页才能进行取消确认操作!"); return; } publicUltraGridDetail2.Ug.UpdateData(); DataRow[] arrBase = publicUltraGridDetail2.DataTable.Select("CHK = 'True' AND FLAG = '1'"); if (arrBase == null || arrBase.Length == 0) { MessageUtil.ShowTips("请勾选至少一条状态为已确认的信息!"); return; } WinCancelReason pc = new WinCancelReason(); pc.ShowDialog(); if (pc.DialogResult != DialogResult.OK) { return; } string strRemark = pc.StrRemark; strRemark = this.Text + "取消确认由于" + strRemark + "(" + UserInfo.GetUserName() + " " + DateTime.Now.ToString() + ")"; ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(""); alBaseParams.Add("0"); alBaseParams.Add("");//收样人 alBaseParams.Add("");//收样时间 alBaseParams.Add(strRemark); alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add("1"); alBaseParams.Add(row["DEPT_ID"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail", new Object[] { alBase }, ob); QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234"); QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0"); MessageUtil.ShowTips("取消确认成功!"); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); } } private void RepLimsMatLabSampleConfirm(PublicUltraGridDetail publicUltraGridDetail, string strFlag) { try { //if (ultraTabControl1.SelectedTab.Index != 0) //{ // MessageUtil.ShowWarning("只有在未确认任务单页才能进行打印来样确认单操作!"); // return; //} this.Cursor = Cursors.WaitCursor; publicUltraGridDetail.Ug.UpdateData(); DataRow[] arrBase = publicUltraGridDetail.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() + row["SAMPLE_NO"].ToString() + row["DEPT_ID"].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/WebReport/ReportServer?reportlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO + "&FLAG=" + strFlag; } 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; } } } }