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 公共字段 /// /// 主键 /// public string SafetyYearExamineId { get { return (string)ViewState["SafetyYearExamineId"]; } set { ViewState["SafetyYearExamineId"] = value; } } /// /// 办理类型 /// public string State { get { return (string)ViewState["State"]; } set { ViewState["State"] = value; } } /// /// 用户id /// public string Userid { get { return (string)ViewState["Userid"]; } set { ViewState["Userid"] = value; } } /// /// 类型 /// 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(); } /// /// 保存事件 /// /// /// 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); } } /// /// 提交事件 /// /// /// 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); } } /// /// 保存事件 /// /// 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, "编辑群安员年度考核代记录"); } } /// /// 办理人员的自动筛选 /// 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; } } } /// /// 待办事项的下拉框的处理 /// public void HandleType() { drpHandleType.Items.Clear(); //Funs.Bind(drpHandleType, CheckControlService.GetDHandleTypeByState(State)); SafetyOfficerCheckPersonService.Init(drpHandleType, State, false); string res = null; List list = new List(); list.Add(Const.Safe_ReCompile); list.Add(Const.Safe_Audit1); var count = drpHandleType.Items.Count; List listitem = new List(); 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(); } } /// /// 把状态转换代号为文字形式 /// /// /// 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 ""; } /// /// 群安员选择后获取月度的各项次数 /// Convert.ToInt32(getMax.Sum(x => x.PersonWorkTime) ?? 0); /// /// 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"; } } } }