📄 frmgoorback.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.EmpInfor
{
public partial class FrmGoOrBack : Form
{
public static XmlDocument EmpInfor = new XmlDocument();
public static XmlDocument GoOrBack = new XmlDocument();
public static XmlDocument RewardsOrPun = new XmlDocument();
//获取当前日期和时间
string today = DateTime.Now.Date.ToString();
int hour = Convert.ToInt32(DateTime.Now.Hour);
int minute = Convert.ToInt32(DateTime.Now.Minute);
int second = Convert.ToInt32(DateTime.Now.Second);
string _minute = "";
string _second = "";
string YseNo = "";
public FrmGoOrBack()
{
InitializeComponent();
}
private void FrmGoOrBack_Load(object sender, EventArgs e)
{
skinGoBack.SkinFile = "MSN.ssk";
EmpInfor.Load("..\\..\\xmlAddEmp.xml");
GoOrBack.Load("..\\..\\xmlGoOrBack.xml");
RewardsOrPun.Load("..\\..\\xmlRewardsAndPun.xml");
//当前日期
if (minute < 10) _minute = "0" + minute.ToString();
else _minute = minute.ToString();
if (second < 10) _second = "0" + second.ToString();
else _second = second.ToString();
lblDate.Text = hour.ToString() + ":" + _minute + ":" + _second;
}
#region 创建员工惩罚信息
/// <summary>
/// 在xmlRewardsAndPun.xml中创建员工惩罚信息
/// </summary>
/// <param name="why"></param>
/// <param name="mark"></param>
private void CreatePun(string why, string mark)
{
//获得具有[员工编号流水号]属性的[添加员工]节点
XmlNode MynodeId = RewardsOrPun.SelectSingleNode("//员工奖惩信息[@条数流水号]");
//获取当前[员工编号流水号]的值
int PunIds = int.Parse(MynodeId.Attributes["条数流水号"].Value);
PunIds++;
MynodeId.Attributes["条数流水号"].Value = PunIds.ToString();
XmlNode EmpNodeinfo = EmpInfor.SelectSingleNode("//新员工[@员工编号='" + txtIdGoBack.Text + "']");
XmlDocumentFragment Pun = RewardsOrPun.CreateDocumentFragment();
XmlElement PunEmp = RewardsOrPun.CreateElement("员工");
XmlAttribute MyAtt = RewardsOrPun.CreateAttribute("员工编号");
MyAtt.Value = txtIdGoBack.Text + PunIds.ToString();
PunEmp.SetAttributeNode(MyAtt);
//创建一个<姓名>节点
XmlElement Name = RewardsOrPun.CreateElement("姓名");
Name.InnerText = EmpNodeinfo.ChildNodes[0].InnerText;
//创建一个<性别>节点
XmlElement Sex = RewardsOrPun.CreateElement("性别");
Sex.InnerText = EmpNodeinfo.ChildNodes[1].InnerText;
//创建一个<部门>节点
XmlElement Dept = RewardsOrPun.CreateElement("部门");
Dept.InnerText = EmpNodeinfo.ChildNodes[15].InnerText;
//创建一个<职位>节点
XmlElement Jop = RewardsOrPun.CreateElement("职位");
Jop.InnerText = EmpNodeinfo.ChildNodes[18].InnerText;
//创建一个<奖惩日期>节点
XmlElement PunDate = RewardsOrPun.CreateElement("奖惩日期");
PunDate.InnerText = dateTimeNow.Text;
//创建一个<奖惩类别>节点
XmlElement PunSort = RewardsOrPun.CreateElement("奖惩类别");
PunSort.InnerText = "惩罚";
//创建一个<奖惩分数>节点
XmlElement PunMark = RewardsOrPun.CreateElement("奖惩分数");
PunMark.InnerText = mark;
//创建一个<奖惩原因>节点
XmlElement PunWhy = RewardsOrPun.CreateElement("奖惩原因");
PunWhy.InnerText = why;
//创建一个<备注信息>节点
XmlElement PunInfo = RewardsOrPun.CreateElement("备注信息");
PunInfo.InnerText = "";
PunEmp.AppendChild(Name);
PunEmp.AppendChild(Sex);
PunEmp.AppendChild(Dept);
PunEmp.AppendChild(Jop);
PunEmp.AppendChild(PunDate);
PunEmp.AppendChild(PunSort);
PunEmp.AppendChild(PunMark);
PunEmp.AppendChild(PunWhy);
PunEmp.AppendChild(PunInfo);
Pun.AppendChild(PunEmp);
XmlNode Node = RewardsOrPun.SelectSingleNode("//员工奖惩信息[@条数流水号]");
Node.AppendChild(Pun);
RewardsOrPun.Save("..\\..\\xmlRewardsAndPun.xml");
}
#endregion
#region 员工签到
/// <summary>
/// 签到
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnGO_Click(object sender, EventArgs e)
{
//获得具有[员工编号]属性的[员工]节点
XmlNode MyEmpNode = GoOrBack.SelectSingleNode("//员工[@员工编号='" + txtIdGoBack.Text + "']");
//搜索输入的员工编号
if (MyEmpNode == null)
lblHint.Text = "对不起,没有找到该编号!";
else
{
if (hour > 7)
{
lblHint.Text = "您迟到了!";
YseNo = "迟到";
string _mark = "-3";
CreatePun(YseNo, _mark);
}
//创建当前DOM对象的代码片段
XmlDocumentFragment DocFrag = GoOrBack.CreateDocumentFragment();
//创建一个<工作日期>节点
XmlElement MyElementRoot = GoOrBack.CreateElement("日期和编号");
//创建一个<今天日期>属性,并把他绑定到<工作日期>节点
XmlAttribute MyAttribute = GoOrBack.CreateAttribute("今天日期和编号");
MyAttribute.Value = today + txtIdGoBack.Text;
MyElementRoot.SetAttributeNode(MyAttribute);
//创建一个<上班时间>节点
XmlElement GoTime = GoOrBack.CreateElement("上班时间");
GoTime.InnerText = hour.ToString() + ":" + _minute + ":" + _second;
//创建一个<是否迟到>节点
XmlElement Late = GoOrBack.CreateElement("是否迟到");
Late.InnerText = YseNo;
//创建一个<下班时间>节点
XmlElement BackTime = GoOrBack.CreateElement("下班时间");
BackTime.InnerText = "";
//创建一个<是否早退>节点
XmlElement Leave = GoOrBack.CreateElement("是否早退");
Leave.InnerText = "";
//把以上的节点添加到<工作日期>的子节点中
MyElementRoot.AppendChild(GoTime);
MyElementRoot.AppendChild(Late);
MyElementRoot.AppendChild(BackTime);
MyElementRoot.AppendChild(Leave);
//添加<工作日期>节点到 yDocFrag 对象中
DocFrag.AppendChild(MyElementRoot);
//把代码片段添加到DOM对象中
MyEmpNode.AppendChild(DocFrag);
txtIdGoBack.Text = "";
GoOrBack.Save("..\\..\\xmlGoOrBack.xml");
}
}
#endregion
#region 员工签离
/// <summary>
/// 签离
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnBack_Click(object sender, EventArgs e)
{
//获得具有[员工编号]属性的[员工]节点
XmlNode MyEmpNodes = GoOrBack.SelectSingleNode("//员工[@员工编号='" + txtIdGoBack.Text + "']");
//搜索输入的员工编号
if (MyEmpNodes == null)
lblHint.Text = "对不起,没有找到该编号!";
else
{
if (hour < 17)
{
lblHint.Text = "您早退了!";
YseNo = "早退";
string _marks = "-5";
CreatePun(YseNo, _marks);
}
XmlNode GoBackList = MyEmpNodes.SelectSingleNode("//日期和编号[@今天日期和编号='" + today + txtIdGoBack.Text + "']");
GoBackList.ChildNodes[2].InnerText = hour.ToString() + ":" + _minute + ":" + _second;
GoBackList.ChildNodes[3].InnerText = YseNo;
txtIdGoBack.Text = "";
GoOrBack.Save("..\\..\\xmlGoOrBack.xml");
}
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -