2022-11-18 焊接基础数据导入增加dn公称直径

This commit is contained in:
李鹏飞 2022-11-18 16:50:05 +08:00
parent 4d94c81026
commit 134edd89d5
13 changed files with 1104 additions and 91 deletions

BIN
.vs/SGGL_SeDin/v17/.wsuo Normal file

Binary file not shown.

View File

@ -2,5 +2,6 @@
"ExpandedNodes": [
""
],
"SelectedNode": "\\SGGL.sln",
"PreviewInSolutionExplorer": false
}

View File

@ -0,0 +1,170 @@
alter table HJGL_WeldJoint add DNDia varchar(50)
/****** 对象: View [dbo].[View_HJGL_WeldJoint] 脚本日期: 2022/11/18 14:39:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[View_HJGL_WeldJoint]
AS
SELECT jot.[ProjectId] --Id
,pipe.[UnitWorkId] --Id
,uw.UnitWorkName --
,pipe.[UnitId] --Id
,unit.UnitName --
,jot.[PipelineCode] --线
,pipe.[SingleNumber] --线
,pipe.[SingleName] --
,pipe.[MediumId] --Id
,medium.MediumCode
,medium.MediumName --
,pipe.[PipingClassId] --Id
,pipingClass.PipingClassCode --
,pipe.[DetectionRateId] --Id
,dr.DetectionRateCode --51020
,pipe.DetectionType --Id(|)
,STUFF((SELECT ',' + DetectionTypeCode FROM Base_DetectionType
WHERE CHARINDEX('|'+LTRIM(DetectionTypeId)+'|','|'+ pipe.DetectionType + '|') > 0 FOR XML PATH('') ), 1, 1, '') AS DetectionTypeStr --,
,pipe.DesignTemperature --
,pipe.DesignPress --Mpa(g)
,pipe.TestMedium --Id
,tm.MediumName AS TestMediumName --
,pipe.TestPressure --Mpa(g)
,pipe.PressurePipingClassId --Id
,ppc.PressurePipingClassCode --
,pipe.PipeLenth --线(m)
,pipe.LeakMedium --Id
,tm2.MediumName AS LeakMediumName --
,pipe.LeakPressure --Mpa(g)
,pipe.PCMedium --Id
,pm.PurgeMethodCode --
,pipe.VacuumPressure --Kpa(a)
,pipe.MaterialId --Id
,mat.MaterialCode AS PipeMaterialCode --
,pipe.Remark AS PipeRemark --
,jot.[WeldJointId] --Id
,jot.[WeldJointCode] --
,jot.[Material1Id] --1Id
,mat1.MaterialCode AS Material1Code --1
,jot.[Material2Id] --2Id
,mat2.MaterialCode AS Material2Code --2
,jot.[Dia] --
,jot.DNDia --DN公称直径
,jot.[Size] --
,jot.[Thickness] --
,jot.[Specification] --
,jot.[WeldTypeId] --Id
,WeldType.WeldTypeCode --
,jot.[DetectionTypeId] --Id
,ndt.DetectionTypeCode --
,jot.[Components1Id] --1Id
,com1.ComponentsCode AS ComponentsCode1 --1
,jot.[Components2Id] --2Id
,com2.ComponentsCode AS ComponentsCode2 --2
,jot.DesignIsHotProess --
,CASE jot.DesignIsHotProess WHEN 1 THEN '' ELSE '' END AS DesignIsHotProessStr --
,jot.[WeldingMethodId] --Id
,WeldingMethod.WeldingMethodCode --
,jot.WPQId --WPS的Id
,wps.WPQCode --WPS编号
,jot.[GrooveTypeId] --Id
,GrooveType.GrooveTypeCode --
,jot.[WeldingRod] --Id
,rod.ConsumablesCode AS WeldingRodCode --
,jot.[WeldingWire] --Id
,wire.ConsumablesCode AS WeldingWireCode --
,jot.PreTemperature --
,jot.[JointAttribute] --
,jot.TwoJointType --
,CONVERT(VARCHAR(100), daily.WeldingDate, 23) AS WeldingDate --
,BackingWelder.WelderCode AS BackingWelderCode --
,CoverWelder.WelderCode AS CoverWelderCode --
,(CASE (SELECT COUNT(*) FROM [dbo].[HJGL_HotProess_TrustItem] hpti
WHERE hpti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(ReportNo,'') FROM [dbo].[HJGL_HotProess_Trust] hpt
LEFT JOIN [dbo].[HJGL_HotProess_TrustItem] hpti ON hpti.HotProessTrustId=hpt.HotProessTrustId
WHERE hpti.WeldJointId=jot.WeldJointId) END) AS HotProessReportNo --
,(CASE (SELECT TOP 1 IsCompleted FROM [dbo].[HJGL_HotProess_TrustItem] hpti
WHERE hpti.WeldJointId=jot.WeldJointId) WHEN 1 THEN '完成' WHEN 0 THEN '未完成' ELSE '未热处理' END) AS HotProessResult --
,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Hard_TrustItem hti
WHERE hti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(InspectionNum,'') FROM [dbo].HJGL_Hard_Trust ht
LEFT JOIN [dbo].HJGL_Hard_TrustItem hti ON hti.HardTrustID=ht.HardTrustID
WHERE hti.WeldJointId=jot.WeldJointId) END) AS HardReportNo --
,(CASE (SELECT TOP 1 IsPass FROM [dbo].HJGL_Hard_TrustItem hti
WHERE hti.WeldJointId=jot.WeldJointId) WHEN 1 THEN '合格' WHEN 0 THEN '不合格' ELSE '待检测' END) AS HardResult --
,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Batch_BatchTrustItem bti
WHERE bti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 TrustBatchCode FROM [dbo].HJGL_Batch_BatchTrust bt
LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchId=bt.TrustBatchId
WHERE bti.WeldJointId=jot.WeldJointId) END) AS TrustBatchCode --
,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Batch_NDEItem ndei
LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId
WHERE bti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(NDECode,'') FROM [dbo].HJGL_Batch_NDE nde
LEFT JOIN [dbo].HJGL_Batch_NDEItem ndei ON ndei.NDEID=nde.NDEID
LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId
WHERE bti.WeldJointId=jot.WeldJointId) END) AS NDECode --
,(CASE (SELECT TOP 1 CheckResult FROM [dbo].HJGL_Batch_NDEItem ndei
LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId
WHERE bti.WeldJointId=jot.WeldJointId) WHEN '1' THEN '合格' WHEN '2' THEN '不合格' ELSE '' END) AS CheckResult --
,jot.PipelineId
,jot.[JointArea]
,jot.[WeldingLocationId]
,jot.[HeartNo1]
,jot.[HeartNo2]
,jot.[IsHotProess]
,jot.[WeldingDailyId]
,jot.[BackingWelderId]
,jot.[CoverWelderId]
,jot.WeldingMode
,jot.Remark
,jot.IsTwoJoint
,jot.SubmitMan
,jot.AuditMan
,jot.AuditDate
,WeldingLocation.WeldingLocationCode
,CASE WHEN jot.WeldingDailyId IS NULL THEN '' ELSE '' END AS IsWelding
,CASE WHEN jot.IsHotProess=1 THEN '' ELSE '' END AS IsHotProessStr,
BackingWelder.PersonName AS BackingWelderName,
CoverWelder.PersonName AS CoverWelderName,
(CASE WHEN CoverWelder.WelderCode IS NOT NULL AND BackingWelder.WelderCode IS NOT NULL
THEN CoverWelder.WelderCode + '/' + BackingWelder.WelderCode
ELSE (ISNULL(CoverWelder.WelderCode,'') + ISNULL(BackingWelder.WelderCode,'')) END) AS WelderCode, --
(CASE WHEN mat1.MaterialCode IS NOT NULL AND mat2.MaterialCode IS NOT NULL
THEN mat1.MaterialCode + '/' + mat2.MaterialCode
ELSE (ISNULL(mat1.MaterialCode,'') + ISNULL(mat2.MaterialCode,'')) END) AS MaterialCode, --
daily.WeldingDailyCode,
pointItem.PointBatchId,
point.PointBatchCode,
(CASE WHEN pointItem.PointState='1' THEN '已点口' WHEN pointItem.PointState='2' THEN '已扩透' ELSE '' END) AS IsPoint
FROM [dbo].[HJGL_WeldJoint] jot
LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId=jot.PipelineId
LEFT JOIN dbo.WBS_UnitWork uw ON uw.UnitWorkId=pipe.UnitWorkId
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId=pipe.UnitId
LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=jot.WeldTypeId
LEFT JOIN dbo.Base_DetectionRate dr ON dr.DetectionRateId = pipe.DetectionRateId
LEFT JOIN Base_TestMedium tm ON tm.TestMediumId=pipe.TestMedium
LEFT JOIN Base_TestMedium tm2 ON tm2.TestMediumId=pipe.LeakMedium
LEFT JOIN Base_PurgeMethod pm ON pm.PurgeMethodId=pipe.PCMedium
LEFT JOIN Base_PressurePipingClass ppc ON ppc.PressurePipingClassId=pipe.PressurePipingClassId
LEFT JOIN Base_Material AS mat ON mat.MaterialId = pipe.MaterialId
LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id
LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id
LEFT JOIN Base_WeldingMethod AS WeldingMethod ON WeldingMethod.WeldingMethodId=jot.WeldingMethodId
LEFT JOIN Base_WeldingLocation AS WeldingLocation ON WeldingLocation.WeldingLocationId=jot.WeldingLocationId
LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire
LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod
LEFT JOIN Base_GrooveType AS GrooveType ON GrooveType.GrooveTypeId=jot.GrooveTypeId
LEFT JOIN Base_Components AS com1 ON com1.ComponentsId = jot.Components1Id
LEFT JOIN Base_Components AS com2 ON com2.ComponentsId = jot.Components2Id
LEFT JOIN SitePerson_Person AS BackingWelder ON BackingWelder.PersonId=jot.BackingWelderId
LEFT JOIN SitePerson_Person AS CoverWelder ON CoverWelder.PersonId=jot.CoverWelderId
LEFT JOIN dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId
LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=pipe.PipingClassId
LEFT JOIN dbo.Base_Medium medium ON medium.MediumId = pipe.MediumId
LEFT JOIN dbo.Base_DetectionType ndt ON ndt.DetectionTypeId = jot.DetectionTypeId
LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId = jot.WPQId
LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.WeldJointId = jot.WeldJointId
LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId

View File

@ -1,10 +1,13 @@
namespace BLL
{
using MiniExcelLibs;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
@ -1161,6 +1164,37 @@ namespace BLL
dv.RowFilter = $"({filterRule})";
return dv.ToTable();
}
public static IEnumerable<dynamic> QueryWithoutEmptyRow(Stream stream, bool useHeaderRow, string sheetName, ExcelType excelType, string startCell, IConfiguration configuration)
{
var rows = stream.Query(useHeaderRow, sheetName, excelType, startCell, configuration);
foreach (IDictionary<string, object> row in rows)
{
if (row.Keys.Any(key => row[key] != null))
yield return row;
}
}
/// <summary>
/// 用于Linq的去重,扩展方法需要放到静态类中
/// </summary>
/// <typeparam name="TSource"></typeparam>
/// <typeparam name="TKey"></typeparam>
/// <param name="source"></param>
/// <param name="keySelector"></param>
/// <returns></returns>
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
{
HashSet<TKey> seenKeys = new HashSet<TKey>();
foreach (TSource element in source)
{
if (seenKeys.Add(keySelector(element)))
{
yield return element;
}
}
}
}
}

View File

@ -78,6 +78,7 @@ namespace BLL
Material2Id = weldJoint.Material2Id,
Thickness = weldJoint.Thickness,
Dia = weldJoint.Dia,
DNDia=weldJoint.DNDia,
Size = weldJoint.Size,
DetectionTypeId = weldJoint.DetectionTypeId,
JointArea = weldJoint.JointArea,
@ -107,6 +108,13 @@ namespace BLL
db.SubmitChanges();
}
public static void AddBulkWeldJoint(List<Model.HJGL_WeldJoint> weldJoints)
{
Model.SGGLDB db = Funs.DB;
db.HJGL_WeldJoint.InsertAllOnSubmit(weldJoints);
db.SubmitChanges();
}
/// <summary>
/// 修改
/// </summary>
@ -126,6 +134,7 @@ namespace BLL
newWeldJoint.Material2Id = weldJoint.Material2Id;
newWeldJoint.Thickness = weldJoint.Thickness;
newWeldJoint.Dia = weldJoint.Dia;
newWeldJoint.DNDia = weldJoint.DNDia;
newWeldJoint.Size = weldJoint.Size;
newWeldJoint.DetectionTypeId = weldJoint.DetectionTypeId;
newWeldJoint.JointArea = weldJoint.JointArea;

View File

@ -37,7 +37,7 @@
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<WarningLevel>3</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>

View File

@ -21,6 +21,10 @@
<f:ListItem Text="补充导入" Value="0"/>
<f:ListItem Text="更新导入" Value="1"/>
</f:DropDownList>
<f:RadioButtonList ID="rbDiaType" Label="DN公称直径/外径" runat="server">
<f:RadioItem Text="DN公称直径" Value="0" Selected="true"/>
<f:RadioItem Text="外径" Value="1" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:HiddenField ID="hdFileName" runat="server">
</f:HiddenField>
@ -57,9 +61,9 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="管线信息" Height="350px"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="PipelineCode" AllowCellEditing="true"
AllowColumnLocking="true" EnableColumnLines="true" ClicksToEdit="2" DataIDField="PipelineCode"
AllowColumnLocking="true" EnableColumnLines="true" ClicksToEdit="2" DataIDField="PipelineCode" EnableBigData="true"
AllowSorting="true" SortField="PipelineCode" SortDirection="ASC"
AllowPaging="true" IsDatabasePaging="true" PageSize="15"
AllowPaging="true" IsDatabasePaging="false" PageSize="300" EnableBigDataRowTip="false"
EnableTextSelection="True" >
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"

View File

@ -68,6 +68,15 @@ namespace FineUIPro.Web.HJGL.WeldingManage
/// </remarks>
protected global::FineUIPro.DropDownList DrpType;
/// <summary>
/// rbDiaType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbDiaType;
/// <summary>
/// hdFileName 控件。
/// </summary>

View File

@ -221,10 +221,14 @@
SortField="Size" FieldType="Double" HeaderTextAlign="Center" TextAlign="Left"
Width="90px">
</f:RenderField>
<f:RenderField HeaderText="外径(公称直径)" ColumnID="Dia"
<f:RenderField HeaderText="外径" ColumnID="Dia"
DataField="Dia" SortField="Dia" FieldType="Double" HeaderTextAlign="Center" TextAlign="Left"
Width="90px">
</f:RenderField>
<f:RenderField HeaderText="DN公称直径" ColumnID="DNDia"
DataField="DNDia" SortField="DNDia" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="90px">
</f:RenderField>
<f:RenderField HeaderText="壁厚" ColumnID="Thickness"
DataField="Thickness" SortField="Thickness" FieldType="Double" HeaderTextAlign="Center"
TextAlign="Left" Width="90px">

View File

@ -297,7 +297,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
{
string strSql = @"SELECT WeldJointId,JointAttribute,WeldJointCode,PipelineId,PipelineCode,JointAttribute,
IsWelding,IsHotProessStr,Material1Code,Material2Code,WeldTypeCode,
Specification,HeartNo1,HeartNo2,Size,Dia,Thickness,GrooveTypeCode,
Specification,HeartNo1,HeartNo2,Size,Dia,DNDia,Thickness,GrooveTypeCode,
WeldingMethodCode,WeldingWireCode,WeldingRodCode,WeldingDate,WeldingDailyCode,
BackingWelderCode,CoverWelderCode,MediumCode ,PreTemperature,JointArea,WPQCode,Remark
FROM View_HJGL_WeldJoint WHERE IsTwoJoint IS NULL ";

View File

@ -77389,6 +77389,8 @@ namespace Model
private string _TwoJointType;
private string _DNDia;
private EntitySet<HJGL_Batch_BatchTrustItem> _HJGL_Batch_BatchTrustItem;
private EntitySet<HJGL_Batch_PointBatchItem> _HJGL_Batch_PointBatchItem;
@ -77525,6 +77527,8 @@ namespace Model
partial void OnMatchableWPQChanged();
partial void OnTwoJointTypeChanging(string value);
partial void OnTwoJointTypeChanged();
partial void OnDNDiaChanging(string value);
partial void OnDNDiaChanged();
#endregion
public HJGL_WeldJoint()
@ -78494,6 +78498,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNDia", DbType="VarChar(50)")]
public string DNDia
{
get
{
return this._DNDia;
}
set
{
if ((this._DNDia != value))
{
this.OnDNDiaChanging(value);
this.SendPropertyChanging();
this._DNDia = value;
this.SendPropertyChanged("DNDia");
this.OnDNDiaChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_HJGL_Batch_BatchTrustItem_HJGL_WeldJoint", Storage="_HJGL_Batch_BatchTrustItem", ThisKey="WeldJointId", OtherKey="WeldJointId", DeleteRule="NO ACTION")]
public EntitySet<HJGL_Batch_BatchTrustItem> HJGL_Batch_BatchTrustItem
{
@ -213960,6 +213984,8 @@ namespace Model
private System.Nullable<decimal> _Dia;
private string _DNDia;
private System.Nullable<decimal> _Size;
private System.Nullable<decimal> _Thickness;
@ -214010,6 +214036,8 @@ namespace Model
private string _JointAttribute;
private string _TwoJointType;
private string _WeldingDate;
private string _BackingWelderCode;
@ -214742,6 +214770,22 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNDia", DbType="VarChar(50)")]
public string DNDia
{
get
{
return this._DNDia;
}
set
{
if ((this._DNDia != value))
{
this._DNDia = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Size", DbType="Decimal(8,3)")]
public System.Nullable<decimal> Size
{
@ -215142,6 +215186,22 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TwoJointType", DbType="NVarChar(100)")]
public string TwoJointType
{
get
{
return this._TwoJointType;
}
set
{
if ((this._TwoJointType != value))
{
this._TwoJointType = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldingDate", DbType="VarChar(100)")]
public string WeldingDate
{