20220301 考勤导入优化

This commit is contained in:
杨红卫 2022-03-01 10:38:44 +08:00
parent d2562d6ae0
commit 5dd16e8bf7
3 changed files with 31 additions and 33 deletions

View File

@ -87,17 +87,18 @@ namespace BLL
string type = obj["Type"].ToString(); string type = obj["Type"].ToString();
string code = obj["Code"].ToString(); string code = obj["Code"].ToString();
string fromprojectId = obj["DepartId"].ToString(); string fromprojectId = obj["DepartId"].ToString();
string OtherDepartId = obj["OtherDepartId"].ToString();
JArray arr = JArray.Parse(obj["Data"].ToString()); JArray arr = JArray.Parse(obj["Data"].ToString());
string projectId = string.Empty; string projectId = string.Empty;
////根据传值项目主键 ////根据传值项目主键
var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId); var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId && x.ProjectCode== OtherDepartId);
if (getProjectByFromProjectId != null) if (getProjectByFromProjectId != null)
{ {
projectId = getProjectByFromProjectId.ProjectId; projectId = getProjectByFromProjectId.ProjectId;
} }
else else
{ {
string OtherDepartId = obj["OtherDepartId"].ToString();
var getPByCode= Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == OtherDepartId); var getPByCode= Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == OtherDepartId);
if (getPByCode != null) if (getPByCode != null)
{ {

View File

@ -16,11 +16,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </summary> /// </summary>
private string initPath = Const.ExcelUrl; private string initPath = Const.ExcelUrl;
/// <summary>
/// 人员考勤集合
/// </summary>
public static List<Model.View_SitePerson_Checking> viewCheckings = new List<Model.View_SitePerson_Checking>();
/// <summary> /// <summary>
/// 错误集合 /// 错误集合
/// </summary> /// </summary>
@ -55,10 +50,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
this.hdFileName.Text = string.Empty; this.hdFileName.Text = string.Empty;
this.hdCheckResult.Text = string.Empty; this.hdCheckResult.Text = string.Empty;
this.ProjectId = this.CurrUser.LoginProjectId; this.ProjectId = this.CurrUser.LoginProjectId;
if (viewCheckings != null)
{
viewCheckings.Clear();
}
errorInfos = string.Empty; errorInfos = string.Empty;
} }
} }
@ -85,10 +76,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
ShowNotify("只可以选择Excel文件", MessageBoxIcon.Warning); ShowNotify("只可以选择Excel文件", MessageBoxIcon.Warning);
return; return;
} }
if (viewCheckings!=null)
{
viewCheckings.Clear();
}
if (!string.IsNullOrEmpty(errorInfos)) if (!string.IsNullOrEmpty(errorInfos))
{ {
errorInfos = string.Empty; errorInfos = string.Empty;
@ -171,8 +158,8 @@ namespace FineUIPro.Web.HSSE.SitePerson
{ {
var units = from x in Funs.DB.Base_Unit select x; var units = from x in Funs.DB.Base_Unit select x;
var sitePersons = from x in Funs.DB.SitePerson_Person var sitePersons = from x in Funs.DB.SitePerson_Person
where x.ProjectId == this.ProjectId select x; where x.ProjectId == this.ProjectId
select x;
for (int i = 0; i < ir; i++) for (int i = 0; i < ir; i++)
{ {
string col0 = pds.Rows[i][0].ToString().Trim(); string col0 = pds.Rows[i][0].ToString().Trim();
@ -205,6 +192,12 @@ namespace FineUIPro.Web.HSSE.SitePerson
{ {
result += "第" + (i + 2).ToString() + "行," + "姓名" + "," + "[" + col1 + "]不在人员信息表中!" + "|"; result += "第" + (i + 2).ToString() + "行," + "姓名" + "," + "[" + col1 + "]不在人员信息表中!" + "|";
} }
var personOut = sitePersons.FirstOrDefault(e => e.PersonName == col1 && e.OutTime.HasValue && e.OutTime < DateTime.Now);
if (personOut != null)
{
result += "第" + (i + 2).ToString() + "行," + "姓名" + "," + "[" + col1 + "]已离岗!" + "|";
}
} }
if (!string.IsNullOrEmpty(col2)) if (!string.IsNullOrEmpty(col2))
{ {
@ -335,6 +328,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
} }
} }
#endregion #endregion
/// <summary>
/// 人员考勤集合
/// </summary>
public static List<Model.View_SitePerson_Checking> viewCheckings = new List<Model.View_SitePerson_Checking>();
#region Dataset的数据导入数据库 #region Dataset的数据导入数据库
/// <summary> /// <summary>
@ -349,9 +346,9 @@ namespace FineUIPro.Web.HSSE.SitePerson
int ir = pds.Rows.Count; int ir = pds.Rows.Count;
if (pds != null && ir > 0) if (pds != null && ir > 0)
{ {
var units = from x in Funs.DB.Base_Unit select x; var sitePersons = from x in Funs.DB.SitePerson_Person
var sitePersons = from x in Funs.DB.SitePerson_Person where x.ProjectId == this.ProjectId select x; where x.ProjectId == this.ProjectId && !x.OutTime.HasValue
select x;
for (int i = 0; i < ir; i++) for (int i = 0; i < ir; i++)
{ {
string col0 = pds.Rows[i][0].ToString().Trim(); string col0 = pds.Rows[i][0].ToString().Trim();
@ -369,16 +366,16 @@ namespace FineUIPro.Web.HSSE.SitePerson
IntoOut = col3 == "进" ? "1" : "0", IntoOut = col3 == "进" ? "1" : "0",
IntoOutTime = Convert.ToDateTime(col4) IntoOutTime = Convert.ToDateTime(col4)
}; };
var person = BLL.PersonService.GetPersonByIdentityCard( this.ProjectId, checking.IdentityCard); var person = sitePersons.FirstOrDefault(x => x.IdentityCard == checking.IdentityCard);
if (person != null) if (person != null)
{ {
checking.PersonId = person.PersonId; checking.PersonId = person.PersonId;
checking.ProjectId = person.ProjectId; checking.ProjectId = person.ProjectId;
}
checking.CheckingId = SQLHelper.GetNewID(); checking.CheckingId = SQLHelper.GetNewID();
viewCheckings.Add(checking); viewCheckings.Add(checking);
} }
} }
}
if (viewCheckings.Count > 0) if (viewCheckings.Count > 0)
{ {
this.Grid1.Hidden = false; this.Grid1.Hidden = false;

View File

@ -262,7 +262,7 @@ namespace FineUIPro.Web.ZHGL.RealName
if (!string.IsNullOrEmpty(idText)) if (!string.IsNullOrEmpty(idText))
{ {
string proCode = ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue); string proCode = ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.JTproCode == proCode); var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode)) if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
{ {
var getList = returnCardList(); var getList = returnCardList();
@ -418,7 +418,7 @@ namespace FineUIPro.Web.ZHGL.RealName
int count = 0; int count = 0;
string projectId = this.drpProject.SelectedValue; string projectId = this.drpProject.SelectedValue;
string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId); string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.JTproCode == proCode); var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode)) if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
{ {
var getIdentityCards = (from x in Funs.DB.SitePerson_Person var getIdentityCards = (from x in Funs.DB.SitePerson_Person
@ -470,7 +470,7 @@ namespace FineUIPro.Web.ZHGL.RealName
int count = 0; int count = 0;
string projectId = this.drpProject.SelectedValue; string projectId = this.drpProject.SelectedValue;
string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId); string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.JTproCode == proCode); var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode)) if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
{ {
var getIdentityCards = (from x in Funs.DB.SitePerson_Person var getIdentityCards = (from x in Funs.DB.SitePerson_Person
@ -515,7 +515,7 @@ namespace FineUIPro.Web.ZHGL.RealName
string message = string.Empty; string message = string.Empty;
string projectId = this.drpProject.SelectedValue; string projectId = this.drpProject.SelectedValue;
string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId); string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.JTproCode == proCode); var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode)) if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
{ {
message= SynchroSetService.updatePersonsExitTime(getRProjects.JTproCode); message= SynchroSetService.updatePersonsExitTime(getRProjects.JTproCode);