⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmemppay.cs

📁 简单的人事管理系统,通过不断改进可以成为一个通用的管理系统
💻 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 + -