20230303新增清除工作经历重复功能按钮
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
using BLL;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
@@ -28,6 +30,11 @@ namespace FineUIPro.Web.Person
|
||||
Funs.FineUIPleaseSelect(drpPersonType, "按员工类别查询");
|
||||
// 绑定表格
|
||||
this.BindGrid();
|
||||
|
||||
if (this.CurrUser.PersonId == Const.sysglyId || this.CurrUser.PersonId == Const.hfnbdId)
|
||||
{
|
||||
this.btnResetItem.Hidden = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -314,16 +321,82 @@ namespace FineUIPro.Web.Person
|
||||
return;
|
||||
}
|
||||
var getPerson = Person_PersonsService.GetPerson_PersonsById(Grid1.SelectedRowID);
|
||||
if (getPerson != null && getPerson.IsPost == true && getPerson.CurrentProjectId == null)
|
||||
if (getPerson != null && getPerson.IsPost == true)
|
||||
{
|
||||
////人员直接派遣时候
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectPersonEdit.aspx?PersonId={0}&Type=P", Grid1.SelectedRowID, "查看 - ")));
|
||||
var getcuuProject = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == getPerson.IdentityCard && x.States == Const.ProjectPersonStates_1);
|
||||
if (getcuuProject == null || getPerson.MultiProject == true)
|
||||
{
|
||||
////人员直接派遣时候
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectPersonEdit.aspx?PersonId={0}&Type=P", Grid1.SelectedRowID, "查看 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
var getProjectName = ProjectService.GetProjectNameByProjectId(getcuuProject.ProjectId) ?? "";
|
||||
Alert.ShowInParent("当前人员已在项目:"+getProjectName+"任职,请选择不在项目的人员派遣!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInParent("请选择在岗且不在项目的人员派遣!", MessageBoxIcon.Warning);
|
||||
Alert.ShowInParent("请选择在岗人员派遣!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnResetItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
int count = 0;
|
||||
var getSitePersons = db.SitePerson_PersonItem.Where(x=>x.IdentityCard != null).Select(x => x.IdentityCard).Distinct();
|
||||
if (getSitePersons.Count() > 0)
|
||||
{
|
||||
foreach (var item in getSitePersons)
|
||||
{
|
||||
var getItems = db.SitePerson_PersonItem.Where(x => x.IdentityCard == item && x.OutTime.HasValue);
|
||||
if (getItems.Count() > 0)
|
||||
{
|
||||
List<Model.SitePerson_PersonItem> getDelte = new List<Model.SitePerson_PersonItem>();
|
||||
foreach (var ip in getItems)
|
||||
{
|
||||
var a = ip.InTime;
|
||||
var b = ip.OutTime;
|
||||
|
||||
var getEx = getItems.FirstOrDefault(x => x.ProjectId == ip.ProjectId && x.PersonItemId != ip.PersonItemId && x.InTime <= ip.InTime && (x.OutTime > ip.OutTime || !x.OutTime.HasValue));
|
||||
if (getEx != null)
|
||||
{
|
||||
count++;
|
||||
getDelte.Add(ip);
|
||||
}
|
||||
}
|
||||
if (getDelte.Count() > 0)
|
||||
{
|
||||
db.SitePerson_PersonItem.DeleteAllOnSubmit(getDelte);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
var getProjetItems = from x in getItems
|
||||
join y in db.Base_Project on x.ProjectId equals y.ProjectId
|
||||
where x.OutTime > y.EndDate
|
||||
select x;
|
||||
if (getProjetItems.Count() > 0)
|
||||
{
|
||||
foreach (var pitm in getProjetItems)
|
||||
{
|
||||
var getP = db.Base_Project.FirstOrDefault(x => x.ProjectId == pitm.ProjectId);
|
||||
if (getP != null && getP.EndDate.HasValue)
|
||||
{
|
||||
pitm.OutTime = getP.EndDate;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Alert.ShowInParent("操作完成!共清理" + count.ToString() + "行。", MessageBoxIcon.Warning);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user