2023-09-01 08:53:55 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
using BLL;
|
|
|
|
|
using Model;
|
|
|
|
|
using AspNet = System.Web.UI.WebControls;
|
|
|
|
|
|
|
|
|
|
namespace FineUIPro.Web.ZHGL.InspectionSummary
|
|
|
|
|
{
|
|
|
|
|
public partial class InspectionSummary : PageBase
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 页面加载
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!IsPostBack)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 加载表头
|
|
|
|
|
/// </summary>
|
|
|
|
|
protected void Page_Init(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
InitGrid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 加载表头
|
|
|
|
|
private void InitGrid()
|
|
|
|
|
{
|
|
|
|
|
//根据在建项目获取表头
|
|
|
|
|
var list = Funs.DB.Base_Project.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).OrderBy(x => x.ProjectCode).ToList();
|
|
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
GroupField p = new GroupField();
|
|
|
|
|
p.Width = Unit.Pixel(200);
|
|
|
|
|
p.HeaderText = list[i].ShortName;
|
|
|
|
|
p.TextAlign = TextAlign.Left;
|
|
|
|
|
//p.HeaderToolTip= list[i].
|
|
|
|
|
|
|
|
|
|
BoundField person = new BoundField();
|
|
|
|
|
person.Width = Unit.Pixel(200);
|
|
|
|
|
person.DataField = "ThisProject" + (i + 1).ToString();
|
|
|
|
|
#region 加载施工、安全、质量经理
|
|
|
|
|
var textJl = "";
|
|
|
|
|
var getPUser = Funs.DB.Project_ProjectUser.Where(x => x.ProjectId == list[i].ProjectId);
|
|
|
|
|
var getSysUser = Funs.DB.Sys_User;
|
|
|
|
|
if (getPUser.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
///施工经理
|
|
|
|
|
var c = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.ConstructionManager));
|
|
|
|
|
if (c != null)
|
|
|
|
|
{
|
|
|
|
|
textJl += getSysUser.Where(x => x.UserId == c.UserId).FirstOrDefault().UserName + ",";
|
|
|
|
|
}
|
|
|
|
|
////安全经理
|
|
|
|
|
var h = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.HSSEManager));
|
|
|
|
|
if (h != null)
|
|
|
|
|
{
|
|
|
|
|
textJl += getSysUser.Where(x => x.UserId == h.UserId).FirstOrDefault().UserName + ",";
|
|
|
|
|
}
|
|
|
|
|
////质量经理
|
|
|
|
|
var qa = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.QAManager));
|
|
|
|
|
if (qa != null)
|
|
|
|
|
{
|
|
|
|
|
textJl += getSysUser.Where(x => x.UserId == qa.UserId).FirstOrDefault().UserName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
person.HeaderText = textJl;
|
|
|
|
|
person.DataToolTipField = "CompileDate" + (i + 1).ToString();
|
|
|
|
|
person.ColumnID = "ThisProject" + (i + 1).ToString();
|
|
|
|
|
|
|
|
|
|
p.Columns.Add(person);
|
|
|
|
|
|
|
|
|
|
Grid1.Columns.Add(p);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 判断生成操作
|
|
|
|
|
/// </summary>
|
|
|
|
|
protected void btnNew_Juge(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(this.drpCompileDateMonth.Text.Trim()))
|
|
|
|
|
{
|
|
|
|
|
ShowNotify("日期不能为空。", MessageBoxIcon.Warning);
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//根据日期查询是否有数据
|
|
|
|
|
var modelSum = Funs.DB.Inspection_Summary.Where(x => x.CompileDateMonth == this.drpCompileDateMonth.Text.Trim()).FirstOrDefault();
|
|
|
|
|
//查到数据,二次确认
|
|
|
|
|
if (modelSum != null)
|
|
|
|
|
{
|
|
|
|
|
PageContext.RegisterStartupScript(Confirm.GetShowReference("该日期已生成数据,是否确认重新生成?", String.Empty, MessageBoxIcon.Question,
|
|
|
|
|
PageManager1.GetCustomEventReference(false, "Confirmgd_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
btnNew_Click();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 确认按钮
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.EventArgument == "Confirmgd_OK" || e.EventArgument == "Confirmgy_OK")
|
|
|
|
|
{
|
|
|
|
|
// 根据日期查询是否有数据
|
|
|
|
|
var modelSum = Funs.DB.Inspection_Summary.Where(x => x.CompileDateMonth == this.drpCompileDateMonth.Text.Trim()).FirstOrDefault();
|
|
|
|
|
//删除数据
|
|
|
|
|
InspectionSummaryService.Delete(modelSum.CompileDateMonth);
|
|
|
|
|
BindGrid();
|
|
|
|
|
btnNew_Click();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public class ProjectIdAndDate {
|
|
|
|
|
public string ProjectId { get; set; }
|
|
|
|
|
|
|
|
|
|
public DateTime? Mdate { get; set; }
|
2023-09-18 19:58:10 +08:00
|
|
|
|
|
|
|
|
|
public string state { get; set; }
|
2023-09-01 08:53:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 生成按钮
|
|
|
|
|
protected void btnNew_Click()
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(this.drpCompileDateMonth.Text.Trim()))
|
|
|
|
|
{
|
|
|
|
|
ShowNotify("日期不能为空。", MessageBoxIcon.Warning);
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Inspection_Summary> allList = new List<Inspection_Summary>();
|
|
|
|
|
#region 生成操作
|
|
|
|
|
//1.获取项目
|
|
|
|
|
var SummeryResult = "0";
|
|
|
|
|
#region 先一步查询各个表的数据
|
|
|
|
|
|
|
|
|
|
var getPersonLists = (from x in Funs.DB.View_SitePerson_Person
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId
|
|
|
|
|
}).ToList();
|
|
|
|
|
//特种作业人员
|
|
|
|
|
var tzPersonList = (from x in Funs.DB.SitePerson_Person
|
|
|
|
|
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
|
|
|
|
where y.PostType == Const.PostType_2 && x.OutTime == null
|
|
|
|
|
select new { x.ProjectId, y.PostType }).ToList();
|
|
|
|
|
|
|
|
|
|
//移动端安全巡检
|
|
|
|
|
var list2 = Funs.DB.View_Hazard_HazardRegister.Select(x => new View_Hazard_HazardRegister
|
|
|
|
|
{
|
|
|
|
|
ProblemTypes = x.ProblemTypes,
|
|
|
|
|
ProjectId = x.ProjectId,
|
2023-09-18 19:58:10 +08:00
|
|
|
|
CheckTime=x.CheckTime,
|
|
|
|
|
States=x.States
|
2023-09-01 08:53:55 +08:00
|
|
|
|
}).Where(x => x.ProblemTypes == "1").ToList();
|
|
|
|
|
//周例会
|
|
|
|
|
var list3 = Funs.DB.Meeting_WeekMeeting.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.WeekMeetingDate }).ToList();
|
|
|
|
|
//月例会
|
|
|
|
|
var list4 = Funs.DB.Meeting_MonthMeeting.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.MonthMeetingDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//作业票
|
|
|
|
|
var list5 = Funs.DB.View_License_LicenseManager
|
|
|
|
|
.Select(x => new ProjectIdAndDate { ProjectId = x.ProjectId, Mdate = x.CompileDate })
|
|
|
|
|
.ToList();
|
|
|
|
|
|
|
|
|
|
//工程师日志
|
|
|
|
|
var list6 = (from x in Funs.DB.Manager_HSSELog
|
|
|
|
|
where x.IsVisible !=false
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.CompileDate,
|
|
|
|
|
x.IsVisible
|
|
|
|
|
}).ToList();
|
|
|
|
|
//HSE管理月报
|
|
|
|
|
var list7 = Funs.DB.Manager_MonthReportC.Select(x=> new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.Months }).ToList();
|
|
|
|
|
|
|
|
|
|
//质量巡检
|
2023-09-18 19:58:10 +08:00
|
|
|
|
var list8 = Funs.DB.Check_CheckControl.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.CheckDate,state=x.State }).ToList();
|
2023-09-01 08:53:55 +08:00
|
|
|
|
|
|
|
|
|
//设备材料报验
|
|
|
|
|
var list10 = Funs.DB.Comprehensive_InspectionEquipment.Select
|
|
|
|
|
(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.InspectionDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//人员报验
|
|
|
|
|
var list11 = Funs.DB.Comprehensive_InspectionPerson.
|
|
|
|
|
Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.ApprovalTime }).ToList();
|
|
|
|
|
|
|
|
|
|
//机具报验
|
|
|
|
|
var list13 = Funs.DB.Comprehensive_InspectionMachine
|
|
|
|
|
.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.InspectionDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//设计变更管理
|
|
|
|
|
var list14 = Funs.DB.Comprehensive_DesignChangeOrder
|
|
|
|
|
.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.IssuedDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//施工方案管理
|
|
|
|
|
var list15 = Funs.DB.Comprehensive_GeneralPlanApproval
|
|
|
|
|
.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.ApprovalDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//设计交底管理
|
|
|
|
|
var list16 = Funs.DB.Comprehensive_DesignDetails
|
|
|
|
|
.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.DetailsDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//NCR
|
|
|
|
|
var list17 = Funs.DB.Comprehensive_NCRManagement
|
|
|
|
|
.Select(x=>new ProjectIdAndDate { ProjectId=x.ProjectId, Mdate = x.IssuedDate }).ToList();
|
|
|
|
|
|
|
|
|
|
//质量周报
|
|
|
|
|
var list18 = (from x in Funs.DB.Report_WeekAndMonthReport
|
|
|
|
|
where x.ReportType=="1"
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.EndDate,
|
|
|
|
|
x.ReportType
|
|
|
|
|
}).ToList();
|
|
|
|
|
|
|
|
|
|
//质量月报
|
|
|
|
|
var list19 = (from x in Funs.DB.Report_WeekAndMonthReport
|
|
|
|
|
where x.ReportType == "2"
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.EndDate,
|
|
|
|
|
x.ReportType
|
|
|
|
|
}).ToList();
|
|
|
|
|
|
|
|
|
|
//一次共检合格数
|
|
|
|
|
var list20 = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals y.InspectionId
|
2023-09-01 17:11:53 +08:00
|
|
|
|
where y.IsOnceQualified == true && y.InspectionDate != null
|
|
|
|
|
select new { y.ProjectId,y.InspectionDate,y.IsOnceQualified,x.InspectionId, Isid= y.InspectionId }).ToList();
|
2023-09-01 08:53:55 +08:00
|
|
|
|
////总数
|
|
|
|
|
var list21 = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals y.InspectionId
|
2023-09-01 17:11:53 +08:00
|
|
|
|
where y.InspectionDate != null
|
|
|
|
|
select new { y.ProjectId, x.InspectionId, Isid = y.InspectionId,y.InspectionDate }).ToList();
|
2023-09-01 08:53:55 +08:00
|
|
|
|
|
|
|
|
|
//关键事项
|
|
|
|
|
var list22 = (from x in Funs.DB.GJSX
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.CreateDate
|
|
|
|
|
}).ToList();
|
|
|
|
|
|
|
|
|
|
//人脸考勤
|
|
|
|
|
//var list23 = (from x in Funs.DB.T_d_facerecord
|
|
|
|
|
// select new { x.ProjectId }).ToList();
|
|
|
|
|
|
|
|
|
|
//实名制是否启用
|
|
|
|
|
var list24 = (from x in Funs.DB.RealName_SynchroSet
|
|
|
|
|
join y in Funs.DB.Base_Project on x.ProCode equals y.ProjectCode
|
|
|
|
|
select new { y.ProjectId }).ToList();
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
List<String> listProjectid = new List<string>();
|
|
|
|
|
var list = (from x in Funs.DB.Base_Project
|
|
|
|
|
where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null
|
|
|
|
|
orderby x.ProjectCode
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.ProjectState,
|
|
|
|
|
x.ProjectCode
|
|
|
|
|
}).ToList();
|
|
|
|
|
//查询所有的projectid数据
|
|
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
listProjectid.Add(list[i].ProjectId);
|
|
|
|
|
}
|
|
|
|
|
//wbs数据查询
|
|
|
|
|
var listWbs = Funs.DB.WBS_BreakdownProject.Select(x => new { ProjectId = x.ProjectId }).ToList();
|
|
|
|
|
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
var pid = list[i].ProjectId;
|
|
|
|
|
#region 安全模块
|
|
|
|
|
Inspection_Summary model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
//显示日期
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
//人员信息档案
|
|
|
|
|
model.InspectionSummaryMbId = "1";
|
|
|
|
|
model.SummeryResult = getPersonLists.Where(x => x.ProjectId == pid).ToList().Count().ToString();
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//特种作业人员
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "2";
|
|
|
|
|
model.SummeryResult = tzPersonList.Where(x=>x.ProjectId==pid).Count().ToString();
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//安全巡检
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "3";
|
|
|
|
|
var AqxjCount = list2.Where(x => x.ProjectId == pid).ToList().Count();
|
|
|
|
|
model.SummeryResult = AqxjCount.ToString();
|
|
|
|
|
//时间
|
|
|
|
|
if (AqxjCount > 0)
|
|
|
|
|
{
|
|
|
|
|
model.CompileDate = list2.Where(x => x.ProjectId == pid).OrderByDescending(x=>x.CheckTime).FirstOrDefault().CheckTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
2023-09-18 19:58:10 +08:00
|
|
|
|
//安全巡检已闭合
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "28";
|
|
|
|
|
AqxjCount = list2.Where(x => x.ProjectId == pid && x.States=="3").ToList().Count();
|
|
|
|
|
model.SummeryResult = AqxjCount.ToString();
|
|
|
|
|
//时间
|
|
|
|
|
if (AqxjCount > 0)
|
|
|
|
|
{
|
|
|
|
|
model.CompileDate = list2.Where(x => x.ProjectId == pid).OrderByDescending(x => x.CheckTime).FirstOrDefault().CheckTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
2023-09-01 08:53:55 +08:00
|
|
|
|
|
|
|
|
|
//周例会
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDate = DateTime.Now;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "4";
|
|
|
|
|
var ZlhCount = list3.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = ZlhCount.ToString();
|
|
|
|
|
if (ZlhCount > 0)
|
|
|
|
|
{
|
|
|
|
|
//会议时间
|
|
|
|
|
model.CompileDate = list3.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//月例会
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "5";
|
|
|
|
|
var YlhCount = list4.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = YlhCount.ToString();
|
|
|
|
|
if (YlhCount > 0)
|
|
|
|
|
{
|
|
|
|
|
//会议时间
|
|
|
|
|
model.CompileDate = list4.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//作业票
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "6";
|
|
|
|
|
var ZypCount = list5.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = ZypCount.ToString();
|
|
|
|
|
if (ZypCount>0)
|
|
|
|
|
{
|
|
|
|
|
//申请时间
|
|
|
|
|
model.CompileDate = list5.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//工作报告
|
|
|
|
|
|
|
|
|
|
//工程师日志
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "7";
|
|
|
|
|
var GcsrzCount = list6.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = GcsrzCount.ToString();
|
|
|
|
|
if (GcsrzCount>0)
|
|
|
|
|
{
|
|
|
|
|
//日志时间
|
|
|
|
|
model.CompileDate = list6.Where(x => x.ProjectId == pid).OrderByDescending(x => x.CompileDate).FirstOrDefault().CompileDate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//HSE管理月报
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "8";
|
|
|
|
|
var HsseGlybCount = list7.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = HsseGlybCount.ToString();
|
|
|
|
|
if (HsseGlybCount>0)
|
|
|
|
|
{
|
|
|
|
|
var date = Convert.ToDateTime(list7.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().
|
|
|
|
|
Mdate);
|
|
|
|
|
date = date.AddDays(24);
|
|
|
|
|
//月份(显示25号)
|
|
|
|
|
model.CompileDate = date;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 质量模块
|
|
|
|
|
|
|
|
|
|
//质量巡检
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDate = DateTime.Now;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "9";
|
|
|
|
|
var ZlxjCount = list8.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = ZlxjCount.ToString();
|
|
|
|
|
if (ZlxjCount>0)
|
|
|
|
|
{
|
|
|
|
|
//巡检日期
|
|
|
|
|
model.CompileDate = list8.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
2023-09-18 19:58:10 +08:00
|
|
|
|
//质量巡检已闭合项
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDate = DateTime.Now;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "29";
|
|
|
|
|
//已闭合
|
|
|
|
|
ZlxjCount = list8.Where(x => x.ProjectId == pid&&x.state=="7").ToList().Count;
|
|
|
|
|
model.SummeryResult = ZlxjCount.ToString();
|
|
|
|
|
if (ZlxjCount > 0)
|
|
|
|
|
{
|
|
|
|
|
//巡检日期
|
|
|
|
|
model.CompileDate = list8.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
2023-09-01 08:53:55 +08:00
|
|
|
|
//WBS数据
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "10";
|
2023-09-04 16:20:02 +08:00
|
|
|
|
var WbsCount = listWbs.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
if (WbsCount > 0)
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = "已裁剪";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
model.SummeryResult = "未裁剪";
|
|
|
|
|
}
|
2023-09-01 08:53:55 +08:00
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//综合管理
|
|
|
|
|
//设备材料报验
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "11";
|
|
|
|
|
var SbclByCount = list10.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SbclByCount.ToString();
|
|
|
|
|
if (SbclByCount>0)
|
|
|
|
|
{
|
|
|
|
|
//报验日期
|
|
|
|
|
model.CompileDate = list10.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//人员报验
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "12";
|
|
|
|
|
var RybyCount = list11.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = RybyCount.ToString();
|
|
|
|
|
if (RybyCount>0)
|
|
|
|
|
{
|
|
|
|
|
//批准日期
|
|
|
|
|
model.CompileDate = list11.Where(x => x.ProjectId == pid && x.Mdate != null).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//机具报验
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "13";
|
|
|
|
|
var JjbyCount = list13.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = JjbyCount.ToString();
|
|
|
|
|
if (JjbyCount>0)
|
|
|
|
|
{
|
|
|
|
|
//报验日期
|
|
|
|
|
model.CompileDate = list13.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//设计变更单管理
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "14";
|
|
|
|
|
var SjdbgCount = list14.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SjdbgCount.ToString();
|
|
|
|
|
if (SjdbgCount>0)
|
|
|
|
|
{
|
|
|
|
|
//下发日期
|
|
|
|
|
model.CompileDate = list14.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//施工方案管理
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "15";
|
|
|
|
|
var SgfaCount = list15.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SgfaCount.ToString();
|
|
|
|
|
if (SgfaCount>0)
|
|
|
|
|
{
|
|
|
|
|
//审批日期
|
|
|
|
|
model.CompileDate = list15.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//设计交底管理
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "16";
|
|
|
|
|
var SjjdCount = list16.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SjjdCount.ToString();
|
|
|
|
|
if (SjjdCount>0)
|
|
|
|
|
{
|
|
|
|
|
//交底日期
|
|
|
|
|
model.CompileDate = list16.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//NCR
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "17";
|
|
|
|
|
var NcrCount = list17.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = NcrCount.ToString();
|
|
|
|
|
if (NcrCount>0)
|
|
|
|
|
{
|
|
|
|
|
//下发日期
|
|
|
|
|
model.CompileDate = list17.Where(x => x.ProjectId == pid).OrderByDescending(x => x.Mdate).FirstOrDefault().Mdate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//质量报表管理
|
|
|
|
|
|
|
|
|
|
//质量周报
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "18";
|
|
|
|
|
var SgzbCount = list18.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SgzbCount.ToString();
|
|
|
|
|
if (SgzbCount>0)
|
|
|
|
|
{
|
|
|
|
|
//StartDate,EndDate
|
|
|
|
|
model.CompileDate = list18.Where(x => x.ProjectId == pid).OrderByDescending(x => x.EndDate).FirstOrDefault().EndDate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//质量月报
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "19";
|
|
|
|
|
var SgybCount = list19.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
model.SummeryResult = SgybCount.ToString();
|
|
|
|
|
if (SgybCount>0)
|
|
|
|
|
{
|
|
|
|
|
//StartDate,EndDate
|
|
|
|
|
model.CompileDate = list19.Where(x => x.ProjectId == pid).OrderByDescending(x => x.EndDate).FirstOrDefault().EndDate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//过程控制管理
|
|
|
|
|
|
|
|
|
|
//一次共检合格数
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "20";
|
|
|
|
|
var hgs = list20.Where(x=>x.ProjectId==pid).ToList().Count();
|
|
|
|
|
if (hgs>0)
|
|
|
|
|
{
|
|
|
|
|
//验收日期
|
|
|
|
|
model.CompileDate = list20.Where(x => x.ProjectId == pid).OrderByDescending(x => x.InspectionDate).FirstOrDefault().InspectionDate;
|
|
|
|
|
}
|
|
|
|
|
model.SummeryResult = hgs.ToString();
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//总数
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "21";
|
|
|
|
|
var zs = list21.Where(x => x.ProjectId == pid).ToList().Count();
|
|
|
|
|
model.SummeryResult = zs.ToString();
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//一次共检合格合格率
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "22";
|
|
|
|
|
if (zs > 0)
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = String.Format("{0:N2}", 100 * hgs / zs) + "%";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = "0%";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 关键事项
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "23";
|
|
|
|
|
var GjsxCount = list22.Where(x => x.ProjectId == pid).ToList().Count();
|
|
|
|
|
model.SummeryResult = GjsxCount.ToString();
|
|
|
|
|
if (GjsxCount>0)
|
|
|
|
|
{
|
|
|
|
|
//提出日期
|
|
|
|
|
model.CompileDate = list22.Where(x => x.ProjectId == pid).OrderByDescending(x => x.CreateDate).FirstOrDefault().CreateDate;
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 现场考勤(是否对接)
|
|
|
|
|
|
|
|
|
|
//人脸考勤
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "24";
|
|
|
|
|
var Rykq =db.T_d_facerecord.Where(x => x.ProjectId == pid).FirstOrDefault();
|
|
|
|
|
if (Rykq !=null)
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = "已对接";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
model.SummeryResult = "未对接";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
|
|
|
|
|
//集团实名制对接
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "25";
|
|
|
|
|
var Smz = list24.Where(x => x.ProjectId == pid).ToList().Count;
|
|
|
|
|
if (Smz > 0)
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = "已对接";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.SummeryResult = "未对接";
|
|
|
|
|
}
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 视频监控(是否对接)
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "26";
|
|
|
|
|
model.SummeryResult = "";
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 项目看板(暂时不弄)
|
|
|
|
|
model = new Inspection_Summary();
|
|
|
|
|
model.ProjectId = pid;
|
|
|
|
|
model.CompileDateMonth = this.drpCompileDateMonth.Text.Trim();
|
|
|
|
|
model.InspectionSummaryId = Guid.NewGuid().ToString();
|
|
|
|
|
model.InspectionSummaryMbId = "27";
|
|
|
|
|
model.SummeryResult = "";
|
|
|
|
|
allList.Add(model);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
InspectionSummaryService.AddAll(allList);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ShowNotify("生成成功!", MessageBoxIcon.Success);
|
|
|
|
|
BindGrid();
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 查询事件
|
|
|
|
|
protected void btnSearch_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(this.drpCompileDateMonth.Text.Trim()))
|
|
|
|
|
{
|
|
|
|
|
ShowNotify("日期不能为空。", MessageBoxIcon.Warning);
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//根据日期来加载 先判断有没有,没有则提示生成。
|
|
|
|
|
var count = Funs.DB.Inspection_Summary.Where(x => x.CompileDateMonth == this.drpCompileDateMonth.Text.Trim()).ToList().Count();
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
BindGrid();
|
|
|
|
|
ShowNotify("当前日期暂无数据,请点击生成。", MessageBoxIcon.Warning);
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
BindGrid();
|
|
|
|
|
PageContext.RegisterStartupScript("CloseRefresh()");
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 加载数据
|
|
|
|
|
private void BindGrid()
|
|
|
|
|
{
|
|
|
|
|
DataTable table = new DataTable();
|
|
|
|
|
table.Columns.Add(new DataColumn("SNumber", typeof(string)));
|
|
|
|
|
table.Columns.Add(new DataColumn("ModuleName", typeof(string)));
|
|
|
|
|
table.Columns.Add(new DataColumn("MenuP", typeof(string)));
|
|
|
|
|
table.Columns.Add(new DataColumn("MenuC", typeof(string)));
|
|
|
|
|
table.Columns.Add(new DataColumn("InspectionSummaryId", typeof(string)));
|
|
|
|
|
var list = Funs.DB.Base_Project.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).OrderBy(x => x.ProjectCode).ToList();
|
|
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
//当前数值的列
|
|
|
|
|
table.Columns.Add(new DataColumn("ThisProject" + (i + 1).ToString(), typeof(string)));
|
|
|
|
|
//当前日期的列
|
|
|
|
|
table.Columns.Add(new DataColumn("CompileDate" + (i + 1).ToString(), typeof(string)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DataRow row;
|
|
|
|
|
var SumModels = Funs.DB.Inspection_Summary.Where(x => x.CompileDateMonth == this.drpCompileDateMonth.Text.Trim()).FirstOrDefault();
|
|
|
|
|
if (SumModels == null)
|
|
|
|
|
{
|
|
|
|
|
table = null;
|
|
|
|
|
Grid1.DataSource = table;
|
|
|
|
|
Grid1.DataBind();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
//首先获取模板表
|
|
|
|
|
var mbList = db.Inspection_SummaryMb.OrderBy(x => x.SortId).ToList();
|
|
|
|
|
for (int i = 0; i < mbList.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
row = table.NewRow();
|
|
|
|
|
row[0] = mbList[i].SNumber;
|
|
|
|
|
row[1] = mbList[i].ModuleName;
|
|
|
|
|
row[2] = mbList[i].MenuP;
|
|
|
|
|
row[3] = mbList[i].MenuC;
|
|
|
|
|
row[4] = Guid.NewGuid().ToString();
|
|
|
|
|
int indexMb = 5;
|
|
|
|
|
//开始获取每列项目的数据
|
|
|
|
|
for (int k = 0; k < list.Count; k++)
|
|
|
|
|
{
|
|
|
|
|
var SumModel = db.Inspection_Summary.Where(x => x.ProjectId == list[k].ProjectId
|
|
|
|
|
&& x.InspectionSummaryMbId == mbList[i].InspectionSummaryMbId
|
|
|
|
|
&& x.CompileDateMonth == this.drpCompileDateMonth.Text.Trim()).FirstOrDefault();
|
|
|
|
|
row[indexMb] = SumModel.SummeryResult;
|
|
|
|
|
indexMb += 1;
|
|
|
|
|
row[indexMb] = SumModel.CompileDate.ToString().Split(' ')[0].Replace('/','-');
|
|
|
|
|
indexMb += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
table.Rows.Add(row);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Grid1.DataSource = table;
|
|
|
|
|
Grid1.DataBind();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 导出excel
|
|
|
|
|
protected void btnOut_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Response.ClearContent();
|
|
|
|
|
var FileName = "各项目巡查汇总(" + this.drpCompileDateMonth.Text.Trim() + ")";
|
|
|
|
|
Response.AddHeader("content-disposition", "attachment; filename="+ FileName + ".xls");
|
|
|
|
|
Response.ContentType = "application/vnd.ms-excel";
|
|
|
|
|
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
|
|
|
|
Response.Write(GetGridTableHtml(Grid1));
|
|
|
|
|
Response.End();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 格式化html
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private string GetGridTableHtml(Grid grid)
|
|
|
|
|
{
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
MultiHeaderTable mht = new MultiHeaderTable();
|
|
|
|
|
mht.ResolveMultiHeaderTable(Grid1.Columns);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.Append("<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel;charset=utf-8\"/>");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
|
|
|
|
|
|
|
|
|
////列数
|
|
|
|
|
//var rowCount = "";
|
|
|
|
|
//var list = Funs.DB.Base_Project.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).OrderBy(x => x.ProjectCode).ToList();
|
|
|
|
|
//for (int i = 0; i < list.Count; i++)
|
|
|
|
|
//{
|
|
|
|
|
// rowCount+="{}"
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
foreach (List<object[]> rows in mht.MultiTable)
|
|
|
|
|
{
|
|
|
|
|
sb.Append("<tr>");
|
|
|
|
|
foreach (object[] cell in rows)
|
|
|
|
|
{
|
|
|
|
|
int rowspan = Convert.ToInt32(cell[0]);
|
|
|
|
|
int colspan = Convert.ToInt32(cell[1]);
|
|
|
|
|
GridColumn column = cell[2] as GridColumn;
|
|
|
|
|
|
|
|
|
|
sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
|
|
|
|
|
rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
|
|
|
|
|
colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
|
|
|
|
|
colspan != 1 ? " style=\"text-align:center;\"" : "",
|
|
|
|
|
column.HeaderText);
|
|
|
|
|
}
|
|
|
|
|
sb.Append("</tr>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (GridRow row in grid.Rows)
|
|
|
|
|
{
|
|
|
|
|
sb.Append("<tr>");
|
|
|
|
|
int i = 0;
|
|
|
|
|
string MenuC = "";
|
|
|
|
|
foreach (GridColumn column in mht.Columns)
|
|
|
|
|
{
|
|
|
|
|
string html = row.Values[column.ColumnIndex].ToString();
|
|
|
|
|
if (column.ColumnID == "tfNumber")
|
|
|
|
|
{
|
|
|
|
|
html = (row.FindControl("spanNumber") as System.Web.UI.HtmlControls.HtmlGenericControl).InnerText;
|
|
|
|
|
}
|
|
|
|
|
else if (column.ColumnID == "tfGender")
|
|
|
|
|
{
|
|
|
|
|
html = (row.FindControl("labGender") as AspNet.Label).Text;
|
|
|
|
|
}
|
|
|
|
|
else if (column.ColumnID == "MenuC")
|
|
|
|
|
{
|
|
|
|
|
MenuC= html;
|
|
|
|
|
}
|
|
|
|
|
else if (column.ColumnID == "ThisProject" + (i + 1).ToString()) {
|
|
|
|
|
//指定哪些列再做二次加载
|
|
|
|
|
if (MenuC=="安全巡检"|| MenuC == "周例会" || MenuC == "月例会" || MenuC == "作业票" || MenuC == "工程师日志" || MenuC == "HSE管理月报"
|
|
|
|
|
|| MenuC == "质量巡检"|| MenuC == "设备材料报验" || MenuC == "人员报验" || MenuC == "机具报验"
|
|
|
|
|
|| MenuC == "设计变更单管理" || MenuC == "施工方案管理"|| MenuC == "设计交底管理" || MenuC == "NCR" || MenuC == "质量周报"
|
|
|
|
|
|| MenuC == "质量月报" || MenuC == "一次共检合格数" || MenuC == "关键事项")
|
|
|
|
|
{
|
|
|
|
|
var rq = MidStrEx(html, "\"", "\"");
|
|
|
|
|
var num = MidStrEx(html, ">", "<");
|
|
|
|
|
if (!string.IsNullOrEmpty(num)&& num!="0")
|
|
|
|
|
{
|
|
|
|
|
//某些列需要数量加日期显示
|
|
|
|
|
html = "<span>" + num + "(" + rq + ")</span>";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
i += 1;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.AppendFormat("<td>{0}</td>", html);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sb.Append("</tr>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sb.Append("</table>");
|
|
|
|
|
|
|
|
|
|
return sb.ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static string MidStrEx(string sourse, string startstr, string endstr)
|
|
|
|
|
{
|
|
|
|
|
string result = string.Empty;
|
|
|
|
|
int startindex, endindex;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
startindex = sourse.IndexOf(startstr);
|
|
|
|
|
if (startindex == -1)
|
|
|
|
|
return result;
|
|
|
|
|
string tmpstr = sourse.Substring(startindex + startstr.Length);
|
|
|
|
|
endindex = tmpstr.IndexOf(endstr);
|
|
|
|
|
if (endindex == -1)
|
|
|
|
|
return result;
|
|
|
|
|
result = tmpstr.Remove(endindex);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 多表头处理
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 处理多表头的类
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class MultiHeaderTable
|
|
|
|
|
{
|
|
|
|
|
// 包含 rowspan,colspan 的多表头,方便生成 HTML 的 table 标签
|
|
|
|
|
public List<List<object[]>> MultiTable = new List<List<object[]>>();
|
|
|
|
|
// 最终渲染的列数组
|
|
|
|
|
public List<GridColumn> Columns = new List<GridColumn>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void ResolveMultiHeaderTable(GridColumnCollection columns)
|
|
|
|
|
{
|
|
|
|
|
List<object[]> row = new List<object[]>();
|
|
|
|
|
foreach (GridColumn column in columns)
|
|
|
|
|
{
|
|
|
|
|
object[] cell = new object[4];
|
|
|
|
|
cell[0] = 1; // rowspan
|
|
|
|
|
cell[1] = 1; // colspan
|
|
|
|
|
cell[2] = column;
|
|
|
|
|
cell[3] = null;
|
|
|
|
|
|
|
|
|
|
row.Add(cell);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ResolveMultiTable(row, 0);
|
|
|
|
|
|
|
|
|
|
ResolveColumns(row);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResolveColumns(List<object[]> row)
|
|
|
|
|
{
|
|
|
|
|
foreach (object[] cell in row)
|
|
|
|
|
{
|
|
|
|
|
GroupField groupField = cell[2] as GroupField;
|
|
|
|
|
if (groupField != null && groupField.Columns.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
List<object[]> subrow = new List<object[]>();
|
|
|
|
|
foreach (GridColumn column in groupField.Columns)
|
|
|
|
|
{
|
|
|
|
|
subrow.Add(new object[]
|
|
|
|
|
{
|
|
|
|
|
1,
|
|
|
|
|
1,
|
|
|
|
|
column,
|
|
|
|
|
groupField
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ResolveColumns(subrow);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Columns.Add(cell[2] as GridColumn);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResolveMultiTable(List<object[]> row, int level)
|
|
|
|
|
{
|
|
|
|
|
List<object[]> nextrow = new List<object[]>();
|
|
|
|
|
|
|
|
|
|
foreach (object[] cell in row)
|
|
|
|
|
{
|
|
|
|
|
GroupField groupField = cell[2] as GroupField;
|
|
|
|
|
if (groupField != null && groupField.Columns.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
// 如果当前列包含子列,则更改当前列的 colspan,以及增加父列(向上递归)的colspan
|
|
|
|
|
cell[1] = Convert.ToInt32(groupField.Columns.Count);
|
|
|
|
|
PlusColspan(level - 1, cell[3] as GridColumn, groupField.Columns.Count - 1);
|
|
|
|
|
|
|
|
|
|
foreach (GridColumn column in groupField.Columns)
|
|
|
|
|
{
|
|
|
|
|
nextrow.Add(new object[]
|
|
|
|
|
{
|
|
|
|
|
1,
|
|
|
|
|
1,
|
|
|
|
|
column,
|
|
|
|
|
groupField
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MultiTable.Add(row);
|
|
|
|
|
|
|
|
|
|
// 如果当前下一行,则增加上一行(向上递归)中没有子列的列的 rowspan
|
|
|
|
|
if (nextrow.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
PlusRowspan(level);
|
|
|
|
|
|
|
|
|
|
ResolveMultiTable(nextrow, level + 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void PlusRowspan(int level)
|
|
|
|
|
{
|
|
|
|
|
if (level < 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (object[] cells in MultiTable[level])
|
|
|
|
|
{
|
|
|
|
|
GroupField groupField = cells[2] as GroupField;
|
|
|
|
|
if (groupField != null && groupField.Columns.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
// ...
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
cells[0] = Convert.ToInt32(cells[0]) + 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PlusRowspan(level - 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void PlusColspan(int level, GridColumn parent, int plusCount)
|
|
|
|
|
{
|
|
|
|
|
if (level < 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (object[] cells in MultiTable[level])
|
|
|
|
|
{
|
|
|
|
|
GridColumn column = cells[2] as GridColumn;
|
|
|
|
|
if (column == parent)
|
|
|
|
|
{
|
|
|
|
|
cells[1] = Convert.ToInt32(cells[1]) + plusCount;
|
|
|
|
|
|
|
|
|
|
PlusColspan(level - 1, cells[3] as GridColumn, plusCount);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|