using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Lims.Resource.封装类.实体类; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Lims.Resource { //记录编号年后面六位流水 //ultraGrid2 勾选记录机器 //ultraGrid2 显示此试验室需要填写运行使用记录的设备 //ultraGrid3存放此设备这一段时间内的早中晚班是否记录 public partial class FrmDmUsageRunRecord : FrmBase { private string[] arrId;//数据权限 public FrmDmUsageRunRecord() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void FrmDmUsageRunRecord_Load(object sender, EventArgs e) { arrId = this.ValidDataPurviewIds;//获取数据权限 InitColumns(); publicUltraDept_ID1.QueryDept_Id(ob, arrId); QueryFixedAssetsDetail(); } private void InitColumns() { string[] arrColumnsBase = new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" }; string[] arrCaptionBase = new string[] { "记录编号", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "操作人", "操作时间", "班次", "设备状况", "设备异常描述", "温度", "湿度(%)", "其他设备坏境", "工作内容", "其他(备注)", "科室", "科室" }; PublicResource.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1, ultraGrid1, new string[] { "RECORD_ID", "DEVICE_ID", "DEPT_ID" }, false, null); string[] arrColumnsDevice = new string[] { "CHK", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "DEPT_ID", "DEPT_NAME" }; string[] arrCaptionDevice = new string[] { "选择", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "科室", "科室" }; PublicResource.InitColumns(arrColumnsDevice, arrCaptionDevice, dataTable2, ultraGrid2, new string[] { "DEVICE_ID", "DEPT_ID", "DEPT_NAME" }, false, new string[] { "CHK" }); string[] arrColumnsRecord = new string[] { "USE_TIME", "ONE_SHIFT", "TWO_SHIFT", "THREE_SHIFT", "FIVE_SHIFT", "FOUR_SHIFT" }; string[] arrCaptionRecord = new string[] { "日期", "早班", "中班", "夜班", "白班", "常白班" }; PublicResource.InitColumns(arrColumnsRecord, arrCaptionRecord, dataTable3); //加载工作内容 DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initWorkContent", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob); if (dt != null && dt.Rows.Count > 0) { ultraWORK_CONTENT.DataSource = dt; ultraWORK_CONTENT.ValueMember = "WORK_CONTENT"; } //加载记录人 DataTable dt2 = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initUseName", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob); if (dt2 != null && dt2.Rows.Count > 0) { ultraUSE_NAME.DataSource = dt2; ultraUSE_NAME.ValueMember = "USE_NAME"; } } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { //新增修改删除退出 switch (ToolbarKey) { case "Query": QueryUsageRunRecord(); break; case "Add": AddUsageRunRecord(); break; case "Update": UpdateUsageRunRecord(); break; case "Delete": DeleteUsageRunRecord(); break; case "Clear": ClearUsageRunRecord(); break; case "Export": ExportUsageRunRecord(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //根据科室查询有记录名称的设备 /// /// 根据科室查询有记录名称的设备 /// private void QueryFixedAssetsDetail() { try { //查询此试验室需要 填写运行使用记录的设备 string recordName ; //记录名称 string department = UserInfo.GetDepartment(); string sortCode = ""; string baseName = ""; if (chkRECORD_NAME.Checked)//记录名称 { recordName = ultraQueryRECORD_NAME.Text.Trim(); } else { recordName = ""; } if(recordName.Equals("运行记录")) { sortCode = "100124%"; } if (recordName.Equals("使用记录")) { sortCode = "100125%"; } DataTable lxDt = PublicServer.GetData("com.steering.lims.resource.person.FrmPmJJClassRecord.initMeeting", new Object[] { sortCode, department }, ob); if (lxDt.Rows.Count > 0 && lxDt != null) { baseName = lxDt.Rows[0][0].ToString(); } this.ultraLabel14.Text = recordName + " " + baseName; DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryFixedAssetsDetail", new Object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId, recordName }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void QueryUsageRunRecord() { try { QueryFixedAssetsDetail(); ArrayList arrayList = new ArrayList();//ultraQueryDEVICE_STATE if (chkDEVICE_STATE.Checked)//设备状况 { arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim()); arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim()); arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkRECORD_NAME.Checked)//记录名称 { arrayList.Add(ultraQueryRECORD_NAME.Text.Trim()); arrayList.Add(ultraQueryRECORD_NAME.Text.Trim()); arrayList.Add(ultraQueryRECORD_NAME.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkDEPT_ID.Checked)//科室 { arrayList.Add(publicUltraDept_ID1.UltDept_ID); arrayList.Add(publicUltraDept_ID1.UltDept_ID); arrayList.Add(publicUltraDept_ID1.UltDept_ID); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkTime.Checked)//日期 { arrayList.Add(dateBegin.DateTime.ToShortDateString() + " 00:00:00"); arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59"); } else { arrayList.Add("0001/01/01 00:00:00"); arrayList.Add("9999/12/31 23:59:59"); } if (chkDEVICE_NO.Checked) { arrayList.Add(ultraDEVICE_NO.Text.Trim()); arrayList.Add(ultraDEVICE_NO.Text.Trim()); arrayList.Add(ultraDEVICE_NO.Text.Trim());//设备编号 } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkDEVICE_NAME.Checked) { arrayList.Add(txtQueryDEVICE_NAME.Text.Trim()); arrayList.Add(txtQueryDEVICE_NAME.Text.Trim()); arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());//资产名称 } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecord", new Object[] { arrayList, arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob); if (dt == null || dt.Rows.Count == 0) { ClearUsageRunRecord(); dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid1); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private string IsValid() { if (txtDEVICE_NAME.Text == "") { return "设备名称不能为空!"; } return ""; } /// /// 新增 /// private void AddUsageRunRecord() { try { //ultraGrid2.Update(); ultraGrid2.UpdateData(); DataRow[] arrDr = dataTable2.Select("CHK = True"); if (arrDr == null || arrDr.Length == 0) { MessageUtil.ShowWarning("请至少勾选一条需要增加记录的设备信息!"); return; } if (UserInfo.GetDeptid().Equals("002001007010")) { if (txtTEMP.Text.Trim() == "") { MessageUtil.ShowWarning("温度不能为空!"); return; } if (txtWETNESS.Text.Trim() == "") { MessageUtil.ShowWarning("湿度不能为空!"); return; } if (ultraWORK_CONTENT.Text.Trim() == "") { MessageUtil.ShowWarning("工作内容不能为空!"); return; } } if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes) { ArrayList alBase = new ArrayList(); ArrayList alBaseParam = new ArrayList(); foreach (DataRow dr in arrDr) { alBaseParam = new ArrayList(); alBaseParam.Add(dr["RECORD_NAME"].ToString());//记录名称 alBaseParam.Add(dr["DEVICE_ID"].ToString());//资产编号 alBaseParam.Add(dr["DEVICE_NO"].ToString());//设备编号 alBaseParam.Add(dr["DEVICE_NAME"].ToString());//资产名称 alBaseParam.Add(dr["SPEC"].ToString());//规格型号specification alBaseParam.Add(UserInfo.GetUserID()); alBaseParam.Add(UserInfo.GetUserName()); alBaseParam.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间 alBaseParam.Add(UserInfo.GetUserOrderText());//班次 alBaseParam.Add(UserInfo.GetUserGroupText());//班组 alBaseParam.Add(ultraDEVICE_STATE.Text.Trim());//设备状况 alBaseParam.Add(txtDEVICE_EXCEPTION_DESC.Text.Trim());//设备异常描述 alBaseParam.Add(txtTEMP.Text.Trim());//温度 alBaseParam.Add(txtWETNESS.Text.Trim());//湿度 alBaseParam.Add(txtDEVICE_ENVIRONMENT.Text.Trim());//其他设备坏境 alBaseParam.Add(ultraWORK_CONTENT.Text.Trim());//工作内容 alBaseParam.Add(txtREMARK.Text.Trim());//其他(备注) alBaseParam.Add(dr["DEPT_ID"].ToString());//科室 alBaseParam.Add(dr["DEPT_NAME"].ToString());//记录名称 alBase.Add(alBaseParam); } PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.AddUsageRunRecord", new Object[] { alBase }, this.ob); QueryUsageRunRecord(); MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } /// /// 修改 /// private void UpdateUsageRunRecord() { try { UltraGridRow dr = ultraGrid1.ActiveRow; if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes) { RmdmUsageRunRecordsEntity runRecords = new RmdmUsageRunRecordsEntity(); runRecords.RecordId = dr.Cells["RECORD_ID"].Text.ToString(); runRecords.UseTime = ttxtUSE_TIME.Value.ToString(); runRecords.UseName = ultraUSE_NAME.Text.ToString(); runRecords.UseShift = ultraUSE_SHIFT.Text.ToString(); runRecords.RecordName = ultraRECORD_NAME.Text.ToString(); runRecords.DeviceState = ultraDEVICE_STATE.Text.ToString(); runRecords.DeviceExceptionDesc = txtDEVICE_EXCEPTION_DESC.Text.ToString(); runRecords.Temp = txtTEMP.Text.ToString(); runRecords.Wetness = txtWETNESS.Text.ToString(); runRecords.DeviceEnvironment = txtDEVICE_ENVIRONMENT.Text.ToString(); runRecords.WorkContent = ultraWORK_CONTENT.Text.ToString(); runRecords.Remark = txtREMARK.Text.ToString(); string runRecordsStr = JSONFormat.Format(runRecords); PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.UpdateUsageRunRecord", new Object[] { runRecordsStr }, this.ob); QueryUsageRunRecord(); MessageUtil.ShowTips("修改成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } /// /// 删除 /// private void DeleteUsageRunRecord() { try { //DataRow[] arrDr = dataTable2.Select("CHK = True"); UltraGridRow dr = ultraGrid1.ActiveRow; if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0) { MessageUtil.ShowWarning("请点击选择一条需要修改的记录信息!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes) { PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.DeleteUsageRunRecord", new Object[] { dr.Cells["RECORD_ID"].Text.ToString() }, this.ob); QueryUsageRunRecord(); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ClearUsageRunRecord() { PublicResource.ClearBaseInfo(panel6, new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" }); } /// /// 导出 /// private void ExportUsageRunRecord() { ArrayList alUltraGrid = new ArrayList();//需要导出的GRID ArrayList alSheeft = new ArrayList();//Sheeft名称 alUltraGrid.Add(ultraGrid1); alSheeft.Add("设备使用运行记录"); if (ultraGrid1.Rows.Count == 0) { return; } GridHelper.ulGridToExcel(alUltraGrid, alSheeft, DateTime.Now.ToString("yyyyMM") + "设备使用运行记录");//导出excel } private void chkRECORD_NAME_CheckedChanged(object sender, EventArgs e) { ultraQueryRECORD_NAME.Enabled = chkRECORD_NAME.Checked; } private void chkRECORD_ID_CheckedChanged(object sender, EventArgs e) { txtQueryDEVICE_NAME.Enabled = chkDEVICE_NAME.Checked; } private void chkDEPT_ID_CheckedChanged(object sender, EventArgs e) { publicUltraDept_ID1.Enabled = chkDEPT_ID.Checked; } private void chkDEVICE_NO_CheckedChanged(object sender, EventArgs e) { ultraDEVICE_NO.Enabled = chkDEVICE_NO.Checked; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { PublicResource.ShowBaseInfo(ultraGrid1.ActiveRow, panel6); } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { QueryUsageRunRecord_Device(); } /// /// 根据资产编号查运行记录 /// private void QueryUsageRunRecord_Device() { ArrayList arrayList = new ArrayList(); arrayList.Add(ultraGrid2.ActiveRow.Cells["DEVICE_ID"].Value.ToString()); DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecordDevice", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { ClearUsageRunRecord(); dataTable3.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1 //GridHelper.RefreshAndAutoSize(ultraGrid3); } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { } private void chkDEVICE_STATE_CheckedChanged(object sender, EventArgs e) { ultraQueryDEVICE_STATE.Enabled = chkDEVICE_STATE.Checked; } private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } } }