📄 frmemppay.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace HumanManage.PayManage
{
public partial class FrmEmpPay : Form
{
private static XmlDocument EmpInfo = new XmlDocument();
private static XmlDocument EmpPay = new XmlDocument();
private static XmlDocument EmpSort = new XmlDocument();
private static XmlDocument NewPay = new XmlDocument();
private static XmlDocument OverPay = new XmlDocument();
private static XmlDocument EmpEnd = new XmlDocument();
public static bool Give = true;//当月工资是否分发
public static string Alls = ""; //当月工资总金额
public static string empid = "";
public static string empname = "";
string time = ""; //结算时间
string pun = ""; //奖惩金额
string prize = ""; //奖金
string all = ""; //应发金额
public FrmEmpPay()
{
InitializeComponent();
}
private void ShowPay(string _time, string _pun, string _prize,string _all)
{
_time = dateTimeGive.Text;
EmpInfo.Load("..\\..\\xmlAddEmp.xml");
EmpSort.Load("..\\..\\xmlRewardsAndPun.xml");
EmpPay.Load("..\\..\\xmlPayTable.xml");
txtMoney.Text = "5";
int x = 0, y = 0, all = 0, check = 0;
int basic = 0, pun = 0, prize = 0, give = 0;
XmlNodeList ListEmp = EmpInfo.SelectNodes("//新员工");
XmlNodeList Sorts = EmpSort.SelectNodes("//员工");
XmlNodeList EmpMoneys = EmpPay.SelectNodes("//分发日期[@日期]");
ltvEmpPay.Items.Clear();
foreach (XmlNode Empnode in ListEmp)
{
y = 0;
ListViewItem items = ltvEmpPay.Items.Add(_time);
items.SubItems.Add(Empnode.Attributes["员工编号"].Value);
foreach (XmlNode mark in Sorts)
{
if (mark.Attributes["员工编号"].Value.Remove(1) == Empnode.Attributes["员工编号"].Value)
{
if (_time != "")
{
if (_time.Remove(7) == mark.ChildNodes[4].InnerText.Remove(7))
{
y += Convert.ToInt32(mark.ChildNodes[6].InnerText);
}
}
}
}
all = y * Convert.ToInt32(txtMoney.Text);
_pun = all.ToString();
if (_prize == "")
{
_prize = "0";
}
if (_all == "")
{
_all = "0";
}
items.SubItems.Add(Empnode.ChildNodes[0].InnerText);
items.SubItems.Add(Empnode.ChildNodes[15].InnerText);
items.SubItems.Add(Empnode.ChildNodes[18].InnerText);
items.SubItems.Add(Empnode.ChildNodes[17].InnerText);
items.SubItems.Add(Empnode.ChildNodes[19].InnerText);
items.SubItems.Add(_pun);
items.SubItems.Add(_prize);
items.SubItems.Add(_all);
x++;
basic += Convert.ToInt32(Empnode.ChildNodes[19].InnerText);
pun += all;
prize += Convert.ToInt32(_prize);
give += Convert.ToInt32(_all);
foreach (XmlNode EmpMoney in EmpMoneys)
{
if (EmpMoney.Attributes["日期"].Value.Remove(7) == dateTimeGive.Text.Remove(7))
{
check = 1;
}
}
if (check == 0)
{
XmlDocumentFragment DocPay = EmpPay.CreateDocumentFragment();
//创建一个<分发日期>节点
XmlElement MyElementRoot = EmpPay.CreateElement("分发日期");
//创建一个<日期>属性,并把他绑定到<分发日期>节点
XmlAttribute MyAttribute = EmpPay.CreateAttribute("日期");
MyAttribute.Value = dateTimeGive.Text;
MyElementRoot.SetAttributeNode(MyAttribute);
XmlElement ID = EmpPay.CreateElement("编号");
ID.InnerText = Empnode.Attributes["员工编号"].Value;
XmlElement Name = EmpPay.CreateElement("姓名");
Name.InnerText = Empnode.ChildNodes[0].InnerText;
XmlElement Dept = EmpPay.CreateElement("部门");
Dept.InnerText = Empnode.ChildNodes[15].InnerText;
XmlElement Jop = EmpPay.CreateElement("职位");
Jop.InnerText = Empnode.ChildNodes[18].InnerText;
XmlElement Pos = EmpPay.CreateElement("职称");
Pos.InnerText = Empnode.ChildNodes[17].InnerText;
XmlElement Basic = EmpPay.CreateElement("基本工资");
Basic.InnerText = Empnode.ChildNodes[19].InnerText;
XmlElement Puns = EmpPay.CreateElement("奖惩金额");
Puns.InnerText = _pun;
XmlElement PrizeS = EmpPay.CreateElement("奖金");
PrizeS.InnerText = _prize;
XmlElement GiveS = EmpPay.CreateElement("应发工资");
GiveS.InnerText = _all;
//把以上的节点添加到<分发日期>的子节点中
MyElementRoot.AppendChild(ID);
MyElementRoot.AppendChild(Name);
MyElementRoot.AppendChild(Dept);
MyElementRoot.AppendChild(Jop);
MyElementRoot.AppendChild(Pos);
MyElementRoot.AppendChild(Basic);
MyElementRoot.AppendChild(Puns);
MyElementRoot.AppendChild(PrizeS);
MyElementRoot.AppendChild(GiveS);
//添加<分发日期>节点到 yDocFrag 对象中
DocPay.AppendChild(MyElementRoot);
XmlNode Nodes = EmpPay.SelectSingleNode("//人事管理");
//把代码片段添加到DOM对象中
Nodes.AppendChild(DocPay);
}
}
EmpPay.Save("..\\..\\xmlPayTable.xml");
toollblAll.Text = x.ToString();
toolblPrize.Text = prize.ToString();
toollblMoney.Text = basic.ToString();
toollblPunMoney.Text = pun.ToString();
toollblGiveMoney.Text = give.ToString();
}
private void FrmEmpPay_Load(object sender, EventArgs e)
{
if (FrmMain.End == false)
{
ShowPay(time, pun, prize, all);
}
else
{
EmpEnd.Load("..\\..\\xmlPayTable.xml");
XmlNodeList EndPay = EmpEnd.SelectNodes("//分发日期[@日期]");
int aa = 0, bb = 0, cc = 0, dd = 0;
ltvEmpPay.Items.Clear();
foreach (XmlNode EndMoney in EndPay)
{
if (EndMoney.Attributes["日期"].Value.Remove(7) == dateTimeGive.Text.Remove(7))
{
ListViewItem ite = ltvEmpPay.Items.Add(EndMoney.Attributes["日期"].Value);
ite.SubItems.Add(EndMoney.ChildNodes[0].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[1].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[2].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[3].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[4].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[5].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[6].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[7].InnerText);
ite.SubItems.Add(EndMoney.ChildNodes[8].InnerText);
aa += Convert.ToInt32(EndMoney.ChildNodes[5].InnerText);
bb += Convert.ToInt32(EndMoney.ChildNodes[6].InnerText);
cc += Convert.ToInt32(EndMoney.ChildNodes[7].InnerText);
dd += Convert.ToInt32(EndMoney.ChildNodes[8].InnerText);
}
}
toolblPrize.Text = cc.ToString();
toollblMoney.Text = aa.ToString();
toollblPunMoney.Text = bb.ToString();
toollblGiveMoney.Text = dd.ToString();
}
}
/// <summary>
/// 工资设定
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnMoveEdit_Click(object sender, EventArgs e)
{
if (FrmMain.End == false)
{
FrmSetPay SET = new FrmSetPay();
ListView.SelectedListViewItemCollection breakfast =
this.ltvEmpPay.SelectedItems;
foreach (ListViewItem item in breakfast)
{
empid = item.SubItems[1].Text;
empname = item.SubItems[2].Text;
}
SET.Show();
}
else
{
MessageBox.Show("该月已经结算!请下个月再设定!");
}
}
/// <summary>
/// 结算
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAddMove_Click(object sender, EventArgs e)
{
OverPay.Load("..\\..\\xmlPayTable.xml");
int GiveMoney = 0, AllMoney = 0, PrizeAll = 0;
ShowPay(time, pun, prize, all);
FrmMain.End = true;
XmlNodeList Over = OverPay.SelectNodes("//分发日期");
foreach (XmlNode Change in Over)
{
if (Change.Attributes["日期"].Value.Remove(7) == dateTimeGive.Text.Remove(7))
{
Change.Attributes["日期"].Value = dateTimeGive.Text;
GiveMoney = Convert.ToInt32(Change.ChildNodes[5].InnerText)
+ Convert.ToInt32(Change.ChildNodes[6].InnerText)
+ Convert.ToInt32(Change.ChildNodes[7].InnerText);
Change.ChildNodes[8].InnerText = GiveMoney.ToString();
AllMoney += GiveMoney;
}
}
ltvEmpPay.Items.Clear();
foreach (XmlNode Show in Over)
{
if (Show.Attributes["日期"].Value.Remove(7) == dateTimeGive.Text.Remove(7))
{
ListViewItem ite = ltvEmpPay.Items.Add(Show.Attributes["日期"].Value);
ite.SubItems.Add(Show.ChildNodes[0].InnerText);
ite.SubItems.Add(Show.ChildNodes[1].InnerText);
ite.SubItems.Add(Show.ChildNodes[2].InnerText);
ite.SubItems.Add(Show.ChildNodes[3].InnerText);
ite.SubItems.Add(Show.ChildNodes[4].InnerText);
ite.SubItems.Add(Show.ChildNodes[5].InnerText);
ite.SubItems.Add(Show.ChildNodes[6].InnerText);
ite.SubItems.Add(Show.ChildNodes[7].InnerText);
ite.SubItems.Add(Show.ChildNodes[8].InnerText);
PrizeAll += Convert.ToInt32(Show.ChildNodes[7].InnerText);
}
}
toolblPrize.Text = PrizeAll.ToString();
toollblGiveMoney.Text = AllMoney.ToString();
Alls = AllMoney.ToString();
OverPay.Save("..\\..\\xmlPayTable.xml");
}
private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
{
int a = 0, b = 0, c = 0;
NewPay.Load("..\\..\\xmlPayTable.xml");
XmlNodeList NEWS = NewPay.SelectNodes("//分发日期[@日期]");
ltvEmpPay.Items.Clear();
foreach (XmlNode Money in NEWS)
{
if (Money.Attributes["日期"].Value.Remove(7) == dateTimeGive.Text.Remove(7))
{
ListViewItem ite = ltvEmpPay.Items.Add(Money.Attributes["日期"].Value);
ite.SubItems.Add(Money.ChildNodes[0].InnerText);
ite.SubItems.Add(Money.ChildNodes[1].InnerText);
ite.SubItems.Add(Money.ChildNodes[2].InnerText);
ite.SubItems.Add(Money.ChildNodes[3].InnerText);
ite.SubItems.Add(Money.ChildNodes[4].InnerText);
ite.SubItems.Add(Money.ChildNodes[5].InnerText);
ite.SubItems.Add(Money.ChildNodes[6].InnerText);
ite.SubItems.Add(Money.ChildNodes[7].InnerText);
ite.SubItems.Add(Money.ChildNodes[8].InnerText);
a += Convert.ToInt32(Money.ChildNodes[5].InnerText);
b += Convert.ToInt32(Money.ChildNodes[6].InnerText);
c += Convert.ToInt32(Money.ChildNodes[7].InnerText);
}
toolblPrize.Text = c.ToString();
toollblMoney.Text = a.ToString();
toollblPunMoney.Text = b.ToString();
}
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
FrmMain.CheckFrom = true;
}
private void FrmEmpPay_FormClosing(object sender, FormClosingEventArgs e)
{
FrmMain.CheckFrom = true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -