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; using System; namespace Core.StlMes.Client.Lims.Resource { public partial class FrmProgramFile : FrmBase { private string[] arr = { }; public FrmProgramFile() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; arr = this.ValidDataPurviewIds; } private void FrmProgramFile_Load(object sender, EventArgs e) { txtVERSION.Text = DateTime.Now.ToString("yyyy"); InitColumns(); QueryDept_Id(); ultraQueryDEPT_ID.QueryDept_Id(ob,arr); ultraDEPT_ID.QueryDept_Id(ob, arr); } private void InitColumns() { string[] arrColumnsBase = new string[] { "QUERY_ID", "FILE_ID", "FILE_NO", "FILE_NAME", "VERSION", "FILE_TYPE", "DEPT_ID", "DEPT_NAME", "SEND_FLAG", "ISVALID", "VALIDFLAG", "SEND_TIME", "STOP_TIME", "IS_JSZX", "IS_JCZX", "FILE_POSITION", "REMARK", "CREATE_NAME", "CREATE_TIME", "UPDATE_NAME", "UPDATE_TIME" }; string[] arrCaptionBase = new string[] { "查询编号", "文件编号", "文件组号", "文件名称", "版本号", "类别", "科室", "科室", "发放状态", "有效状态", "是否有效", "发放日期", "回收日期", "技术中心", "检测中心", "文件位置", "备注", "创建人", "创建时间", "修改人", "修改时间" }; PublicResource.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1, ultraGrid1, new string[] { "FILE_NO", "DEPT_ID", "VALIDFLAG" }, false, null); string[] arrColumnsSend = new string[] { "CHK", "QUERY_ID", "DEPT_ID", "DEPT_NAME", "SEND_NUM" }; string[] arrCaptionSend = new string[] { "选择", "查询编号", "发放科室", "发放科室", "数量" }; PublicResource.InitColumns(arrColumnsSend, arrCaptionSend, dataTable2, ultraGrid2, new string[] { "QUERY_ID", "DEPT_ID" }, false, new string[] { "CHK", "SEND_NUM" }); } //查询科室 private void QueryDept_Id() { try { DataTable dt = PublicServer.GetData("com.steering.lims.resource.PublicResourceBase.QueryDept_Id", new Object[] { arr }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2.Rows.Clear(); //MessageUtil.ShowTips("没有维护标准基础数据!"); return; } GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { //新增修改删除退出 switch (ToolbarKey) { case "Query": QueryProFileInfo(); break; case "Add": AddProFileInfo(); break; case "Update": UpdateProFileInfo(); break; case "Delete": DeleteProFileInfo(); break; case "Recover": if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "0") { MessageUtil.ShowWarning("请选择一条需要恢复且状态为无效的记录!"); return; } ChangeProFileInfo("恢复", "有效"); break; case "Cancel": if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "1") { MessageUtil.ShowWarning("请选择一条需要作废且状态为有效的记录!"); return; } ChangeProFileInfo("作废", "作废"); break; case "Clear": if (MessageUtil.ShowYesNoAndQuestion("是否确认清空?") == DialogResult.Yes) { ClearProFileInfo(); } break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } private void QueryProFileInfo() { try { ultraGrid2.UpdateData(); foreach (DataRow dr in dataTable2.Rows) { dr["CHK"] = "False"; dr["SEND_NUM"] = "1"; } ultraGrid2.DataBind(); ArrayList arrayList = new ArrayList(); if (chkISVALID.Checked) { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } else { arrayList.Add("有效"); arrayList.Add("有效"); arrayList.Add("有效"); } if (chkDEPT_ID.Checked) { arrayList.Add(ultraQueryDEPT_ID.UltDept_ID); arrayList.Add(ultraQueryDEPT_ID.UltDept_ID); arrayList.Add(ultraQueryDEPT_ID.UltDept_ID); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkFILE_TYPE.Checked) { arrayList.Add(ultraQueryFILE_TYPE.Text.Trim()); arrayList.Add(ultraQueryFILE_TYPE.Text.Trim()); arrayList.Add(ultraQueryFILE_TYPE.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkFILE_ID.Checked) { arrayList.Add(txtQueryFILE_ID.Text.Trim()); arrayList.Add(txtQueryFILE_ID.Text.Trim()); arrayList.Add(txtQueryFILE_ID.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkQUERY_ID.Checked) { arrayList.Add(txtQueryQUERY_ID.Text.Trim()); arrayList.Add(txtQueryQUERY_ID.Text.Trim()); arrayList.Add(txtQueryQUERY_ID.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } DataTable dt = PublicServer.GetData("com.steering.lims.resource.file.FrmProgramFile.QueryProFileInfo", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { ClearProFileInfo(); dataTable1.Rows.Clear(); //MessageUtil.ShowTips("没有维护标准基础数据!"); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid1); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private string IsValid() { if (chkIS_JCZX.Checked == false && chkIS_JSZX.Checked == false) { return "文件所属部门不能同时为空!"; } if (txtSTD_ID.Text.Trim() == "") { return "文件编号不能为空!"; } if (txtSTD_NAME.Text.Trim() == "") { return "文件名称不能为空!"; } if (ultraFILE_TYPE.Text.Trim() == "") { return "类别不能为空!"; } if (ultraDEPT_ID.UltDept_Name == "") { return "科室不能为空!"; } if (txtVERSION.Text.Trim() == "") { return "版本号不能为空!"; } if (ultraSEND_FLAG.Text.Trim() == "") { return "发放状态不能为空!"; } //if (ultraISVALID.Text.Trim() == "") //{ // return "有效状态不能为空!"; //} return ""; } private void AddProFileInfo() { try { string strTips = IsValid(); if (strTips != "") { MessageUtil.ShowWarning(strTips); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes) { string strFILE_ID = txtSTD_ID.Text.Trim(); ArrayList arrayList = new ArrayList(); arrayList.Add(strFILE_ID); arrayList.Add(txtSTD_NAME.Text.Trim()); arrayList.Add(ultraFILE_TYPE.Text.Trim()); arrayList.Add(txtVERSION.Text.Trim()); arrayList.Add(ultraDEPT_ID.UltDept_ID); arrayList.Add(ultraDEPT_ID.UltDept_Name); arrayList.Add(ultraSEND_FLAG.Text.Trim()); arrayList.Add(SEND_TIME.Text.Trim()); arrayList.Add(STOP_TIME.Text.Trim()); if (chkIS_JCZX.Checked) { arrayList.Add("是"); } else { arrayList.Add(""); } if (chkIS_JSZX.Checked) { arrayList.Add("是"); } else { arrayList.Add(""); } arrayList.Add("");//备注 arrayList.Add(UserInfo.GetUserName()); PublicServer.SetData("com.steering.lims.resource.file.FrmProgramFile.AddProFileInfo", new Object[] { strFILE_ID, arrayList }, this.ob); QueryProFileInfo(); PublicResource.ActiveOperateRow(ultraGrid1, "FILE_ID", strFILE_ID);//定位保存的行 MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void UpdateProFileInfo() { try { string strTips = IsValid(); if (strTips != "") { MessageUtil.ShowWarning(strTips); return; } if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "1") { MessageUtil.ShowWarning("请选择一条需要修改且状态为有效的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes) { ultraGrid2.UpdateData(); string strQUERY_ID = txtQUERY_ID.Text; ArrayList all = new ArrayList(); ArrayList allBase = new ArrayList(); ArrayList arrayList = new ArrayList(); arrayList.Add(txtSTD_ID.Text.Trim()); arrayList.Add(txtSTD_NAME.Text.Trim()); arrayList.Add(ultraFILE_TYPE.Text.Trim()); arrayList.Add(txtVERSION.Text.Trim()); arrayList.Add(ultraDEPT_ID.UltDept_ID); arrayList.Add(ultraDEPT_ID.UltDept_Name); arrayList.Add(ultraSEND_FLAG.Text.Trim()); arrayList.Add(SEND_TIME.Text.Trim()); arrayList.Add(STOP_TIME.Text.Trim()); if (chkIS_JCZX.Checked) { arrayList.Add("是"); } else { arrayList.Add(""); } if (chkIS_JSZX.Checked) { arrayList.Add("是"); } else { arrayList.Add(""); } arrayList.Add("");//备注 arrayList.Add(UserInfo.GetUserName()); arrayList.Add(strQUERY_ID); allBase.Add(arrayList); ArrayList alDetail = new ArrayList(); ArrayList alDetailParam = new ArrayList(); foreach (DataRow dr in dataTable2.Rows) { if (dr["CHK"].ToString() == "True") { alDetailParam = new ArrayList(); alDetailParam.Add(strQUERY_ID); alDetailParam.Add(dr["DEPT_ID"].ToString()); alDetailParam.Add(dr["DEPT_NAME"].ToString()); alDetailParam.Add(dr["SEND_NUM"].ToString()); alDetail.Add(alDetailParam); } } all.Add(allBase); all.Add(alDetail); PublicServer.SetData("com.steering.lims.resource.file.FrmProgramFile.UpdateProFileInfo", new Object[] { strQUERY_ID, all }, this.ob); QueryProFileInfo(); PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strQUERY_ID);//定位保存的行 MessageUtil.ShowTips("修改成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void DeleteProFileInfo() { try { if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "1") { MessageUtil.ShowWarning("请选择一条需要删除且状态为有效的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes) { string strQUERY_ID = txtQUERY_ID.Text; ArrayList arrayList = new ArrayList(); arrayList.Add(strQUERY_ID); PublicServer.SetData("com.steering.lims.resource.file.FrmProgramFile.DeleteProFileInfo", new Object[] { strQUERY_ID, arrayList }, this.ob); QueryProFileInfo(); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ClearProFileInfo() { chkIS_JSZX.Checked = true; chkIS_JCZX.Checked = false; txtQUERY_ID.Text = ""; txtSTD_ID.Text = ""; txtSTD_NAME.Text = ""; ultraFILE_TYPE.Text = ""; ultraDEPT_ID.UltDept_ID = ""; txtVERSION.Text = ""; ultraSEND_FLAG.Text = ""; ultraISVALID.Text = ""; SEND_TIME.Value = DateTime.Now; STOP_TIME.Value = DateTime.Now; txtFILE_POSITION.Text = ""; } private void ChangeProFileInfo(string strOper, string flag) { try { if (MessageUtil.ShowYesNoAndQuestion("是否确认" + strOper + "?") == DialogResult.Yes) { string strQUERY_ID = ultraGrid1.ActiveRow.Cells["QUERY_ID"].Text.Trim(); ArrayList arrayList = new ArrayList(); arrayList.Add(flag); if (strOper == "作废") { arrayList.Add(UserInfo.GetUserName()); arrayList.Add(DateTime.Now); } else { arrayList.Add(""); arrayList.Add(""); } arrayList.Add(strQUERY_ID); PublicServer.SetData("com.steering.lims.resource.file.FrmProgramFile.ChangeProFileInfo", new Object[] { arrayList }, this.ob); QueryProFileInfo(); PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strQUERY_ID); MessageUtil.ShowTips(strOper + "成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { QueryStdFileSendDetail(); if (ultraGrid1.ActiveRow.Cells["IS_JSZX"].Text.Trim() == "是") { chkIS_JSZX.Checked = true; } else { chkIS_JSZX.Checked = false; } if (ultraGrid1.ActiveRow.Cells["IS_JCZX"].Text.Trim() == "是") { chkIS_JCZX.Checked = true; } else { chkIS_JCZX.Checked = false; } txtQUERY_ID.Text = ultraGrid1.ActiveRow.Cells["QUERY_ID"].Text.Trim(); txtSTD_ID.Text = ultraGrid1.ActiveRow.Cells["FILE_ID"].Text.Trim(); txtSTD_NAME.Text = ultraGrid1.ActiveRow.Cells["FILE_NAME"].Text.Trim(); ultraFILE_TYPE.Text = ultraGrid1.ActiveRow.Cells["FILE_TYPE"].Text.Trim(); ultraDEPT_ID.UltDept_ID = ultraGrid1.ActiveRow.Cells["DEPT_ID"].Text.Trim(); txtVERSION.Text = ultraGrid1.ActiveRow.Cells["VERSION"].Text.Trim(); ultraSEND_FLAG.Text = ultraGrid1.ActiveRow.Cells["SEND_FLAG"].Text.Trim(); ultraISVALID.Text = ultraGrid1.ActiveRow.Cells["ISVALID"].Text.Trim(); SEND_TIME.Text = ultraGrid1.ActiveRow.Cells["SEND_TIME"].Text.Trim(); STOP_TIME.Text = ultraGrid1.ActiveRow.Cells["STOP_TIME"].Text.Trim(); txtFILE_POSITION.Text = ultraGrid1.ActiveRow.Cells["FILE_POSITION"].Text.Trim(); } private void QueryStdFileSendDetail() { try { ArrayList arrayList = new ArrayList(); arrayList.Add(ultraGrid1.ActiveRow.Cells["QUERY_ID"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.resource.file.FrmProgramFile.QueryProFileSendDetail", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { return; } DataRow[] arr; foreach (DataRow dr in dataTable2.Rows) { arr = dt.Select("DEPT_ID = '" + dr["DEPT_ID"].ToString() + "'"); if (arr.Length > 0) { dr["CHK"] = "True"; dr["SEND_NUM"] = arr[0]["SEND_NUM"].ToString(); } } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void chkQUERY_ID_CheckedChanged(object sender, EventArgs e) { txtQueryQUERY_ID.Enabled = chkQUERY_ID.Checked; } private void chkFILE_ID_CheckedChanged(object sender, EventArgs e) { txtQueryFILE_ID.Enabled = chkFILE_ID.Checked; } private void View_Click(object sender, EventArgs e) { UltraGridRow ur = ultraGrid1.ActiveRow; if (ur == null) { MessageUtil.ShowWarning("请选择一条需要查看上传文件的记录!"); return; } if (ur.Cells["FILE_POSITION"].Text.Trim() == "") { MessageUtil.ShowWarning("请先上传再查看!"); return; } string strTableName = "RMFM_PROGRAMFILE_INFO"; string strId = ur.Cells["QUERY_ID"].Text.Trim(); string path = "Lims/resource/file/" + this.Name + "/" + strId + "/"; if (PublicResource.ViewFilePosition(this.ob, path) == false) { PublicResource.UpdateFilePosition(strTableName, "", "QUERY_ID", strId, this.ob);//更改数据库存储路径 QueryProFileInfo(); PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strId);//定位保存的行 } } private void Upload_Click(object sender, EventArgs e) { UltraGridRow ur = ultraGrid1.ActiveRow; if (ur == null) { MessageUtil.ShowWarning("请选择一条需要上传文件的记录!"); return; } string strTableName = "RMFM_PROGRAMFILE_INFO"; string strId = ur.Cells["QUERY_ID"].Text.Trim(); string path = "Lims/resource/file/" + this.Name + "/" + strId + "/"; if (PublicResource.UploadFilePosition(this.ob, path)) { PublicResource.UpdateFilePosition(strTableName, path, "QUERY_ID", strId, this.ob);//更改数据库存储路径 QueryProFileInfo(); PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strId);//定位保存的行 } } private void chkFILE_TYPE_CheckedChanged(object sender, EventArgs e) { ultraQueryFILE_TYPE.Enabled = chkFILE_TYPE.Checked; } private void chkDEPT_ID_CheckedChanged(object sender, EventArgs e) { ultraQueryDEPT_ID.Enabled = chkDEPT_ID.Checked; } } }