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 RectifyNoticesAdd : PageBase
{
#region 定义项
///
/// 主键
///
public string RectifyNoticesId
{
get
{
return (string)ViewState["RectifyNoticesId"];
}
set
{
ViewState["RectifyNoticesId"] = value;
}
}
#endregion
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
//受检单位
BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnitId, this.CurrUser.LoginProjectId, Const.ProjectUnitType_2, false);
//区域
BLL.UnitWorkService.InitUnitWorkDownList(this.drpWorkAreaId, this.CurrUser.LoginProjectId, true);
///安全经理
BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpSignPerson, this.CurrUser.LoginProjectId, Const.UnitId_CWCEC, true);
///检察人员
BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpCheckMan, this.CurrUser.LoginProjectId, null, true);
//专业
BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNProfessionalId, true);
ConstValue.InitConstValueDropDownList(drpHiddenType, "Hiddendangertype", false);
//Funs.FineUIPleaseSelect(drpIsRectify);
RectifyNoticesId = Request.Params["RectifyNoticesId"];
var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(RectifyNoticesId);
if (getRectifyNotices != null)
{
if (!string.IsNullOrEmpty(getRectifyNotices.UnitId))
{
this.drpUnitId.SelectedValue = getRectifyNotices.UnitId;
}
if (!string.IsNullOrEmpty(getRectifyNotices.WorkAreaId))
{
this.drpWorkAreaId.SelectedValueArray = getRectifyNotices.WorkAreaId.Split(',');
}
if (!string.IsNullOrEmpty(getRectifyNotices.CheckManIds))
{
this.drpCheckMan.SelectedValueArray = getRectifyNotices.CheckManIds.Split(',');
}
this.txtCheckPerson.Text = getRectifyNotices.CheckManNames;
if (!string.IsNullOrEmpty(getRectifyNotices.CNProfessionalId))
{
this.drpCNProfessionalId.SelectedValue = getRectifyNotices.CNProfessionalId;
}
this.txtRectifyNoticesCode.Text = getRectifyNotices.RectifyNoticesCode;
this.txtCheckedDate.Text = getRectifyNotices.CheckedDate.ToString();
if (!string.IsNullOrEmpty(getRectifyNotices.SignPerson))
{
this.drpSignPerson.SelectedValue = getRectifyNotices.SignPerson;
}
if (!string.IsNullOrEmpty(getRectifyNotices.HiddenHazardType))
{
this.drpHiddenHazardType.SelectedValue = getRectifyNotices.HiddenHazardType;
}
}
else
{
this.txtCheckedDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
////自动生成编码
this.txtRectifyNoticesCode.Text = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectRectifyNoticesMenuId, this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
}
BindGrid();
BindGrid1();
}
}
#region 绑定grid
///
///
///
public void BindGrid()
{
if (!string.IsNullOrEmpty(this.RectifyNoticesId))
{
string strSql = @"select RectifyNoticesItemId, RectifyNoticesId, WrongContent, Requirement, LimitTime, RectifyResults, IsRectify,HiddenType,HiddenHazardType from [dbo].[Check_RectifyNoticesItem] ";
List listStr = new List();
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();
}
}
///
///
///
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 listStr = new List();
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();
}
}
#endregion
protected void btnAdd_Click(object sender, EventArgs e)
{
List view = getViewTestPlanTrainingList();
Model.Check_RectifyNoticesItem notice = new Model.Check_RectifyNoticesItem
{
RectifyNoticesItemId = SQLHelper.GetNewID(),
HiddenHazardType="一般",
HiddenType=drpHiddenType.SelectedValue
};
view.Add(notice);
//将gd数据保存在list中
Grid1.DataSource = view;
Grid1.DataBind();
}
#region 收集页面明细信息
///
/// 收集页面信息
///
///
private List getViewTestPlanTrainingList()
{
List view = new List();
var data = Grid1.GetMergedData();
if (data != null)
{
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value("values");
string wrongContent = values.Value("WrongContent");
string rectifyNoticesItemId = values.Value("RectifyNoticesItemId");
string requirement = values.Value("Requirement");
string limitTime = values.Value("LimitTime");
string HiddenHazardType = values.Value("HiddenHazardType");
string HiddenType= values.Value("HiddenType");
var item = new Check_RectifyNoticesItem
{
RectifyNoticesItemId = rectifyNoticesItemId,
RectifyNoticesId = this.RectifyNoticesId,
WrongContent = wrongContent,
Requirement = requirement,
LimitTime =Funs.GetNewDateTime( limitTime),
HiddenHazardType= HiddenHazardType,
HiddenType= HiddenType
};
view.Add(item);
}
}
return view;
}
#endregion
#region grid 操作
///
///
///
///
///
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "AttachUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/RectifyNotices&menuId={1}&strParam=1", itemId, BLL.Const.ProjectRectifyNoticesMenuId)));
}
if (e.CommandName == "delete")
{
var getView = getViewTestPlanTrainingList();
var getfi = getView.FirstOrDefault(x => x.RectifyNoticesItemId == itemId);
if (getfi != null)
{
getView.Remove(getfi);
}
Grid1.DataSource = getView;
Grid1.DataBind();
}
}
#endregion
#region 保存方法
protected void btnSave_Click(object sender, EventArgs e)
{
SaveRectifyNotices(Const.BtnSave);
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
SaveRectifyNotices(Const.BtnSubmit);
}
///
/// 保存方法
///
///
private void SaveRectifyNotices(string saveType)
{
Model.Check_RectifyNotices newRectifyNotices = new Check_RectifyNotices
{
RectifyNoticesId = this.RectifyNoticesId,
RectifyNoticesCode = this.txtRectifyNoticesCode.Text.Trim(),
ProjectId = this.CurrUser.LoginProjectId,
CheckedDate = Funs.GetNewDateTime(this.txtCheckedDate.Text.Trim()),
CompleteManId = this.CurrUser.UserId,
};
newRectifyNotices.States = Const.State_0;
if (this.drpSignPerson.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.SignPerson = this.drpSignPerson.SelectedValue;
}
if (saveType == Const.BtnSubmit)
{
newRectifyNotices.States = Const.State_1;
if (string.IsNullOrEmpty(newRectifyNotices.SignPerson))
{
Alert.ShowInParent("请选择项目安全经理!", MessageBoxIcon.Warning);
return;
}
}
if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
}
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.UnitId = this.drpUnitId.SelectedValue;
}
if (this.drpWorkAreaId.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.WorkAreaId = Funs.GetStringByArray(this.drpWorkAreaId.SelectedValueArray);
}
if (this.drpCheckMan.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.CheckManIds =Funs.GetStringByArray(this.drpCheckMan.SelectedValueArray);
}
if (!string.IsNullOrEmpty(txtCheckPerson.Text))
{
newRectifyNotices.CheckManNames = txtCheckPerson.Text;
}
if (this.drpHiddenHazardType.SelectedValue != BLL.Const._Null)
{
newRectifyNotices.HiddenHazardType = this.drpHiddenHazardType.SelectedValue;
}
if (!string.IsNullOrEmpty(this.RectifyNoticesId))
{
RectifyNoticesService.UpdateRectifyNotices(newRectifyNotices);
RectifyNoticesService.DeleteRectifyNoticesRectifyNoticesItemById(this.RectifyNoticesId);
}
else
{
this.RectifyNoticesId = newRectifyNotices.RectifyNoticesId = SQLHelper.GetNewID();
RectifyNoticesService.AddRectifyNotices(newRectifyNotices);
}
if (saveType == Const.BtnSubmit)
{
Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate
{
FlowOperateId = SQLHelper.GetNewID(),
RectifyNoticesId = newRectifyNotices.RectifyNoticesId,
OperateName = "检查人员提交整改单",
OperateManId = this.CurrUser.UserId,
OperateTime = DateTime.Now,
};
Funs.DB.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem);
Funs.DB.SubmitChanges();
}
var getItem = getViewTestPlanTrainingList();
if (getItem.Count() > 0)
{
Funs.DB.Check_RectifyNoticesItem.InsertAllOnSubmit(getItem);
Funs.DB.SubmitChanges();
}
ShowNotify(saveType + "成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
///
///
///
///
///
protected void drpCheckMan_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpCheckMan.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpCheckMan.SelectedValueArray);
}
protected void drpWorkAreaId_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpWorkAreaId.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpWorkAreaId.SelectedValueArray);
}
}
}