xinjiang/SGGL/FineUIPro.Web/HSSE/Check/RectifyNoticesRecheck.aspx.cs

336 lines
14 KiB
C#
Raw Normal View History

2024-11-19 09:45:27 +08:00
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.HSSE.Check
{
public partial class RectifyNoticesRecheck : PageBase
{
#region
public string RectifyNoticesId
{
get
{
return (string)ViewState["RectifyNoticesId"];
}
set
{
ViewState["RectifyNoticesId"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RectifyNoticesId = Request.Params["RectifyNoticesId"];
var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(RectifyNoticesId);
if (getRectifyNotices != null)
{
this.txtUnit.Text = UnitService.GetUnitNameByUnitId(getRectifyNotices.UnitId);
this.txtWorkArea.Text = UnitWorkService.GetUnitWorkName(getRectifyNotices.WorkAreaId);
this.txtCheckMan.Text = UserService.getUserNamesUserIds(getRectifyNotices.CheckManIds);
this.txtCheckPerson.Text = getRectifyNotices.CheckManNames;
this.txtRectifyNoticesCode.Text = getRectifyNotices.RectifyNoticesCode;
this.txtCheckedDate.Text = getRectifyNotices.CheckedDate.ToString();
this.txtReCheckOpinion.Text = getRectifyNotices.ReCheckOpinion;
this.txtHiddenHazardType.Text = "一般";
if (getRectifyNotices.HiddenHazardType == "2")
{
this.txtHiddenHazardType.Text = "较大";
}
else if (getRectifyNotices.HiddenHazardType == "3")
{
this.txtHiddenHazardType.Text = "重大";
}
if (!string.IsNullOrEmpty(getRectifyNotices.ProfessionalEngineerId))
{
this.drpProfessionalEngineer.Text = UserService.GetUserNameByUserId(getRectifyNotices.ProfessionalEngineerId);
}
if (!string.IsNullOrEmpty(getRectifyNotices.ConstructionManagerId))
{
this.drpConstructionManager.Text = UserService.GetUserNameByUserId(getRectifyNotices.ConstructionManagerId);
}
if (!string.IsNullOrEmpty(getRectifyNotices.ProjectManagerId))
{
this.drpProjectManager.Text = UserService.GetUserNameByUserId(getRectifyNotices.ProjectManagerId);
}
this.lbDutyPerson.Text = UserService.GetUserNameByUserId(getRectifyNotices.DutyPersonId);
if (Funs.DB.Check_RectifyNoticesItem.FirstOrDefault(x => !x.IsRectify.HasValue || x.IsRectify == false) == null)
{
this.rdbIsAgree.SelectedValue = "true";
}
else
{
this.rdbIsAgree.SelectedValue = "false";
}
getControlShow();
}
BindGrid();
BindGrid1();
}
else
{
string arg = GetRequestEventArgument(); // 此函数所在文件PageBase.cs
if (arg == "UPDATE_SUMMARY")
{
getControlShow();
}
}
}
/// <summary>
///
/// </summary>
public void BindGrid()
{
if (!string.IsNullOrEmpty(this.RectifyNoticesId))
{
string strSql = @"select RectifyNoticesItemId, RectifyNoticesId, WrongContent, Requirement, LimitTime, RectifyResults
,IsRectify,(CASE WHEN IsRectify=1 THEN '' WHEN IsRectify=0 THEN '' ELSE '' END) AS IsRectifyName
from [dbo].[Check_RectifyNoticesItem] ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += "where RectifyNoticesId = @RectifyNoticesId";
listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
else
{
Grid1.DataSource = null;
Grid1.DataBind();
}
}
/// <summary>
///
/// </summary>
public void BindGrid1()
{
if (!string.IsNullOrEmpty(this.RectifyNoticesId))
{
string strSql = @"select FlowOperateId, RectifyNoticesId, OperateName, OperateManId, OperateTime, IsAgree, Opinion,S.UserName
,(case when IsAgree=0 then '' else '' end) as IsAgreeName
from Check_RectifyNoticesFlowOperate C left join Sys_User S on C.OperateManId=s.UserId ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += "where RectifyNoticesId= @RectifyNoticesId";
listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
var table = this.GetPagedDataTable(gvFlowOperate, tb);
gvFlowOperate.DataSource = table;
gvFlowOperate.DataBind();
}
else
{
Grid1.DataSource = null;
Grid1.DataBind();
}
}
#region
/// <summary>
/// 获取整改前图片(放于Img中)
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImageUrlByImage(object RectifyNoticesItemId)
{
string url = string.Empty;
if (RectifyNoticesItemId != null)
{
var RectifyNoticesItem = BLL.AttachFileService.GetAttachFile(RectifyNoticesItemId.ToString() + "#1", BLL.Const.ProjectRectifyNoticesMenuId);
if (RectifyNoticesItem != null)
{
url = BLL.UploadAttachmentService.ShowImage("../../", RectifyNoticesItem.AttachUrl);
}
}
return url;
}
/// <summary>
/// 获取整改后图片
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImgUrlByImage(object RectifyNoticesItemId)
{
string url = string.Empty;
if (RectifyNoticesItemId != null)
{
var RectifyNoticesItem = BLL.AttachFileService.GetAttachFile(RectifyNoticesItemId.ToString() + "#2", BLL.Const.ProjectRectifyNoticesMenuId);
if (RectifyNoticesItem != null)
{
url = BLL.UploadAttachmentService.ShowImage("../../", RectifyNoticesItem.AttachUrl);
}
}
return url;
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
SaveRectifyNotices(Const.BtnSave);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
SaveRectifyNotices(Const.BtnSubmit);
}
/// <summary>
/// 保存方法
/// </summary>
/// <param name="saveType"></param>
private void SaveRectifyNotices(string saveType)
{
var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(this.RectifyNoticesId);
if (getRectifyNotices != null)
{
var getAllItem = from x in Funs.DB.Check_RectifyNoticesItem
where x.RectifyNoticesId == getRectifyNotices.RectifyNoticesId
select x;
if (getAllItem.Count() > 0)
{
foreach (JObject mergedRow in Grid1.GetModifiedData())
{
JObject values = mergedRow.Value<JObject>("values");
string rectifyNoticesItemId = mergedRow.Value<string>("id");
string isRectify = values.Value<string>("IsRectify");
var getUpdateItem = getAllItem.FirstOrDefault(x => x.RectifyNoticesItemId == rectifyNoticesItemId);
if (getUpdateItem != null)
{
if (isRectify == "合格")
{
getUpdateItem.IsRectify = true;
}
else
{
getUpdateItem.IsRectify = false;
}
Funs.DB.SubmitChanges();
}
}
}
getRectifyNotices.ReCheckOpinion = this.txtReCheckOpinion.Text;
getRectifyNotices.ReCheckDate = DateTime.Now;
if (saveType == Const.BtnSubmit)
{
bool isAgree = false;
if (getAllItem.FirstOrDefault(x => !x.IsRectify.HasValue || x.IsRectify == false) == null)
{
isAgree = true;
}
if (isAgree)
{
getRectifyNotices.States = Const.State_5;
getRectifyNotices.ReCheckDate = DateTime.Now;
//// 回写专项检查明细表
var getcheck = Funs.DB.Check_CheckSpecialDetail.Where(x => x.DataId.Contains(getRectifyNotices.RectifyNoticesId));
if (getcheck.Count() > 0)
{
foreach (var item in getcheck)
{
item.CompleteStatus = true;
item.CompletedDate = DateTime.Now;
Funs.DB.SubmitChanges();
}
//// 根据明细ID判断是否全部整改完成 并更新专项检查状态
Check_CheckSpecialService.UpdateCheckSpecialStates(getcheck.FirstOrDefault().CheckSpecialId);
}
}
else
{
getRectifyNotices.States = Const.State_2;
getRectifyNotices.UnitHeadManDate = null;
getRectifyNotices.CompleteDate = null;
getRectifyNotices.ProfessionalEngineerTime2 = null;
getRectifyNotices.ConstructionManagerTime2 = null;
getRectifyNotices.ProjectManagerTime2 = null;
}
Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate
{
FlowOperateId = SQLHelper.GetNewID(),
RectifyNoticesId = getRectifyNotices.RectifyNoticesId,
OperateManId = this.CurrUser.UserId,
OperateTime = DateTime.Now,
OperateName = "安全经理/安全工程师复查",
IsAgree = isAgree,
Opinion = this.txtReCheckOpinion.Text.Trim(),
};
Funs.DB.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem);
}
Funs.DB.SubmitChanges();
ShowNotify(saveType + "成功!", MessageBoxIcon.Success);
if (string.IsNullOrEmpty(Request.Params["Main"]))
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
PageContext.RegisterStartupScript(String.Format("window.close();"));
}
}
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rdbIsAgree_SelectedIndexChanged(object sender, EventArgs e)
{
getControlShow();
}
/// <summary>
///
/// </summary>
private void getControlShow()
{
if (this.rdbIsAgree.SelectedValue == "true")
{
this.step1_person2.Hidden = false;
this.lbDutyPerson.Hidden = true;
}
else
{
this.step1_person2.Hidden = true;
this.lbDutyPerson.Hidden = false;
}
this.lbCom.Hidden = !this.lbDutyPerson.Hidden;
}
}
}