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 FrmStandardFile : FrmBase
{
private string[] arr = { };
public FrmStandardFile()
{
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 FrmStandardFile_Load(object sender, EventArgs e)
{
txtSTD_YEAR.Text = DateTime.Now.ToString("yyyy");
InitColumns();
QueryDept_Id();
//加载发放科室
DataTable ds = ServerHelper.GetData("com.steering.lims.resource.PublicResourceBase.QueryDept_Id", new object[] { arr }, ob);
if (ds != null && ds.Rows.Count > 0)
{
cobDeptName.DataSource = ds;
cobDeptName.ValueMember = "DEPT_ID";
cobDeptName.DisplayMember = "DEPT_NAME";
}
}
private void InitColumns()
{
string[] arrColumnsBase = new string[] { "QUERY_ID", "STD_ID", "STD_NO", "STD_NAME", "STD_TYPE", "COUNTRY", "MEDIUM", "STD_YEAR", "SEND_FLAG", "ISVALID", "VALIDFLAG", "SEND_TIME", "STOP_TIME", "REMARK", "IS_JSZX", "IS_JCZX", "FILE_POSITION", "CREATE_NAME", "CREATE_TIME", "UPDATE_NAME", "UPDATE_TIME" };
string[] arrCaptionBase = new string[] { "查询编号", "标准编号", "标准组号", "标准名称", "标准类别", "国别", "媒介", "标准年份", "发放状态", "有效状态", "是否有效", "发放日期", "回收日期", "备注", "技术中心", "检测中心", "文件位置", "创建人", "创建时间", "修改人", "修改时间" };
PublicResource.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1, ultraGrid1, new string[] { "STD_NO", "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":
QueryStdFileInfo();
break;
case "Add":
AddStdFileInfo();
break;
case "Update":
UpdateStdFileInfo();
break;
case "Delete":
DeleteStdFileInfo();
break;
case "Recover":
if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "0")
{
MessageUtil.ShowWarning("请选择一条需要恢复且状态为无效的记录!");
return;
}
ChangeStdFileInfo("恢复", "有效");
break;
case "Cancel":
if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "1")
{
MessageUtil.ShowWarning("请选择一条需要作废且状态为有效的记录!");
return;
}
ChangeStdFileInfo("作废", "作废");
break;
case "Clear":
if (MessageUtil.ShowYesNoAndQuestion("是否确认清空?") == DialogResult.Yes)
{
ClearStdFileInfo();
}
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
///
/// 查询
///
private void QueryStdFileInfo()
{
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 (chkSTD_ID.Checked)
{
arrayList.Add(txtQuerySTD_ID.Text.Trim());
arrayList.Add(txtQuerySTD_ID.Text.Trim());
arrayList.Add(txtQuerySTD_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("");
}
if (ultraCheckEditor1.Checked)
{
arrayList.Add(this.cmbStdStyle.Text.Trim());
arrayList.Add(cmbStdStyle.Text.Trim());
arrayList.Add(cmbStdStyle.Text.Trim());
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
if (ultraDeptName.Checked)
{
arrayList.Add(this.cobDeptName.Value.ToString().Trim());
arrayList.Add(this.cobDeptName.Value.ToString().Trim());
arrayList.Add(this.cobDeptName.Value.ToString().Trim());
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
DataTable dt = PublicServer.GetData("com.steering.lims.resource.file.FrmStandardFile.QueryStdFileInfo",
new Object[] { arrayList, arr }, ob);
if (dt == null || dt.Rows.Count == 0)
{
ClearStdFileInfo();
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 (ultraSTD_TYPE.Text.Trim() == "")
{
return "标准类别不能为空!";
}
if (ultraCOUNTRY.Text.Trim() == "")
{
return "国别不能为空!";
}
if (ultraMEDIUM.Text.Trim() == "")
{
return "媒介不能为空!";
}
if (txtSTD_YEAR.Text.Trim() == "")
{
return "标准年份不能为空!";
}
if (ultraSEND_FLAG.Text.Trim() == "")
{
return "发放状态不能为空!";
}
//if (ultraISVALID.Text.Trim() == "")
//{
// return "有效状态不能为空!";
//}
return "";
}
private void AddStdFileInfo()
{
try
{
string strTips = IsValid();
if (strTips != "")
{
MessageUtil.ShowWarning(strTips);
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
{
string strSTD_ID = txtSTD_ID.Text.Trim();
ArrayList arrayList = new ArrayList();
arrayList.Add(strSTD_ID);
arrayList.Add(txtSTD_NAME.Text.Trim());
arrayList.Add(ultraSTD_TYPE.Text.Trim());
arrayList.Add(ultraCOUNTRY.Text.Trim());
arrayList.Add(ultraMEDIUM.Text.Trim());
arrayList.Add(txtSTD_YEAR.Text.Trim());
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.FrmStandardFile.AddStdFileInfo",
new Object[] { strSTD_ID, arrayList }, this.ob);
QueryStdFileInfo();
PublicResource.ActiveOperateRow(ultraGrid1, "STD_ID", strSTD_ID);//定位保存的行
MessageUtil.ShowTips("新增成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
///
/// 修改
///
private void UpdateStdFileInfo()
{
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 = ultraGrid1.ActiveRow.Cells["QUERY_ID"].Text.Trim();
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(ultraSTD_TYPE.Text.Trim());
arrayList.Add(ultraCOUNTRY.Text.Trim());
arrayList.Add(ultraMEDIUM.Text.Trim());
arrayList.Add(txtSTD_YEAR.Text.Trim());
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.FrmStandardFile.UpdateStdFileInfo",
new Object[] { strQUERY_ID, all }, this.ob);
QueryStdFileInfo();
PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strQUERY_ID);//定位保存的行
MessageUtil.ShowTips("修改成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void DeleteStdFileInfo()
{
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.FrmStandardFile.DeleteStdFileInfo",
new Object[] { strQUERY_ID, arrayList }, this.ob);
QueryStdFileInfo();
MessageUtil.ShowTips("删除成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ClearStdFileInfo()
{
chkIS_JSZX.Checked = true;
chkIS_JCZX.Checked = false;
txtQUERY_ID.Text = "";
txtSTD_ID.Text = "";
txtSTD_NAME.Text = "";
ultraSTD_TYPE.Text = "";
ultraCOUNTRY.Text = "";
ultraMEDIUM.Text = "";
txtSTD_YEAR.Text = "";
ultraSEND_FLAG.Text = "";
ultraISVALID.Text = "";
SEND_TIME.Value = DateTime.Now;
STOP_TIME.Value = DateTime.Now;
txtFILE_POSITION.Text = "";
}
private void ChangeStdFileInfo(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.FrmStandardFile.ChangeStdFileInfo",
new Object[] { arrayList }, this.ob);
QueryStdFileInfo();
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)
{
QueryDept_Id();
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["STD_ID"].Text.Trim();
txtSTD_NAME.Text = ultraGrid1.ActiveRow.Cells["STD_NAME"].Text.Trim();
ultraSTD_TYPE.Text = ultraGrid1.ActiveRow.Cells["STD_TYPE"].Text.Trim();
ultraCOUNTRY.Text = ultraGrid1.ActiveRow.Cells["COUNTRY"].Text.Trim();
ultraMEDIUM.Text = ultraGrid1.ActiveRow.Cells["MEDIUM"].Text.Trim();
txtSTD_YEAR.Text = ultraGrid1.ActiveRow.Cells["STD_YEAR"].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.FrmStandardFile.QueryStdFileSendDetail",
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 chkSTD_ID_CheckedChanged(object sender, EventArgs e)
{
txtQuerySTD_ID.Enabled = chkSTD_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_STANDARDFILE_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);//更改数据库存储路径
QueryStdFileInfo();
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_STANDARDFILE_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);//更改数据库存储路径
QueryStdFileInfo();
PublicResource.ActiveOperateRow(ultraGrid1, "QUERY_ID", strId);//定位保存的行
}
}
private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
{
cmbStdStyle.Enabled = this.ultraCheckEditor1.Checked;
}
private void ultraDeptName_CheckedChanged(object sender, EventArgs e)
{
cobDeptName.Enabled = this.ultraDeptName.Checked;
}
}
}