修改五环安全月报
This commit is contained in:
@@ -7,6 +7,7 @@ using System.Web.UI.WebControls;
|
||||
using BLL;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Threading;
|
||||
using Model;
|
||||
|
||||
namespace FineUIPro.Web.HSSE.Manager
|
||||
{
|
||||
@@ -92,6 +93,9 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
private static List<Model.Manager_Month_ComplianceObligationsC> complianceObligationsCs = new List<Model.Manager_Month_ComplianceObligationsC>();
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Project_ProjectUnit> units = new List<Project_ProjectUnit>();
|
||||
|
||||
public Model.SGGLDB db = Funs.DB;
|
||||
|
||||
#region 加载页面
|
||||
@@ -99,6 +103,12 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
ProjectId = CurrUser.LoginProjectId;
|
||||
units = (from x in db.Project_ProjectUnit
|
||||
where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
|
||||
orderby x.UnitType
|
||||
select x).ToList(); //1为总包,2为施工分包
|
||||
|
||||
rewardAndPunishSortCs.Clear();
|
||||
trainSorts.Clear();
|
||||
checkSorts.Clear();
|
||||
@@ -107,7 +117,7 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
otherWorkPlanCs.Clear();
|
||||
complianceObligationsCs.Clear();
|
||||
|
||||
ProjectId = CurrUser.LoginProjectId;
|
||||
|
||||
unitList = db.Base_Unit.ToList();
|
||||
MonthReportId = Request.Params["MonthReportId"];
|
||||
var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
|
||||
@@ -188,6 +198,11 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 4.3隐患
|
||||
txtMonthHdangerCount.Text = model.MonthHdangerCount.ToString();
|
||||
txtYearHdangerCount.Text = model.YearHdangerCount.ToString();
|
||||
#endregion
|
||||
|
||||
#region 4.6.3其他应急管理工作描述
|
||||
txtEmergencyManagementWorkDef.Text = model.EmergencyManagementWorkDef;
|
||||
#endregion
|
||||
@@ -404,6 +419,10 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
monthReport.TotalHseManhours = Funs.GetNewIntOrZero(TotalHseManhours);
|
||||
monthReport.TotalHseManhoursYear= Funs.GetNewIntOrZero(TotalYearHseManhours);
|
||||
|
||||
//4.3隐患
|
||||
monthReport.MonthHdangerCount = Funs.GetNewIntOrZero(txtMonthHdangerCount.Text);
|
||||
monthReport.YearHdangerCount = Funs.GetNewIntOrZero(txtYearHdangerCount.Text);
|
||||
|
||||
//4.6.3其他应急管理工作描述
|
||||
monthReport.EmergencyManagementWorkDef = txtEmergencyManagementWorkDef.Text;
|
||||
|
||||
@@ -432,6 +451,9 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
//4.2
|
||||
OperateCheckSort();
|
||||
|
||||
//4.3
|
||||
OperateManager_HiddenDanger();
|
||||
|
||||
//4.7
|
||||
OperateRewardAndPunishSort();
|
||||
|
||||
@@ -478,6 +500,30 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 4.3隐患整改
|
||||
private void OperateManager_HiddenDanger() {
|
||||
PersonSortCService.DeleteManager_HiddenDanger(MonthReportId);
|
||||
JArray mergedData = GridHiddenDanger.GetMergedData();
|
||||
foreach (JObject mergedRow in mergedData)
|
||||
{
|
||||
string status = mergedRow.Value<string>("status");
|
||||
JObject values = mergedRow.Value<JObject>("values");
|
||||
int i = mergedRow.Value<int>("index");
|
||||
Model.Manager_HiddenDanger model = new Model.Manager_HiddenDanger
|
||||
{
|
||||
Id=Guid.NewGuid().ToString(),
|
||||
MonthReportId = MonthReportId,
|
||||
UnitId = this.GridHiddenDanger.Rows[i].DataKeys[1].ToString(),
|
||||
CommonlyNum = Funs.GetNewIntOrZero(values.Value<string>("CommonlyNum").ToString()),
|
||||
MajorNum = Funs.GetNewIntOrZero(values.Value<string>("MajorNum").ToString()),
|
||||
ReRate = values.Value<string>("ReRate").ToString(),
|
||||
SortIndex = i+1,
|
||||
};
|
||||
db.Manager_HiddenDanger.InsertOnSubmit(model);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 4.1保存培训
|
||||
private void OperateTrainSort()
|
||||
@@ -792,6 +838,8 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
GetTrainSort();
|
||||
//4.2现场HSE绩效数据统计
|
||||
GetCheckSort();
|
||||
//4.3本月隐患
|
||||
GetManager_HiddenDanger();
|
||||
//4.7HSE奖励与处罚
|
||||
GetRewardAndPunishSort();
|
||||
|
||||
@@ -804,6 +852,9 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
{
|
||||
//2.本月项目现场HSE人力投入情况
|
||||
GetPersonSortEdit();
|
||||
|
||||
//3.本月隐患
|
||||
GetManager_HiddenDangerEdit();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -815,10 +866,10 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
private void GetPersonSort()
|
||||
{
|
||||
List<Model.Manager_PersonSortC> personSorts = new List<Model.Manager_PersonSortC>();
|
||||
var units = from x in Funs.DB.Project_ProjectUnit
|
||||
where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
|
||||
orderby x.UnitType
|
||||
select x; //1为总包,2为施工分包
|
||||
//var units = from x in Funs.DB.Project_ProjectUnit
|
||||
// where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
|
||||
// orderby x.UnitType
|
||||
// select x; //1为总包,2为施工分包
|
||||
int totalSumPersonNum = 0;//总部
|
||||
int totalSumOutPersonNum = 0;//外聘
|
||||
int totalHSEPersonNum = 0;
|
||||
@@ -874,10 +925,7 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
orderby y.UnitType
|
||||
select x).Distinct().ToList();
|
||||
List<Model.Manager_PersonSortC> personSorts = new List<Model.Manager_PersonSortC>();
|
||||
var units = from x in db.Project_ProjectUnit
|
||||
where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
|
||||
orderby x.UnitType
|
||||
select x; //1为总包,2为施工分包
|
||||
|
||||
foreach (var unit in units)
|
||||
{
|
||||
Model.Manager_PersonSortC personSort = sorts.FirstOrDefault(x => x.UnitId == unit.UnitId);
|
||||
@@ -1259,6 +1307,155 @@ namespace FineUIPro.Web.HSSE.Manager
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 4.3 本月隐患整改情况
|
||||
void GetManager_HiddenDangerEdit() {
|
||||
var q = from x in db.Manager_HiddenDanger
|
||||
where x.MonthReportId == MonthReportId
|
||||
select x;
|
||||
if (q.Count() > 0) //保存过数据
|
||||
{
|
||||
//人力投入情况
|
||||
List<Model.Manager_HiddenDanger> sorts = (from x in db.Manager_HiddenDanger
|
||||
join y in db.Project_ProjectUnit
|
||||
on x.UnitId equals y.UnitId
|
||||
where x.MonthReportId == MonthReportId && y.ProjectId == this.ProjectId
|
||||
orderby y.UnitType
|
||||
select x).Distinct().ToList();
|
||||
List<Model.Manager_HiddenDanger> personSorts = new List<Model.Manager_HiddenDanger>();
|
||||
//var units = from x in db.Project_ProjectUnit
|
||||
// where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
|
||||
// orderby x.UnitType
|
||||
// select x; //1为总包,2为施工分包
|
||||
foreach (var unit in units)
|
||||
{
|
||||
Model.Manager_HiddenDanger personSort = sorts.FirstOrDefault(x => x.UnitId == unit.UnitId);
|
||||
if (personSort != null)
|
||||
{
|
||||
personSorts.Add(personSort);
|
||||
}
|
||||
}
|
||||
this.GridHiddenDanger.DataSource = personSorts;
|
||||
this.GridHiddenDanger.DataBind();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
GetManager_HiddenDanger();
|
||||
}
|
||||
}
|
||||
|
||||
//保存时根据 HSE巡检、专项检查、综合检查(即周检、月检等)、隐患整改(书面整改单)这四项同时抓取数据
|
||||
void GetManager_HiddenDanger() {
|
||||
//安全巡检list
|
||||
var HseList = (from x in Funs.DB.View_Hazard_HazardRegister
|
||||
where x.ProblemTypes == "1" && x.ProjectId == ProjectId && x.CheckTime>=startTime && x.CheckTime<=endTime
|
||||
select x);
|
||||
//专项检查
|
||||
var CheckSpecialList = from x in db.Check_CheckSpecialDetail
|
||||
join y in db.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId
|
||||
where y.ProjectId == ProjectId && y.CheckTime >= startTime && y.CheckTime <= endTime
|
||||
select x;
|
||||
//综合检查
|
||||
var CheckColligationList = from x in db.Check_CheckColligationDetail
|
||||
join y in db.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId
|
||||
where y.ProjectId == ProjectId && y.CheckTime >= startTime && y.CheckTime <= endTime
|
||||
select x;
|
||||
//隐患整改单
|
||||
var YhzgdList = from x in db.Check_RectifyNoticesItem
|
||||
join y in db.Check_RectifyNotices on x.RectifyNoticesId equals y.RectifyNoticesId
|
||||
where y.ProjectId == ProjectId && y.CheckedDate >= startTime && y.CheckedDate <= endTime
|
||||
select new { y.UnitId, x.HiddenHazardType,y.States};
|
||||
|
||||
int yhMonthSum = 0, yhYearSum = 0;
|
||||
var list = new List<Model.Manager_HiddenDanger>();
|
||||
if (units.Count() > 0)
|
||||
{
|
||||
var i = 1;
|
||||
foreach (Model.Project_ProjectUnit u in units)
|
||||
{
|
||||
var model = new Manager_HiddenDanger
|
||||
{
|
||||
Id=Guid.NewGuid().ToString(),
|
||||
UnitId = u.UnitId,
|
||||
SortIndex= i
|
||||
};
|
||||
//HSE巡检(一般和重大)
|
||||
//所有数据
|
||||
var Commonly1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.Risk_Level=="一般" && x.States == "2").Count();
|
||||
var MajorNum1= HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.Risk_Level == "重大" && x.States == "2").Count();
|
||||
//总数,已整改
|
||||
var Sum1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0).Count();
|
||||
var Yzg1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.States == "2").Count();
|
||||
|
||||
//专项检查(一般和重大)
|
||||
var Commonly2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "1" && x.CompleteStatus == true).Count();
|
||||
var MajorNum2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "3" && x.CompleteStatus == true).Count();
|
||||
//总数,已整改
|
||||
var Sum2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId).Count();
|
||||
var Yzg2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus==true).Count();
|
||||
|
||||
//综合检查(一般和重大)
|
||||
var Commonly3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.CompleteStatus == true).Count();
|
||||
var MajorNum3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "重大" && x.CompleteStatus == true).Count();
|
||||
//总数,已整改
|
||||
var Sum3 = CheckColligationList.Where(x => x.UnitId == u.UnitId).Count();
|
||||
var Yzg3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus == true).Count();
|
||||
|
||||
//隐患整改(一般和重大)
|
||||
var Commonly4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.States == "5").Count();
|
||||
var MajorNum4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "重大" && x.States == "5").Count();
|
||||
//总数,已整改
|
||||
var Sum4 = YhzgdList.Where(x => x.UnitId == u.UnitId).Count();
|
||||
var Yzg4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.States == "5").Count();
|
||||
|
||||
|
||||
model.CommonlyNum = Commonly1+ Commonly2+ Commonly3+ Commonly4;
|
||||
model.MajorNum = MajorNum1+ MajorNum2+ MajorNum3+ MajorNum4;
|
||||
|
||||
//整改率=已整改/总数
|
||||
if ((Sum1 + Sum2 + Sum3 + Sum4) != 0)
|
||||
{
|
||||
model.ReRate = Math.Round((float)(Yzg1 + Yzg2 + Yzg3 + Yzg4) / (float)(Sum1 + Sum2 + Sum3 + Sum4) * 100, 2).ToString();
|
||||
}
|
||||
else {
|
||||
model.ReRate = "0";
|
||||
}
|
||||
yhMonthSum += Sum1 + Sum2 + Sum3 + Sum4;
|
||||
|
||||
list.Add(model);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
txtMonthHdangerCount.Text = yhMonthSum.ToString();
|
||||
this.GridHiddenDanger.DataSource = list;
|
||||
this.GridHiddenDanger.DataBind();
|
||||
#region 本年隐患总数
|
||||
|
||||
//安全巡检list
|
||||
var HseListYear = (from x in Funs.DB.View_Hazard_HazardRegister
|
||||
where x.ProblemTypes == "1" && x.ProjectId == ProjectId && x.CheckTime >= yearStartTime && x.CheckTime <= endTime
|
||||
select x).ToList().Count;
|
||||
//专项检查
|
||||
var CheckSpecialListYear = (from x in db.Check_CheckSpecialDetail
|
||||
join y in db.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId
|
||||
where y.ProjectId == ProjectId && y.CheckTime >= yearStartTime && y.CheckTime <= endTime
|
||||
select x).ToList().Count;
|
||||
//综合检查
|
||||
var CheckColligationListYear = (from x in db.Check_CheckColligationDetail
|
||||
join y in db.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId
|
||||
where y.ProjectId == ProjectId && y.CheckTime >= yearStartTime && y.CheckTime <= endTime
|
||||
select x).ToList().Count;
|
||||
//隐患整改单
|
||||
var YhzgdListYear = (from x in db.Check_RectifyNoticesItem
|
||||
join y in db.Check_RectifyNotices on x.RectifyNoticesId equals y.RectifyNoticesId
|
||||
where y.ProjectId == ProjectId && y.CheckedDate >= yearStartTime && y.CheckedDate <= endTime
|
||||
select new { y.UnitId, x.HiddenHazardType, y.States }).ToList().Count;
|
||||
txtYearHdangerCount.Text = (HseListYear + CheckSpecialListYear + CheckColligationListYear + YhzgdListYear).ToString();
|
||||
#endregion
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 4.7 HSE奖励与处罚
|
||||
private void GetRewardAndPunishSort()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user