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; }
}
}