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;
}
}
}