using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using TSMCISMobile.DataAccess;
using TSMCISMobile.DataFactory;
using TSMCISMobile;
using System.Collections;
namespace DeviceApplication2
{
///<summary>
/// 模块编号:
/// 作用:
/// 创建者:豹子
/// 创建日期:2008-4-14
/// 最后修改者:
/// 最后修改日
/// 最后修改描述:
///</summary>
public partial class FrmBookMain : Form
{
#region 自定义变量
/// <summary>
/// 收支明细表
/// </summary>
//private DataTable m_MoneyDataTable = null;
/// <summary>
/// 编号
/// </summary>
private string M_Id = string.Empty;
/// <summary>
/// 日期
/// </summary>
private string M_DataTime = string.Empty;
/// <summary>
/// 收支标志
/// </summary>
private string M_OutFlag = string.Empty;
/// <summary>
/// 收支类型,如:借款 贷款 餐费 居住
/// </summary>
private string M_Typet = string.Empty;
/// <summary>
/// 金额
/// </summary>
private string M_FeelSum = string.Empty;
/// <summary>
/// 帐号
/// </summary>
private string M_NumberZ = string.Empty;
/// <summary>
/// 备注
/// </summary>
private string M_Note = string.Empty;
/// <summary>
/// 数据库收支表里编号最大值
/// </summary>
private int M_maxId = 0;
/// <summary>
/// 数据库礼尚往来表里编号最大值
/// </summary>
private int M_maxLSId = 0;
/// <summary>
/// 是否从查询界面返回
/// </summary>
private string m_SelectFlag = string.Empty;
/// <summary>
/// 进入那个菜单页的标志,“0”收支明细,“1”礼尚往来,“2”银行卡,“3”信用卡
/// </summary>
private string m_FrmFlag = string.Empty;
#endregion
#region 属性
/// <summary>
/// 是否从查询界面返回
/// </summary>
public string M_SelectFlag
{
get { return this.m_SelectFlag; }
set { this.m_SelectFlag = value; }
}
#endregion
#region 构造函数
/// <summary>
/// 构造函数
/// </summary>
public FrmBookMain()
{
InitializeComponent();
}
#endregion
/// <summary>
/// 添加菜单按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem8_Click(object sender, EventArgs e)
{
frmLog myFrm = new frmLog();
myFrm.Show();
}
/// <summary>
/// 添加收支明细记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem5_Click(object sender, EventArgs e)
{
switch(this.m_FrmFlag)
{
case "0":
this.menuItem5.Enabled = true;
this.menuItem6.Enabled = true;
this.menuItem7.Enabled = true;
frmAddMX myFrm = new frmAddMX();
int MaxID = Convert.ToInt32(this.M_maxId) + 1;
myFrm.ID = MaxID.ToString();
myFrm.M_UpdataFlag = "0";
myFrm.Show();
break;
case "1":
this.menuItem5.Enabled = true;
this.menuItem6.Enabled = true;
this.menuItem7.Enabled = true;
frmGetOutAdd myFrm1 = new frmGetOutAdd();
int MaxLsID = Convert.ToInt32(this.M_maxLSId) + 1;
myFrm1.ID = MaxLsID.ToString();
myFrm1.M_UpdataFlag = "0";
myFrm1.Show();
break;
case "2":
this.menuItem5.Enabled = false;
this.menuItem6.Enabled = false;
this.menuItem7.Enabled = false;
break;
case "3":
this.menuItem5.Enabled = false;
this.menuItem6.Enabled = false;
this.menuItem7.Enabled = false;
break;
}
}
/// <summary>
/// 窗体加载事件
/// </summary>
private void FrmBookMain_Load(object sender, EventArgs e)
{
try
{
if (this.m_SelectFlag == string.Empty)
{
this.m_FrmFlag = "0";
//判断是否有数据库文件,如果没有需要创建表
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
StaticAccess.CreatDB();
DA_LocalTable myDA_LocalTable = new DA_LocalTable();
//创建收支明细表
myDA_LocalTable.CreatDictTable();
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
//得到收支明细表数据
DataTable dt = myDA_LocalTable.GetMoneyList();
//得到收支统计数据
ArrayList ArSum = myDA_LocalTable.GetStatData();
//装载收支明细表数据源
this.GetMoneyList(dt);
//填充统计列表
this.FillListStat(ArSum);
}
}
catch (Exception ex)
{
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
throw(ex);
}
}
/// <summary>
/// 填充统计列表
/// </summary>
/// <param name="p_Ar"></param>
public void FillListStat(ArrayList p_Ar)
{
if (p_Ar.Count > 0)
{
DateTime datatimeNow = DateTime.Now;
string Month = datatimeNow.Month.ToString();
int month = Convert.ToInt32(Month);
if (month < 10)
{
Month = "0" + Month;
}
this.ListSum.Items.Clear();
ListViewItem item;
item = new ListViewItem();
item.Text = Month;
item.Tag = p_Ar[0].ToString();
item.SubItems.Add(p_Ar[0].ToString());
item.SubItems.Add(p_Ar[1].ToString());
item.SubItems.Add(p_Ar[2].ToString());
item.SubItems.Add(p_Ar[3].ToString());
this.ListSum.Items.Add(item);
}
}
/// <summary>
/// 得到此条件下的收支明细表,并装载到界面控件中
/// </summary>
/// <returns></returns>
public void GetMoneyList(DataTable p_DataTable)
{
try
{
DataView dv = new DataView(p_DataTable);
this.ListMX.Items.Clear();
ListViewItem item;
if (p_DataTable.Rows.Count > 0)
{
foreach (DataRowView v in dv)
{
//编号
string m_Id = v.Row["s_ID"].ToString();
//日期
string m_DataTime = v.Row["S_DataTime"].ToString();
//收支标志
string m_OutFlag = v.Row["S_GETOUTFLAG"].ToString();
//收支类型,如:借款 贷款 餐费 居住
string m_Typet = v.Row["S_GETOUTTYPE"].ToString();
//金额
string m_FeelSum = v.Row["I_MONEYSUM"].ToString();
//帐号
string m_NumberZ = v.Row["S_ACCOUNTS"].ToString();
//备注
string m_Note = v.Row["S_NOTE"].ToString();
item = new ListViewItem();
item.Text = m_Id;
item.Tag = m_DataTime;
item.SubItems.Add(m_DataTime);
item.SubItems.Add(m_Typet);
item.SubItems.Add(m_FeelSum);
item.SubItems.Add(m_NumberZ);
item.SubItems.Add(m_OutFlag);
item.SubItems.Add(m_Note);
this.ListMX.Items.Add(item);
//获取最大编码
this.GetMaxID(m_Id,"0");
}
}
}
catch (Exception ex)
{
throw(ex);
}
}
/// <summary>
/// 获取数据库里最大的编号
/// </summary>
/// <param name="p_Id"></param>
public void GetMaxID(string p_Id,String P_Flag)
{
try
{
int id = Convert.ToInt32(p_Id);
if (P_Flag == "0")
{
if (id > this.M_maxId)
{
this.M_maxId = id;
}
}
else
{
if (id > this.M_maxLSId)
{
this.M_maxLSId = id;
}
}
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 获取所选取的记录信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ListMX_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (this.ListMX.SelectedIndices.Count != 0)
{
int i = this.ListMX.SelectedIndices[0];
//编号
this.M_Id = this.ListMX.Items[i].SubItems[0].Text.ToString();
//日期
M_DataTime = this.ListMX.Items[i].SubItems[1].Text.ToString();
//收支标志
M_OutFlag = this.ListMX.Items[i].SubItems[5].Text.ToString();
//收支类型,如:借款 贷款 餐费 居住
M_Typet = this.ListMX.Items[i].SubItems[2].Text.ToString();
//金额
M_FeelSum = this.ListMX.Items[i].SubItems[3].Text.ToString();
//帐号
M_NumberZ = this.ListMX.Items[i].SubItems[4].Text.ToString();
//备注
M_Note = this.ListMX.Items[i].SubItems[6].Text.ToString();
}
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 修改收支明细内容
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem6_Click(object sender, EventArgs e)
{
try
{
frmAddMX myFrm = new frmAddMX();
myFrm.M_UpdataFlag = "1";
myFrm.GetData(M_Id, M_DataTime, M_OutFlag, M_Typet, M_FeelSum, M_NumberZ, M_Note);
myFrm.Show();
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 删除收支明细
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem7_Click(object sender, EventArgs e)
{
if (this.ListMX.SelectedIndices.Count != 0)
{
if (MessageBox.Show("提示:您确认要删除此条信息吗?", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) == DialogResult.OK)
{
bool b = false;
DA_LocalTable LocalTable = new DA_LocalTable();
b = LocalTable.DeleteMoneyLost(M_Id);
if (b)
{
DataTable dt = LocalTable.GetMoneyList();
MessageBox.Show("信息:删除成功!");
this.GetMoneyList(dt);
}
}
}
else
{
MessageBox.Show("提示:没有选择所要删除的记录!");
}
}
/// <summary>
/// 查询收支明细
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem9_Click(object sender, EventArgs e)
{
frmSelectMoney myfrm = new frmSelectMoney();
myfrm.Show();
}
/// <summary>
/// Tab菜单切换事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.tabControl1.SelectedIndex == 0)
{
m_FrmFlag = "0";
this.menuItem5.Enabled = true;
this.menuItem6.Enabled = true;
this.menuItem7.Enabled = true;
}
if (this.tabControl1.SelectedIndex == 1)
{
m_FrmFlag = "1";
DA_LocalTable myDA_LocalTable = new DA_LocalTable();
//创建礼尚往来表
myDA_LocalTable.CreatInteTable();
//填充礼尚往来列表
DataTable dt = myDA_LocalTable.GetMoneyInteList();
this.FillListInte(dt);
this.menuItem5.Enabled = true;
this.menuItem6.Enabled = true;
this.menuItem7.Enabled = true;
}
if (this.tabControl1.SelectedIndex == 2)
{
m_FrmFlag = "2";
this.menuItem5.Enabled = false;
this.menuItem6.Enabled = false;
this.menuItem7.Enabled = false;
}
if (this.tabControl1.SelectedIndex == 3)
{
m_FrmFlag = "3";
this.menuItem5.Enabled = false;
this.menuItem6.Enabled = false;
this.menuItem7.Enabled = false;
}
}
/// <summary>
/// 填充礼尚往来列表
/// </summary>
/// <param name="p_Ar"></param>
public void FillListInte(DataTable dt)
{
try
{
DataView dv = new DataView(dt);
this.listIntel.Items.Clear();
ListViewItem item;
if (dt.Rows.Count > 0)
{
foreach (DataRowView v in dv)
{
//编号
string m_Id = v.Row["s_ID"].ToString();
//日期
string m_DataTime = v.Row["S_DataTime"].ToString();
//类型
string m_OutFlag = v.Row["S_GETOUTFLAG"].ToString();
//姓名
string m_UserName = v.Row["S_UserName"].ToString();
//事由
string m_Reason = v.Row["I_Reason"].ToString();
//物品名称
string m_GoodsName = v.Row["s_GoodsName"].ToString();
//等价金额
string m_Money = v.Row["i_Money"].ToString();
//备注
string m_Note = v.Row["S_NOTE"].ToString();
item = new ListViewItem();
item.Text = m_Id;
item.Tag = m_DataTime;
item.SubItems.Add(m_DataTime);
item.SubItems.Add(m_OutFlag);
item.SubItems.Add(m_UserName);
item.SubItems.Add(m_Reason);
item.SubItems.Add(m_GoodsName);
item.SubItems.Add(m_Money);
item.SubItems.Add(m_Note);
this.ListMX.Items.Add(item);
//获取最大编码
this.GetMaxID(m_Id,"1");
}
}
}
catch (Exception ex)
{
throw (ex);
}
}
}
}