using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DE
{
public partial class FormDEMOWHD2 : EF.EFForm
{
public FormDEMOWHD2()
{
InitializeComponent();
}
private void FormDEMOWHD2_Load(object sender, EventArgs e)
{
EF.Utility.SetGridColumn(new EF.EFDevGrid[] { efDevGrid1 }, new string[] { "TDESCRNREG_INQ" }, "MESTL");
EF.Utility.SetGridColumn(new EF.EFDevGrid[] { efDevGrid2 }, new string[] { "TDEBUTTREG_INQ" }, "MESTL");
EF.Utility.SetGridColumn(new EF.EFDevGrid[] { efDevGrid3 }, new string[] { "TDEDEPREG1_INQ" }, "MESTL");
EF.Utility.SetGridColumn(new EF.EFDevGrid[] { efDevGrid4 }, new string[] { "TDEEMPLOYYEE_INQ" }, "MESTL");
}
void query()
{
EI.EIInfo inBlock = new EI.EIInfo();
inBlock.Tables[0].Columns.Add("FORMNAME");
inBlock.Tables[0].Columns.Add("REC_CREATE_TIME");
inBlock.Tables[0].Columns.Add("DEP_ID"); //添加查询字段
inBlock.Tables[0].Rows.Add(efDevTextEdit1.Text.Trim(),efDevTextEdit2.Text.Trim(),efDevTextEdit3.Text.Trim());//获取画面输入框中的内容,即查询的字段的具体内容
EI.EIInfo outBlock = EI.EIManager.Instance.CallService("MESTL", "deWHDD01_inq", inBlock);
if (outBlock.sys_info.flag != 0)
{
EF.EFMessageBox.Show(outBlock.sys_info.msg);
this.EFArgs.buttonStatusHold = true;
return;
}
EF.Utility.SetCustomGridValue(efDevGrid1, outBlock);//将查询到的数据显示
this.EFMsgInfo = "查询成功";
}
void Selected()
{
EI.Logger.Info("我的前台测试日志");
EI.EIInfo inBlock = new EI.EIInfo();
inBlock.Tables[0].Columns.Add("REC_ID");
inBlock.Tables[0].Rows.Add(this.gridView1.GetFocusedRowCellValue("REC_ID"));
EI.EIInfo outBlock = EI.EITuxedo.CallService("deWHDD02_inq", inBlock);
if (outBlock.sys_info.flag < 0)
{
EF.EFMessageBox.Show(outBlock.sys_info.msg);
this.EFMsgInfo = "查询失败";
return;
}
EF.Utility.SetCustomGridValue(efDevGrid2, outBlock);
}
void Selected2()
{
EI.Logger.Info("我的前台测试日志");
EI.EIInfo inBlock = new EI.EIInfo();
inBlock.Tables[0].Columns.Add("REC_ID");
inBlock.Tables[0].Rows.Add(this.gridView1.GetFocusedRowCellValue("REC_ID"));
EI.EIInfo outBlock = EI.EITuxedo.CallService("deWHDD03_inq", inBlock);
if (outBlock.sys_info.flag < 0)
{
EF.EFMessageBox.Show(outBlock.sys_info.msg);
this.EFMsgInfo = "查询失败";
return;
}
EF.Utility.SetCustomGridValue(efDevGrid3, outBlock);
}
void Selected3()
{
EI.Logger.Info("我的前台测试日志");
EI.EIInfo inBlock = new EI.EIInfo();
inBlock.Tables[0].Columns.Add("DEP_ID");
inBlock.Tables[0].Rows.Add(this.gridView1.GetFocusedRowCellValue("DEP_ID"));
EI.EIInfo outBlock = EI.EITuxedo.CallService("deWHDD04_inq", inBlock);
if (outBlock.sys_info.flag < 0)
{
EF.EFMessageBox.Show(outBlock.sys_info.msg);
this.EFMsgInfo = "查询失败";
return;
}
EF.Utility.SetCustomGridValue(efDevGrid4, outBlock);
}
private void efDevGrid1_Click(object sender, EventArgs e)
{
Selected();
Selected2();
Selected3();//单机事件,点击主表,获取子表对应内容
}
private void FormDEMOWHD2_EF_DO_F2(object sender, EF.EF_Args e)
{
this.Cursor = Cursors.WaitCursor;
query();
Selected();
Selected2();
Selected3();
this.Cursor = Cursors.Default; //封装查询操作
}
void ef_pre_do(EF.EFDevGrid grid)
{
grid.SetAllColumnEditable(true);
grid.IsUseCustomPageBar = true;
grid.ShowAddCopyRowButton = true;
grid.ShowAddRowButton = true;
grid.ShowDeleteRowButton = true;
grid.ShowSelectionColumn = true;
query();
Selected();
Selected2();
Selected3(); //显示维护按钮
this.gridView1.Columns[4].OptionsColumn.AllowEdit = false;
this.gridView2.Columns[0].OptionsColumn.AllowEdit = false;
this.gridView3.Columns[0].OptionsColumn.AllowEdit = false; //设置为不可编辑在维护时有些数据是固定的需要锁定字段不让更改
}
void ef_cancel_do(EF.EFDevGrid grid)
{
grid.SetAllColumnEditableWithoutSelection(false);
grid.IsUseCustomPageBar = false;
grid.ShowSelectionColumn = false;
Selected();
Selected2();
Selected3(); //维护取消操作
}
void ef_do(EF.EFDevGrid grid, string tableName, string serviceName)
{
//维护操作
EI.EIInfo inBlock = new EI.EIInfo();
DataTable dt = grid.DataSource as DataTable; //从画面获取信息
DataTable dtAdded = dt.GetChanges(DataRowState.Added);
if (dtAdded != null)
{
dtAdded.TableName = "ADD";
inBlock.Tables.Add(dtAdded);
}
DataTable dtUpd = dt.GetChanges(DataRowState.Modified);
if (dtUpd != null)
{
dtUpd.TableName = "UPD";
inBlock.Tables.Add(dtUpd);
}
DataTable dtDel = dt.GetChanges(DataRowState.Deleted);
if (dtDel != null)
{
dtDel.RejectChanges();
dtDel.TableName = "DEL";
inBlock.Tables.Add(dtDel);
}
EI.EIInfo outBlock = EI.EITuxedo.CallService(serviceName, inBlock);
this.EFMsgInfo = outBlock.sys_info.msg + "\n" + outBlock.sys_info.sysmsg;
if (outBlock.sys_info.flag < 0)
{
MessageBox.Show(this.EFMsgInfo);
}
}
private void FormDEMOWHD2_EF_CANCEL_DO_F3(object sender, EF.EF_Args e)
{
ef_cancel_do(this.efDevGrid1);
ef_cancel_do(this.efDevGrid2);
ef_cancel_do(this.efDevGrid3);
ef_cancel_do(this.efDevGrid4); //调用维护取消操作
}
private void FormDEMOWHD2_EF_DO_F3(object sender, EF.EF_Args e)
{
ef_do(this.efDevGrid1, "TDESCRNREG", "deWHDD01_save");
ef_do(this.efDevGrid2, "TDEBUTTREG", "deWHDD02_save");
ef_do(this.efDevGrid3, "TDEDEPREG", "deWHDD03_save");
ef_do(this.efDevGrid4, "TDEEMPLOYYEE", "deWHDD04_save"); //调用维护操作
this.efDevGrid1.SetAllColumnEditableWithoutSelection(false);
this.efDevGrid1.ShowSelectionColumn = false;
this.efDevGrid1.IsUseCustomPageBar = false;
this.efDevGrid2.SetAllColumnEditableWithoutSelection(false);
this.efDevGrid2.ShowSelectionColumn = false;
this.efDevGrid2.IsUseCustomPageBar = false;
this.efDevGrid3.SetAllColumnEditableWithoutSelection(false);
this.efDevGrid3.ShowSelectionColumn = false;
this.efDevGrid3.IsUseCustomPageBar = false;
this.efDevGrid4.SetAllColumnEditableWithoutSelection(false);
this.efDevGrid4.ShowSelectionColumn = false;
this.efDevGrid4.IsUseCustomPageBar = false;
//维护确认之后数据保存,维护按钮消失
}
private void FormDEMOWHD2_EF_PRE_DO_F3(object sender, EF.EF_Args e)
{
ef_pre_do(this.efDevGrid1);
ef_pre_do(this.efDevGrid2);
ef_pre_do(this.efDevGrid3);
ef_pre_do(this.efDevGrid4);
}
private void gridView2_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
String fname = this.gridView1.GetFocusedRowCellValue("REC_ID").ToString();
this.gridView2.SetRowCellValue(e.RowHandle, this.gridView2.Columns["REC_ID"], fname);
//gridView2中的子表自动新增一行,并且REC_ID字段与主表中的REC_ID相对应
}
private void gridView3_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
String fname = this.gridView1.GetFocusedRowCellValue("REC_ID").ToString();
this.gridView3.SetRowCellValue(e.RowHandle, this.gridView1.Columns["REC_ID"], fname);
fname = this.gridView1.GetFocusedRowCellValue("DEP_ID").ToString();
this.gridView3.SetRowCellValue(e.RowHandle, this.gridView1.Columns["DEP_ID"], fname);
//gridView3中的子表自动新增一行,并且子表中的REC_ID字段和DEP_ID字段分别和主表中的REC_ID、gridView2中子表
//中的DEP_ID字段对应
}
private void gridView4_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
String fname = this.gridView3.GetFocusedRowCellValue("DEP_ID").ToString();
this.gridView4.SetRowCellValue(e.RowHandle, this.gridView3.Columns["DEP_ID"], fname);
//gridView4中的子表自动新增一行,子表中的DEP_ID字段和gridView3中子表的DEP_ID相对应
}
}
}
主表查询(通过FORMNAME、DEP_ID、REC_ID查询)
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "FORMNAME:{0}", bcls_rec->Tables[0].Rows[0]["FORMNAME"].ToString());
//Log::Trace("", "", "REC_CREATE_TIME:{0}", bcls_rec->Tables[0].Rows[0]["REC_CREATE_TIME"].ToString());
CString sql = ("select * from TDESCRNREG WHERE FORMNAME LIKE @FORMNAME || '%' AND REC_CREATE_TIME LIKE @REC_CREATE_TIME || '%' AND DEP_ID LIKE @DEP_ID || '%' AND 1=1");
Log::Trace("", "", "CModel查询", "sql:{0}", sql);
Db::QueryTable(sql, bcls_rec->Tables[0].Rows[0], bcls_ret->Tables[0]);
bcls_ret->Tables[0].set_TableName("TDESCRNREG");
}
子表1查询(通过REC_ID查询)
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "FORMNAME:{0}", bcls_rec->Tables[0].Rows[0]["REC_ID"].ToString());
CString fname = bcls_rec->Tables[0].Rows[0]["REC_ID"].ToString();
CString sql = ("select * from TDEBUTTREG WHERE REC_ID = '" + fname + "'AND 1=1 ");
Log::Trace("", "", "CModel查询", "sql:{0}", sql);
Db::QueryTable(sql, bcls_rec->Tables[0].Rows[0], bcls_ret->Tables[0]);
bcls_ret->Tables[0].set_TableName("TDEBUTTREG");
}
子表2查询(通过REC_ID查询)
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "FORMNAME:{0}", bcls_rec->Tables[0].Rows[0]["REC_ID"].ToString());
CString fname = bcls_rec->Tables[0].Rows[0]["REC_ID"].ToString();
CString sql = ("select * from TDEDEPREG WHERE REC_ID = '" + fname + "'AND 1=1 ");
Log::Trace("", "", "CModel查询", "sql:{0}", sql);
Db::QueryTable(sql, bcls_rec->Tables[0].Rows[0], bcls_ret->Tables[0]);
bcls_ret->Tables[0].set_TableName("TDEDEPREG");
}
子表3查询(通过DEP_ID查询)
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "FORMNAME:{0}", bcls_rec->Tables[0].Rows[0]["DEP_ID"].ToString());
CString fname = bcls_rec->Tables[0].Rows[0]["DEP_ID"].ToString();
CString sql = ("select * from TDEEMPLOYYEE WHERE DEP_ID = '" + fname + "'AND 1=1 ");
Log::Trace("", "", "CModel查询", "sql:{0}", sql);
Db::QueryTable(sql, bcls_rec->Tables[0].Rows[0], bcls_ret->Tables[0]);
bcls_ret->Tables[0].set_TableName("TDEEMPLOYYEE");
}
维护后台:
主表维护:
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "service deWHDD01_save begin");
CModel tdemo01 = CModel("TDESCRNREG");
if (bcls_rec->AtBlkName("ADD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["ADD"].Rows.get_Count(); i++)
{
tdemo01.Reset();
tdemo01.MergeFrom(bcls_rec->Tables["ADD"].Rows[i]);
tdemo01.Insert();
}
Log::Trace("", "", "新增了{0}条数据", bcls_rec->Tables["ADD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("UPD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["UPD"].Rows.get_Count(); i++)
{
tdemo01.Reset();
tdemo01.MergeFrom(bcls_rec->Tables["UPD"].Rows[i]);
tdemo01.Update("REC_ID");
}
Log::Trace("", "", "修改了{0}条数据", bcls_rec->Tables["UPD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("DEL") > 0)
{
for (int i = 0; i < bcls_rec->Tables["DEL"].Rows.get_Count(); i++)
{
tdemo01.Reset();
tdemo01.MergeFrom(bcls_rec->Tables["DEL"].Rows[i]);
tdemo01.Delete("REC_ID");
}
Log::Trace("", "", "删除了{0}条数据", bcls_rec->Tables["DEL"].Rows.get_Count());
}
}
子表1维护
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "service deWHDD02_save begin");
CModel tdemo02 = CModel("TDEBUTTREG");
if (bcls_rec->AtBlkName("ADD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["ADD"].Rows.get_Count(); i++)
{
tdemo02.Reset();
tdemo02.MergeFrom(bcls_rec->Tables["ADD"].Rows[i]);
tdemo02.Insert();
}
Log::Trace("", "", "新增了{0}条数据", bcls_rec->Tables["ADD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("UPD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["UPD"].Rows.get_Count(); i++)
{
tdemo02.Reset();
tdemo02.MergeFrom(bcls_rec->Tables["UPD"].Rows[i]);
tdemo02.Update("REC_ID");
}
Log::Trace("", "", "修改了{0}条数据", bcls_rec->Tables["UPD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("DEL") > 0)
{
for (int i = 0; i < bcls_rec->Tables["DEL"].Rows.get_Count(); i++)
{
tdemo02.Reset();
tdemo02.MergeFrom(bcls_rec->Tables["DEL"].Rows[i]);
tdemo02.Delete("REC_ID");
}
Log::Trace("", "", "删除了{0}条数据", bcls_rec->Tables["DEL"].Rows.get_Count());
}
}
子表2维护
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "service deWHDD03_save begin");
CModel tdemo03 = CModel("TDEDEPREG");
if (bcls_rec->AtBlkName("ADD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["ADD"].Rows.get_Count(); i++)
{
tdemo03.Reset();
tdemo03.MergeFrom(bcls_rec->Tables["ADD"].Rows[i]);
tdemo03.Insert();
}
Log::Trace("", "", "新增了{0}条数据", bcls_rec->Tables["ADD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("UPD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["UPD"].Rows.get_Count(); i++)
{
tdemo03.Reset();
tdemo03.MergeFrom(bcls_rec->Tables["UPD"].Rows[i]);
tdemo03.Update("DEP_ID");
}
Log::Trace("", "", "修改了{0}条数据", bcls_rec->Tables["UPD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("DEL") > 0)
{
for (int i = 0; i < bcls_rec->Tables["DEL"].Rows.get_Count(); i++)
{
tdemo03.Reset();
tdemo03.MergeFrom(bcls_rec->Tables["DEL"].Rows[i]);
tdemo03.Delete("DEP_ID");
}
Log::Trace("", "", "删除了{0}条数据", bcls_rec->Tables["DEL"].Rows.get_Count());
}
}
子表3维护
try
{
// -----Begin IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
// -----End IPLAT4C::IPLAT4CServiceCompositeStatementObj()----- //
Log::Trace("", "", "service deWHDD02_save begin");
CModel tdemo04 = CModel("TDEEMPLOYYEE");
if (bcls_rec->AtBlkName("ADD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["ADD"].Rows.get_Count(); i++)
{
tdemo04.Reset();
tdemo04.MergeFrom(bcls_rec->Tables["ADD"].Rows[i]);
tdemo04.Insert();
}
Log::Trace("", "", "新增了{0}条数据", bcls_rec->Tables["ADD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("UPD") > 0)
{
for (int i = 0; i < bcls_rec->Tables["UPD"].Rows.get_Count(); i++)
{
tdemo04.Reset();
tdemo04.MergeFrom(bcls_rec->Tables["UPD"].Rows[i]);
tdemo04.Update("DEP_ID");
}
Log::Trace("", "", "修改了{0}条数据", bcls_rec->Tables["UPD"].Rows.get_Count());
}
if (bcls_rec->AtBlkName("DEL") > 0)
{
for (int i = 0; i < bcls_rec->Tables["DEL"].Rows.get_Count(); i++)
{
tdemo04.Reset();
tdemo04.MergeFrom(bcls_rec->Tables["DEL"].Rows[i]);
tdemo04.Delete("DEP_ID");
}
Log::Trace("", "", "删除了{0}条数据", bcls_rec->Tables["DEL"].Rows.get_Count());
}
}