20260529 焊材关联数据处理

This commit is contained in:
2026-05-29 14:39:26 +08:00
parent ba1124b932
commit 51ca66dab6
6 changed files with 140 additions and 47 deletions
@@ -661,14 +661,68 @@ GO
ALTER PROCEDURE [dbo].[HJGL_sp_WeldInspectionCheckRecordNew]
(
@ProjectId NVARCHAR(50)=null,
@ISO_ID VARCHAR(1000)=NULL,
@VICheckDate DATETIME=NULL,
@NDTR_ID VARCHAR(50)=NULL,
@JOTY_Group NCHAR(1)=NULL,
@WeldingDate datetime=null
)
AS
--管道对接焊接接头报检/检查记录
SELECT ROW_NUMBER() OVER(ORDER BY IsoInfo.ISO_IsoNo,joint.JOT_JointNo)%12 AS Num,
NEWID() as New_ID, Project.ProjectId,Project.ProjectCode,Project.ProjectName,
batchDetail.JOT_ID, joint.JOT_JointNo,joint.JOT_JointDesc,joint.ISO_ID,batch.NDTR_ID,
IsoInfo.ISO_IsoNo,batchDetail.VICheckDate,
(CASE WHEN joint.JOT_CellWelder!=joint.JOT_FloorWelder THEN FloorWelder.WED_Code+'/'+CellWelder.WED_Code ELSE FloorWelder.WED_Code END) AS WED_Code, --焊工号
(CASE WHEN joint.JOT_CellWelder!=joint.JOT_FloorWelder THEN FloorWelder.WED_Name+'/'+CellWelder.WED_Name ELSE FloorWelder.WED_Name END) AS WED_Name, --焊工姓名
(CASE WHEN Steel.STE_Code IS NOT NULL AND Steel2.STE_Code IS NOT NULL and Steel.STE_Code!=Steel2.STE_Code
THEN Steel.STE_Code + '/' + Steel2.STE_Code
WHEN Steel.STE_Code IS NOT NULL THEN Steel.STE_Code
ELSE ISNULL(Steel2.STE_Code,'') END) AS STE_Code, --材质
(CASE batchDetail.IsVI WHEN 1 THEN '' ELSE NULL END) AS PassVI,
(CASE batchDetail.IsVI WHEN 0 THEN '' ELSE NULL END) AS NoPassVI,
joint.JOT_Location --焊接位置
,WeldMethod.WME_Name --焊接方法
,CASE WHEN WeldMat.WeldName IS NULL THEN ISNULL(WeldSilk.WeldName,'')
ELSE (CASE WHEN WeldSilk.WeldName IS NULL
THEN ISNULL(WeldMat.WeldName,'')
ELSE (ISNULL(WeldSilk.WeldName,'') +'/'+ ISNULL(WeldMat.WeldName,'')) END) END AS WMT_MatName --焊材牌号
,joint.JOT_PrepareTemp --预热温度
,batchDetail.Remark
,jointType.JOTY_Group
,weldReport.JOT_WeldDate
,joint.Sort1
,joint.Sort2
,joint.Sort3
,joint.Sort4
,joint.Sort5
FROM dbo.HJGL_BO_BatchDetail batchDetail
LEFT JOIN dbo.HJGL_BO_Batch batch ON batch.BatchId=batchDetail.BatchId
LEFT JOIN dbo.HJGL_PW_JointInfo joint ON joint.JOT_ID=batchDetail.JOT_ID
LEFT JOIN dbo.Base_Project AS Project ON Project.ProjectId = joint.ProjectId
LEFT JOIN dbo.HJGL_PW_IsoInfo AS IsoInfo ON IsoInfo.ISO_ID = joint.ISO_ID
LEFT JOIN dbo.HJGL_BS_Welder AS CellWelder ON CellWelder.WED_ID=joint.JOT_CellWelder
LEFT JOIN dbo.HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=joint.JOT_FloorWelder
LEFT JOIN dbo.HJGL_BS_Steel AS Steel ON Steel.STE_ID = joint.STE_ID
LEFT JOIN dbo.HJGL_BS_Steel AS Steel2 ON Steel2.STE_ID=joint.STE_ID2
LEFT JOIN dbo.HJGL_BS_JointType jointType ON jointType.JOTY_ID = joint.JOTY_ID
LEFT JOIN dbo.HJGL_BS_WeldMethod AS WeldMethod ON WeldMethod.WME_ID=joint.WME_ID
LEFT JOIN View_WeldInfoDropDownLists as WeldMat on WeldMat.WeldId = joint.JOT_WeldMat and WeldMat.WeldTypeName like '%焊条%'
LEFT JOIN View_WeldInfoDropDownLists as WeldSilk on WeldSilk.WeldId = joint.JOT_WeldSilk and WeldSilk.WeldTypeName like '%焊丝%'
left join HJGL_BO_WeldReportMain as weldReport on weldReport.DReportID= joint.DReportID
WHERE (jointType.JOTY_Group=@JOTY_Group OR @JOTY_Group IS NULL) AND
(joint.ProjectId=@projectId OR @projectId IS NULL) AND
(joint.ISO_ID in(select Id from dbo.StrToTable(@ISO_ID)) OR @ISO_ID IS NULL)
AND (batchDetail.VICheckDate=@VICheckDate OR @VICheckDate IS NULL)
AND (batch.NDTR_ID=@NDTR_ID OR @NDTR_ID IS NULL)
--AND batchDetail.VICheckDate IS NOT NULL
and weldReport.JOT_WeldDate is not null
and (weldReport.JOT_WeldDate=@WeldingDate or @WeldingDate is null)
order by joint.Sort1,joint.Sort2,joint.Sort3,joint.Sort4,joint.Sort5
GO
-- SELECT * FROM View_WeldInfoDropDownLists WHERE WeldName='CHE422R'
--select distinct JOT_WeldSilk,HJGL_BS_WeldMaterial.WMT_MatCode from HJGL_PW_JointInfo
--left join HJGL_BS_WeldMaterial on HJGL_PW_JointInfo.JOT_WeldSilk = HJGL_BS_WeldMaterial.WMT_ID
----where HJGL_BS_WeldMaterial.WMT_MatCode not in (select WeldName from Weld_WeldInfo)
--select distinct JOT_WeldMat,HJGL_BS_WeldMaterial.WMT_MatCode from HJGL_PW_JointInfo
--left join HJGL_BS_WeldMaterial on HJGL_PW_JointInfo.JOT_WeldMat = HJGL_BS_WeldMaterial.WMT_ID
@@ -78,7 +78,7 @@
<f:Toolbar ID="Toolbar3" Position="Top" runat="server">
<Items>
<f:Button ID="btnWeldingRecord" BoxConfigAlign="Center" Icon="Printer" runat="server" EnableAjax="false" DisableControlBeforePostBack="false" Text="焊接接头报检检查记录打印" ToolTip="焊接接头报检检查记录打印" OnClick="btnWeldingRecord_Click"></f:Button>
<f:DropDownList ID="drpIsoId" runat="server" Label="管线号" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="txtWeldingDate_TextChanged" EnableEdit="true"></f:DropDownList>
<f:DropDownList ID="drpIsoId" runat="server" Label="管线号" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="drpIsoId_SelectedIndexChanged" EnableEdit="true"></f:DropDownList>
<%--<f:DatePicker ID="txtWeldingDate" runat="server" Label="焊接日期" LabelAlign="Right" AutoPostBack="true" OnTextChanged="txtWeldingDate_TextChanged" Width="220px"></f:DatePicker>--%>
<f:DropDownList ID="drpWeldingDate" runat="server" Label="焊接日期" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="txtWeldingDate_TextChanged" Width="220px" EnableEdit="true"></f:DropDownList>
</Items>
@@ -22,11 +22,6 @@ namespace FineUIPro.Web.ContinuousPrint
{
if (!IsPostBack)
{
this.drpIsoId.DataTextField = "ISO_IsoNo";
this.drpIsoId.DataValueField = "ISO_ID";
Funs.FineUIPleaseSelect(this.drpIsoId);
this.drpIsoId.SelectedValue = BLL.Const._Null;
BindGrid();
}
}
@@ -56,21 +51,6 @@ namespace FineUIPro.Web.ContinuousPrint
/// </summary>
public void BindGrid1(string ProjectId)
{
//string strSql = @" SELECT v.ProjectId,project.ProjectCode,project.ProjectName,v.JOTY_Group,
// (CASE WHEN v.JOTY_Group='1' THEN '对接焊缝' WHEN v.JOTY_Group='2' THEN '角焊缝'
// WHEN v.JOTY_Group='3' THEN '支管连接焊缝' END) AS JointType,
// v.VICheckDate,v.NDTR_ID,rate.NDTR_Name
// FROM
// (SELECT batch.ProjectId,batchDetail.VICheckDate,batch.NDTR_ID,jointType.JOTY_Group
// FROM dbo.HJGL_BO_BatchDetail batchDetail
// LEFT JOIN dbo.HJGL_BO_Batch batch ON batch.BatchId=batchDetail.BatchId
// LEFT JOIN dbo.HJGL_PW_JointInfo joint ON joint.JOT_ID=batchDetail.JOT_ID
// LEFT JOIN dbo.HJGL_BS_JointType jointType ON jointType.JOTY_ID = joint.JOTY_ID
// WHERE BatchDetail.VICheckDate IS NOT NULL
// GROUP BY batch.ProjectId,jointType.JOTY_Group,batchDetail.VICheckDate,batch.NDTR_ID) v
// LEFT JOIN dbo.Base_Project project ON project.ProjectId = v.ProjectId
// LEFT JOIN dbo.HJGL_BS_NDTRate rate ON rate.NDTR_ID = v.NDTR_ID
// where v.ProjectId= @ProjectId";
string strSql = @" select distinct batch.ProjectId,
Project.ProjectCode,
Project.ProjectName,
@@ -99,7 +79,7 @@ namespace FineUIPro.Web.ContinuousPrint
strSql += " AND isoInfo.ISO_ID=@isoId";
listStr.Add(new SqlParameter("@isoId", this.drpIsoId.SelectedValue));
}
if (!string.IsNullOrEmpty(this.drpWeldingDate.SelectedValue))
if (!string.IsNullOrEmpty(this.drpWeldingDate.SelectedValue) && this.drpWeldingDate.SelectedValue != BLL.Const._Null)
{
strSql += " AND weldReport.JOT_WeldDate=@weldingDate";
listStr.Add(new SqlParameter("@weldingDate", this.drpWeldingDate.SelectedValue));
@@ -156,25 +136,56 @@ namespace FineUIPro.Web.ContinuousPrint
protected void Grid1_RowClick(object sender, GridRowClickEventArgs e)
{
this.drpIsoId.Items.Clear();
this.drpIsoId.DataSource = from x in Funs.DB.HJGL_PW_IsoInfo where x.ProjectId == this.Grid1.SelectedRowID orderby x.ISO_IsoNo select x;
var isoList = (from x in Funs.DB.HJGL_BO_BatchDetail
join y in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals y.JOT_ID
join z in Funs.DB.HJGL_PW_IsoInfo on y.ISO_ID equals z.ISO_ID
where y.ProjectId == this.Grid1.SelectedRowID
select new { z.ISO_ID, z.ISO_IsoNo }).Distinct().ToList();
this.drpIsoId.DataTextField = "ISO_IsoNo";
this.drpIsoId.DataValueField = "ISO_ID";
this.drpIsoId.DataSource = isoList;
this.drpIsoId.DataBind();
Funs.FineUIPleaseSelect(this.drpIsoId);
this.drpIsoId.SelectedValue = BLL.Const._Null;
BindGrid1(this.Grid1.SelectedRowID);
//焊接日期
////焊接日期
List<string> dateLists = new List<string>();
this.drpWeldingDate.Items.Clear();
this.drpWeldingDate.DataTextField = "Date";
this.drpWeldingDate.DataValueField = "Date";
List<string> dateLists = (from x in Funs.DB.HJGL_BO_BatchDetail
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
join z in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals z.JOT_ID
join w in Funs.DB.HJGL_BO_WeldReportMain on z.DReportID equals w.DReportID
where y.ProjectId== this.Grid1.SelectedRowID
select w.JOT_WeldDate.ToShortDateString()).Distinct().ToList();
if (this.drpIsoId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpIsoId.SelectedValue))
{
dateLists = (from x in Funs.DB.HJGL_BO_BatchDetail
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
join z in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals z.JOT_ID
join w in Funs.DB.HJGL_BO_WeldReportMain on z.DReportID equals w.DReportID
where y.ProjectId == this.Grid1.SelectedRowID
&& z.ISO_ID == this.drpIsoId.SelectedValue
select w.JOT_WeldDate)
.Distinct()
.OrderBy(d => d)
.Select(d => d.ToShortDateString())
.ToList();
}
else
{
dateLists = (from x in Funs.DB.HJGL_BO_BatchDetail
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
join z in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals z.JOT_ID
join w in Funs.DB.HJGL_BO_WeldReportMain on z.DReportID equals w.DReportID
where y.ProjectId == this.Grid1.SelectedRowID
select w.JOT_WeldDate)
.Distinct()
.OrderBy(d => d) // 按日期升序
.Select(d => d.ToShortDateString())
.ToList();
}
this.drpWeldingDate.DataSource = dateLists;
this.drpWeldingDate.DataBind();
Funs.FineUIPleaseSelect(this.drpWeldingDate);
this.drpWeldingDate.SelectedValue = BLL.Const._Null;
BindGrid1(this.Grid1.SelectedRowID);
}
#endregion
@@ -862,5 +873,33 @@ namespace FineUIPro.Web.ContinuousPrint
{
BindGrid1(this.Grid1.SelectedRowID);
}
protected void drpIsoId_SelectedIndexChanged(object sender, EventArgs e)
{
////焊接日期
List<string> dateLists = new List<string>();
this.drpWeldingDate.Items.Clear();
this.drpWeldingDate.DataTextField = "Date";
this.drpWeldingDate.DataValueField = "Date";
if (this.drpIsoId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpIsoId.SelectedValue))
{
dateLists = (from x in Funs.DB.HJGL_BO_BatchDetail
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
join z in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals z.JOT_ID
join w in Funs.DB.HJGL_BO_WeldReportMain on z.DReportID equals w.DReportID
where y.ProjectId == this.Grid1.SelectedRowID
&& z.ISO_ID == this.drpIsoId.SelectedValue
select w.JOT_WeldDate)
.Distinct()
.OrderBy(d => d)
.Select(d => d.ToShortDateString())
.ToList();
}
this.drpWeldingDate.DataSource = dateLists;
this.drpWeldingDate.DataBind();
Funs.FineUIPleaseSelect(this.drpWeldingDate);
this.drpWeldingDate.SelectedValue = BLL.Const._Null;
BindGrid1(this.Grid1.SelectedRowID);
}
}
}
@@ -211,18 +211,18 @@ namespace FineUIPro.Web.JGZL
newItem.WeldingJointNo = item.JOT_JointNo; //焊口编号
if (!string.IsNullOrEmpty(item.JOT_WeldSilk))
{
var silk = BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(item.JOT_WeldSilk);
var silk = (from x in Funs.DB.View_WeldInfoDropDownLists where x.WeldId == item.JOT_WeldSilk && x.WeldTypeName.Contains("焊丝") select x).FirstOrDefault(); //BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(item.JOT_WeldSilk);
if (silk != null)
{
newItem.WeldingWire = silk.WMT_MatCode;//所用焊丝牌号
newItem.WeldingWire = silk.WeldName;//所用焊丝牌号
}
}
if (!string.IsNullOrEmpty(item.JOT_WeldMat))
{
var weldMat = BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(item.JOT_WeldMat);
var weldMat = (from x in Funs.DB.View_WeldInfoDropDownLists where x.WeldId == item.JOT_WeldMat && x.WeldTypeName.Contains("焊条") select x).FirstOrDefault(); //BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(item.JOT_WeldMat);
if (weldMat != null)
{
newItem.WeldingRod = weldMat.WMT_MatCode;//所用焊条牌号
newItem.WeldingRod = weldMat.WeldName;//所用焊条牌号
}
}
itemLists.Add(newItem);
+1 -1
View File
@@ -11,7 +11,7 @@
<FineUIPro DebugMode="false" Theme="Cupertino"/>
<appSettings>
<!--连接字符串-->
<add key="ConnectionString" value="Server=.\MSSQLSERVER01;Database=HJGLDB_DS;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Max Pool Size = 1000;Connect Timeout=1200"/>
<add key="ConnectionString" value="Server=.\SQL2022;Database=HJGLDB_DS;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Max Pool Size = 1000;Connect Timeout=1200"/>
<!--系统名称-->
<add key="SystemName" value="诺必达焊接管理系统"/>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/Images/;"/>
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>