SGGL_JT/SUBQHSE/FineUIPro.Web/Customization/CNCCG/HSSE/Check/SafetyYearsExamineEdit.aspx.cs

616 lines
24 KiB
C#

using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace FineUIPro.Web.Customization.CNCCG.HSSE.Check
{
public partial class SafetyYearsExamineEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string SafetyYearExamineId
{
get
{
return (string)ViewState["SafetyYearExamineId"];
}
set
{
ViewState["SafetyYearExamineId"] = value;
}
}
/// <summary>
/// 办理类型
/// </summary>
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
/// <summary>
/// 用户id
/// </summary>
public string Userid
{
get
{
return (string)ViewState["Userid"];
}
set
{
ViewState["Userid"] = value;
}
}
/// <summary>
/// 类型
/// </summary>
public string Type
{
get
{
return (string)ViewState["Type"];
}
set
{
ViewState["Type"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
plApprove1.Hidden = true;
plApprove2.Hidden = true;
rblIsAgree.Hidden = true;
rblIsAgree.SelectedValue = "true";
this.dpExamineYear.Text = DateTime.Now.Year.ToString();
SafetyYearExamineId = Request.Params["SafetyYearExamineId"];
Userid = CurrUser.UserId;
//加载群安员下拉
if (Userid == Const.sysglyId || Userid == Const.hfnbdId)
{
SafetyOfficerCheckPersonService.PersonInitMonth(drpAjy, "", true);
}
else
{
SafetyOfficerCheckPersonService.PersonInitMonth(drpAjy, CurrUser.LoginProjectId, true);
}
//如果是修改
if (!string.IsNullOrEmpty(SafetyYearExamineId))
{
//加载办理步骤
SafetyOfficerCheckPersonService.Init(drpHandleType, State, false);
//加载办理用户
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
Model.SafetyYearExamine model = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyYearExamineId == SafetyYearExamineId);
if (model != null)
{
drpAjy.SelectedValue = model.SafetyOfficerCheckPersonId;
this.dpExamineYear.Text = model.CheckYear.ToString();
txtYxcs.Text = model.Yxcs.ToString();
txtLhcs.Text = model.Lhcs.ToString();
txtHgcs.Text = model.Hgcs.ToString();
txtBhgcs.Text = model.Bhgcs.ToString();
txtProblemContent.Text = model.ProblemContent;
}
if (model != null && !string.IsNullOrEmpty(model.SaveHandleMan))
{
this.drpHandleMan.SelectedValue = model.SaveHandleMan;
}
plApprove1.Hidden = false;
var dt = SafetyOfficerCheckPersonService.getListData(SafetyYearExamineId);
gvApprove.DataSource = dt;
gvApprove.DataBind();
if (!string.IsNullOrEmpty(model.State))
{
State = model.State;
this.rblIsAgree.Visible = true;
plApprove1.Hidden = false;
plApprove2.Hidden = false;
if (model.State == BLL.Const.Safe_Compile || model.State == BLL.Const.Safe_ReCompile)
{
rblIsAgree.Visible = false;
plApprove1.Hidden = true;
plApprove2.Hidden = true;
}
else {
drpAjy.Readonly = true;
dpExamineYear.Readonly = true;
txtYxcs.Readonly = true;
txtLhcs.Readonly = true;
txtHgcs.Readonly = true;
txtBhgcs.Readonly = true;
txtProblemContent.Readonly = true;
}
}
else
{
State = BLL.Const.Safe_Compile;
this.rblIsAgree.Visible = false;
plApprove1.Hidden = true;
plApprove2.Hidden = true;
}
//加载办理步骤
SafetyOfficerCheckPersonService.Init(drpHandleType, State, false);
//加载办理用户
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
}
else
{
State = Const.Safe_Compile;
//加载办理步骤
SafetyOfficerCheckPersonService.Init(drpHandleType, State, false);
//加载办理用户
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
}
HandleMan();
//是否同意触发
if (!rblIsAgree.Hidden)
{
HandleType();
}
Type = Request.Params["Type"];
if (Type == "1")
{
//查看界面隐藏保存和提交按钮
Toolbar1.Hidden = true;
plApprove1.Hidden = true;
plApprove2.Hidden = false;
plApprove4.Hidden = true;
rblIsAgree.Hidden = true;
drpAjy.Readonly = true;
dpExamineYear.Readonly = true;
txtYxcs.Readonly = true;
txtLhcs.Readonly = true;
txtHgcs.Readonly = true;
txtBhgcs.Readonly = true;
txtProblemContent.Readonly = true;
}
}
}
protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e)
{
HandleType();
}
protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e)
{
HandleMan();
}
/// <summary>
/// 保存事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (drpAjy.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择需要考核的群安员!", MessageBoxIcon.Warning);
return;
}
#region
if (!string.IsNullOrEmpty(SafetyYearExamineId))
{
//判断该人员是否填写过月度报表
Model.SafetyYearExamine RepeatModel = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyYearExamineId != SafetyYearExamineId
&& x.SafetyOfficerCheckPersonId == drpAjy.SelectedValue && x.CheckYear == dpExamineYear.Text);
if (RepeatModel != null)
{
Alert.ShowInTop("该群安员当前年度已填写过考核,无需重复填写!", MessageBoxIcon.Warning);
return;
}
}
else
{
Model.SafetyYearExamine RepeatModel = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyOfficerCheckPersonId == drpAjy.SelectedValue
&& x.CheckYear == dpExamineYear.Text);
if (RepeatModel != null)
{
Alert.ShowInTop("该群安员当前年度已填写过考核,无需重复填写!", MessageBoxIcon.Warning);
return;
}
}
#endregion
//string projectId, string userId, string menuId, string buttonName)
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SafeYearExamine, BLL.Const.BtnSave))
{
SavePauseNotice("save");
if (string.IsNullOrEmpty(Request.Params["Main"]))
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
PageContext.RegisterStartupScript(String.Format("window.close();"));
}
//Response.Redirect("/check/CheckList.aspx");
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 提交事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (drpAjy.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择需要考核的群安员!", MessageBoxIcon.Warning);
return;
}
#region
if (!string.IsNullOrEmpty(SafetyYearExamineId))
{
//判断该人员是否填写过月度报表
Model.SafetyYearExamine RepeatModel = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyYearExamineId != SafetyYearExamineId
&& x.SafetyOfficerCheckPersonId == drpAjy.SelectedValue && x.CheckYear == dpExamineYear.Text);
if (RepeatModel != null)
{
Alert.ShowInTop("该群安员当前年度已填写过考核,无需重复填写!", MessageBoxIcon.Warning);
return;
}
}
else
{
Model.SafetyYearExamine RepeatModel = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyOfficerCheckPersonId == drpAjy.SelectedValue
&& x.CheckYear == dpExamineYear.Text);
if (RepeatModel != null)
{
Alert.ShowInTop("该群安员当前年度已填写过考核,无需重复填写!", MessageBoxIcon.Warning);
return;
}
}
#endregion
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SafeYearExamine, BLL.Const.BtnSave))
{
SavePauseNotice("submit");
if (string.IsNullOrEmpty(Request.Params["Main"]))
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
PageContext.RegisterStartupScript(String.Format("window.close();"));
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 保存事件
/// </summary>
/// <param name="saveType"></param>
private void SavePauseNotice(string saveType)
{
Model.SafetyYearExamine model = new Model.SafetyYearExamine();
model.Yxcs = Convert.ToInt32(txtYxcs.Text.Trim());
model.Lhcs = Convert.ToInt32(txtLhcs.Text.Trim());
model.Hgcs = Convert.ToInt32(txtHgcs.Text.Trim());
model.Bhgcs = Convert.ToInt32(txtBhgcs.Text.Trim());
model.SafetyOfficerCheckPersonId = drpAjy.SelectedValue;
model.CheckMan = CurrUser.UserId;
model.CheckDate = DateTime.Now;
model.ProblemContent = txtProblemContent.Text;
model.CheckYear = dpExamineYear.Text;
if (saveType == "submit")
{
model.State = drpHandleType.SelectedValue.Trim();
}
else
{
Model.SafetyYearExamine model1 = Funs.DB.SafetyYearExamine.FirstOrDefault(x => x.SafetyYearExamineId == SafetyYearExamineId);
if (model1 != null)
{
if (string.IsNullOrEmpty(model1.State))
{
model.State = BLL.Const.Safe_Compile;
}
else
{
model.State = model1.State;
}
}
else
{
model.State = BLL.Const.Safe_Compile;
}
}
//如果是修改
if (!string.IsNullOrEmpty(SafetyYearExamineId))
{
Model.SafetyOfficerCheckPersonApprove approve1 = Funs.DB.SafetyOfficerCheckPersonApprove.FirstOrDefault(x => x.CheckControlCode == SafetyYearExamineId && x.ApproveType != "S" && x.ApproveDate == null);
model.SafetyYearExamineId = SafetyYearExamineId;
if (approve1 != null && saveType == "submit")
{
approve1.ApproveDate = DateTime.Now;
approve1.ApproveIdea = txtOpinions.Text.Trim();
approve1.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue);
BLL.SafetyOfficerCheckPersonService.UpdateApprove(approve1);
}
if (saveType == "submit")
{
model.SaveHandleMan = null;
Model.SafetyOfficerCheckPersonApprove approve = new Model.SafetyOfficerCheckPersonApprove();
approve.CheckControlCode = SafetyYearExamineId;
if (this.drpHandleMan.SelectedValue != "0")
{
approve.ApproveMan = this.drpHandleMan.SelectedValue;
}
approve.ApproveType = this.drpHandleType.SelectedValue;
if (this.drpHandleType.SelectedValue == BLL.Const.Safe_Audit3)
{
approve.ApproveDate = DateTime.Now.AddMinutes(1);
}
BLL.SafetyOfficerCheckPersonService.AddApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "群安员年度考核代办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
if (saveType == "save")
{
model.SaveHandleMan = this.drpHandleMan.SelectedValue;
}
BLL.SafetyYearExamineService.Update(model);
}
else
{
model.CheckMan = this.CurrUser.UserId;
if (saveType == "save")
{
model.SaveHandleMan = this.drpHandleMan.SelectedValue;
}
if (!string.IsNullOrEmpty(SafetyYearExamineId))
{
model.SafetyYearExamineId = SafetyYearExamineId;
}
else
{
model.SafetyYearExamineId = SQLHelper.GetNewID(typeof(Model.SafetyYearExamine));
SafetyYearExamineId = model.SafetyYearExamineId;
}
BLL.SafetyYearExamineService.Add(model);
if (saveType == "submit")
{
Model.SafetyOfficerCheckPersonApprove approve1 = new Model.SafetyOfficerCheckPersonApprove();
approve1.CheckControlCode = model.SafetyYearExamineId;
approve1.ApproveDate = DateTime.Now;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = BLL.Const.CheckControl_Compile;
BLL.SafetyOfficerCheckPersonService.AddApprove(approve1);
Model.SafetyOfficerCheckPersonApprove approve = new Model.SafetyOfficerCheckPersonApprove();
approve.CheckControlCode = model.SafetyYearExamineId;
if (this.drpHandleMan.SelectedValue != "0")
{
approve.ApproveMan = this.drpHandleMan.SelectedValue;
}
approve.ApproveType = this.drpHandleType.SelectedValue;
BLL.SafetyOfficerCheckPersonService.AddApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "群安员年度考核代办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
Model.SafetyOfficerCheckPersonApprove approve1 = new Model.SafetyOfficerCheckPersonApprove();
approve1.CheckControlCode = model.SafetyYearExamineId;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = BLL.Const.CheckControl_Compile;
BLL.SafetyOfficerCheckPersonService.AddApprove(approve1);
}
BLL.LogService.AddSys_Log(this.CurrUser, "", SafetyYearExamineId, BLL.Const.SafePersonMenuId, "编辑群安员年度考核代记录");
}
}
/// <summary>
/// 办理人员的自动筛选
/// </summary>
protected void HandleMan()
{
drpHandleMan.Items.Clear();
//Funs.Bind(drpHandleMan, UserService.GetMainUserList(this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(drpHandleType.SelectedText))
{
if (drpHandleType.SelectedText.Contains("安质部"))
{
UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
}
else
{
UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
}
drpHandleMan.SelectedIndex = 0;
if (drpHandleType.SelectedValue == BLL.Const.CheckControl_Complete)
{
drpHandleMan.Items.Clear();
drpHandleMan.Enabled = false;
drpHandleMan.Required = false;
}
else
{
drpHandleMan.Enabled = true;
drpHandleMan.Required = true;
}
}
}
/// <summary>
/// 待办事项的下拉框的处理
/// </summary>
public void HandleType()
{
drpHandleType.Items.Clear();
//Funs.Bind(drpHandleType, CheckControlService.GetDHandleTypeByState(State));
SafetyOfficerCheckPersonService.Init(drpHandleType, State, false);
string res = null;
List<string> list = new List<string>();
list.Add(Const.Safe_ReCompile);
list.Add(Const.Safe_Audit1);
var count = drpHandleType.Items.Count;
List<ListItem> listitem = new List<ListItem>();
if (rblIsAgree.SelectedValue.Equals("true"))
{
for (int i = 0; i < count; i++)
{
res = drpHandleType.Items[i].Value;
if (list.Contains(res))
{
var item = (drpHandleType.Items[i]);
listitem.Add(item);
}
}
if (listitem.Count > 0)
{
for (int i = 0; i < listitem.Count; i++)
{
drpHandleType.Items.Remove(listitem[i]);
}
}
}
else
{
for (int i = 0; i < count; i++)
{
res = drpHandleType.Items[i].Value;
if (!list.Contains(res))
{
var item = drpHandleType.Items[i];
listitem.Add(item);
}
}
if (listitem.Count > 0)
{
for (int i = 0; i < listitem.Count; i++)
{
drpHandleType.Items.Remove(listitem[i]);
}
}
}
if (count > 0)
{
drpHandleType.SelectedIndex = 0;
HandleMan();
}
}
/// <summary>
/// 把状态转换代号为文字形式
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
public string ConvertState(object state)
{
if (state != null)
{
if (state.ToString() == BLL.Const.Safe_ReCompile)
{
return "重新编制";
}
else if (state.ToString() == BLL.Const.Safe_Compile)
{
return "编制";
}
else if (state.ToString() == BLL.Const.Safe_Audit1)
{
return "安质部部长审批";
}
else if (state.ToString() == BLL.Const.Safe_Audit2)
{
return "项目经理审批";
}
else if (state.ToString() == BLL.Const.Safe_Audit3)
{
return "审批通过";
}
else
{
return "正常";
}
}
return "";
}
/// <summary>
/// 群安员选择后获取月度的各项次数
/// </summary>Convert.ToInt32(getMax.Sum(x => x.PersonWorkTime) ?? 0);
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpAjy_SelectedIndexChanged(object sender, EventArgs e)
{
var PersonId = this.drpAjy.SelectedValue;
if (PersonId != Const._Null)
{
var year = Convert.ToInt32(dpExamineYear.Text);
//当前人员、当前年份的考试记录
var MonthExamineList = Funs.DB.SafetyMonthExamine.Where(x => x.SafetyOfficerCheckPersonId == PersonId && x.ExamineDate.Value.Year == year
).ToList();
//优秀次数
txtYxcs.Text = MonthExamineList.Where(x => x.SumScore >= 90).ToList().Count().ToString();
txtLhcs.Text = MonthExamineList.Where(x => x.SumScore >= 80 && x.SumScore < 90).ToList().Count().ToString();
txtHgcs.Text = MonthExamineList.Where(x => x.SumScore >= 70 && x.SumScore < 80).ToList().Count().ToString();
txtBhgcs.Text = MonthExamineList.Where(x => x.SumScore < 70).ToList().Count().ToString();
}
else
{
txtYxcs.Text = "0";
txtLhcs.Text = "0";
txtHgcs.Text = "0";
txtBhgcs.Text = "0";
}
}
}
}