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 FrmOutdecLabSampleConfirm : FrmBase { private string[] arrId;//数据权限 public FrmOutdecLabSampleConfirm() { 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 FrmOutdecLabSampleConfirm_Load(object sender, EventArgs e) { arrId = this.ValidDataPurviewIds;//获取数据权限 outdecQueryBase1.ShowControl(); InitColumns(); } private void InitColumns() { string[] arrColumns = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "SAMPLE_NO", "PHY_CODE_MAX", "PHY_NAME_MAX", "SAMPLE_COUNT", "JG_SEND_NAME", "JG_SEND_TIME", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "SAMPLE_REMARK" }; string[] arrCaption = new string[] { "选择", "状态", "状态", "检验编号", "试样号", "检验项代码", "检验项", "试样数", "送样人", "送样时间", "收样人", "收样时间", "样品备注" }; publicUltraGridDetail1.InitColumns(arrColumns, arrCaption); publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "FLAG", "FLAG_DESC", "PHY_CODE_MAX", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME" }, false);//不需要显示的行 publicUltraGridDetail1.setOtherColumnReadOnly(new string[] { "CHK" });//可编辑列 //publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No; publicUltraGridDetail2.InitColumns(arrColumns, arrCaption); publicUltraGridDetail2.setColumnShowOrHidden(new string[] { "FLAG", "PHY_CODE_MAX" }, false); publicUltraGridDetail2.setOtherColumnReadOnly(new string[] { "CHK" }); //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) { QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1"); } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345"); } break; case "Confirm": UpdateCheckConsignDetail(); break; case "Cancel": CancelUpdateCheckConsignDetail(); break; case "Print": if (ultraTabControl1.SelectedTab.Index == 0) { RepLimsOutdecLabSampleConfirm(publicUltraGridDetail1); } else if (ultraTabControl1.SelectedTab.Index == 1) { RepLimsOutdecLabSampleConfirm(publicUltraGridDetail2); } break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //查询检验委托基本信息 private void QueryCheckConsignDetailInfo(PublicUltraGridDetail publicUltraGridDetail, string strFlag) { try { publicUltraGridDetail.QueryCheckConsignBaseDetail("outdec.PublicOutdecBase", outdecQueryBase1.GetQueryInfo(strFlag), this.ob, arrId); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); } } #region 未确认 //确认来样,更新检验委托加工信息2015-08-03修改为一个检验编号确认 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' 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(); publicUltraGridDetail1.UpdateCheckConsignDetail("outdec.FrmOutdecLabSampleConfirm", this.ob, arrBase, "2", user, strDate, "1", ""); QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1"); QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345"); MessageUtil.ShowTips("来样确认成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); } } #endregion #region 已确认 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 = '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 + ")"; publicUltraGridDetail2.UpdateCheckConsignDetail("outdec.FrmOutdecLabSampleConfirm", this.ob, arrBase, "1", "", "", "2", strSample_Remark); QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345"); QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1"); MessageUtil.ShowTips("取消确认成功!"); //} } catch (Exception e) { MessageUtil.ShowWarning(e.Message); } } #endregion private void RepLimsOutdecLabSampleConfirm(PublicUltraGridDetail publicUltraGridDetail) { try { 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["PHY_CODE_MAX"].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=RepLimsOutdecLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO; //} //else //{ strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsOutdecLabSampleConfirm.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; } } } }