20220320 修改项目单位同步实名制 根据设置是否同步标识

This commit is contained in:
2022-03-20 22:46:04 +08:00
parent 1ca2236fc9
commit afe93d04b9
12 changed files with 227 additions and 156 deletions
+144 -139
View File
@@ -31,159 +31,161 @@ namespace BLL
{
if (drecord.DateTimeRecord.HasValue)
{
Model.T_d_EmployInOutRecord newInOutRecord = new Model.T_d_EmployInOutRecord
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
NewID = SQLHelper.GetNewID(),
ProjectId = drecord.ProjectId,
InstallationName = ProjectService.GetProjectNameByProjectId(drecord.ProjectId),
RecordDate = drecord.DateTimeRecord.Value.Date,
IDCardNo = drecord.IDCardNo,
};
////获取人员
var getPserson = PersonService.GetPersonByIdentityCard(drecord.ProjectId, drecord.IDCardNo);
if (getPserson == null)
{
getPserson = PersonService.GetPersonByName(drecord.ProjectId, drecord.EmployName);
}
if (getPserson != null)
{
newInOutRecord.UnitId = getPserson.UnitId;
newInOutRecord.UnitName = UnitService.GetUnitNameByUnitId(getPserson.UnitId);
newInOutRecord.DepartmentID = getPserson.TeamGroupId;
newInOutRecord.DepartName = TeamGroupService.GetTeamGroupNameByTeamGroupId(getPserson.TeamGroupId);
newInOutRecord.EmployNO = getPserson.CardNo;
newInOutRecord.EmployName = getPserson.PersonName;
newInOutRecord.Nation = getPserson.Nation;
newInOutRecord.NationName = BasicDataService.GetDictNameByDictCode(getPserson.Nation);
newInOutRecord.PostId = getPserson.WorkPostId;
newInOutRecord.PostName = WorkPostService.getWorkPostNameById(getPserson.WorkPostId);
}
else
{
newInOutRecord.EmployName = drecord.EmployName;
newInOutRecord.UnitId = null;
newInOutRecord.PostId = null;
}
#region
///上午上班 8
DateTime TWorkIn1 = drecord.DateTimeRecord.Value.Date.AddHours(8);
///上午下班 1230
DateTime TOffDuty1 = drecord.DateTimeRecord.Value.Date.AddHours(12).AddMinutes(30);
///下午上班 130
DateTime TWorkIn2 = drecord.DateTimeRecord.Value.Date.AddHours(13).AddMinutes(30);
///下午下班 7
DateTime TOffDuty2 = drecord.DateTimeRecord.Value.Date.AddHours(19);
if (drecord.InOrOut == "进门")
{
///上午上班
if ( drecord.DateTimeRecord < TOffDuty1)
Model.T_d_EmployInOutRecord newInOutRecord = new Model.T_d_EmployInOutRecord
{
newInOutRecord.WorkIn1 = drecord.DateTimeRecord;
NewID = SQLHelper.GetNewID(),
ProjectId = drecord.ProjectId,
InstallationName = ProjectService.GetProjectNameByProjectId(drecord.ProjectId),
RecordDate = drecord.DateTimeRecord.Value.Date,
IDCardNo = drecord.IDCardNo,
};
////获取人员
var getPserson = PersonService.GetPersonByIdentityCard(drecord.ProjectId, drecord.IDCardNo);
if (getPserson == null)
{
getPserson = PersonService.GetPersonByName(drecord.ProjectId, drecord.EmployName);
}
else if ( drecord.DateTimeRecord < TOffDuty2)
if (getPserson != null)
{
newInOutRecord.WorkIn2 = drecord.DateTimeRecord;
newInOutRecord.UnitId = getPserson.UnitId;
newInOutRecord.UnitName = UnitService.GetUnitNameByUnitId(getPserson.UnitId);
newInOutRecord.DepartmentID = getPserson.TeamGroupId;
newInOutRecord.DepartName = TeamGroupService.GetTeamGroupNameByTeamGroupId(getPserson.TeamGroupId);
newInOutRecord.EmployNO = getPserson.CardNo;
newInOutRecord.EmployName = getPserson.PersonName;
newInOutRecord.Nation = getPserson.Nation;
newInOutRecord.NationName = BasicDataService.GetDictNameByDictCode(getPserson.Nation);
newInOutRecord.PostId = getPserson.WorkPostId;
newInOutRecord.PostName = WorkPostService.getWorkPostNameById(getPserson.WorkPostId);
}
else
{
newInOutRecord.WorkIn3 = drecord.DateTimeRecord;
newInOutRecord.EmployName = drecord.EmployName;
newInOutRecord.UnitId = null;
newInOutRecord.PostId = null;
}
}
else
{
///上午下班
if ( drecord.DateTimeRecord < TWorkIn2)
#region
///上午上班 8
DateTime TWorkIn1 = drecord.DateTimeRecord.Value.Date.AddHours(8);
///上午下班 1230
DateTime TOffDuty1 = drecord.DateTimeRecord.Value.Date.AddHours(12).AddMinutes(30);
///下午上班 130
DateTime TWorkIn2 = drecord.DateTimeRecord.Value.Date.AddHours(13).AddMinutes(30);
///下午下班 7
DateTime TOffDuty2 = drecord.DateTimeRecord.Value.Date.AddHours(19);
if (drecord.InOrOut == "进门")
{
newInOutRecord.OffDuty1 = drecord.DateTimeRecord;
}
else if ( drecord.DateTimeRecord < TOffDuty2.AddHours(1))
{
newInOutRecord.OffDuty2 = drecord.DateTimeRecord;
///上午上班
if (drecord.DateTimeRecord < TOffDuty1)
{
newInOutRecord.WorkIn1 = drecord.DateTimeRecord;
}
else if (drecord.DateTimeRecord < TOffDuty2)
{
newInOutRecord.WorkIn2 = drecord.DateTimeRecord;
}
else
{
newInOutRecord.WorkIn3 = drecord.DateTimeRecord;
}
}
else
{
newInOutRecord.OffDuty3 = drecord.DateTimeRecord;
}
}
#endregion
bool isInsert = false;
var getInOutRecord = Funs.DB.T_d_EmployInOutRecord.FirstOrDefault(x => x.ProjectId == drecord.ProjectId && x.IDCardNo == drecord.IDCardNo && x.RecordDate == drecord.DateTimeRecord.Value.Date);
if (getInOutRecord == null)
{
isInsert = true;
}
if (isInsert)
{
newInOutRecord.ManHours = 4;
newInOutRecord.ManOverHours = 0;
Funs.DB.T_d_EmployInOutRecord.InsertOnSubmit(newInOutRecord);
Funs.DB.SubmitChanges();
}
else
{
#region
if (newInOutRecord.WorkIn1.HasValue && (!getInOutRecord.WorkIn1.HasValue || getInOutRecord.WorkIn1 > newInOutRecord.WorkIn1))
{
getInOutRecord.WorkIn1 = newInOutRecord.WorkIn1;
}
if (newInOutRecord.WorkIn2.HasValue && (!getInOutRecord.WorkIn2.HasValue || getInOutRecord.WorkIn2 > newInOutRecord.WorkIn2))
{
getInOutRecord.WorkIn2 = newInOutRecord.WorkIn2;
}
if (newInOutRecord.WorkIn3.HasValue && (!getInOutRecord.WorkIn3.HasValue || getInOutRecord.WorkIn3 > newInOutRecord.WorkIn3))
{
getInOutRecord.WorkIn3 = newInOutRecord.WorkIn3;
}
if (newInOutRecord.OffDuty1.HasValue && (!getInOutRecord.OffDuty1.HasValue || getInOutRecord.OffDuty1 < newInOutRecord.OffDuty1))
{
getInOutRecord.OffDuty1 = newInOutRecord.OffDuty1;
}
if (newInOutRecord.OffDuty2.HasValue && (!getInOutRecord.OffDuty2.HasValue || getInOutRecord.OffDuty2 < newInOutRecord.OffDuty2))
{
getInOutRecord.OffDuty2 = newInOutRecord.OffDuty2;
}
if (newInOutRecord.OffDuty3.HasValue && (!getInOutRecord.OffDuty3.HasValue || getInOutRecord.OffDuty3 < newInOutRecord.OffDuty3))
{
getInOutRecord.OffDuty3 = newInOutRecord.OffDuty3;
}
int m1 = 0;
if (getInOutRecord.WorkIn1.HasValue || getInOutRecord.OffDuty1.HasValue)
{
m1 = 240;
if (getInOutRecord.WorkIn1.HasValue && getInOutRecord.OffDuty1.HasValue)
///上午下班
if (drecord.DateTimeRecord < TWorkIn2)
{
m1 = Convert.ToInt32((getInOutRecord.OffDuty1 - getInOutRecord.WorkIn1).Value.TotalMinutes);
newInOutRecord.OffDuty1 = drecord.DateTimeRecord;
}
}
int m2 = 0;
if (getInOutRecord.WorkIn2.HasValue || getInOutRecord.OffDuty2.HasValue)
{
m2 = 240;
if (getInOutRecord.WorkIn2.HasValue && getInOutRecord.OffDuty2.HasValue)
else if (drecord.DateTimeRecord < TOffDuty2.AddHours(1))
{
m2 = Convert.ToInt32((getInOutRecord.OffDuty2 - getInOutRecord.WorkIn2).Value.TotalMinutes);
newInOutRecord.OffDuty2 = drecord.DateTimeRecord;
}
}
int m3 = 0;
if (getInOutRecord.WorkIn3.HasValue || getInOutRecord.OffDuty3.HasValue)
{
m3 = 240;
if (getInOutRecord.WorkIn3.HasValue && getInOutRecord.OffDuty3.HasValue)
else
{
m3 = Convert.ToInt32((getInOutRecord.OffDuty3 - getInOutRecord.WorkIn3).Value.TotalMinutes);
newInOutRecord.OffDuty3 = drecord.DateTimeRecord;
}
}
#endregion
getInOutRecord.ManHours = Convert.ToInt32(Math.Ceiling((m1 + m2 + m3) * 1.0 / 60));
getInOutRecord.ManOverHours = Convert.ToInt32(Math.Ceiling(m3 * 1.0 / 60));
Funs.DB.SubmitChanges();
bool isInsert = false;
var getInOutRecord = db.T_d_EmployInOutRecord.FirstOrDefault(x => x.ProjectId == drecord.ProjectId && x.IDCardNo == drecord.IDCardNo && x.RecordDate == drecord.DateTimeRecord.Value.Date);
if (getInOutRecord == null)
{
isInsert = true;
}
if (isInsert)
{
newInOutRecord.ManHours = 4;
newInOutRecord.ManOverHours = 0;
db.T_d_EmployInOutRecord.InsertOnSubmit(newInOutRecord);
db.SubmitChanges();
}
else
{
#region
if (newInOutRecord.WorkIn1.HasValue && (!getInOutRecord.WorkIn1.HasValue || getInOutRecord.WorkIn1 > newInOutRecord.WorkIn1))
{
getInOutRecord.WorkIn1 = newInOutRecord.WorkIn1;
}
if (newInOutRecord.WorkIn2.HasValue && (!getInOutRecord.WorkIn2.HasValue || getInOutRecord.WorkIn2 > newInOutRecord.WorkIn2))
{
getInOutRecord.WorkIn2 = newInOutRecord.WorkIn2;
}
if (newInOutRecord.WorkIn3.HasValue && (!getInOutRecord.WorkIn3.HasValue || getInOutRecord.WorkIn3 > newInOutRecord.WorkIn3))
{
getInOutRecord.WorkIn3 = newInOutRecord.WorkIn3;
}
if (newInOutRecord.OffDuty1.HasValue && (!getInOutRecord.OffDuty1.HasValue || getInOutRecord.OffDuty1 < newInOutRecord.OffDuty1))
{
getInOutRecord.OffDuty1 = newInOutRecord.OffDuty1;
}
if (newInOutRecord.OffDuty2.HasValue && (!getInOutRecord.OffDuty2.HasValue || getInOutRecord.OffDuty2 < newInOutRecord.OffDuty2))
{
getInOutRecord.OffDuty2 = newInOutRecord.OffDuty2;
}
if (newInOutRecord.OffDuty3.HasValue && (!getInOutRecord.OffDuty3.HasValue || getInOutRecord.OffDuty3 < newInOutRecord.OffDuty3))
{
getInOutRecord.OffDuty3 = newInOutRecord.OffDuty3;
}
int m1 = 0;
if (getInOutRecord.WorkIn1.HasValue || getInOutRecord.OffDuty1.HasValue)
{
m1 = 240;
if (getInOutRecord.WorkIn1.HasValue && getInOutRecord.OffDuty1.HasValue)
{
m1 = Convert.ToInt32((getInOutRecord.OffDuty1 - getInOutRecord.WorkIn1).Value.TotalMinutes);
}
}
int m2 = 0;
if (getInOutRecord.WorkIn2.HasValue || getInOutRecord.OffDuty2.HasValue)
{
m2 = 240;
if (getInOutRecord.WorkIn2.HasValue && getInOutRecord.OffDuty2.HasValue)
{
m2 = Convert.ToInt32((getInOutRecord.OffDuty2 - getInOutRecord.WorkIn2).Value.TotalMinutes);
}
}
int m3 = 0;
if (getInOutRecord.WorkIn3.HasValue || getInOutRecord.OffDuty3.HasValue)
{
m3 = 240;
if (getInOutRecord.WorkIn3.HasValue && getInOutRecord.OffDuty3.HasValue)
{
m3 = Convert.ToInt32((getInOutRecord.OffDuty3 - getInOutRecord.WorkIn3).Value.TotalMinutes);
}
}
#endregion
getInOutRecord.ManHours = Convert.ToInt32(Math.Ceiling((m1 + m2 + m3) * 1.0 / 60));
getInOutRecord.ManOverHours = Convert.ToInt32(Math.Ceiling(m3 * 1.0 / 60));
db.SubmitChanges();
}
}
}
}
#endregion
@@ -194,22 +196,25 @@ namespace BLL
/// <returns></returns>
public static Model.T_d_department GetSupDep(string projectId, int? departmentID, int ParentID)
{
var getDep = Funs.DB.T_d_department.FirstOrDefault(x => x.ProjectId == projectId && x.DepartmentID == departmentID);
if (getDep != null)
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
if (getDep.ParentID == ParentID)
var getDep =db.T_d_department.FirstOrDefault(x => x.ProjectId == projectId && x.DepartmentID == departmentID);
if (getDep != null)
{
return getDep;
if (getDep.ParentID == ParentID)
{
return getDep;
}
else
{
return GetSupDep(projectId, getDep.ParentID, ParentID);
}
}
else
{
return GetSupDep(projectId, getDep.ParentID, ParentID);
return null;
}
}
else
{
return null;
}
}
#endregion
}
@@ -65,7 +65,7 @@ namespace BLL
db.SubmitChanges();
/// 监理 业主 不进入
var getPUnit = db.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == newPersonInOut.ProjectId && x.UnitId == newPersonInOut.UnitId);
if (getPUnit.UnitType != Const.ProjectUnitType_3 && getPUnit.UnitType != Const.ProjectUnitType_4)
if (getPUnit.IsSynchro == true)
{
var getRealNameP = db.RealName_Project.FirstOrDefault(x => x.ProCode == newPersonInOut.ProCode);
if (getRealNameP != null)
@@ -78,6 +78,7 @@
PlanCostB = projectUnit.PlanCostB,
ContractRange = projectUnit.ContractRange,
RealNamePushTime= projectUnit.RealNamePushTime,
IsSynchro = projectUnit.IsSynchro,
};
db.Project_ProjectUnit.InsertOnSubmit(newProjectUnit);
db.SubmitChanges();
@@ -100,6 +101,7 @@
newProjectUnit.PlanCostB = projectUnit.PlanCostB;
newProjectUnit.ContractRange = projectUnit.ContractRange;
newProjectUnit.RealNamePushTime = projectUnit.RealNamePushTime;
newProjectUnit.IsSynchro = projectUnit.IsSynchro;
db.SubmitChanges();
}
}
+7 -7
View File
@@ -752,7 +752,7 @@ namespace BLL
join z in db.RealName_Project on y.JTProjectCode equals z.ProCode
join u in db.Base_Unit on x.UnitId equals u.UnitId
where z.ProCode != null && !x.RealNamePushTime.HasValue && x.UnitType != null
&& (proCode == null || y.JTProjectCode == proCode)
&& (proCode == null || y.JTProjectCode == proCode) && x.IsSynchro == true
&& u.CollCropCode != null && u.CollCropCode != ""
select new
{
@@ -973,8 +973,8 @@ namespace BLL
&& y.JTProjectCode == proCode && z.JTproCode != null && x.IsCardNoOK ==true && v.TeamId.HasValue
&& ((type == Const.BtnModify && !x.RealNameUpdateTime.HasValue && x.RealNameAddTime.HasValue)
|| (type != Const.BtnModify && !x.RealNameAddTime.HasValue && x.IsUsed && !x.OutTime.HasValue
&& x.HeadImage != null && x.HeadImage.Length > 0))
&& p.UnitType != Const.ProjectUnitType_3 && p.UnitType != Const.ProjectUnitType_4
&& x.HeadImage != null && x.HeadImage.Length > 0))
&& p.IsSynchro == true
select new
{
name = x.PersonName,
@@ -1103,8 +1103,8 @@ namespace BLL
join p in Funs.DB.Project_ProjectUnit on new { x.UnitId,x.ProjectId } equals new { p.UnitId,p.ProjectId }
where x.IdentityCard == identityCard && y.JTProjectCode == proCode
&& v.TeamId.HasValue && z.JTproCode != null
&& ((type ==Const.BtnAdd && x.HeadImage != null && x.HeadImage.Length > 0) || type == Const.BtnModify)
&& p.UnitType != Const.ProjectUnitType_3 && p.UnitType != Const.ProjectUnitType_4
&& ((type ==Const.BtnAdd && x.HeadImage != null && x.HeadImage.Length > 0) || type == Const.BtnModify)
&& p.IsSynchro == true
select new
{
name = x.PersonName,
@@ -1393,7 +1393,7 @@ namespace BLL
&& p.IsCardNoOK ==true && z.JTproCode != null
&& (!p.OutTime.HasValue || p.OutTime > x.ChangeTime)
&& !x.RealNamePushTime.HasValue
&& pu.UnitType != Const.ProjectUnitType_3 && pu.UnitType != Const.ProjectUnitType_4
&& pu.IsSynchro == true
orderby x.ChangeTime descending
select new
{
@@ -1600,7 +1600,7 @@ namespace BLL
join w in db.Base_WorkPost on x.WorkPostId equals w.WorkPostId
join p in db.Project_ProjectUnit on new { x.UnitId, x.ProjectId } equals new { p.UnitId, p.ProjectId }
where personList.Contains(x.PersonId) && z.JTproCode != null
&& p.UnitType != Const.ProjectUnitType_3 && p.UnitType != Const.ProjectUnitType_4
&& p.IsSynchro == true
select new
{
name = x.PersonName,