Compare commits

...

3 Commits

Author SHA1 Message Date
lichao 8d07436a05 11 2026-08-20 20:54:25 +08:00
lichao 006325951d 11 2026-08-20 20:27:06 +08:00
lichao d0c285f1e9 11 2026-08-20 20:26:50 +08:00
4 changed files with 161 additions and 58 deletions
@@ -69,8 +69,53 @@
<f:RenderField Width="70px" HeaderText="管线号" ColumnID="pipe_no" DataField="pipe_no" <f:RenderField Width="70px" HeaderText="管线号" ColumnID="pipe_no" DataField="pipe_no"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="70px" HeaderText="涂漆编码" ColumnID="coating_code" DataField="coating_code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="70px" HeaderText="图号" ColumnID="drawing_number" DataField="drawing_number" <f:RenderField Width="70px" HeaderText="图号" ColumnID="drawing_number" DataField="drawing_number"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="60px" HeaderText="页号" ColumnID="page_no" DataField="page_no"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" HeaderText="管线标识" ColumnID="pipeline_id" DataField="pipeline_id"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="操作压力(MPa)" ColumnID="operation_pressure_mpa" DataField="operation_pressure_mpa"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="操作温度(℃)" ColumnID="operation_temp_c" DataField="operation_temp_c"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="设计压力(MPa)" ColumnID="design_pressure_mpa" DataField="design_pressure_mpa"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="设计温度(℃)" ColumnID="design_temp_c" DataField="design_temp_c"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="试验压力(MPa)" ColumnID="test_pressure_mpa" DataField="test_pressure_mpa"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" HeaderText="水压试验" ColumnID="hydraulic_test_pressure" DataField="hydraulic_test_pressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="公称直径(DN)" ColumnID="pipe_diameter_dn" DataField="pipe_diameter_dn"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" HeaderText="管道等级" ColumnID="pipe_spec_grade" DataField="pipe_spec_grade"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" HeaderText="保温" ColumnID="heat_insulation" DataField="heat_insulation"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="保温厚度(mm)" ColumnID="insulation_thickness_mm" DataField="insulation_thickness_mm"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" HeaderText="焊后热处理" ColumnID="post_weld_heat_treatment" DataField="post_weld_heat_treatment"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" HeaderText="射线检测" ColumnID="radiographic_examination" DataField="radiographic_examination"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code" <f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
@@ -126,6 +171,9 @@
<f:RenderField Width="100px" HeaderText="图号" ColumnID="drawing_number" DataField="drawing_number" <f:RenderField Width="100px" HeaderText="图号" ColumnID="drawing_number" DataField="drawing_number"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="70px" HeaderText="涂漆编码" ColumnID="coating_code" DataField="coating_code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code" <f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
@@ -180,6 +228,9 @@
<f:RenderField Width="100px" HeaderText="管线号" ColumnID="pipe_no" DataField="pipe_no" <f:RenderField Width="100px" HeaderText="管线号" ColumnID="pipe_no" DataField="pipe_no"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="70px" HeaderText="涂漆编码" ColumnID="coating_code" DataField="coating_code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code" <f:RenderField Width="70px" HeaderText="材料代号" ColumnID="code" DataField="code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
@@ -351,6 +351,21 @@ namespace FineUIPro.Web.HJGL.DataIn
dt.Columns.Add("qty"); dt.Columns.Add("qty");
dt.Columns.Add("page_no"); dt.Columns.Add("page_no");
dt.Columns.Add("remark"); dt.Columns.Add("remark");
dt.Columns.Add("coating_code");
dt.Columns.Add("pipeline_id");
dt.Columns.Add("operation_pressure_mpa");
dt.Columns.Add("operation_temp_c");
dt.Columns.Add("design_pressure_mpa");
dt.Columns.Add("design_temp_c");
dt.Columns.Add("test_pressure_mpa");
dt.Columns.Add("hydraulic_test_pressure");
dt.Columns.Add("pipe_diameter_dn");
dt.Columns.Add("pipe_spec_grade");
dt.Columns.Add("heat_insulation");
dt.Columns.Add("insulation_thickness_mm");
dt.Columns.Add("post_weld_heat_treatment");
dt.Columns.Add("radiographic_examination");
dtOther = new DataTable(); dtOther = new DataTable();
dtOther.Columns.Add("id"); dtOther.Columns.Add("id");
@@ -377,6 +392,7 @@ namespace FineUIPro.Web.HJGL.DataIn
dtIsoInfo.Columns.Add("insulation_thickness_mm"); dtIsoInfo.Columns.Add("insulation_thickness_mm");
dtIsoInfo.Columns.Add("post_weld_heat_treatment"); dtIsoInfo.Columns.Add("post_weld_heat_treatment");
dtIsoInfo.Columns.Add("radiographic_examination"); dtIsoInfo.Columns.Add("radiographic_examination");
dtIsoInfo.Columns.Add("coating_code");
foreach (JObject item in jArrayOther) foreach (JObject item in jArrayOther)
{ {
var row = dtOther.NewRow(); var row = dtOther.NewRow();
@@ -387,7 +403,30 @@ namespace FineUIPro.Web.HJGL.DataIn
row["text"] = item.Value<string>("text"); row["text"] = item.Value<string>("text");
dtOther.Rows.Add(row); dtOther.Rows.Add(row);
} }
foreach (JObject item in jArrayIsoInfo)
{
var row = dtIsoInfo.NewRow();
row["id"] = item.Value<string>("id");
row["page_no"] = item.Value<string>("page_no");
row["drawing_number"] = item.Value<string>("drawing_number");
row["pipeline_id"] = item.Value<string>("pipeline_id");
row["operation_pressure_mpa"] = item.Value<string>("operation_pressure_mpa");
row["operation_temp_c"] = item.Value<string>("operation_temp_c");
row["design_pressure_mpa"] = item.Value<string>("design_pressure_mpa");
row["design_temp_c"] = item.Value<string>("design_temp_c");
row["test_pressure_mpa"] = item.Value<string>("test_pressure_mpa");
row["hydraulic_test_pressure"] = item.Value<string>("hydraulic_test_pressure");
row["pipe_diameter_dn"] = item.Value<string>("pipe_diameter_dn");
row["pipe_spec_grade"] = item.Value<string>("pipe_spec_grade");
row["heat_insulation"] = item.Value<string>("heat_insulation");
row["insulation_thickness_mm"] = item.Value<string>("insulation_thickness_mm");
row["post_weld_heat_treatment"] = item.Value<string>("post_weld_heat_treatment");
row["radiographic_examination"] = item.Value<string>("radiographic_examination");
row["coating_code"] = item.Value<string>("coating_code");
dtIsoInfo.Rows.Add(row);
}
// 遍历并提取数据 // 遍历并提取数据
foreach (JObject item in jArray) foreach (JObject item in jArray)
{ {
@@ -411,32 +450,38 @@ namespace FineUIPro.Web.HJGL.DataIn
row["drawing_number"] = rowOther["text"]; row["drawing_number"] = rowOther["text"];
} }
} }
var rowIso = dtIsoInfo.Select("page_no= '" + row["page_no"].ToString() + "' and pipeline_id='" + row["pipe_no"].ToString().Trim() + "'").FirstOrDefault();
if (rowIso == null)
{
rowIso = dtIsoInfo.Select("page_no= '" + row["page_no"].ToString() + "'").FirstOrDefault();
}
if (rowIso != null)
{
if (string.IsNullOrEmpty(row["drawing_number"].ToString()))
{
row["drawing_number"] = rowIso["drawing_number"];
}
row["coating_code"] = rowIso["coating_code"];
row["pipeline_id"] = rowIso["pipeline_id"];
row["operation_pressure_mpa"] = rowIso["operation_pressure_mpa"];
row["operation_temp_c"] = rowIso["operation_temp_c"];
row["design_pressure_mpa"] = rowIso["design_pressure_mpa"];
row["design_temp_c"] = rowIso["design_temp_c"];
row["test_pressure_mpa"] = rowIso["test_pressure_mpa"];
row["hydraulic_test_pressure"] = rowIso["hydraulic_test_pressure"];
row["pipe_diameter_dn"] = rowIso["pipe_diameter_dn"];
row["pipe_spec_grade"] = rowIso["pipe_spec_grade"];
row["heat_insulation"] = rowIso["heat_insulation"];
row["insulation_thickness_mm"] = rowIso["insulation_thickness_mm"];
row["post_weld_heat_treatment"] = rowIso["post_weld_heat_treatment"];
row["radiographic_examination"] = rowIso["radiographic_examination"];
}
dt.Rows.Add(row); dt.Rows.Add(row);
} }
foreach (JObject item in jArrayIsoInfo)
{
var row = dtIsoInfo.NewRow();
row["id"] = item.Value<string>("id");
row["page_no"] = item.Value<string>("page_no");
row["drawing_number"] = item.Value<string>("drawing_number");
row["pipeline_id"] = item.Value<string>("pipeline_id");
row["operation_temp_c"] = item.Value<string>("operation_temp_c");
row["design_pressure_mpa"] = item.Value<string>("design_pressure_mpa");
row["design_temp_c"] = item.Value<string>("design_temp_c");
row["test_pressure_mpa"] = item.Value<string>("test_pressure_mpa");
row["hydraulic_test_pressure"] = item.Value<string>("hydraulic_test_pressure");
row["pipe_diameter_dn"] = item.Value<string>("pipe_diameter_dn");
row["pipe_spec_grade"] = item.Value<string>("pipe_spec_grade");
row["heat_insulation"] = item.Value<string>("heat_insulation");
row["insulation_thickness_mm"] = item.Value<string>("insulation_thickness_mm");
row["post_weld_heat_treatment"] = item.Value<string>("post_weld_heat_treatment");
row["radiographic_examination"] = item.Value<string>("radiographic_examination");
dtIsoInfo.Rows.Add(row);
}
BindGrid(); BindGrid();
} }
} }
@@ -458,6 +503,7 @@ namespace FineUIPro.Web.HJGL.DataIn
dtGroupByDrawing.Columns.Add("qty"); dtGroupByDrawing.Columns.Add("qty");
dtGroupByDrawing.Columns.Add("description"); dtGroupByDrawing.Columns.Add("description");
dtGroupByDrawing.Columns.Add("code"); dtGroupByDrawing.Columns.Add("code");
dtGroupByDrawing.Columns.Add("coating_code");
var groups2 = dt.AsEnumerable() var groups2 = dt.AsEnumerable()
.GroupBy(r => new .GroupBy(r => new
@@ -465,6 +511,7 @@ namespace FineUIPro.Web.HJGL.DataIn
drawing_number = r.Field<string>("drawing_number") ?? "", drawing_number = r.Field<string>("drawing_number") ?? "",
category = r.Field<string>("category") ?? "", category = r.Field<string>("category") ?? "",
code = r.Field<string>("code") ?? "", code = r.Field<string>("code") ?? "",
coating_code = r.Field<string>("coating_code") ?? "",
spec = r.Field<string>("spec") ?? "", spec = r.Field<string>("spec") ?? "",
description = r.Field<string>("description") ?? "" description = r.Field<string>("description") ?? ""
}) })
@@ -473,6 +520,7 @@ namespace FineUIPro.Web.HJGL.DataIn
g.Key.drawing_number, g.Key.drawing_number,
g.Key.category, g.Key.category,
g.Key.code, g.Key.code,
g.Key.coating_code,
g.Key.spec, g.Key.spec,
g.Key.description, g.Key.description,
qty = g.Sum(r => Funs.GetNewDecimalOrZero(r.Field<string>("qty"))), qty = g.Sum(r => Funs.GetNewDecimalOrZero(r.Field<string>("qty"))),
@@ -485,6 +533,7 @@ namespace FineUIPro.Web.HJGL.DataIn
newRow["drawing_number"] = g.drawing_number; newRow["drawing_number"] = g.drawing_number;
newRow["category"] = g.category; newRow["category"] = g.category;
newRow["code"] = g.code; newRow["code"] = g.code;
newRow["coating_code"] = g.coating_code;
newRow["spec"] = g.spec; newRow["spec"] = g.spec;
newRow["qty"] = g.qty.ToString() + g.unit; newRow["qty"] = g.qty.ToString() + g.unit;
newRow["description"] = g.description; newRow["description"] = g.description;
@@ -509,6 +558,7 @@ namespace FineUIPro.Web.HJGL.DataIn
dtGroupByPipe.Columns.Add("spec"); dtGroupByPipe.Columns.Add("spec");
dtGroupByPipe.Columns.Add("qty"); dtGroupByPipe.Columns.Add("qty");
dtGroupByPipe.Columns.Add("description"); dtGroupByPipe.Columns.Add("description");
dtGroupByPipe.Columns.Add("coating_code");
var groups3 = dt.AsEnumerable() var groups3 = dt.AsEnumerable()
.GroupBy(r => new .GroupBy(r => new
{ {
@@ -516,6 +566,7 @@ namespace FineUIPro.Web.HJGL.DataIn
category = r.Field<string>("category") ?? "", category = r.Field<string>("category") ?? "",
code = r.Field<string>("code") ?? "", code = r.Field<string>("code") ?? "",
spec = r.Field<string>("spec") ?? "", spec = r.Field<string>("spec") ?? "",
coating_code = r.Field<string>("coating_code") ?? "",
description = r.Field<string>("description") ?? "" description = r.Field<string>("description") ?? ""
}) })
.Select(g => new .Select(g => new
@@ -523,6 +574,7 @@ namespace FineUIPro.Web.HJGL.DataIn
g.Key.pipe_no, g.Key.pipe_no,
g.Key.category, g.Key.category,
g.Key.code, g.Key.code,
g.Key.coating_code,
g.Key.spec, g.Key.spec,
g.Key.description, g.Key.description,
qty = g.Sum(r => Funs.GetNewDecimalOrZero(r.Field<string>("qty"))), qty = g.Sum(r => Funs.GetNewDecimalOrZero(r.Field<string>("qty"))),
@@ -535,6 +587,7 @@ namespace FineUIPro.Web.HJGL.DataIn
newRow["pipe_no"] = g.pipe_no; newRow["pipe_no"] = g.pipe_no;
newRow["category"] = g.category; newRow["category"] = g.category;
newRow["spec"] = g.spec; newRow["spec"] = g.spec;
newRow["coating_code"] = g.coating_code;
newRow["code"] = g.code; newRow["code"] = g.code;
newRow["qty"] = g.qty.ToString() + g.unit; newRow["qty"] = g.qty.ToString() + g.unit;
newRow["description"] = g.description; newRow["description"] = g.description;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long