20221103人员批量派遣

This commit is contained in:
2022-11-03 09:10:47 +08:00
parent eeddc36939
commit c3f105796c
7 changed files with 209 additions and 442 deletions
@@ -1,4 +1,5 @@
using BLL;
using FastReport.DevComponents.Editors;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@@ -23,20 +24,23 @@ namespace FineUIPro.Web.Person
Funs.DropDownPageSize(this.ddlPageSize);
this.btnNew.OnClientClick = Window1.GetShowReference("PersonEdit.aspx?Type=Shunt&UnitId=" + Const.UnitId_SEDIN + "&DepartId=" + Const.Depart_constructionId) + "return false;";
////权限按钮方法
this.GetButtonPower();
WorkPostService.InitWorkPostNameByTypeDropDownList2(this.drpWorkPost, "1", false); //加载管理岗位
Funs.FineUIPleaseSelect(this.drpWorkPost, "请选择岗位");
//WorkPostService.InitWorkPostNameByTypeDropDownList(this.drpWP, "1", true); //加载管理岗位
WorkPostService.InitWorkPostNameByTypeDropDownList(this.drpWP, Const.PostType_1, false); //加载管理岗位
Funs.FineUIPleaseSelectNull(this.drpWP, "请选择岗位");
PostTitleService.InitPostTitleDropDownList(this.drpPostTitle, false);
Funs.FineUIPleaseSelect(this.drpPostTitle, "请选择职称");
PracticeCertificateService.InitPracticeCertificateDropDownList(this.drpCertificate, false);
Funs.FineUIPleaseSelect(this.drpCertificate, "请选择职业资格证书");
BLL.ProjectService.InitProjectDropDownList(this.drpProject, false);
Funs.FineUIPleaseSelect(this.drpProject, "请选择拟聘项目");
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
@@ -85,6 +89,8 @@ namespace FineUIPro.Web.Person
{
this.btnMenuEdit.Hidden = false;
this.btnMenuDispatch.Hidden = false;
this.btnSure.Hidden = false;
this.drpProject.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
@@ -254,5 +260,135 @@ namespace FineUIPro.Web.Person
return;
}
}
/// <summary>
/// 确定按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSure_Click(object sender, EventArgs e)
{
if (this.drpProject.SelectedValue != BLL.Const._Null)
{
bool b = true;
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
if (this.Grid1.SelectedRowIndexArray.Contains(i))
{
AspNet.CheckBox cb = (AspNet.CheckBox)(this.Grid1.Rows[i].FindControl("cbSelect"));
if (cb.Checked) //选择项
{
string workPost = values.Value<string>("WorkPost");
if (string.IsNullOrEmpty(workPost))
{
b = false;
}
}
}
}
if (!b)
{
Alert.ShowInTop("勾选人员的拟聘岗位不能为空!", MessageBoxIcon.Warning);
return;
}
int count=0;
int outCount = 0;
var workPosts = BLL.WorkPostService.GetWorkPostList();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
AspNet.CheckBox cb = (AspNet.CheckBox)(this.Grid1.Rows[i].FindControl("cbSelect"));
if (cb.Checked) //选择项
{
string personId = this.Grid1.Rows[i].RowID;
string workPostId = string.Empty;
var getWorkPost = WorkPostService.GetWorkPostByName(values.Value<string>("WorkPost"));
if (getWorkPost != null)
{
workPostId = getWorkPost.WorkPostId;
}
var getPerson = Person_PersonsService.GetPerson_PersonsById(personId);
if (getPerson != null)
{
if (getPerson.IsPost == false)
{
outCount++;
}
else
{
SaveSitePerson(getPerson, workPostId);
Funs.DB.SubmitChanges();
count++;
}
}
}
}
string message = "批量派遣成功!共计成功" + count.ToString() + "人。";
if (outCount > 0)
{
message+="未能派遣(不在职)人员" + outCount.ToString() + "人。";
}
ShowNotify(message, MessageBoxIcon.Success);
BindGrid();
BLL.LogService.AddSys_Log(this.CurrUser, "人员派遣", string.Empty, BLL.Const.DepartPersonShuntMenuId, "人员批量派遣");
}
else
{
Alert.ShowInParent("请选择派遣项目!", MessageBoxIcon.Warning);
}
}
/// <summary>
///
/// </summary>
/// <param name="getPerson"></param>
/// <param name="workPostId"></param>
private void SaveSitePerson(Model.Person_Persons getPerson, string workPostId)
{
Model.SitePerson_Person newProjectPerson = new Model.SitePerson_Person
{
PersonId = getPerson.PersonId,
PersonName = getPerson.PersonName,
IdentityCard = getPerson.IdentityCard,
UnitId = getPerson.UnitId ?? Const.UnitId_SEDIN,
ProjectId = this.drpProject.SelectedValue,
WorkPostId = workPostId,
// RoleIds = Funs.GetStringByArray(this.drpProjectRole.SelectedValueArray),
//TeamGroupId = this.drpTeamGroup.SelectedValue == Const._Null ? null : this.drpTeamGroup.SelectedValue,
InTime = DateTime.Now,
// AuditorId = this.drpAuditor.SelectedValue == Const._Null ? null : this.drpAuditor.SelectedValue,
AuditorDate = DateTime.Now,
OutTime = null,
States = Const.ProjectPersonStates_1,
};
var getPersonAuditor = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == newProjectPerson.ProjectId && (x.RoleIds.Contains(Const.HSSEManager) || x.RoleIds.Contains(Const.HSSEAssistantManager)));
if (getPersonAuditor != null)
{
newProjectPerson.AuditorId = getPersonAuditor.PersonId;
}
var getProjectPerson = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == newProjectPerson.ProjectId && (x.PersonId == newProjectPerson.PersonId || x.IdentityCard == newProjectPerson.IdentityCard));
if (getProjectPerson != null)
{
newProjectPerson.SitePersonId = getProjectPerson.SitePersonId;
}
if (!string.IsNullOrEmpty(newProjectPerson.SitePersonId))
{
SitePerson_PersonService.UpdateSitePerson(newProjectPerson);
LogService.AddSys_Log(this.CurrUser, newProjectPerson.IdentityCard, newProjectPerson.SitePersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnModify);
}
else
{
newProjectPerson.SitePersonId = SQLHelper.GetNewID();
SitePerson_PersonService.AddSitePerson(newProjectPerson);
LogService.AddSys_Log(this.CurrUser, newProjectPerson.IdentityCard, newProjectPerson.SitePersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnAdd);
}
}
}
}