using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Lims.Data.PipeAndOutdec.封装类.实体类; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec { public partial class FrmPhyStdChange : FrmBase { public FrmPhyStdChange() { InitializeComponent(); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); } private void FrmPhyStdChange_Load(object sender, EventArgs e) { // getDept(cmbDept, ob, false); // 查询科室 } /// /// 查询科室 /// //public bool getDept(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine) //{ // DataTable dt = ServerHelper.GetData("com.steering.lims.data.pipe.FrmPhyStdChange.getDept", // new object[] { }, ob); // if (hasBlankLine && dt != null && dt.Rows.Count > 0) // { // DataRow dr = dt.NewRow(); // dt.Rows.InsertAt(dr, 0); // } // cmb.DataSource = dt; // cmb.DisplayMember = "DEPARTNAME"; // cmb.ValueMember = "DEPARTNAME"; // return true; //} /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { //新增修改删除退出 switch (ToolbarKey) { case "Query": doQuery(); break; case "Add": doAdd(); break; case "Update": doUpdate(); break; case "Nullify": doNullifyOrRecover("1"); break; case "Recover": doNullifyOrRecover("0"); break; case "StdCopy": StdCopy(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } private void StdCopy() { using (var winStdUpdate = new WinStdUpdate(this.ob)) { if (winStdUpdate.ShowDialog() == DialogResult.OK) { ArrayList parm = new ArrayList(); parm.Add(winStdUpdate.NewStd); parm.Add(UserInfo.GetUserName()); parm.Add(winStdUpdate.OldStd); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange"; ccp.MethodName = "doStdUpdate"; ccp.ServerParams = new object[] { parm }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { doQuery(); MessageUtil.ShowTips("更新成功"); } } } } private void doNullifyOrRecover(string flag) { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); String info = "0".Equals(flag) ? "恢复" : "作废"; if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要" + info + "的信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity; if (String.IsNullOrEmpty(entity.Id)) continue; entity.NullifyName = UserInfo.GetUserName(); entity.NullifyFlag = flag; string baseEntity = JSONFormat.Format(entity); parmList.Add(baseEntity); } if (parmList.Count > 0) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange"; ccp.MethodName = "doNullifyOrRecover"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { doQuery(); MessageUtil.ShowTips(info+"成功"); } } } private void doUpdate() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity; if (String.IsNullOrEmpty(entity.Id)) continue; entity.UpdateName = UserInfo.GetUserName(); entity.PhyDept = UserInfo.GetDeptid(); entity.PhyDeptName = UserInfo.GetDepartment(); string baseEntity = JSONFormat.Format(entity); parmList.Add(baseEntity); } if (parmList.Count > 0) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange"; ccp.MethodName = "doUpdate"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { doQuery(); MessageUtil.ShowTips("修改成功!"); } } } private void doAdd() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要新增的信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity; if (String.IsNullOrEmpty(entity.SampleGroupName)) { MessageUtil.ShowTips("请选择试样组!"); return; } if (!String.IsNullOrEmpty(entity.Id)) continue; entity.CreateName = UserInfo.GetUserName(); entity.PhyDept = UserInfo.GetDeptid(); entity.PhyDeptName = UserInfo.GetDepartment(); string baseEntity = JSONFormat.Format(entity); parmList.Add(baseEntity); } if (parmList.Count > 0) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange"; ccp.MethodName = "doAdd"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { doQuery(); MessageUtil.ShowTips("新增成功!"); } } } private void doQuery() { String nullifyFlag = "0"; // 作废状态(0:正常) if (nullifyFlagSearch.Checked) { nullifyFlag = ""; } String deptName = ""; if(DeptCheckSearch.Checked){ deptName = cmbDept.Value == null ? "" : cmbDept.Value.ToString(); } List listSource = EntityHelper.GetData( "com.steering.lims.data.pipe.FrmPhyStdChange.doQuery", new object[] { nullifyFlag, deptName }, this.ob); pipePhyStdChangeEntityBindingSource.DataSource = listSource; for (int i = 0; i < ultraGrid1.Rows.Count; i++) { UltraGridRow row = ultraGrid1.Rows[i]; if (row.Cells["nullifyFlag"].Value.ToString().Equals("1")) { row.Appearance.ForeColor = Color.Red; } } } private void SampleGroupEditor_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { using (var winPhySelect = new WinPhySelect(this.ob)) { if (winPhySelect.ShowDialog() == DialogResult.OK) { PipePhyStdChangeEntity cmBasePhyCEntity = ultraGrid1.ActiveRow.ListObject as PipePhyStdChangeEntity; cmBasePhyCEntity.SampleGroup = winPhySelect.SelectRow.PhyCode; cmBasePhyCEntity.SampleGroupName = winPhySelect.SelectRow.PhyType; ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); } } } private void stdNameEditor_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { using (var winStdSelect = new WinStdSelect(this.ob)) { if (winStdSelect.ShowDialog() == DialogResult.OK) { PipePhyStdChangeEntity cmBasePhyCEntity = ultraGrid1.ActiveRow.ListObject as PipePhyStdChangeEntity; cmBasePhyCEntity.StdName = winStdSelect.SelectRow.StdName; ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); } } } private void DeptCheckSearch_CheckedChanged(object sender, EventArgs e) { } } }