2023-04-28

This commit is contained in:
2023-04-28 14:56:47 +08:00
parent f2ab2d5b73
commit 5b740e7bda
35 changed files with 1321 additions and 519 deletions
@@ -37,6 +37,16 @@ namespace FineUIPro.Web.HSSE.Check
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
ListItem[] item = new ListItem[5];
item[0] = new ListItem("请选择", "-1");
item[1] = new ListItem("专项检查", "0");
item[2] = new ListItem("安全周检", "1");
item[3] = new ListItem("安全月检", "2");
item[4] = new ListItem("节前节后安全检查", "3");
this.drpType.DataValueField = "Value";
this.drpType.DataTextField = "Text";
this.drpType.DataSource = item;
this.drpType.DataBind();
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.ProjectId)
{
@@ -57,38 +67,40 @@ namespace FineUIPro.Web.HSSE.Check
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT CheckSpecial.CheckSpecialId,CodeRecords.Code AS CheckSpecialCode,"
+ @" CheckItemSet.CheckItemName,CheckSpecial.CheckTime,(CASE WHEN CheckSpecial.CheckType ='1' THEN '联合检查' ELSE '专项检查' END) AS CheckTypeName"
string strSql = @"SELECT 0 [index], CheckSpecial.CheckSpecialId,CodeRecords.Code AS CheckSpecialCode,"
+ @" CASE WHEN CheckSpecial.CheckType ='0' THEN CheckItemSet.CheckItemName else '综合大检查' end CheckItemName ,CheckSpecial.CheckTime,
(CASE WHEN CheckSpecial.CheckType ='1' THEN '安全周检'
WHEN CheckSpecial.CheckType ='2' THEN '安全月检'
WHEN CheckSpecial.CheckType ='3' THEN '节前节后安全检查'
WHEN CheckSpecial.CheckType ='0' THEN '专项检查'
ELSE '专项检查' END) AS CheckTypeName"
+ @" ,(CASE WHEN CheckSpecial.States='2' THEN '已完成' WHEN CheckSpecial.States='1' THEN '待整改' ELSE '待提交' END) AS StatesName"
+ @" FROM Check_CheckSpecial AS CheckSpecial "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON CheckSpecial.CheckSpecialId=CodeRecords.DataId "
+ @" LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId = CheckSpecial.CheckItemSetId where 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND CheckSpecial.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (this.rbStates.SelectedValue!="-1")
{
strSql += " AND CheckSpecial.States = @States";
listStr.Add(new SqlParameter("@States", this.rbStates.SelectedValue));
}
if (this.rbType.SelectedValue != "-1")
if (this.drpType.SelectedValue != "-1")
{
if (this.rbType.SelectedValue == "1")
{
strSql += " AND CheckSpecial.CheckType = @CheckType";
listStr.Add(new SqlParameter("@CheckType", this.rbType.SelectedValue));
}
else
{
strSql += " AND (CheckSpecial.CheckType = @CheckType OR CheckSpecial.CheckType IS NULL) ";
listStr.Add(new SqlParameter("@CheckType", this.rbType.SelectedValue));
}
listStr.Add(new SqlParameter("@CheckType", this.drpType.SelectedValue));
}
if (this.drpSupCheckItemSet.SelectedValue!=BLL.Const._Null)
if (this.drpSupCheckItemSet.SelectedValue != BLL.Const._Null)
{
strSql += " AND CheckSpecial.CheckItemSetId = @CheckItemSetId";
listStr.Add(new SqlParameter("@CheckItemSetId", this.drpSupCheckItemSet.SelectedValue ));
if (drpSupCheckItemSet.SelectedValue != "0"&& drpSupCheckItemSet.SelectedValue != "-1")
{
strSql += " AND CheckSpecial.CheckItemSetId = @CheckItemSetId";
listStr.Add(new SqlParameter("@CheckItemSetId", this.drpSupCheckItemSet.SelectedValue));
}
}
if (!string.IsNullOrEmpty(this.txtStartTime.Text.Trim()))
{
@@ -103,7 +115,13 @@ namespace FineUIPro.Web.HSSE.Check
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
if (tb != null)
{
foreach (DataRow row in tb.Rows)
{
row["index"] = int.Parse(System.Text.RegularExpressions.Regex.Replace(row["CheckSpecialCode"].ToString(), @"[^0-9]+", ""));
}
}
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
@@ -245,25 +263,33 @@ namespace FineUIPro.Web.HSSE.Check
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
try
{
return;
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectCheckSpecialMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.btnMenuClose.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectCheckSpecialMenuId);
if (buttonList.Count() > 0)
catch (Exception e)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
@@ -297,8 +323,32 @@ namespace FineUIPro.Web.HSSE.Check
this.BindGrid();
}
protected void drpSupCheckItemSet_SelectedIndexChanged(object sender, EventArgs e)
protected void drpType_SelectedIndexChanged(object sender, EventArgs e)
{
drpSupCheckItemSet.Items.Clear();
if (drpType.SelectedValue == "0")
{
Technique_CheckItemSetService.InitCheckItemSetDropDownList(this.drpSupCheckItemSet, "2", "0", true);
}
else
{
ListItem[] item = new ListItem[2];
item[0] = new ListItem("请选择", "-1");
item[1] = new ListItem("联合", "0");
this.drpSupCheckItemSet.DataValueField = "Value";
this.drpSupCheckItemSet.DataTextField = "Text";
this.drpSupCheckItemSet.DataSource = item;
this.drpSupCheckItemSet.DataBind();
}
this.drpSupCheckItemSet.SelectedIndex = 0;
this.BindGrid();
}
protected void drpSupCheckItemSet_SelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
@@ -356,8 +406,9 @@ namespace FineUIPro.Web.HSSE.Check
string filePath = string.Empty;
initTemplatePath = "File\\Word\\HSSE\\专项检查.doc";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".doc");
filePath = initTemplatePath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
string docfilename = Funs.GetNewFileName();
newUrl = uploadfilepath.Replace(".doc", docfilename + ".doc");
filePath = initTemplatePath.Replace(".doc", docfilename + ".pdf");
if (File.Exists(newUrl)) {
File.Delete(newUrl);
}
@@ -467,7 +518,7 @@ namespace FineUIPro.Web.HSSE.Check
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 60;
builder.CellFormat.Width = 120;
builder.Write(string.IsNullOrEmpty(detail.UnitName) ? "" : detail.UnitName);
//问题描述
builder.InsertCell();
@@ -475,7 +526,7 @@ namespace FineUIPro.Web.HSSE.Check
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 140;
builder.CellFormat.Width = 40;
builder.Write(string.IsNullOrEmpty(detail.Unqualified) ? "" : detail.Unqualified);
//问题类型
builder.InsertCell();
@@ -483,7 +534,7 @@ namespace FineUIPro.Web.HSSE.Check
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 60;
builder.CellFormat.Width = 100;
builder.Write(string.IsNullOrEmpty(detail.CheckItemName)?"": detail.CheckItemName);
//处理结果
@@ -501,7 +552,7 @@ namespace FineUIPro.Web.HSSE.Check
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 50;
builder.Write(string.IsNullOrEmpty(detail.HiddenHazardTypeName) ? "" : detail.HiddenHazardTypeName);
builder.Write(string.IsNullOrEmpty(detail.RiskLevel) ? "" : detail.RiskLevel);
builder.EndRow();
num++;
}
@@ -527,5 +578,82 @@ namespace FineUIPro.Web.HSSE.Check
File.Delete(pdfUrl);
}
#endregion
#region
/// <summary>
/// 闭环按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuClose_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string CheckSpecialId = Grid1.SelectedRowID.Split(',')[0];
var checkSpecial = BLL.Check_CheckSpecialService.GetCheckSpecialByCheckSpecialId(CheckSpecialId);
if (checkSpecial != null)
{
var details = BLL.Check_CheckSpecialDetailService.GetCheckSpecialDetailByCheckSpecialId(CheckSpecialId);
foreach (var item in details)
{
item.CompleteStatus = true;
BLL.Check_CheckSpecialDetailService.UpdateCheckSpecialDetail(item);
}
checkSpecial.States = Const.State_2;
Check_CheckSpecialService.UpdateCheckSpecial(checkSpecial);
var hazardRegisters = from x in Funs.DB.HSSE_Hazard_HazardRegister where x.CheckSpecialId == CheckSpecialId select x;
foreach (var item in hazardRegisters)
{
item.States = "3";
BLL.HSSE_Hazard_HazardRegisterService.UpdateHazardRegister(item);
}
BindGrid();
ShowNotify("闭环成功!", MessageBoxIcon.Success);
}
}
#endregion
protected string ConvertState(object state)
{
if (state != null)
{
var checkSpecial = Funs.DB.Check_CheckSpecial.Where(y => y.CheckSpecialId == state.ToString()).FirstOrDefault();
if (checkSpecial != null)
{
if (checkSpecial.States == "2")
{
return "已完成";
}
else if (checkSpecial.States == "1")
{
var details = Funs.DB.Check_CheckSpecialDetail.Where(x => x.CheckSpecialId == state.ToString()).ToList();
if (details != null && details.Count > 0)
{
string res = "待整改";
foreach (var d in details)
{
if (d.CompleteStatus.HasValue && d.CompleteStatus.Value)
{
res = "部分待整改";
}
}
return res;
}
}
else
{
return "待提交";
}
}
}
return "";
}
}
}