diff --git a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx
index dfd51b36..518ac4a8 100644
--- a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx
+++ b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx
@@ -51,6 +51,9 @@
+
+
diff --git a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.cs b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.cs
index 22fd6056..da3926d4 100644
--- a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.cs
+++ b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.cs
@@ -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 getDelte = new List();
+ 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);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.designer.cs b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.designer.cs
index 38ded037..9c1a5ae5 100644
--- a/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/Person/DepartPerson.aspx.designer.cs
@@ -140,6 +140,15 @@ namespace FineUIPro.Web.Person
///
protected global::FineUIPro.Button btnOut;
+ ///
+ /// btnResetItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnResetItem;
+
///
/// lblNumber 控件。
///
diff --git a/SGGL/FineUIPro.Web/Person/ProjectPersonEdit.aspx b/SGGL/FineUIPro.Web/Person/ProjectPersonEdit.aspx
index f00877b0..f0ae833f 100644
--- a/SGGL/FineUIPro.Web/Person/ProjectPersonEdit.aspx
+++ b/SGGL/FineUIPro.Web/Person/ProjectPersonEdit.aspx
@@ -141,7 +141,6 @@
-
+ <%--
+
+
+
+
+
+
+ --%>
@@ -587,6 +596,10 @@
+
+