This commit is contained in:
高飞 2025-08-12 10:28:08 +08:00
parent 0bbd721809
commit e05ac01d11
2 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,142 @@
ALTER VIEW [dbo].[HJGL_View_TrustNumSummary]
/*管道无损检测数量统计表佘春生于2019.06.03*/
AS
SELECT v1.ProjectId,v1.InstallationId, v1.IsoNo,rate.NDTR_Name,
ISNULL(v1.Rt1Num,0) AS Rt1Num,ISNULL(v2.Ut1Num,0) AS Ut1Num,ISNULL(v3.Mt1Num,0) AS Mt1Num,ISNULL(v4.Pt1Num,0) AS Pt1Num,
(ISNULL(v1.Rt1Num,0)+ISNULL(v2.Ut1Num,0)+ISNULL(v3.Mt1Num,0)+ISNULL(v4.Pt1Num,0)) AS TotalNum1,
ISNULL(v5.Mt2Num,0) AS Mt2Num,ISNULL(v6.Pt2Num,0) AS Pt2Num,(ISNULL(v5.Mt2Num,0)+ISNULL(v6.Pt2Num,0)) AS TotalNum2,
ISNULL(v7.Rt3Num,0) AS Rt3Num,ISNULL(v8.Ut3Num,0) AS Ut3Num,ISNULL(v9.Mt3Num,0) AS Mt3Num,ISNULL(v10.Pt3Num,0) AS Pt3Num,
(ISNULL(v7.Rt3Num,0)+ISNULL(v8.Ut3Num,0)+ISNULL(v9.Mt3Num,0)+ISNULL(v10.Pt3Num,0)) AS TotalNum3
FROM
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Rt1Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='射线检测' AND item.States='2' AND joty.JOTY_Group='1'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v1
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Ut1Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='超声波检测' AND item.States='2' AND joty.JOTY_Group='1'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v2
ON v2.ProjectId = v1.ProjectId AND v2.InstallationId = v1.InstallationId AND v2.ISO_ID = v1.ISO_ID AND v2.IsoNo = v1.IsoNo AND v2.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Mt1Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='磁粉检测' AND item.States='2' AND joty.JOTY_Group='1'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v3
ON v3.ProjectId = v1.ProjectId AND v3.InstallationId = v1.InstallationId AND v3.ISO_ID = v1.ISO_ID AND v3.IsoNo = v1.IsoNo AND v3.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Pt1Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='渗透检测' AND item.States='2' AND joty.JOTY_Group='1'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v4
ON v4.ProjectId = v1.ProjectId AND v4.InstallationId = v1.InstallationId AND v4.ISO_ID = v1.ISO_ID AND v4.IsoNo = v1.IsoNo AND v4.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Mt2Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='磁粉检测' AND item.States='2' AND joty.JOTY_Group='2'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v5
ON v5.ProjectId = v1.ProjectId AND v5.InstallationId = v1.InstallationId AND v5.ISO_ID = v1.ISO_ID AND v5.IsoNo = v1.IsoNo AND v5.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Pt2Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='渗透检测' AND item.States='2' AND joty.JOTY_Group='2'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v6
ON v6.ProjectId = v1.ProjectId AND v6.InstallationId = v1.InstallationId AND v6.ISO_ID = v1.ISO_ID AND v6.IsoNo = v1.IsoNo AND v6.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Rt3Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='射线检测' AND item.States='2' AND joty.JOTY_Group='3'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v7
ON v7.ProjectId = v1.ProjectId AND v7.InstallationId = v1.InstallationId AND v7.ISO_ID = v1.ISO_ID AND v7.IsoNo = v1.IsoNo AND v7.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Ut3Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='超声波检测' AND item.States='2' AND joty.JOTY_Group='3'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v8
ON v8.ProjectId = v1.ProjectId AND v8.InstallationId = v1.InstallationId AND v8.ISO_ID = v1.ISO_ID AND v8.IsoNo = v1.IsoNo AND v8.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Mt3Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='磁粉检测' AND item.States='2' AND joty.JOTY_Group='3'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v9
ON v9.ProjectId = v1.ProjectId AND v9.InstallationId = v1.InstallationId AND v9.ISO_ID = v1.ISO_ID AND v9.IsoNo = v1.IsoNo AND v9.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN
(SELECT iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo as IsoNo,trust.CH_NDTRate, COUNT(item.CH_TrustItemID) AS Pt3Num
FROM dbo.HJGL_CH_TrustItem item
LEFT JOIN dbo.HJGL_CH_Trust trust ON trust.CH_TrustID = item.CH_TrustID
LEFT JOIN dbo.HJGL_BS_NDTType ndt ON ndt.NDT_ID=trust.CH_NDTMethod
LEFT JOIN dbo.HJGL_PW_JointInfo jot ON jot.JOT_ID = item.JOT_ID
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BS_JointType joty ON joty.JOTY_ID = jot.JOTY_ID
WHERE ndt.SysType='渗透检测' AND item.States='2' AND joty.JOTY_Group='3'
GROUP BY iso.ProjectId,jot.InstallationId,iso.ISO_ID,iso.ISO_IsoNo,trust.CH_NDTRate) v10
ON v10.ProjectId = v1.ProjectId AND v10.InstallationId = v1.InstallationId AND v10.ISO_ID = v1.ISO_ID AND v10.IsoNo = v1.IsoNo AND v10.CH_NDTRate = v1.CH_NDTRate
LEFT JOIN dbo.HJGL_BS_NDTRate AS rate ON rate.NDTR_ID=v1.CH_NDTRate
WHERE v1.IsoNo IS NOT NULL
GO

View File

@ -38,6 +38,104 @@ namespace FineUIPro.Web.HJGL.HotProessManage
{
if (!IsPostBack)
{
#region 线
Model.SGGLDB db = Funs.DB;
var allJoints = from x in db.HJGL_PW_JointInfo
where (from y in db.HJGL_CH_HotProessTrustItem where y.JOT_ID == x.JOT_ID select y).Count() == 0 && x.IS_Proess == "1"
select x;
var allIsoIds = allJoints.Select(x => x.ISO_ID).Distinct();
var allIsos = from x in db.HJGL_PW_IsoInfo
join y in db.Base_Project on x.ProjectId equals y.ProjectId
where allIsoIds.Contains(x.ISO_ID)
select new { x.ISO_ID, x.ProjectId, x.ISO_IsoNo, x.BSU_ID, y.ProjectName, y.ProjectCode };
var allProjectUser = from x in db.Project_User
join y in db.Sys_User on x.UserId equals y.UserId
select new { x.UserId, x.ProjectId, y.UnitId };
string HotProessTrustId = string.Empty;
List<Model.HJGL_CH_HotProessTrust> trusts = new List<Model.HJGL_CH_HotProessTrust>();
List<Model.HJGL_CH_HotProessTrustItem> trustItems = new List<Model.HJGL_CH_HotProessTrustItem>();
List<Model.HJGL_CH_HotProessResult> hotProessResults = new List<Model.HJGL_CH_HotProessResult>();
foreach (var item in allIsos)
{
Model.HJGL_CH_HotProessTrust newHotProessTrust = new Model.HJGL_CH_HotProessTrust();
newHotProessTrust.ProjectId = item.ProjectId;
newHotProessTrust.HotProessTrustCode = BLL.SQLHelper.RunProcNewIdByProjectId("SpGetNewCode2ByProjectIdNoR", "dbo.HJGL_CH_HotProessTrust", "HotProessTrustCode", item.ProjectId, item.ProjectCode + "-" + string.Format("{0:MMdd}", DateTime.Now) + "-");
newHotProessTrust.TrustUnitId = item.BSU_ID;
newHotProessTrust.ProjectName = item.ProjectName;
newHotProessTrust.ConstructionNo = item.ProjectCode;
var projectUser = allProjectUser.FirstOrDefault(x => x.ProjectId == item.ProjectId && x.UnitId == item.BSU_ID);
if (projectUser != null)
{
newHotProessTrust.TrstManId = projectUser.UserId;
}
HotProessTrustId = SQLHelper.GetNewID(typeof(Model.HJGL_CH_HotProessTrust));
newHotProessTrust.HotProessTrustId = HotProessTrustId;
newHotProessTrust.TrustType = "1"; //正常口
db.HJGL_CH_HotProessTrust.InsertOnSubmit(newHotProessTrust);
db.SubmitChanges();
//trusts.Add(newHotProessTrust);
var joints = allJoints.Where(x => x.ISO_ID == item.ISO_ID);
foreach (var joint in joints)
{
if (!string.IsNullOrEmpty(joint.ProessTypes))
{
string[] proessTypes = joint.ProessTypes.Split('|');
for (int i = 0; i < proessTypes.Length; i++)
{
Model.HJGL_CH_HotProessTrustItem newItem = new Model.HJGL_CH_HotProessTrustItem();
newItem.HotProessTrustId = HotProessTrustId;
newItem.JOT_ID = joint.JOT_ID;
newItem.ProessTypes = proessTypes[i];
//item.TrustDate = Funs.GetNewDateTime(values.Value<string>("TrustDate").ToString());
newItem.TrustDate = DateTime.Now;
newItem.Remark = string.Empty;
newItem.HotProessTrustItemId = SQLHelper.GetNewID(typeof(Model.HJGL_CH_HotProessTrustItem));
trustItems.Add(newItem);
//if (newItem.ProessTypes.Contains("4") || newItem.ProessTypes.Contains("5")) //需要进入热处理报告的记录
//{
// Model.HJGL_HotProessItem hotProessItem = new Model.HJGL_HotProessItem();
// hotProessItem.HotProessItemId = SQLHelper.GetNewID(typeof(Model.HJGL_HotProessItem));
// hotProessItem.JOT_ID = newItem.JOT_ID;
// hotProessItem.HotProessTrustId = HotProessTrustId;
// hotProessItem.ProessTypes = newItem.ProessTypes;
// hotProessItem.SortIndex = BLL.HJGL_HotProessManageEditService.GetSortIndex(HotProessTrustId, newItem.JOT_ID, newItem.ProessTypes);
// Model.HJGL_CH_HotProessTrustItem hotProessTrustItem = BLL.HJGL_CH_HotProessTrustService.GetCH_HotProessTrustItemByHotProessTrustIdAndJotId(HotProessTrustId, newItem.JOT_ID);
// if (hotProessTrustItem != null)
// {
// BLL.HJGL_HotProessManageEditService.AddHotProessItem(hotProessItem, "", null);
// }
// //回写焊口热处理委托时间
// BLL.HJGL_PW_JointInfoService.WriteBackHotProessTrustDate(newItem.JOT_ID, newItem.TrustDate);
//}
//进入热处理结果反馈
Model.HJGL_CH_HotProessResult hotProessResult = new Model.HJGL_CH_HotProessResult();
hotProessResult.JOT_ID = newItem.JOT_ID;
hotProessResult.HotProessTrustId = HotProessTrustId;
hotProessResult.ProessTypes = newItem.ProessTypes;
hotProessResult.HotProessResultId = SQLHelper.GetNewID(typeof(Model.HJGL_CH_HotProessResult));
hotProessResults.Add(hotProessResult);
}
}
}
}
db.HJGL_CH_HotProessTrust.InsertAllOnSubmit(trusts);
db.SubmitChanges();
db.HJGL_CH_HotProessTrustItem.InsertAllOnSubmit(trustItems);
db.SubmitChanges();
db.HJGL_CH_HotProessResult.InsertAllOnSubmit(hotProessResults);
db.SubmitChanges();
//已焊接口
var allWeldJoints = from x in db.HJGL_PW_JointInfo
where x.DReportID != null && x.IS_Proess == "1" && (x.ProessTypes.Contains("4") || x.ProessTypes.Contains("5"))
&& (from y in db.HJGL_HotProessItem where y.JOT_ID == x.JOT_ID select y).Count() == 0
select x;
foreach (var item in allWeldJoints)
{
BLL.HJGL_HotProessManageEditService.AddHotProessItemByJoint(item);
}
#endregion
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
List<Model.HandleStep> myList = new List<Model.HandleStep>();
myList = BLL.HJGL_PW_JointInfoService.GetProessTypes();