This commit is contained in:
jackchenyang
2024-06-11 17:45:18 +08:00
41 changed files with 1853 additions and 156 deletions
@@ -73,15 +73,17 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
Grid1.DataSource = table;
Grid1.DataBind();
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineCode")).Select(group => group.First());
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineId")).Select(group => group.First());
var distinctSingleNumber = tb.AsEnumerable().GroupBy(row => row.Field<string>("SingleNumber")).Select(group => group.First());
var backingWelder = tb.AsEnumerable().Where(row => row.Field<string>("BackingWelderCode")!=null).GroupBy(row => row.Field<string>("BackingWelderCode")).Select(group => group.First());
var coverWelder = tb.AsEnumerable().Where(row => row.Field<string>("CoverWelderCode")!= null).GroupBy(row => row.Field<string>("CoverWelderCode")).Select(group => group.First());
var jotNum = from x in tb.AsEnumerable()
group x by new { pipe = x.Field<string>("PipelineCode"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
group x by new { pipe = x.Field<string>("PipelineId"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
into g
select new { pipe=g.Key.pipe,jot=g.Key.jot, Size=g.Key.Size };
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
summary.Add("SingleNumber", distinctSingleNumber.Count().ToString());
summary.Add("PipelineCode", distinctPipelineCode.Count().ToString());
summary.Add("WeldJointCode", jotNum.Count());
summary.Add("JOT_Size", jotNum.Sum(x=>Convert.ToDouble(x.Size)));
@@ -387,11 +389,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
rowIndex++;
}
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineCode")).Select(group => group.First());
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineId")).Select(group => group.First());
var distinctSingleNumber = tb.AsEnumerable().GroupBy(row => row.Field<string>("SingleNumber")).Select(group => group.First());
var backingWelder = tb.AsEnumerable().GroupBy(row => row.Field<string>("BackingWelderCode")).Select(group => group.First());
var coverWelder = tb.AsEnumerable().GroupBy(row => row.Field<string>("CoverWelderCode")).Select(group => group.First());
var jotNum = from x in tb.AsEnumerable()
group x by new { pipe = x.Field<string>("PipelineCode"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
group x by new { pipe = x.Field<string>("PipelineId"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
into g
select new { pipe = g.Key.pipe, jot = g.Key.jot, Size = g.Key.Size };
@@ -401,6 +404,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
reportModel.GetRow(rowIndex).GetCell(0).SetCellValue("合计:");
reportModel.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
//单线图号
if (reportModel.GetRow(rowIndex).GetCell(4) == null) reportModel.GetRow(rowIndex).CreateCell(4);
reportModel.GetRow(rowIndex).GetCell(4).SetCellValue(distinctSingleNumber.Count().ToString());
reportModel.GetRow(rowIndex).GetCell(4).CellStyle.SetFont(cs_content_Font);
//管线号
if (reportModel.GetRow(rowIndex).GetCell(5) == null) reportModel.GetRow(rowIndex).CreateCell(5);
reportModel.GetRow(rowIndex).GetCell(5).SetCellValue(distinctPipelineCode.Count().ToString());
@@ -49,7 +49,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
private DataTable GetDataTable()
{
string strSql = @"SELECT weldJoint.WeldJointId,weldJoint.ProjectId,ins.InstallationCode,unit.UnitName,pipeline.PipelineCode,
(case weldJoint.AuditStatus when 1 then '已审核' else '未审核' end ) as AuditStatus,
(case weldJoint.AuditStatus when 1 then '已审核' else '未审核' end ) as AuditStatus,weldJoint.PipelineId,
(CASE WHEN weldJoint.PageNum IS NOT NULL AND weldJoint.PageNum<>'' THEN pipeline.SingleNumber+'-'+weldJoint.PageNum ELSE pipeline.SingleNumber END) AS SingleNumber,
pipeline.DrawingsNum,CONVERT(NVARCHAR(10),weldingDaily.WeldingDate,120) AS WeldingDate,rate.DetectionRateCode,weldJoint.WeldJointCode,
CAST(ISNULL(weldJoint.Size,0) AS REAL) AS Size,(CAST(ISNULL(weldJoint.Thickness,0) AS REAL)) AS Thickness,weldJoint.Specification,
@@ -130,7 +130,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
private DataTable GetDataTableAuditStatus()
{
string strSql = @"SELECT weldJoint.WeldJointId,weldJoint.ProjectId,ins.InstallationCode,unit.UnitName,pipeline.PipelineCode,
(case weldJoint.AuditStatus when 1 then '已审核' else '未审核' end ) as AuditStatus,
(case weldJoint.AuditStatus when 1 then '已审核' else '未审核' end ) as AuditStatus,weldJoint.PipelineId,
(CASE WHEN weldJoint.PageNum IS NOT NULL AND weldJoint.PageNum<>'' THEN pipeline.SingleNumber+'-'+weldJoint.PageNum ELSE pipeline.SingleNumber END) AS SingleNumber,
pipeline.DrawingsNum,CONVERT(NVARCHAR(10),weldingDaily.WeldingDate,120) AS WeldingDate,rate.DetectionRateCode,weldJoint.WeldJointCode,
CAST(ISNULL(weldJoint.Size,0) AS REAL) AS Size,(CAST(ISNULL(weldJoint.Thickness,0) AS REAL)) AS Thickness,weldJoint.Specification,
@@ -215,7 +215,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
if (tb.Rows.Count > 0)
{
// 合计
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineCode")).Select(group => group.First());
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineId")).Select(group => group.First());
var distinctWelder = tb.AsEnumerable().GroupBy(row => row.Field<string>("WelderCode")).Select(group => group.First());
decimal sumSize = decimal.Parse(tb.Compute("sum(Size)", "").ToString());
string weldingDate = string.Empty;
@@ -673,7 +673,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true,true, "Arial");
ws = ExcelCreateRow(ws, hssfworkbook, dt.Rows.Count + 3, dt.Rows.Count + 3, style4, 0, 19);
var distinctPipelineCode = dt.AsEnumerable().GroupBy(row => row.Field<string>("PipelineCode")).Select(group => group.First());
var distinctPipelineCode = dt.AsEnumerable().GroupBy(row => row.Field<string>("PipelineId")).Select(group => group.First());
var distinctWelder = dt.AsEnumerable().GroupBy(row => row.Field<string>("WelderCode")).Select(group => group.First());
decimal sumSize = decimal.Parse(dt.Compute("sum(Size)", "").ToString());