using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace LYFZ.Software.MainBusiness.TimeAndAttendance
{
public class frmTimesign : LYFZ.Software.UI.TimeAndAttendance.frmTimesign
{
LYFZ.BLL.BLL_ErpOrder orbll = new BLL.BLL_ErpOrder();
LYFZ.BLL.BLL_Loginsign loginsign = new BLL.BLL_Loginsign();
public frmTimesign()
{
this.Load += frmTimesign_Load;
this.btncancel.Click += btncancel_Click;
this.btnsign.Click += btnsign_Click;
this.dtptimes.KeyDown += dtptimes_KeyDown;
this.dtptimes.TextChanged += dtptimes_TextChanged;
this.dtptimes.Leave += dtptimes_Leave;
this.cmbTypes.SelectedIndexChanged += cmbTypes_SelectedIndexChanged;
}
///
/// 员工编号
///
public string StrUserNumber = "";
///
/// 员工姓名
///
public string StrUserName = "";
///
/// 是否保存
///
public bool IsSaveed = false;
///
/// 窗体加载事件
///
///
///
void frmTimesign_Load(object sender, EventArgs e)
{
this.txtname.Text = this.StrUserName;
this.dtptimes.DateValue = SDateTime.Now.ToString("yyyy-MM-dd");
this.txtprincipal.Text = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_Name;
DataTable da = orbll.GetView_Custom("lonintimeset", StrWhere: "", ShowColumnName: "name").Tables[0];
//for (int i = 0; i < da.Rows.Count; i++)
//{ this.cmbTypes.Items.Add(da.Rows[i][0].ToString()); }
//this.cmbTypes.Items.Add("全天(随班次)");
//this.cmbTypes.Items.Add("第一班段(上班)");
//this.cmbTypes.Items.Add("第一班段(下班)");
//this.cmbTypes.Items.Add("第一班段(上下班)");
//this.cmbTypes.Items.Add("第二班段(上班)");
//this.cmbTypes.Items.Add("第二班段(下班)");
//this.cmbTypes.Items.Add("第二班段(上下班)");
this.dtptimes_Leave(this, null);
this.GetSignSingle();
}
///
/// 获取签单记录
///
void GetSignSingle()
{
DataTable dt = orbll.GetView_Custom("loginsign Left Join tb_ErpUser On User_Id = User_EmployeeID", StrWhere: "User_Id = '" + this.StrUserNumber + "' And Date like '" + SDateTime.Now.Year + "%'", ShowColumnName: "loginsign.id,User_Name AS 姓名,date AS 签单日期,type AS 签单班次,cleck AS 经手人", filedOrder: "Date DESC").Tables[0];
this.dgvData.DataSource(dt, strHideField: "ID");
}
///
/// 签单
///
///
///
void btnsign_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.dtptimes.DateValue.Trim()))
{ MessageBoxCustom.Show("签单日期不能为空!"); return; }
if (string.IsNullOrEmpty(this.cmbTypes.Text.Trim()))
{ MessageBoxCustom.Show("请选择签单类型!"); return; }
DataTable da = orbll.GetView_Custom("tb_ErpUser", StrWhere: "User_EmployeeID='" + this.StrUserNumber + "'", ShowColumnName: "User_EmployeeID").Tables[0];
if (da.Rows.Count > 0)
{
DataTable dtSign = orbll.GetView_Custom("loninbansets", StrWhere: "User_ID = '" + this.StrUserNumber + "' And Time = '" + this.dtptimes.DateValue.Trim() + " 00:00:00' And fixed = '休息'", ShowColumnName: "ID").Tables[0];
if (dtSign.Rows.Count > 0)
{ MessageBoxCustom.Show(this.txtname.Text.Trim() + " '" + this.dtptimes.DateValue.Trim() + "' 休息,不用签单!"); return; }
DataTable dt = orbll.GetView_Custom("loginsign", StrWhere: "User_Id = '" + this.StrUserNumber + "' And Date = '" + this.dtptimes.DateValue.Trim() + "' And Type = '" + this.cmbTypes.Text.Trim() + "'", ShowColumnName: "ID").Tables[0];
if (dt.Rows.Count > 0)
{ MessageBoxCustom.Show("'" + this.dtptimes.DateValue.Trim() + "' 的'" + this.cmbTypes.Text.Trim() + "'已签过,不能重复签!"); return; }
LYFZ.Model.Model_Loginsign Model = new Model.Model_Loginsign();
Model.User_Id = this.StrUserNumber.Trim();
Model.Name = this.txtname.Text.Trim();
Model.Date = this.dtptimes.DateValue.Trim();
Model.Type = this.cmbTypes.Text.Trim();
Model.Cleck = this.txtprincipal.Text.Trim();
if (MessageBoxCustom.Show("您确定要签单吗?", "温馨提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (loginsign.Add(Model))
{
this.IsSaveed = true;
MessageBoxCustom.Show("签单成功!");
this.GetSignSingle();
}
else
{ MessageBoxCustom.Show("签单失败!"); }
}
}
else
{ MessageBoxCustom.Show("您选择的人员不存在,人员或已经被删除!"); }
}
///
/// 取消
///
///
///
void btncancel_Click(object sender, EventArgs e)
{ this.Close(); }
///
/// 日期Text值改变事件
///
///
///
void dtptimes_TextChanged(object sender, EventArgs e)
{
this.dtptimes_Leave(this, null);
}
///
/// 日期回车事件
///
///
///
void dtptimes_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{ this.dtptimes_Leave(this, null); }
}
///
/// 离开事件
///
///
///
void dtptimes_Leave(object sender, EventArgs e)
{
this.txtfixed.Text = "";
this.cmbTypes.Items.Clear();
if (!string.IsNullOrEmpty(this.dtptimes.DateValue.Trim()))
{
DataTable dt = orbll.GetView_Custom("loninbansets Left Join lonintimeset on name = fixed", StrWhere: "User_ID = '" + this.StrUserNumber + "' And Time = '" + Convert.ToDateTime(this.dtptimes.DateValue.Trim()).ToString("yyyy-MM-dd HH:mm:ss") + "'", ShowColumnName: "fixed,time1,time2,time3,time4").Tables[0];
if (dt.Rows.Count > 0)
{
this.txtfixed.Text = dt.Rows[0]["fixed"].ToString().Trim();
if (!string.IsNullOrEmpty(dt.Rows[0]["fixed"].ToString().Trim()) && dt.Rows[0]["fixed"].ToString().Trim() != "休息")
{
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrAllDay.Trim());
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrFirstParagraph_GoToWork.Trim());
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrFirstParagraph_GoOffWork.Trim());
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrFirstParagraph_GoToAndOffWork.Trim());
if (!string.IsNullOrEmpty(dt.Rows[0]["time3"].ToString().Trim()) && !string.IsNullOrEmpty(dt.Rows[0]["time4"].ToString().Trim()))
{
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrSecondParagraph_GoToWork.Trim());
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrSecondParagraph_GoOffWork.Trim());
this.cmbTypes.Items.Add(LYFZ.EnumPublic.AttendanceSignType.StrSecondParagraph_GoToAndOffWork.Trim());
}
}
}
}
}
///
/// 类型选择事件
///
///
///
void cmbTypes_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.cmbTypes.Text.Trim() == "全天")
{ this.labelEx8.Visible = true; }
else
{ this.labelEx8.Visible = false; }
}
}
}