施工质量月报新 增加6、7.1 7.2 7.3 8

This commit is contained in:
2024-03-20 10:59:25 +08:00
parent 5bee5e8d5c
commit fce22672f1
21 changed files with 3494 additions and 1021 deletions
@@ -54,6 +54,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
{
if (!IsPostBack)
{
BLL.UnitService.InitUnitDownListByText(this.drpUnitIdGrid9, this.CurrUser.LoginProjectId, true);
this.EnableViewState = true;
this.lblProjectName.Text = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
this.ReportId = Request.Params["reportId"];
@@ -86,10 +87,10 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
#region
detailsGrid1.Clear();
detailsGrid1 = (from x in Funs.DB.Report_CqmsTarget
where x.ReportId == this.ReportId
orderby x.SortId
select x).ToList();
if (detailsGrid1.Count>0)
where x.ReportId == this.ReportId
orderby x.SortId
select x).ToList();
if (detailsGrid1.Count > 0)
{
Grid1.Hidden = false;
Grid1.DataSource = detailsGrid1;
@@ -98,7 +99,29 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
#endregion
#region 7.2 PQR/WPS报验情况
var detailsGrid9 = (from x in Funs.DB.Report_Construction_Plan
where x.ReportId == ReportId && x.ReType == "5"
select x).ToList();
if (detailsGrid9.Count > 0)
{
Grid9.Hidden = false;
Grid9.DataSource = detailsGrid9;
Grid9.DataBind();
}
if (!string.IsNullOrEmpty(Request.Params["view"]))
{
//查看页面
Button4.Hidden = true;
Button3.Hidden = true;
//合计
OutPutSummaryGrid9();
Grid1.FindColumn("Delete1").Hidden = true;
Grid9.FindColumn("Delete9").Hidden = true;
}
#endregion
#region
var txtReportList = Funs.DB.Report_TextBoxContent.Where(x => x.ReportId == ReportId).ToList();
txtAre0.Text = txtReportList.FirstOrDefault(x => x.ContentType == "0").ContentText;
@@ -108,7 +131,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
txtAre20.Text = txtReportList.FirstOrDefault(x => x.ContentType == "20").ContentText;
txtAre21.Text = txtReportList.FirstOrDefault(x => x.ContentType == "21").ContentText;
txtAre22.Text = txtReportList.FirstOrDefault(x => x.ContentType == "22").ContentText;
txtAre8.Text = txtReportList.FirstOrDefault(x => x.ContentType == "8").ContentText;
if (txtAre8.Text != "本月报验的主要材料钢筋、水泥、预应力xxx等,其中现场抽检xx批,合格xx批")
{
Form19.Hidden = false;
Toolbar4.Hidden = true;
}
#endregion
//加载所有grid
lodAllGrid("1");
@@ -132,24 +162,34 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// 加载grid
/// </summary>
/// <param name="objType"></param>
void lodAllGrid(string objType) {
//加载一般施工方案审批情况
void lodAllGrid(string objType)
{
//3.1 加载一般施工方案审批情况
loadGeneralPlanApproval(objType);
//加载危大工程方案审批情况
//3.2 加载危大工程方案审批情况
loadMajorPlanApproval(objType);
//质量控制点或检验试验计划(ITP)情况
//3.3 质量控制点或检验试验计划(ITP)情况
loadInspectionTestPlan(objType);
//加载设计交底管理情况
//4 加载设计交底管理情况
loadDesignDetailsApprove(objType);
//加载图纸会审管理情况
//5 加载图纸会审管理情况
loadReviewDrawings(objType);
//加载设计变更管理情况
//6 加载设计变更管理情况
loadDesignChangeOrder();
//7.1 加载合格焊工管理情况
loadPassWelder();
//7.3 加载无损检测管理
loadProcessControl_NondestructiveTest_New();
//8 设备报验管理Grid11
LoadInspectionEquipment(objType);
}
#endregion
@@ -172,8 +212,10 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
}
}
protected void TextBox_TextChanged(object sender, EventArgs e) {
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim())&& !string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) {
protected void TextBox_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) && !string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
{
if (Funs.GetNewDateTime(this.txtStartDate.Text.Trim()) > Funs.GetNewDateTime(this.txtEndDate.Text.Trim()))
{
@@ -184,7 +226,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
{
lodAllGrid("1");
}
else {
else
{
lodAllGrid("0");
}
}
@@ -192,7 +235,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
#endregion
#region Grid1方法
protected void btnAddGrid1_Click(object sender, EventArgs e) {
protected void btnAddGrid1_Click(object sender, EventArgs e)
{
Grid1.Hidden = false;
JArray teamGroupData = Grid1.GetMergedData();
@@ -252,7 +296,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2|| x.UnitType == BLL.Const.ProjectUnitType_1)
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
@@ -287,17 +331,17 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
model.Quantity2 = AllList.Count();
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType=="1")
if (objType == "1")
{
var NewModel = db.Report_Construction_Plan.FirstOrDefault(x => x.ReportId == ReportId && x.UnitOrMajor == item.UnitName && x.ReType == "0");
if (NewModel!=null)
if (NewModel != null)
{
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity1Sum+= monethCount.Count();
Quantity1Sum += monethCount.Count();
Quantity2Sum += AllList.Count();
i++;
}
@@ -425,7 +469,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
x.ProfessionalName
};
foreach (var item in CNProfessionals)
{
@@ -456,7 +500,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
model.UnitOrMajor = item.ProfessionalName;
model.Quantity1 = monethCount.Count();
model.Quantity2 = AllList.Count();
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
@@ -471,7 +515,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
Quantity1Sum += monethCount.Count();
Quantity2Sum += AllList.Count();
i++;
}
Grid4.DataSource = list;
@@ -519,14 +563,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
var query = from c in db.Comprehensive_DesignDetails
where c.ProjectId == this.CurrUser.LoginProjectId && c.CNProfessionalId == item.CNProfessionalId
&& c.Status=="3"
&& c.Status == "3"
select new
{
c.Status,
c.CompileDate,
c.ProjectId,
};
var AllList = query.ToList();
@@ -660,8 +704,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// </summary>
void loadDesignChangeOrder()
{
int Quantity1Sum=0, Quantity2Sum=0, Quantity3Sum=0, Quantity4Sum=0, Quantity5Sum=0, Quantity6Sum = 0;
int Quantity1Sum = 0, Quantity2Sum = 0, Quantity3Sum = 0, Quantity4Sum = 0, Quantity5Sum = 0, Quantity6Sum = 0;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
@@ -691,11 +735,11 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ApprovalDate != null);
checkStatisc.OneOKRate = managementList.Count(x => x.Status == "3").ToString(); //当期完成数
checkStatisc.TotalOneOKRate = totalManagementList.Count(x => x.Status == "3").ToString(); //累计完成数
StatisticsList.Add(checkStatisc);
Quantity1Sum += checkStatisc.CheckNum;
Quantity2Sum += checkStatisc.TotalCheckNum;
Quantity3Sum+= checkStatisc.OKNum;
Quantity3Sum += checkStatisc.OKNum;
Quantity4Sum += checkStatisc.TotalOKNum;
Quantity5Sum += Convert.ToInt32(checkStatisc.OneOKRate);
Quantity6Sum += Convert.ToInt32(checkStatisc.TotalOneOKRate);
@@ -719,6 +763,526 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
#endregion
#region 7.1 Grid8方法
/// <summary>
/// 加载合格焊工管理情况
/// </summary>
void loadPassWelder()
{
int Quantity1Sum = 0, Quantity2Sum = 0, Quantity3Sum = 0, Quantity4Sum = 0, Quantity5Sum = 0, Quantity6Sum = 0, Quantity7Sum = 0, Quantity8Sum = 0;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
List<Model.PassWelderStatisc> StatisticsList = new List<Model.PassWelderStatisc>();
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
if (project != null)
{
if (project.StartDate != null)
{
projectStartDate = Convert.ToDateTime(project.StartDate);
}
}
int i = 1;
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitType == BLL.Const.ProjectUnitType_2
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
var db = Funs.DB;
foreach (var item in units)
{
var query = from c in db.Comprehensive_InspectionPerson
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
join cn in db.Base_CNProfessional on c.CNProfessionalId equals cn.CNProfessionalId into cnJoin
from cn in cnJoin.DefaultIfEmpty()
join p in db.Base_Post on c.PostId equals p.PostId into postJoin
from p in postJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
select new
{
c.InspectionPersonId,
c.ProjectId,
u.UnitId,
u.UnitName,
c.PersonName,
c.ApprovalTime,
cn.ProfessionalName,
p.PostName
};
//单位下所有集合
// List<Model.BS_Welder> totalWelderList = BLL.PersonManageService.GetWelderListByUnitId(this.CurrUser.LoginProjectId, item.UnitId);
//List<Model.BS_Welder> welderList = BLL.PersonManageService.GetWelderListByUnitIdAndDate(this.CurrUser.LoginProjectId, item.UnitId, startDate, endDate);
var totalWelderList = query.ToList();
var welderList = query
.Where(x => (x.ApprovalTime >= Convert.ToDateTime(startDate) && x.ApprovalTime <= Convert.ToDateTime(endDate)));
Model.PassWelderStatisc passWelderStatisc = new Model.PassWelderStatisc();
passWelderStatisc.Num = i;
passWelderStatisc.UnitName = item.UnitName;
passWelderStatisc.PipeMountGuard = welderList.Count(x => x.ProfessionalName == "管道" && x.PostName == "焊工");
passWelderStatisc.PipeTotal = totalWelderList.Count(x => x.ProfessionalName == "管道" && x.PostName == "焊工");
passWelderStatisc.SteelStructureMountGuard = welderList.Count(x => x.ProfessionalName == "土建" && x.PostName == "焊工");
passWelderStatisc.SteelStructureTotal = totalWelderList.Count(x => x.ProfessionalName == "土建" && x.PostName == "焊工");
passWelderStatisc.EquipmentMountGuard = welderList.Count(x => x.ProfessionalName == "设备" && x.PostName == "焊工");
passWelderStatisc.EquipmentTotal = totalWelderList.Count(x => x.ProfessionalName == "设备" && x.PostName == "焊工");
passWelderStatisc.OtherMountGuard = welderList.Count(x => x.ProfessionalName != "管道" && x.ProfessionalName != "土建" && x.ProfessionalName != "设备" && x.PostName == "焊工");
passWelderStatisc.OtherTotal = totalWelderList.Count(x => x.ProfessionalName != "管道" && x.ProfessionalName != "土建" && x.ProfessionalName != "设备" && x.PostName == "焊工");
StatisticsList.Add(passWelderStatisc);
i++;
Quantity1Sum += passWelderStatisc.PipeMountGuard;
Quantity2Sum += passWelderStatisc.PipeTotal;
Quantity3Sum += passWelderStatisc.SteelStructureMountGuard;
Quantity4Sum += passWelderStatisc.SteelStructureTotal;
Quantity5Sum += passWelderStatisc.EquipmentMountGuard;
Quantity6Sum += passWelderStatisc.EquipmentTotal;
Quantity7Sum += passWelderStatisc.OtherMountGuard;
Quantity8Sum += passWelderStatisc.OtherTotal;
}
Grid8.DataSource = StatisticsList;
Grid8.DataBind();
//合计
JObject summary = new JObject();
summary.Add("UnitName", "合计");
summary.Add("PipeMountGuard", Quantity1Sum.ToString());
summary.Add("PipeTotal", Quantity2Sum.ToString());
summary.Add("SteelStructureMountGuard", Quantity3Sum.ToString());
summary.Add("SteelStructureTotal", Quantity4Sum.ToString());
summary.Add("EquipmentMountGuard", Quantity5Sum.ToString());
summary.Add("EquipmentTotal", Quantity6Sum.ToString());
summary.Add("OtherMountGuard", Quantity7Sum.ToString());
summary.Add("OtherTotal", Quantity8Sum.ToString());
Grid8.SummaryData = summary;
}
#endregion
#region 7.2 PQR/WPS报验情况 Grid9方法
protected void btnAddGrid9_Click(object sender, EventArgs e)
{
Grid9.Hidden = false;
JArray teamGroupData = Grid9.GetMergedData();
List<JObject> list = new List<JObject>();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
values.Add("Id", teamGroupRow.Value<string>("id"));
list.Add(values);
}
JObject defaultObj = new JObject
{ { "Id",Guid.NewGuid() },
{ "ReportId", ReportId },
{ "ReType", "2" },
{ "UnitOrMajor",""},
{ "Quantity1", "" },
{ "Quantity2","" },
{ "Remarks", "" },
{ "Delete9", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", GetDeleteScriptGrid9(), IconHelper.GetResolvedIconUrl(Icon.Delete)) }
};
list.Add(defaultObj);
Grid9.DataSource = list;
Grid9.DataBind();
}
protected void Grid9_PreDataBound(object sender, EventArgs e)
{
// 设置LinkButtonField的点击客户端事件
LinkButtonField deleteField = Grid9.FindColumn("Delete9") as LinkButtonField;
deleteField.OnClientClick = GetDeleteScriptGrid9();
}
/// <summary>
/// 删除提示
/// </summary>
/// <returns></returns>
private string GetDeleteScriptGrid9()
{
return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid9.GetDeleteSelectedRowsReference(), String.Empty);
}
/// <summary>
/// 为grid9合计行
/// </summary>
void OutPutSummaryGrid9()
{
DataTable source = ObjectToTable(Grid9.DataSource);
int Quantity1Total = 0, Quantity2Total = 0;
foreach (DataRow row in source.Rows)
{
Quantity1Total += Convert.ToInt32(row["Quantity1"]);
Quantity2Total += Convert.ToInt32(row["Quantity2"]);
}
JObject summary = new JObject();
summary.Add("UnitOrMajor", "合计");
summary.Add("Quantity1", Quantity1Total.ToString());
summary.Add("Quantity2", Quantity2Total.ToString());
Grid9.SummaryData = summary;
}
public static DataTable ObjectToTable(object obj)
{
try
{
Type t;
if (obj.GetType().IsGenericType)
{
t = obj.GetType().GetGenericTypeDefinition();
}
else
{
t = obj.GetType();
}
if (t == typeof(List<>) ||
t == typeof(IEnumerable<>))
{
DataTable dt = new DataTable();
IEnumerable<object> lstenum = obj as IEnumerable<object>;
if (lstenum.Count() > 0)
{
var ob1 = lstenum.GetEnumerator();
ob1.MoveNext();
foreach (var item in ob1.Current.GetType().GetProperties())
{
dt.Columns.Add(new DataColumn() { ColumnName = item.Name });
}
//数据
foreach (var item in lstenum)
{
DataRow row = dt.NewRow();
foreach (var sub in item.GetType().GetProperties())
{
row[sub.Name] = sub.GetValue(item, null);
}
dt.Rows.Add(row);
}
return dt;
}
}
else if (t == typeof(DataTable))
{
return (DataTable)obj;
}
else //(t==typeof(Object))
{
DataTable dt = new DataTable();
foreach (var item in obj.GetType().GetProperties())
{
dt.Columns.Add(new DataColumn() { ColumnName = item.Name });
}
DataRow row = dt.NewRow();
foreach (var item in obj.GetType().GetProperties())
{
row[item.Name] = item.GetValue(obj, null);
}
dt.Rows.Add(row);
return dt;
}
}
catch (Exception ex)
{
}
return null;
}
#endregion
#region 7.3 Grid10方法
void loadProcessControl_NondestructiveTest_New()
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.ProcessControl_NondestructiveTest_New>();
//加载所有施工分包单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
int? totalNum0 = 0, totalNum1 = 0;//拍片数量合计
foreach (var item in units)
{
int? num0 = 0, num1 = 0;//拍片数量小计
var query = from c in db.ProcessControl_NondestructiveTest_New
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
&& c.CreateDate >= Convert.ToDateTime(startDate) && c.CreateDate <= Convert.ToDateTime(endDate)
orderby c.CreateDate descending
select new
{
c.CreateDate,
c.ProjectId,
u.UnitId,
u.UnitName,
c.ProfessionalName,
c.MonthQuantity,
c.TotalQuantity,
c.MonthRate,
c.TotalRate
};
//加载工艺管道
var gygdModel = query.FirstOrDefault(x => x.ProfessionalName == "工艺管道");
var model = new Model.ProcessControl_NondestructiveTest_New();
model.Id = Guid.NewGuid().ToString();
model.CreateMan = item.UnitName;//用作存储施工单位名称
model.ProfessionalName = "工艺管道";
if (gygdModel != null)
{
model.MonthQuantity = gygdModel.MonthQuantity;
model.TotalQuantity = gygdModel.TotalQuantity;
model.MonthRate = gygdModel.MonthRate + "%";
model.TotalRate = gygdModel.TotalRate + "%";
#region
//小计
num0 += gygdModel.MonthQuantity;
num1 += gygdModel.TotalQuantity;
//合计
totalNum0 += gygdModel.MonthQuantity;
totalNum1 += gygdModel.TotalQuantity;
#endregion
list.Add(model);
}
else
{
model.MonthQuantity = 0;
model.TotalQuantity = 0;
model.MonthRate = "0%";
model.TotalRate = "0%";
list.Add(model);
}
//地管
gygdModel = query.FirstOrDefault(x => x.ProfessionalName == "地管");
model = new Model.ProcessControl_NondestructiveTest_New();
model.Id = Guid.NewGuid().ToString();
model.CreateMan = item.UnitName;//用作存储施工单位名称
model.ProfessionalName = "地管";
if (gygdModel != null)
{
model.MonthQuantity = gygdModel.MonthQuantity;
model.TotalQuantity = gygdModel.TotalQuantity;
model.MonthRate = gygdModel.MonthRate + "%";
model.TotalRate = gygdModel.TotalRate + "%";
#region
//小计
num0 += gygdModel.MonthQuantity;
num1 += gygdModel.TotalQuantity;
//合计
totalNum0 += gygdModel.MonthQuantity;
totalNum1 += gygdModel.TotalQuantity;
#endregion
list.Add(model);
}
else
{
model.MonthQuantity = 0;
model.TotalQuantity = 0;
model.MonthRate = "0%";
model.TotalRate = "0%";
list.Add(model);
}
//非标
gygdModel = query.FirstOrDefault(x => x.ProfessionalName == "非标");
model = new Model.ProcessControl_NondestructiveTest_New();
model.Id = Guid.NewGuid().ToString();
model.CreateMan = item.UnitName;//用作存储施工单位名称
model.ProfessionalName = "非标";
if (gygdModel != null)
{
model.MonthQuantity = gygdModel.MonthQuantity;
model.TotalQuantity = gygdModel.TotalQuantity;
model.MonthRate = gygdModel.MonthRate + "%";
model.TotalRate = gygdModel.TotalRate + "%";
#region
//小计
num0 += gygdModel.MonthQuantity;
num1 += gygdModel.TotalQuantity;
//合计
totalNum0 += gygdModel.MonthQuantity;
totalNum1 += gygdModel.TotalQuantity;
#endregion
list.Add(model);
}
else
{
model.MonthQuantity = 0;
model.TotalQuantity = 0;
model.MonthRate = "0%";
model.TotalRate = "0%";
list.Add(model);
}
//小计
model = new Model.ProcessControl_NondestructiveTest_New();
model.Id = Guid.NewGuid().ToString();
model.CreateMan = item.UnitName;//用作存储施工单位名称
model.ProfessionalName = "小计";
model.MonthQuantity = num0;
model.TotalQuantity = num1;
model.MonthRate = "";
model.TotalRate = "";
list.Add(model);
}
Grid10.DataSource = list;
Grid10.DataBind();
//合计
//合计
JObject summary = new JObject();
summary.Add("CreateMan", "合计");
summary.Add("MonthQuantity", totalNum0.ToString());
summary.Add("TotalQuantity", totalNum1.ToString());
Grid10.SummaryData = summary;
}
#endregion
#region 8 Grid11方法
/// <summary>
/// 加载一般施工审批情况
/// </summary>
void LoadInspectionEquipment(string objType)
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_Construction_Plan>();
int i = 1;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.Comprehensive_InspectionEquipment
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
&& c.Status == "3"
select new
{
c.SamplingResult,//1合格 2不合格
c.ProjectId,
u.UnitId,
u.UnitName,
c.CompileDate
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.CompileDate >= Convert.ToDateTime(startDate) && x.CompileDate <= Convert.ToDateTime(endDate)));
Model.Report_Construction_Plan model = new Model.Report_Construction_Plan();
model.Id = Guid.NewGuid().ToString();
model.UnitOrMajor = item.UnitName;
model.Quantity1 = monethCount.Count();
model.Quantity2 = AllList.Count();
//验收合格率
var UnqualifiedCount = AllList.Where(x => x.SamplingResult == "1").ToList().Count;//合格的数量
if (UnqualifiedCount == AllList.Count() && AllList.Count() != 0)
{
model.QuaRate = "100%";
}
else if (UnqualifiedCount == 0 && AllList.Count() == 0)
{
model.QuaRate = "0%";
}
else
{
var Qualificationrate = (Convert.ToDouble(UnqualifiedCount) / Convert.ToDouble(AllList.Count)) * 100;
model.QuaRate = Qualificationrate.ToString("0.00") + "%";
}
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_Construction_Plan.FirstOrDefault(x => x.ReportId == ReportId && x.UnitOrMajor == item.UnitName && x.ReType == "6");
if (NewModel != null)
{
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity1Sum += monethCount.Count();
Quantity2Sum += AllList.Count();
i++;
}
Grid11.DataSource = list;
Grid11.DataBind();
//合计
JObject summary = new JObject();
summary.Add("UnitOrMajor", "合计");
summary.Add("Quantity1", Quantity1Sum.ToString());
summary.Add("Quantity2", Quantity2Sum.ToString());
Grid11.SummaryData = summary;
}
/// <summary>
/// 新增按钮显示文本框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAddGrid11_Click(object sender, EventArgs e)
{
Form19.Hidden = false;
}
#endregion
#region
/// <summary>
/// 保存按钮
@@ -783,6 +1347,12 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
//保存4图纸会审管理情况
saveTzhs();
//保存7.2PQR/WPS报验情况
savePqrWps();
//保存8 设备材料报验管理情况
saveSbclBy();
//保存文本框
saveTxtContent();
#endregion
@@ -801,10 +1371,12 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
}
#region
void saveTarget() {
void saveTarget()
{
List<Model.Report_CqmsTarget> detailLists = new List<Model.Report_CqmsTarget>();
JArray teamGroupData = Grid1.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData) {
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CqmsTarget newDetail = new Model.Report_CqmsTarget
@@ -824,19 +1396,53 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
}
detailLists.Add(newDetail);
}
if (detailLists.Count>0)
if (detailLists.Count > 0)
{
Funs.DB.Report_CqmsTarget.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region PQR/WPS报验情况
void savePqrWps()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid9.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_Construction_Plan newDetail = new Model.Report_Construction_Plan
{
//Id = values.Value<string>("Id"),
ReportId = ReportId,
ReType = "5",
UnitOrMajor = values.Value<string>("UnitOrMajor"),
Quantity1 = values.Value<int>("Quantity1"),
Quantity2 = values.Value<int>("Quantity2"),
Remarks = values.Value<string>("Remarks"),
};
if (Grid9.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = Grid9.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_Construction_Plan.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
/// <summary>
/// 3.1保存一般施工方案审批情况
/// </summary>
void saveYbsgfa() {
void saveYbsgfa()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid2.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
@@ -869,7 +1475,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// <summary>
/// 3.2保存危大工程方案审批情况
/// </summary>
void saveWdgcfa() {
void saveWdgcfa()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid3.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
@@ -903,7 +1510,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// <summary>
/// 3.3 质量控制点或检验试验计划(ITP)情况
/// </summary>
void saveJysyjh() {
void saveJysyjh()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid4.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
@@ -936,7 +1544,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// <summary>
/// 保存设计交底管理情况
/// </summary>
void saveSjjd() {
void saveSjjd()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid5.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
@@ -969,7 +1578,8 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
/// <summary>
/// 保存图纸会审
/// </summary>
void saveTzhs() {
void saveTzhs()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid6.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
@@ -999,10 +1609,46 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
}
}
/// <summary>
/// 保存设备材料报验管理情况
/// </summary>
void saveSbclBy()
{
List<Model.Report_Construction_Plan> detailLists = new List<Model.Report_Construction_Plan>();
JArray teamGroupData = Grid11.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_Construction_Plan newDetail = new Model.Report_Construction_Plan
{
//Id = values.Value<string>("Id"),
ReportId = ReportId,
ReType = "6",
UnitOrMajor = values.Value<string>("UnitOrMajor"),
Quantity1 = values.Value<int>("Quantity1"),
Quantity2 = values.Value<int>("Quantity2"),
QuaRate = values.Value<string>("QuaRate"),
Remarks = values.Value<string>("Remarks")
};
if (Grid11.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = Grid11.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_Construction_Plan.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 保存文本框内容
/// </summary>
void saveTxtContent() {
void saveTxtContent()
{
var txtContentList = new List<Model.Report_TextBoxContent>();
#region
var model0 = new Model.Report_TextBoxContent();
@@ -1046,6 +1692,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
model22.ContentType = "22";
model22.ContentText = txtAre22.Text;
txtContentList.Add(model22);
//如果8设备材料报验管理情况点击了增加按钮,则添加文本框内容
var model8 = new Model.Report_TextBoxContent();
model8.Id = Guid.NewGuid().ToString();
model8.ReportId = ReportId;
model8.ContentType = "8";
model8.ContentText = txtAre8.Text;
txtContentList.Add(model8);
#endregion
Funs.DB.Report_TextBoxContent.InsertAllOnSubmit(txtContentList);
Funs.DB.SubmitChanges();