-
+
|
@@ -202,7 +217,7 @@
-
+
+
+
+
+
+
@@ -947,6 +969,13 @@
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.cs
index f56749f1..2de6b5e0 100644
--- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.cs
@@ -188,6 +188,7 @@ namespace FineUIPro.Web.HSSE.Manager
if (model.Months != null)
{
txtReportMonths.Text = string.Format("{0:yyyy-MM}", model.Months);
+ months = Convert.ToDateTime(model.Months);
}
if (model.StartDate != null)
{
@@ -263,7 +264,7 @@ namespace FineUIPro.Web.HSSE.Manager
{
nbFireWorkCount.Text = PModel.FireWorkCount.ToString();
nbBreakGroundCount.Text = PModel.BreakGroundCount.ToString();
- nbLimitedSpaceCount.Text = PModel.FireWorkCount.ToString();
+ nbLimitedSpaceCount.Text = PModel.LimitedSpaceCount.ToString();
nbElectricityCount.Text = PModel.ElectricityCount.ToString();
nbHeightWorkCount.Text = PModel.HeightWorkCount.ToString();
nbRadialWork.Text = PModel.RadialWork.ToString();
@@ -321,6 +322,9 @@ namespace FineUIPro.Web.HSSE.Manager
DrillRecordListGrid.DataSource = drillRecordList;
DrillRecordListGrid.DataBind();
}
+ else {
+ DrillRecordListGrid.EmptyText = " 暂无数据 ";
+ }
#endregion
#region 4.6.3其他应急管理工作描述
@@ -474,7 +478,7 @@ namespace FineUIPro.Web.HSSE.Manager
startTime = Convert.ToDateTime(txtStartDate.Text);
endTime = Convert.ToDateTime(txtEndDate.Text);
- yearStartTime = Convert.ToDateTime(months.ToString("yyyy-01-01"));
+ yearStartTime = Convert.ToDateTime(startTime.ToString("yyyy-01-01"));
if (project.StartDate != null)
{
@@ -600,7 +604,7 @@ namespace FineUIPro.Web.HSSE.Manager
monthReport.MonthReportId = MonthReportId;
monthReport.ProjectId = this.CurrUser.LoginProjectId;
monthReport.MonthReportCode = txtPeriod.Text;
- monthReport.Months = Funs.GetNewDateTime(Request.Params["months"]);
+ monthReport.Months = months;
monthReport.ReportMan = this.CurrUser.UserId;
monthReport.MonthReportDate = DateTime.Now;
@@ -1066,10 +1070,12 @@ namespace FineUIPro.Web.HSSE.Manager
FirstAidDressing = Funs.GetNewInt(values.Value("FirstAidDressing").ToString()),
MedicalTreatment = Funs.GetNewInt(values.Value("MedicalTreatment").ToString()),
WorkLimitation = Funs.GetNewInt(values.Value("WorkLimitation").ToString()),
+ LossCount = Funs.GetNewInt(values.Value("LossCount").ToString()),
LossPerson = Funs.GetNewInt(values.Value("LossPerson").ToString()),
LossWorkTime = Funs.GetNewDecimal(values.Value("LossWorkTime").ToString()),
LossEconomy = Funs.GetNewDecimal(values.Value("LossEconomy").ToString()),
DeathPerson = Funs.GetNewInt(values.Value("DeathPerson").ToString()),
+ DeathCount = Funs.GetNewInt(values.Value("DeathCount").ToString()),
DeathWorkTime = Funs.GetNewDecimal(values.Value("DeathWorkTime").ToString()),
DeathEconomy = Funs.GetNewDecimal(values.Value("DeathEconomy").ToString()),
};
@@ -1769,6 +1775,7 @@ namespace FineUIPro.Web.HSSE.Manager
int totalSumPersonNum = 0;//总部
int totalSumOutPersonNum = 0;//外聘
int totalHSEPersonNum = 0;
+ var spckList = db.SitePerson_Checking.Where(x => x.ProjectId == ProjectId && x.IntoOut == "1");
if (units.Count() > 0)
{
foreach (Model.Project_ProjectUnit u in units)
@@ -1777,13 +1784,34 @@ namespace FineUIPro.Web.HSSE.Manager
{
PersonSortId = Guid.NewGuid().ToString(),
UnitId = u.UnitId,
- SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text), false),//本部
- SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text), true),//外聘
- HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text)),
+ HSEPersonNum = 0,
ContractRange = u.ContractRange
};
+ //本部本月人数,本年考勤人数除当前月份,取平均数
+ //年度
+ var yearList = spckList.Where(x => x.IntoOutTime >= startTime
+ && x.IntoOutTime <= endTime && x.UnitId == u.UnitId).ToList().Select(x => new hseDayItem()
+ {
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard})
+ .ToList();
+
+ personSort.SumPersonNum = yearList.Count();
+
+ //五环
+ if (u.UnitId == Const.UnitId_CWCEC)
+ {
+ personSort.SumOutPersonNum = 0;
+ }
+ else {
+ personSort.SumOutPersonNum = 0;
+ }
+ ////本部人员
+ //SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text), false),//本部
+ // SumOutPersonNum = 0,//外聘
personSorts.Add(personSort);
- totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum);
+ totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum)+ Convert.ToInt32(personSort.SumOutPersonNum);
totalSumOutPersonNum += Convert.ToInt32(personSort.SumOutPersonNum);
totalHSEPersonNum += Convert.ToInt32(personSort.HSEPersonNum);
}
@@ -1795,7 +1823,7 @@ namespace FineUIPro.Web.HSSE.Manager
JObject summary = new JObject();
summary.Add("UnitId", "合计:");
summary.Add("SumPersonNum", totalSumPersonNum);
- summary.Add("SumOutPersonNum", totalSumOutPersonNum);
+ //summary.Add("SumOutPersonNum", totalSumOutPersonNum);
summary.Add("HSEPersonNum", totalHSEPersonNum);
this.gvPersonSort.SummaryData = summary;
}
@@ -1836,8 +1864,8 @@ namespace FineUIPro.Web.HSSE.Manager
{
JObject summary = new JObject();
summary.Add("UnitId", "合计:");
- summary.Add("SumPersonNum", (from x in personSorts select x.SumPersonNum ?? 0).Sum());
- summary.Add("SumOutPersonNum", (from x in personSorts select x.SumOutPersonNum ?? 0).Sum());
+ summary.Add("SumPersonNum", (from x in personSorts select x.SumPersonNum ?? 0).Sum()+ (from x in personSorts select x.SumOutPersonNum ?? 0).Sum());
+ //summary.Add("SumOutPersonNum", (from x in personSorts select x.SumOutPersonNum ?? 0).Sum());
summary.Add("HSEPersonNum", (from x in personSorts select x.HSEPersonNum ?? 0).Sum());
this.gvPersonSort.SummaryData = summary;
}
@@ -1854,169 +1882,90 @@ namespace FineUIPro.Web.HSSE.Manager
#endregion
#region 3.本月项目现场HSE人工日统计
+ public class hseDayItem {
+ public string IdentityCard { get; set; }
+
+ public string IntoOutTime { get; set; }
+
+ public string UnitId { get; set; }
+ }
+
+ public string getShortTime(DateTime? a) {
+ return Convert.ToDateTime(a).ToString("yyyy-MM-dd");
+ }
+
private void getMonthReportCHSEDay()
{
-
+ var spckList = db.SitePerson_Checking.Where(x => x.ProjectId == ProjectId && x.IntoOut == "1");
//本月项目现场HSE人工日统计
Model.MonthReportCHSEDay hseDay = new Model.MonthReportCHSEDay
{
MonthHSEDay = (endTime - startTime).Days + 1
};
- Model.Manager_MonthReportC mr = BLL.MonthReportCService.GetLastMonthReportByDate(endTime, this.ProjectId);
- if (mr != null)
- {
- if (mr.SumHSEDay != 0)
- {
- hseDay.SumHSEDay = (mr.SumHSEDay ?? 0) + hseDay.MonthHSEDay;
- }
- else
- {
- hseDay.SumHSEDay = hseDay.MonthHSEDay;
- }
- }
- else
- {
- hseDay.SumHSEDay = hseDay.MonthHSEDay;
- }
+ //累计安全工作天数(当前日期-项目开始日期)
+ hseDay.SumHSEDay = (endTime - projectStartTime).Days;
- int? monthHSEWorkDay = 0;
- int? yearHSEWorkDay = 0;
- int? sumHSEWorkDay = 0;
- decimal? hSEManhours = 0;
- decimal? sumHseManhours = 0;
- decimal? SubcontractManHours = 0;
+ //本月HSE人工日、年度累计HSE人工日、总累计HSE人工日,考勤中取
+ //本月
+ var list = spckList.Where(x => x.IntoOutTime >= startTime
+ && x.IntoOutTime <= endTime).ToList().Select(x => new hseDayItem()
+ {
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard, x.IntoOutTime })
+ .ToList();
- decimal? YearHSEWorkDay = 0;
- //年度安全人工时
- var getProjectMonthReport = from x in db.SitePerson_MonthReport where x.ProjectId == ProjectId select x;
- if (getProjectMonthReport.Count() > 0)
+ //本月HSE人工日
+ hseDay.MonthHSEWorkDay = list.Count();
+ //本月安全人工时(五环)
+ hseDay.HseManhours = spckList.Where(x => x.IntoOutTime >= startTime
+ && x.IntoOutTime <= endTime && x.UnitId == Const.UnitId_CWCEC).ToList().Select(x => new hseDayItem()
{
- ////人工时月报明细
- var getMonthReportDetail = from x in db.SitePerson_MonthReportDetail
- join y in getProjectMonthReport on x.MonthReportId equals y.MonthReportId
- select x;
- var yearMonthReport = from x in getProjectMonthReport
- where x.CompileDate.Value.Year == months.Year
- select x;
- if (yearMonthReport.Count() > 0)
- {
- foreach (var item in yearMonthReport)
- {
- ////年度累计安全人工时
- YearHSEWorkDay += getMonthReportDetail.Where(x => x.MonthReportId ==
- item.MonthReportId).Sum(x => x.PersonWorkTime) ?? 0;
- }
- }
- }
- else
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard, x.IntoOutTime })
+ .ToList().Count() * 8;
+
+ //本月安全人工时(分包商)
+ hseDay.SubcontractManHours= spckList.Where(x => x.IntoOutTime >= startTime
+ && x.IntoOutTime <= endTime && x.UnitId != Const.UnitId_CWCEC).ToList().Select(x => new hseDayItem()
{
- YearHSEWorkDay = 0;
- }
- hseDay.YearHSEWorkDay = Convert.ToInt32(YearHSEWorkDay);
- var monthReport = BLL.Funs.DB.SitePerson_MonthReport.FirstOrDefault(x => x.CompileDate == months && x.ProjectId == ProjectId); //当月人工时月报
- if (monthReport != null)
- {
- monthHSEWorkDay = Convert.ToInt32((from x in Funs.DB.SitePerson_MonthReportDetail
- where x.MonthReportId == monthReport.MonthReportId
- select x.RealPersonNum ?? 0).Sum());
- hSEManhours = (from x in Funs.DB.SitePerson_MonthReportDetail
- join z in Funs.DB.Project_ProjectUnit
- on x.UnitId equals z.UnitId
- where z.UnitType == "1" && z.ProjectId == this.CurrUser.LoginProjectId && x.MonthReportId == monthReport.MonthReportId //总包
- select x.PersonWorkTime ?? 0).Sum();
- var q = (from x in Funs.DB.SitePerson_MonthReportDetail
- join z in Funs.DB.Project_ProjectUnit
- on x.UnitId equals z.UnitId
- where z.UnitType == "2" && z.ProjectId == this.CurrUser.LoginProjectId && x.MonthReportId == monthReport.MonthReportId //分包
- select x);
- foreach (var item in q)
- {
- SubcontractManHours += item.PersonWorkTime ?? 0;
- }
- }
- else
- {
- monthHSEWorkDay = 0;
- hSEManhours = 0;
- SubcontractManHours = 0;
- }
- //年度人工日
- if (months.Month == 1)
- {
- yearHSEWorkDay = monthHSEWorkDay;
- }
- else
- {
- if (mr != null)
- {
- if (mr.YearHSEWorkDay != null)
- {
- yearHSEWorkDay = (mr.YearHSEWorkDay ?? 0) + monthHSEWorkDay;
- }
- else
- {
- yearHSEWorkDay = monthHSEWorkDay;
- }
- }
- else
- {
- yearHSEWorkDay = monthHSEWorkDay;
- }
- }
- if (mr != null)
- {
- if (mr.SumHSEWorkDay != 0)
- {
- sumHSEWorkDay = (mr.SumHSEWorkDay ?? 0) + monthHSEWorkDay;
- }
- else
- {
- sumHSEWorkDay = monthHSEWorkDay;
- }
- if (mr.TotalHseManhours != 0)
- {
- sumHseManhours = (mr.TotalHseManhours ?? 0) + hSEManhours + SubcontractManHours;
- }
- else
- {
- sumHseManhours = hSEManhours + SubcontractManHours;
- }
- }
- else
- {
- sumHSEWorkDay = monthHSEWorkDay;
- sumHseManhours = hSEManhours + SubcontractManHours;
- }
- hseDay.MonthHSEWorkDay = monthHSEWorkDay ?? 0;
- hseDay.YearHSEWorkDay = yearHSEWorkDay ?? 0;
- hseDay.SumHSEWorkDay = sumHSEWorkDay ?? 0;
- if (hSEManhours.ToString().Contains("."))
- {
- hseDay.HseManhours = int.Parse(hSEManhours.ToString().Substring(0, hSEManhours.ToString().LastIndexOf(".")));
- }
- else
- {
- hseDay.HseManhours = int.Parse(hSEManhours.ToString());
- }
- if (SubcontractManHours.ToString().Contains("."))
- {
- hseDay.SubcontractManHours = int.Parse(SubcontractManHours.ToString().Substring(0, SubcontractManHours.ToString().LastIndexOf(".")));
- }
- else
- {
- hseDay.SubcontractManHours = int.Parse(SubcontractManHours.ToString());
- }
- if (sumHseManhours.ToString().Contains("."))
- {
- hseDay.TotalHseManhours = int.Parse(sumHseManhours.ToString().Substring(0, sumHseManhours.ToString().LastIndexOf(".")));
- }
- else
- {
- hseDay.TotalHseManhours = int.Parse(sumHseManhours.ToString());
- }
- List list = new List();
- list.Add(hseDay);
- this.gvHSEDay.DataSource = list;
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard, x.IntoOutTime })
+ .ToList().Count() * 8;
+
+ //年度
+ var yearList = spckList.Where(x => x.IntoOutTime >= yearStartTime
+ && x.IntoOutTime <= endTime).ToList().Select(x => new hseDayItem()
+ {
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard, x.IntoOutTime })
+ .ToList();
+
+
+ //年度累计人工日
+ hseDay.YearHSEWorkDay = yearList.Count;
+ //年度累计HSE人工时
+ hseDay.TotalHseManhoursYear = yearList.Count * 8;
+
+ // //项目累计
+ var pList = spckList.Where(x => x.IntoOutTime >= projectStartTime
+ && x.IntoOutTime <= endTime).ToList().Select(x => new hseDayItem()
+ {
+ IdentityCard = x.IdentityCard,
+ IntoOutTime = getShortTime(x.IntoOutTime)
+ }).GroupBy(x => new { x.IdentityCard, x.IntoOutTime })
+ .ToList();
+
+ hseDay.SumHSEWorkDay = pList.Count;
+
+ hseDay.TotalHseManhours = pList.Count * 8;
+
+ List listCHSEDay = new List();
+ listCHSEDay.Add(hseDay);
+ this.gvHSEDay.DataSource = listCHSEDay;
this.gvHSEDay.DataBind();
}
#endregion
@@ -2029,9 +1978,12 @@ namespace FineUIPro.Web.HSSE.Manager
{
trainSorts.Clear();
var TotalPersonNum = 0;
- var list = db.Base_TrainType.ToList();
+ var list = db.Base_TrainType.ToList().OrderBy(x=>x.TrainTypeCode);
var listTrain = BLL.EduTrain_TrainRecordService.GetTrainingsByTrainDate(startTime, endTime, this.ProjectId);
var listAllTrain = BLL.EduTrain_TrainRecordService.GetTrainingsByTrainDate(endTime, this.ProjectId);
+
+ var listBosheng = db.Bo_Sheng_Train.Where(x => x.ProjectId == ProjectId && x.TrainStartDate >= startTime && x.TrainStartDate <= endTime).ToList();
+ var listAllBosheng = db.Bo_Sheng_Train.Where(x => x.ProjectId == ProjectId && x.TrainStartDate <= endTime).ToList();
foreach (var item in list)
{
int i = 0;
@@ -2051,6 +2003,34 @@ namespace FineUIPro.Web.HSSE.Manager
trainSort.TeachHour = 0;
trainSort.PersonNum = 0;
}
+
+ if (listBosheng.Count> 0)
+ {
+ //入场
+ if (item.TrainTypeId == "dfb6a37e-4412-4ba9-ad59-3bc505bc21f7")
+ {
+ trainSort.PersonNum += listBosheng.Where(x => x.TrainType.Contains("入场")).Sum(x=>x.PersonCount);
+ Func funDelegate = CustomCount;
+ decimal numSum = 0;
+ trainSort.TeachHour += listBosheng.Where(x => x.TrainType.Contains("入场")).Sum(x => funDelegate(x.TrainPeriod, numSum));
+ }
+ else if (item.TrainTypeId == "c1a513bb-a547-45b0-944d-b0dd88f06f82")
+ {
+ //其他
+ trainSort.PersonNum += listBosheng.Where(x => x.TrainType.Contains("其他")).Sum(x => x.PersonCount);
+ Func funDelegate = CustomCount;
+ decimal numSum = 0;
+ trainSort.TeachHour += listBosheng.Where(x => x.TrainType.Contains("其他")).Sum(x => funDelegate(x.TrainPeriod, numSum));
+ }
+ else {
+ //专项
+ trainSort.PersonNum += listBosheng.Where(x => x.TrainType.Contains("专项")).Sum(x => x.PersonCount);
+ Func funDelegate = CustomCount;
+ decimal numSum = 0;
+ trainSort.TeachHour += listBosheng.Where(x => x.TrainType.Contains("专项")).Sum(x => funDelegate(x.TrainPeriod, numSum));
+ }
+ }
+
if (listAllTrain.Count > 0)
{
trainSort.TotalPersonNum = listAllTrain.Where(x => x.TrainTypeId == item.TrainTypeId).Sum(x => x.TrainPersonNum);
@@ -2060,6 +2040,31 @@ namespace FineUIPro.Web.HSSE.Manager
{
trainSort.TotalPersonNum = 0;
}
+ if (listAllBosheng.Count>0)
+ {
+ //入场
+ if (item.TrainTypeId == "dfb6a37e-4412-4ba9-ad59-3bc505bc21f7")
+ {
+ trainSort.TotalPersonNum += listAllBosheng.Where(x => x.TrainType.Contains("入场")).Sum(x => x.PersonCount);
+ TotalPersonNum+= Convert.ToInt32(trainSort.TotalPersonNum);
+ }
+ else if (item.TrainTypeId == "c1a513bb-a547-45b0-944d-b0dd88f06f82")
+ {
+ //其他
+ trainSort.TotalPersonNum += listAllBosheng.Where(x => x.TrainType.Contains("其他")).Sum(x => x.PersonCount);
+ TotalPersonNum += Convert.ToInt32(trainSort.TotalPersonNum);
+ }
+ else
+ {
+ //专项
+ trainSort.TotalPersonNum += listAllBosheng.Where(x => x.TrainType.Contains("专项")).Sum(x => x.PersonCount);
+ TotalPersonNum += Convert.ToInt32(trainSort.TotalPersonNum);
+ }
+ }
+
+
+ //博晟工具箱中的数据
+
i++;
trainSorts.Add(trainSort);
}
@@ -2079,9 +2084,16 @@ namespace FineUIPro.Web.HSSE.Manager
}
#endregion
- #region 4.2现场HSE会议及检查统计
- private void GetCheckSort()
+ public static decimal CustomCount(string strNum, decimal Sum)
+ {
+ Sum += Convert.ToDecimal(strNum);
+ return Sum;
+ }
+
+ #region 4.2现场HSE会议及检查统计
+ private void GetCheckSort()
{
+ var hselogList = db.Manager_HSSELog.Where(x => x.ProjectId == ProjectId).ToList();
int i = 0;
#region HSE会议 本月开展次数
@@ -2131,14 +2143,15 @@ namespace FineUIPro.Web.HSSE.Manager
};
checkSorts.Add(checkSort2);
i++;
+ //日巡检取HSE日志检查次数
Model.Manager_CheckSortC checkSort3 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "日巡检",
- CheckNumber = BLL.Check_CheckDayService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
- YearCheckNum = BLL.Check_CheckDayService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
- TotalCheckNum = BLL.Check_CheckDayService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
+ CheckNumber = hselogList.Where(x=>x.CompileDate>=startTime && x.CompileDate<=endTime).Sum(x=>x.Num21),
+ YearCheckNum = hselogList.Where(x => x.CompileDate >= yearStartTime && x.CompileDate <= endTime).Sum(x => x.Num21),
+ TotalCheckNum = hselogList.Where(x => x.CompileDate >= projectStartTime && x.CompileDate <= endTime).Sum(x => x.Num21)
};
checkSorts.Add(checkSort3);
i++;
@@ -2293,7 +2306,7 @@ namespace FineUIPro.Web.HSSE.Manager
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 };
+ select new { y.UnitId, x.HiddenHazardType, y.States,y.CompleteDate,x.LimitTime };
int yhMonthSum = 0, yhYearSum = 0;
var list = new List();
@@ -2310,32 +2323,41 @@ namespace FineUIPro.Web.HSSE.Manager
};
//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 Commonly1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && (x.Risk_Level == "一般" || x.Risk_Level==null || x.Risk_Level == "") && x.States == "3").Count();
+ var MajorNum1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.Risk_Level == "重大" && x.States == "3").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 Yzg1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.States == "2"
+ && x.RectificationTime<= x.RectificationPeriod ).Count();
//专项检查(一般和重大)
- var Commonly2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "1" && x.CompleteStatus == true).Count();
+ var Commonly2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && (x.HiddenHazardType == "1"|| x.HiddenHazardType==null || x.HiddenHazardType == "") && 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 Yzg2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus == true
+ && x.CompletedDate<=x.Rectification_Date).Count();
//综合检查(一般和重大)
- var Commonly3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.CompleteStatus == true).Count();
+ var Commonly3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && (x.HiddenHazardType == "一般" || x.HiddenHazardType==null || 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 Yzg3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus == true && x.HandleStep=="5"
+ && x.CompletedDate<= x.LimitedDate).Count();
//隐患整改(一般和重大)
- var Commonly4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.States == "5").Count();
+ var Commonly4 = YhzgdList.Where(x => x.UnitId == u.UnitId && (x.HiddenHazardType == "一般"
+ || x.HiddenHazardType == null || 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();
+ var Yzg4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.States == "5"
+ && x.CompleteDate<= x.LimitTime).Count();
model.CommonlyNum = Commonly1 + Commonly2 + Commonly3 + Commonly4;
@@ -2350,7 +2372,7 @@ namespace FineUIPro.Web.HSSE.Manager
{
model.ReRate = "0";
}
- yhMonthSum += Sum1 + Sum2 + Sum3 + Sum4;
+ yhMonthSum += Convert.ToInt32(model.CommonlyNum) + Convert.ToInt32(model.MajorNum);
list.Add(model);
i++;
@@ -2364,21 +2386,25 @@ namespace FineUIPro.Web.HSSE.Manager
//安全巡检list
var HseListYear = (from x in Funs.DB.View_Hazard_HazardRegister
where x.ProblemTypes == "1" && x.ProjectId == ProjectId && x.CheckTime >= yearStartTime && x.CheckTime <= endTime
+ && x.States == "3"
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
+ && x.CompleteStatus == true
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
+ && x.CompleteStatus == true
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
+ && y.States == "5"
select new { y.UnitId, x.HiddenHazardType, y.States }).ToList().Count;
txtYearHdangerCount.Text = (HseListYear + CheckSpecialListYear + CheckColligationListYear + YhzgdListYear).ToString();
#endregion
@@ -2572,8 +2598,14 @@ namespace FineUIPro.Web.HSSE.Manager
};
drillRecordList.Add(model);
}
- this.DrillRecordListGrid.DataSource = drillRecordList;
- this.DrillRecordListGrid.DataBind();
+ if (drillRecordList.Count == 0)
+ {
+ DrillRecordListGrid.EmptyText = "暂无数据 ";
+ }
+ else {
+ this.DrillRecordListGrid.DataSource = drillRecordList;
+ this.DrillRecordListGrid.DataBind();
+ }
}
#endregion
@@ -2981,9 +3013,11 @@ namespace FineUIPro.Web.HSSE.Manager
FirstAidDressing = 0, //
MedicalTreatment = 0,//
WorkLimitation = 0,//
+ LossCount=0,
LossPerson = (from x in reports where x.UnitId == Const.UnitId_CWCEC select x.PeopleNum).Sum(),
LossWorkTime = (from x in reports where x.UnitId == Const.UnitId_CWCEC select x.WorkingHoursLoss).Sum(),
LossEconomy = (from x in reports where x.UnitId == Const.UnitId_CWCEC select x.EconomicLoss).Sum() + (from x in reports where x.UnitId == Const.UnitId_CWCEC select x.EconomicOtherLoss).Sum(),
+ DeathCount=0,
DeathPerson = (from x in deathReports where x.UnitId == Const.UnitId_CWCEC select x.PeopleNum).Sum(),
DeathWorkTime = (from x in deathReports where x.UnitId == Const.UnitId_CWCEC select x.WorkingHoursLoss).Sum(),
DeathEconomy = (from x in deathReports where x.UnitId == Const.UnitId_CWCEC select x.EconomicLoss).Sum() + (from x in deathReports where x.UnitId == Const.UnitId_CWCEC select x.EconomicOtherLoss).Sum(),
@@ -2997,6 +3031,8 @@ namespace FineUIPro.Web.HSSE.Manager
FirstAidDressing = 0, //
MedicalTreatment = 0,//
WorkLimitation = 0,//
+ LossCount = 0,
+ DeathCount = 0,
LossPerson = (from x in reports
join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId
where y.UnitType == Const.ProjectUnitType_2
@@ -3044,7 +3080,7 @@ namespace FineUIPro.Web.HSSE.Manager
JObject summary = new JObject();
int TotalAttemptedIncidents = 0, TotalFirstAidDressing = 0, TotalMedicalTreatment = 0, TotalWorkLimitation = 0, TotalLossPerson = 0, TotalDeathPerson = 0;
- decimal TotalLossWorkTime = 0, TotalLossEconomy = 0, TotalDeathWorkTime = 0, TotalDeathEconomy = 0;
+ decimal TotalLossWorkTime = 0, TotalLossEconomy = 0, TotalDeathWorkTime = 0, TotalDeathEconomy = 0 ,TotalLossCount=0,TotalDeathCount=0;
foreach (JObject mergedRow in gvInjuryAccident.GetMergedData())
{
JObject values = mergedRow.Value("values");
@@ -3084,15 +3120,25 @@ namespace FineUIPro.Web.HSSE.Manager
{
TotalDeathEconomy += values.Value("DeathEconomy");
}
+ if (!string.IsNullOrEmpty(values["LossCount"].ToString()))
+ {
+ TotalLossCount += values.Value("LossCount");
+ }
+ if (!string.IsNullOrEmpty(values["DeathCount"].ToString()))
+ {
+ TotalDeathCount += values.Value("DeathCount");
+ }
}
summary.Add("UnitName", "项目合计");
summary.Add("AttemptedIncidents", TotalAttemptedIncidents.ToString("F2"));
summary.Add("FirstAidDressing", TotalFirstAidDressing.ToString("F2"));
summary.Add("MedicalTreatment", TotalMedicalTreatment.ToString("F2"));
summary.Add("WorkLimitation", TotalWorkLimitation.ToString("F2"));
+ summary.Add("LossCount", TotalLossCount.ToString("F2"));
summary.Add("LossPerson", TotalLossPerson.ToString("F2"));
summary.Add("LossWorkTime", TotalLossWorkTime.ToString("F2"));
summary.Add("LossEconomy", TotalLossEconomy.ToString("F2"));
+ summary.Add("DeathCount", TotalDeathCount.ToString("F2"));
summary.Add("DeathPerson", TotalDeathPerson.ToString("F2"));
summary.Add("DeathWorkTime", TotalDeathWorkTime.ToString("F2"));
summary.Add("DeathEconomy", TotalDeathEconomy.ToString("F2"));
diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.designer.cs
index 93eaaa92..a49dc917 100644
--- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.designer.cs
@@ -1292,6 +1292,15 @@ namespace FineUIPro.Web.HSSE.Manager
///
protected global::FineUIPro.NumberBox NumberBox20;
+ ///
+ /// NumberBox27 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox NumberBox27;
+
///
/// NumberBox21 控件。
///
@@ -1319,6 +1328,15 @@ namespace FineUIPro.Web.HSSE.Manager
///
protected global::FineUIPro.NumberBox NumberBox23;
+ ///
+ /// NumberBox28 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox NumberBox28;
+
///
/// NumberBox24 控件。
///
diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCNew.aspx.cs b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCNew.aspx.cs
index 7cd60859..75e3ba0e 100644
--- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCNew.aspx.cs
+++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCNew.aspx.cs
@@ -580,7 +580,7 @@ namespace FineUIPro.Web.HSSE.Manager
bkmark = doc.Range.Bookmarks["createdate"];
if (bkmark != null)
{
- //bkmark.Text = weekModel.CreateDate.ToString().Split(' ')[0].Replace('/', '.');
+ bkmark.Text = model.EndDate.ToString().Split(' ')[0].Replace('/', '.');
}
bkmark = doc.Range.Bookmarks["projectname"];
@@ -616,10 +616,10 @@ namespace FineUIPro.Web.HSSE.Manager
}
bkmark = doc.Range.Bookmarks["fromcode"];
- //fromcode,项目号-RM-PQM-顺序号
+ //fromcode,项目号-RM-HSE-顺序号
if (bkmark != null)
{
- bkmark.Text = pModel.ProjectCode + "-RM-PQM-" + model.MonthReportCode;
+ bkmark.Text = pModel.ProjectCode + "-RM-HSE-" + model.MonthReportCode;
}
#endregion
#region 1.项目概况
@@ -720,8 +720,15 @@ namespace FineUIPro.Web.HSSE.Manager
//创建行
Row row = new Row(doc);
row.Cells.Add(CreateCell(ConvertUnitName(item.UnitId), doc, table.Rows[1].Cells[0].CellFormat.Width, "", "", "unit"));
- row.Cells.Add(CreateCell(item.SumPersonNum.ToString(), doc, table.Rows[1].Cells[1].CellFormat.Width));
- row.Cells.Add(CreateCell(item.SumOutPersonNum.ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width));
+ if (item.UnitId == Const.UnitId_CWCEC)
+ {
+ row.Cells.Add(CreateCell(item.SumPersonNum.ToString(), doc, table.Rows[1].Cells[1].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.SumOutPersonNum.ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width));
+ }
+ else {
+ row.Cells.Add(CreateCell(item.SumPersonNum.ToString(), doc, table.Rows[1].Cells[1].CellFormat.Width+ table.Rows[1].Cells[2].CellFormat.Width));
+ }
+
row.Cells.Add(CreateCell(item.HSEPersonNum.ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width));
row.Cells.Add(CreateCell(item.ContractRange.ToString(), doc, table.Rows[1].Cells[4].CellFormat.Width));
row.Cells.Add(CreateCell(item.Remark.ToString(), doc, table.Rows[1].Cells[5].CellFormat.Width));
@@ -735,8 +742,10 @@ namespace FineUIPro.Web.HSSE.Manager
//创建合计
Row rowhj = new Row(doc);
rowhj.Cells.Add(CreateCell("合计", doc, table.Rows[1].Cells[0].CellFormat.Width, "", "", "unit"));
- rowhj.Cells.Add(CreateCell((from x in sorts select x.SumPersonNum ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[1].CellFormat.Width));
- rowhj.Cells.Add(CreateCell((from x in sorts select x.SumOutPersonNum ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell(((from x in sorts select x.SumPersonNum ?? 0).Sum()
+ + (from x in sorts select x.SumOutPersonNum ?? 0).Sum()).ToString(), doc, table.Rows[1].Cells[1].CellFormat.Width
+ +table.Rows[1].Cells[2].CellFormat.Width));
+
rowhj.Cells.Add(CreateCell((from x in sorts select x.HSEPersonNum ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width));
rowhj.Cells.Add(CreateCell("", doc, table.Rows[1].Cells[4].CellFormat.Width));
rowhj.Cells.Add(CreateCell("", doc, table.Rows[1].Cells[5].CellFormat.Width));
@@ -907,6 +916,9 @@ namespace FineUIPro.Web.HSSE.Manager
//自动设置表格样式
table.AutoFit(AutoFitBehavior.FixedColumnWidths);
}
+ else {
+ whileIndex += 1;
+ }
#endregion
#region 4.3 本月隐患整改情况
@@ -917,7 +929,7 @@ namespace FineUIPro.Web.HSSE.Manager
where x.MonthReportId == Id && y.ProjectId == this.ProjectId
orderby y.UnitType
select x).ToList();
- if (HiddenDangersorts.Count>0)
+ if (HiddenDangersorts.Count > 0)
{
isYm = true;
whileIndex += 1;
@@ -952,7 +964,7 @@ namespace FineUIPro.Web.HSSE.Manager
//合计
rowhj = new Row(doc);
- rowhj.Cells.Add(CreateCell("本月隐患总数", doc, table.FirstRow.Cells[0].CellFormat.Width+table.FirstRow.Cells[1].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell("本月隐患总数", doc, table.FirstRow.Cells[0].CellFormat.Width + table.FirstRow.Cells[1].CellFormat.Width));
rowhj.Cells.Add(CreateCell(model.MonthHdangerCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width));
rowhj.Cells.Add(CreateCell("年度隐患总数", doc, table.FirstRow.Cells[3].CellFormat.Width));
rowhj.Cells.Add(CreateCell(model.YearHdangerCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width));
@@ -962,10 +974,911 @@ namespace FineUIPro.Web.HSSE.Manager
table.AutoFit(AutoFitBehavior.FixedColumnWidths);
}
+ else {
+ whileIndex += 1;
+ }
#endregion
#region 4.4项目作业许可管理数据
+ var mpModel = db.Manager_ProjectAssignment.FirstOrDefault(x => x.MonthReportId == Id);
+ whileIndex += 1;
+ if (mpModel!=null)
+ {
+ bkmark = doc.Range.Bookmarks["nbFireWorkCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.FireWorkCount.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["nbBreakGroundCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.BreakGroundCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbLimitedSpaceCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.LimitedSpaceCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbElectricityCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.ElectricityCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbHeightWorkCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.HeightWorkCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbRadialWork"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.RadialWork.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbLiftingWorkCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.LiftingWorkCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbNightWork"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.NightWork.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbMonthCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.MonthCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbYearCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.YearCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["nbProCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = mpModel.ProCount.ToString();
+ }
+ }
+
+
+
+ #endregion
+
+ #region 4.5项目本月危大工程管理数据
+ bkmark = doc.Range.Bookmarks["MonthExpertNoCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text =model.MonthExpertNoCount.ToString();
+ }
+
+ bkmark = doc.Range.Bookmarks["MonthExpertCount"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.MonthExpertCount.ToString();
+ }
+
+ whileIndex += 1;
+ #endregion
+
+ #region 4.6.1 应急预案发布情况
+ var emergencyPlanList = db.Manager_EmergencyPlan.Where(x => x.MonthReportId == Id).OrderBy(x => x.SortIndex).ToList();
+ if (emergencyPlanList.Count > 0)
+ {
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ numberIndex = 1;
+ foreach (var item in emergencyPlanList)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.CaType, doc, table.FirstRow.Cells[1].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.MonthCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.YearCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ProCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ whileIndex += 1;
+ }
+ #endregion
+
+ #region 4.6.2 应急演练工作情况说明
+ var drillRecordList = db.Manager_DrillRecordList.Where(x => x.MonthReportId == Id).OrderBy(x => x.Ddate).ToList();
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ if (drillRecordList.Count > 0)
+ {
+
+ numberIndex = 1;
+ foreach (var item in drillRecordList)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.Dname, doc, table.FirstRow.Cells[1].CellFormat.Width));
+ row.Cells.Add(CreateCell(Convert.ToDateTime(item.Ddate).ToString("yyyy-MM-dd"), doc, table.FirstRow.Cells[2].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DrillRecordTypeName.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.PersonNum.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DrillCost.ToString(), doc, table.FirstRow.Cells[5].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ numberIndex = 1;
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell("暂无数据", doc, table.FirstRow.Cells[0].CellFormat.Width
+ + table.FirstRow.Cells[1].CellFormat.Width+ table.FirstRow.Cells[2].CellFormat.Width
+ + table.FirstRow.Cells[3].CellFormat.Width
+ + table.FirstRow.Cells[4].CellFormat.Width
+ + table.FirstRow.Cells[5].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ #endregion
+
+ #region 4.6.3其他应急管理工作描述
+ bkmark = doc.Range.Bookmarks["EmergencyManagementWorkDef"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.EmergencyManagementWorkDef.ToString();
+ }
+ #endregion
+
+ #region 4.7 HSE奖励与处罚
+ whileIndex += 1;
+ var rewardAndPunishSortCs = db.Manager_RewardAndPunishSortC.FirstOrDefault(x=>x.MonthReportId==Id);
+ if (rewardAndPunishSortCs!=null)
+ {
+ bkmark = doc.Range.Bookmarks["RewardNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.RewardNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["RewardMoney"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.RewardMoney.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["ProjectRewardMoney"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.ProjectRewardMoney.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["PunishNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.PunishNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["PunishMoney"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.PunishMoney.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["ProjectPunishMoney"];
+ if (bkmark != null)
+ {
+ bkmark.Text = rewardAndPunishSortCs.ProjectPunishMoney.ToString();
+ }
+ }
+ #endregion
+
+ #region 4.8HSE现场其他管理情况
+ var otherManagements = BLL.OtherManagementCService.GetOtherManagementByMonthReportId(Id);
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ if (otherManagements.Count > 0)
+ {
+
+ numberIndex = 1;
+ foreach (var item in otherManagements)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ManagementDes, doc, table.FirstRow.Cells[1].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ numberIndex = 1;
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell("暂无数据", doc, table.FirstRow.Cells[0].CellFormat.Width
+ + table.FirstRow.Cells[1].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+
+ }
+ #endregion
+
+ #region 5.1 本月项目HSE费用投入统计
+ var fiveExpenses = BLL.FiveExpenseCService.GetFiveExpenseByMonthReportId(Id);
+ if (fiveExpenses.Count > 0)
+ {
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ numberIndex = 2;
+ foreach (var item in fiveExpenses)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell((numberIndex - 1).ToString(), doc, table.Rows[1].Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.InvestmentProject, doc, table.Rows[1].Cells[1].CellFormat.Width, "", "", "unit"));
+ row.Cells.Add(CreateCell(item.PlanCostMonth.ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.PlanCostYear.ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ActualCostMonth.ToString(), doc, table.Rows[1].Cells[4].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ActualCostYear.ToString(), doc, table.Rows[1].Cells[5].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+
+ //求和
+ //创建合计
+ rowhj = new Row(doc);
+ rowhj.Cells.Add(CreateCell("合计", doc, (table.Rows[1].Cells[0].CellFormat.Width + table.Rows[1].Cells[1].CellFormat.Width)));
+ rowhj.Cells.Add(CreateCell((from x in fiveExpenses select x.PlanCostMonth ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in fiveExpenses select x.PlanCostYear ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in fiveExpenses select x.ActualCostMonth ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[4].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in fiveExpenses select x.ActualCostYear ?? 0).Sum().ToString(), doc, table.Rows[1].Cells[5].CellFormat.Width));
+ table.Rows.Insert(numberIndex, rowhj);
+
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ whileIndex += 1;
+ }
+ #endregion
+
+ #region 6.1(1) HSE责任事故/事件管理绩效数据统计
+ var attemptedModel = db.Manager_Attempted.FirstOrDefault(x => x.MonthReportId == Id);
+ if (attemptedModel != null)
+ {
+ bkmark = doc.Range.Bookmarks["WhMonthNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = attemptedModel.WhMonthNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["WhYearNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = attemptedModel.WhYearNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["FbsMonthNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = attemptedModel.FbsMonthNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["FbsYearNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = attemptedModel.FbsYearNum.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["ProNum"];
+ if (bkmark != null)
+ {
+ bkmark.Text = attemptedModel.ProNum.ToString();
+ }
+ whileIndex += 1;
+ }
+ #endregion
+
+ #region 6.1(2)本月伤害事故统计
+ var injuryAccidents = BLL.InjuryAccidentCService.GetInjuryAccidentCByMonthReportId(Id);
+ if (injuryAccidents.Count > 0)
+ {
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 4) != " 事故")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ numberIndex = 4;
+ foreach (var item in injuryAccidents)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(item.UnitName, doc, table.Rows[3].Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.FirstAidDressing.ToString(), doc, table.Rows[3].Cells[1].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.MedicalTreatment.ToString(), doc, table.Rows[3].Cells[2].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.WorkLimitation.ToString(), doc, table.Rows[3].Cells[3].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.LossCount.ToString(), doc, table.Rows[3].Cells[4].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.LossPerson.ToString(), doc, table.Rows[3].Cells[5].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.LossWorkTime.ToString(), doc, table.Rows[3].Cells[6].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.LossEconomy.ToString(), doc, table.Rows[3].Cells[7].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DeathCount.ToString(), doc, table.Rows[3].Cells[8].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DeathPerson.ToString(), doc, table.Rows[3].Cells[9].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DeathWorkTime.ToString(), doc, table.Rows[3].Cells[10].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.DeathEconomy.ToString(), doc, table.Rows[3].Cells[11].CellFormat.Width));
+
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+
+ //求和
+ //创建合计
+ rowhj = new Row(doc);
+ rowhj.Cells.Add(CreateCell("项目合计", doc, (table.Rows[4].Cells[0].CellFormat.Width)));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.FirstAidDressing ?? 0).Sum().ToString(), doc,
+ table.Rows[4].Cells[1].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.MedicalTreatment ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[2].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.WorkLimitation ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[3].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.LossCount ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[4].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.LossPerson ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[5].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.LossWorkTime ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[6].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.LossEconomy ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[7].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.DeathCount ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[8].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.DeathPerson ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[9].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.DeathWorkTime ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[10].CellFormat.Width));
+ rowhj.Cells.Add(CreateCell((from x in injuryAccidents select x.DeathEconomy ?? 0).Sum().ToString(), doc, table.Rows[3].Cells[11].CellFormat.Width));
+
+ table.Rows.Insert(numberIndex, rowhj);
+
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ #endregion
+
+ #region 6.2 HSE责任事故/事件描述
+ bkmark = doc.Range.Bookmarks["Def"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.AccidentDef.ToString();
+ }
+ #endregion
+
+ #region 6.3 HSE目标实现情况
+ bkmark = doc.Range.Bookmarks["Goalach1"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.Goalach1.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["Goalach2"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.Goalach2.ToString();
+ }
+ bkmark = doc.Range.Bookmarks["Goalach3"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.Goalach3.ToString();
+ }
+ whileIndex += 1;
+ #endregion
+
+ #region 7.1 HSE工作计划
+ var otherWorkPlanCs = BLL.OtherWorkPlanCService.GetOtherWorkPlanByMonthReportId(Id);
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ if (otherWorkPlanCs.Count > 0)
+ {
+
+ numberIndex = 1;
+ foreach (var item in otherWorkPlanCs)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.WorkContent, doc, table.FirstRow.Cells[1].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ numberIndex = 1;
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell("暂无数据", doc, table.FirstRow.Cells[0].CellFormat.Width
+ + table.FirstRow.Cells[1].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ #endregion
+
+ #region 8 HSE合规义务识别与评价
+ var complianceObligationsCs = (from x in Funs.DB.Manager_Month_ComplianceObligationsC where x.MonthReportId == Id select x).ToList();
+ isYm = true;
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ //跳过页眉的表头
+ while (isYm)
+ {
+ if (table.Range.Text.Substring(0, 2) != "序号")
+ {
+ whileIndex += 1;
+ table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, whileIndex, true);
+ }
+ else
+ {
+ isYm = false;
+ }
+ }
+ if (complianceObligationsCs.Count > 0)
+ {
+
+ numberIndex = 1;
+ foreach (var item in complianceObligationsCs)
+ {
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.InformationContent, doc, table.FirstRow.Cells[1].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ResponseMeasures, doc, table.FirstRow.Cells[2].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.ImplementationStatus, doc, table.FirstRow.Cells[3].CellFormat.Width));
+ row.Cells.Add(CreateCell(item.EvaluationConclusion, doc, table.FirstRow.Cells[4].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ numberIndex++;
+ }
+ //自动设置表格样式
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ else {
+ numberIndex = 1;
+ Row row = new Row(doc);
+ row.Cells.Add(CreateCell("暂无数据", doc, table.FirstRow.Cells[0].CellFormat.Width
+ + table.FirstRow.Cells[1].CellFormat.Width + table.FirstRow.Cells[2].CellFormat.Width
+ + table.FirstRow.Cells[3].CellFormat.Width
+ + table.FirstRow.Cells[4].CellFormat.Width));
+ table.Rows.Insert(numberIndex, row);
+ table.AutoFit(AutoFitBehavior.FixedColumnWidths);
+ }
+ #endregion
+
+ #region 9 需协调解决的主要问题
+ bkmark = doc.Range.Bookmarks["Question"];
+ if (bkmark != null)
+ {
+ bkmark.Text = model.Question.ToString();
+ }
+ #endregion
+
+ #region 10 项目现场HSE影像照片
+ var txtReportList = Funs.DB.Report_TextBoxContent.Where(x => x.ReportId == Id).ToList();
+ string imageUrl = "res/images/R-C.png";
+ var imageUrl1 = txtReportList.FirstOrDefault(x => x.ContentType == "10-1").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl1) && imageUrl1 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl1;
+ builder.MoveToBookmark("ImageUrl1");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl1, out JpgSize, out Wpx, out Hpx);
+ if (File.Exists(url))
+ {
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl2 = txtReportList.FirstOrDefault(x => x.ContentType == "10-2").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl2) && imageUrl2 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl2;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl2");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl2, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl3 = txtReportList.FirstOrDefault(x => x.ContentType == "10-3").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl3) && imageUrl3 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl3;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl3");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl3, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl4 = txtReportList.FirstOrDefault(x => x.ContentType == "10-4").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl4) && imageUrl4 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl4;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl4");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl4, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl5 = txtReportList.FirstOrDefault(x => x.ContentType == "10-5").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl5) && imageUrl5 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl5;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl5");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl5, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl6 = txtReportList.FirstOrDefault(x => x.ContentType == "10-6").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl6) && imageUrl6 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl6;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl6");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl6, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl7 = txtReportList.FirstOrDefault(x => x.ContentType == "10-7").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl7) && imageUrl7 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl7;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl7");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl7, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl8 = txtReportList.FirstOrDefault(x => x.ContentType == "10-8").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl8) && imageUrl8 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl8;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl8");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl8, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl9 = txtReportList.FirstOrDefault(x => x.ContentType == "10-9").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl9) && imageUrl9 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl9;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl9");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl9, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl10 = txtReportList.FirstOrDefault(x => x.ContentType == "10-10").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl10) && imageUrl10 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl10;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl10");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl10, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl11 = txtReportList.FirstOrDefault(x => x.ContentType == "10-11").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl11) && imageUrl11 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl11;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl11");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl11, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ var imageUrl12 = txtReportList.FirstOrDefault(x => x.ContentType == "10-12").ImageUrl;
+ if (!string.IsNullOrWhiteSpace(imageUrl12) && imageUrl12 != imageUrl)
+ {
+ string rootPathUrl = rootPath.Replace("\\", "/");
+ string url = rootPathUrl + imageUrl12;
+ //DocumentBuilder builder = new DocumentBuilder(doc);
+ builder.MoveToBookmark("ImageUrl12");
+ if (!string.IsNullOrEmpty(url))
+ {
+ System.Drawing.Size JpgSize;
+ float Wpx;
+ float Hpx;
+ UploadAttachmentService.getJpgSize(rootPathUrl + imageUrl12, out JpgSize, out Wpx, out Hpx);
+ //double w = 1;
+ //w = JpgSize.Width / 50.0;
+ if (File.Exists(url))
+ {
+ //builder.InsertImage(url, JpgSize.Width / w, JpgSize.Height / w);
+ builder.InsertImage(url, 200, 150);
+ }
+ }
+ }
+
+ #region 图片文字备注
+ bkmark = doc.Range.Bookmarks["ImageContent1"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-1").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent2"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-2").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent3"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-3").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent4"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-4").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent5"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-5").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent6"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-6").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent7"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-7").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent8"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-8").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent9"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-9").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent10"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-10").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent11"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-11").ContentText;
+ }
+
+ bkmark = doc.Range.Bookmarks["ImageContent12"];
+ if (bkmark != null)
+ {
+ bkmark.Text = txtReportList.FirstOrDefault(x => x.ContentType == "10-12").ContentText;
+ }
+ #endregion
#endregion
#region 设置页眉上的数据
@@ -982,7 +1895,7 @@ namespace FineUIPro.Web.HSSE.Manager
//项目名称
table.Rows[1].Cells[2].FirstParagraph.Runs[0].Text = pModel.ProjectName;
- table.Rows[1].Cells[3].FirstParagraph.Runs[0].Text = pModel.ProjectCode + "-RM-PQM-" + model.MonthReportCode;
+ table.Rows[1].Cells[3].FirstParagraph.Runs[0].Text = pModel.ProjectCode + "-RM-HSE-" + model.MonthReportCode;
//总页数
table.Rows[2].Cells[7].FirstParagraph.Runs[0].Text = doc.PageCount.ToString();
diff --git a/SGGL/FineUIPro.Web/Images/Logo1.jpg b/SGGL/FineUIPro.Web/Images/Logo1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ff316d34ce9e632e6eb007fd084803164527e8ff
GIT binary patch
literal 141660
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 |