feat(hjgl): 完善图纸识别与材料管段信息管理

扩展图纸识别结果模型和保存流程,按管线及页码替换识别明细,
避免重复导入造成数据累积;同时自动补充材料编码库数据,
新增材料总览、管段长度总览及 PDF 焊口标记功能,提升识别数据
的查询、复核和后续使用效率。
This commit is contained in:
2026-07-17 14:36:32 +08:00
parent 040de31eb1
commit 7fb6b255d2
36 changed files with 2313 additions and 354 deletions
@@ -0,0 +1,175 @@
using Newtonsoft.Json;
using System.Collections.Generic;
namespace Model
{
public class DrawingRecognitionResult
{
public DrawingRecognitionResult()
{
MaterialRows = new List<DrawingRecognitionMaterialRow>();
PipeLengthRows = new List<DrawingRecognitionPipeLengthRow>();
OtherRegions = new List<DrawingRecognitionOtherRegion>();
DrawingInfo = new List<DrawingRecognitionInfoRow>();
}
[JsonProperty("isSHJ")]
public bool IsSHJ { get; set; }
[JsonProperty("material_rows")]
public List<DrawingRecognitionMaterialRow> MaterialRows { get; set; }
[JsonProperty("table_rows_d")]
public List<DrawingRecognitionPipeLengthRow> PipeLengthRows { get; set; }
[JsonProperty("other_regions")]
public List<DrawingRecognitionOtherRegion> OtherRegions { get; set; }
[JsonProperty("drawing_info")]
public List<DrawingRecognitionInfoRow> DrawingInfo { get; set; }
}
public class DrawingRecognitionMaterialRow
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("page_no")]
public int? PageNo { get; set; }
[JsonProperty("pipe_no")]
public string PipeNo { get; set; }
[JsonProperty("drawing_number")]
public string DrawingNumber { get; set; }
[JsonProperty("seq_no")]
public string SeqNo { get; set; }
[JsonProperty("category")]
public string Category { get; set; }
[JsonProperty("description")]
public string Description { get; set; }
[JsonProperty("spec")]
public string Spec { get; set; }
[JsonProperty("code")]
public string Code { get; set; }
[JsonProperty("qty")]
public string Qty { get; set; }
[JsonProperty("unit")]
public string Unit { get; set; }
[JsonProperty("material")]
public string Material { get; set; }
[JsonProperty("remark")]
public string Remark { get; set; }
}
public class DrawingRecognitionPipeLengthRow
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("page_no")]
public int? PageNo { get; set; }
[JsonProperty("group_index")]
public int? GroupIndex { get; set; }
[JsonProperty("pos_no")]
public string PosNo { get; set; }
[JsonProperty("length_mm")]
public string LengthMm { get; set; }
[JsonProperty("dn")]
public string Dn { get; set; }
}
public class DrawingRecognitionOtherRegion
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("region_type")]
public string RegionType { get; set; }
[JsonProperty("region_code")]
public string RegionCode { get; set; }
[JsonProperty("region_label")]
public string RegionLabel { get; set; }
[JsonProperty("page")]
public int? Page { get; set; }
[JsonProperty("text")]
public string Text { get; set; }
}
public class DrawingRecognitionInfoRow
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("page_no")]
public int? PageNo { get; set; }
[JsonProperty("row_no")]
public int? RowNo { get; set; }
[JsonProperty("field_name")]
public string FieldName { get; set; }
[JsonProperty("field_value")]
public string FieldValue { get; set; }
[JsonProperty("drawing_number")]
public string DrawingNumber { get; set; }
[JsonProperty("pipeline_id")]
public string PipelineId { get; set; }
[JsonProperty("operation_pressure_mpa")]
public string OperationPressureMpa { get; set; }
[JsonProperty("operation_temp_c")]
public string OperationTempC { get; set; }
[JsonProperty("design_pressure_mpa")]
public string DesignPressureMpa { get; set; }
[JsonProperty("design_temp_c")]
public string DesignTempC { get; set; }
[JsonProperty("test_pressure_mpa")]
public string TestPressureMpa { get; set; }
[JsonProperty("hydraulic_test_pressure")]
public string HydraulicTestPressure { get; set; }
[JsonProperty("pipe_diameter_dn")]
public string PipeDiameterDn { get; set; }
[JsonProperty("pipe_spec_grade")]
public string PipeSpecGrade { get; set; }
[JsonProperty("heat_insulation")]
public string HeatInsulation { get; set; }
[JsonProperty("insulation_thickness_mm")]
public string InsulationThicknessMm { get; set; }
[JsonProperty("post_weld_heat_treatment")]
public string PostWeldHeatTreatment { get; set; }
[JsonProperty("radiographic_examination")]
public string RadiographicExamination { get; set; }
}
}
+28 -4
View File
@@ -97345,7 +97345,7 @@ namespace Model
private string _Id;
private System.Nullable<int> _Pipe_no;
private string _Pipe_no;
private System.Nullable<int> _Pipe_page_no;
@@ -97363,7 +97363,7 @@ namespace Model
partial void OnCreated();
partial void OnIdChanging(string value);
partial void OnIdChanged();
partial void OnPipe_noChanging(System.Nullable<int> value);
partial void OnPipe_noChanging(string value);
partial void OnPipe_noChanged();
partial void OnPipe_page_noChanging(System.Nullable<int> value);
partial void OnPipe_page_noChanged();
@@ -97402,8 +97402,8 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="pipe_no", Storage="_Pipe_no", DbType="Int")]
public System.Nullable<int> Pipe_no
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="pipe_no", Storage="_Pipe_no", DbType="NVarChar(200)")]
public string Pipe_no
{
get
{
@@ -104728,6 +104728,8 @@ namespace Model
private string _PaintId;
private System.Nullable<bool> _DesignIsHotProess;
private EntityRef<Base_TestMedium> _Base_TestMedium;
private EntitySet<HJGL_Batch_PointBatch> _HJGL_Batch_PointBatch;
@@ -104834,6 +104836,8 @@ namespace Model
partial void OnWarehouseIdChanged();
partial void OnPaintIdChanging(string value);
partial void OnPaintIdChanged();
partial void OnDesignIsHotProessChanging(System.Nullable<bool> value);
partial void OnDesignIsHotProessChanged();
#endregion
public HJGL_Pipeline()
@@ -105589,6 +105593,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesignIsHotProess", DbType="Bit")]
public System.Nullable<bool> DesignIsHotProess
{
get
{
return this._DesignIsHotProess;
}
set
{
if ((this._DesignIsHotProess != value))
{
this.OnDesignIsHotProessChanging(value);
this.SendPropertyChanging();
this._DesignIsHotProess = value;
this.SendPropertyChanged("DesignIsHotProess");
this.OnDesignIsHotProessChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_[HJGL_Pipeline_Base_TestMedium1", Storage="_Base_TestMedium", ThisKey="LeakMedium", OtherKey="TestMediumId", IsForeignKey=true)]
public Base_TestMedium Base_TestMedium
{
+2 -1
View File
@@ -253,6 +253,7 @@
<Compile Include="HJGL\3DParameter.cs" />
<Compile Include="HJGL\BaseInfo\BaseMaterialcolorDataIn.cs" />
<Compile Include="HJGL\BaseInfo\BaseMaterialcolorOutput.cs" />
<Compile Include="HJGL\DataImport\DrawingRecognitionResult.cs" />
<Compile Include="HJGL\MaterialCodeLibBarCodeOutput.cs" />
<Compile Include="HJGL\PreDesign\Material\MaterialStockItem.cs" />
<Compile Include="APIItem\HJGL\PackagingManageItem.cs" />
@@ -337,4 +338,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>