diff --git a/DataBase/版本日志/HJGLDB_DS_2025-08-11_gf.sql b/DataBase/版本日志/HJGLDB_DS_2025-08-11_gf.sql new file mode 100644 index 0000000..29c6eae --- /dev/null +++ b/DataBase/版本日志/HJGLDB_DS_2025-08-11_gf.sql @@ -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 + + diff --git a/HJGL_DS/FineUIPro.Web/HJGL/HotProessManage/HotProessTrust.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/HotProessManage/HotProessTrust.aspx.cs index 8771e2f..3178659 100644 --- a/HJGL_DS/FineUIPro.Web/HJGL/HotProessManage/HotProessTrust.aspx.cs +++ b/HJGL_DS/FineUIPro.Web/HJGL/HotProessManage/HotProessTrust.aspx.cs @@ -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 trusts = new List(); + List trustItems = new List(); + List hotProessResults = new List(); + 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("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 myList = new List(); myList = BLL.HJGL_PW_JointInfoService.GetProessTypes();