From 48d9299f1bb6d18ce2e4659db2564deb322db8b1 Mon Sep 17 00:00:00 2001 From: gaofei1985 <181547018@qq.com> Date: Sat, 6 Dec 2025 16:11:56 +0800 Subject: [PATCH 1/5] 1 --- HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx | 3 +++ HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx.cs | 2 ++ 2 files changed, 5 insertions(+) diff --git a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx index 6f8a5d3..b64ddf4 100644 --- a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx +++ b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx @@ -73,6 +73,9 @@ + + diff --git a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx.cs b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx.cs index 053b737..7d6d40f 100644 --- a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx.cs +++ b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockMoveRecords.aspx.cs @@ -53,6 +53,7 @@ namespace FineUIPro.Web.WeldMat.Stock WeldType.WeldTypeName, (unit2.UnitName+'('+unitStoreMoveIn.UnitStoreName+')') as UnitStoreMoveInName, StockIn.Amount, + us.UserName as MoveInMan, StockIn.MoveInDate from Weld_StockIn as stockIn left join Weld_UnitStore as unitStore on unitStore.UnitStoreId=stockIn.MoveInStoreId @@ -61,6 +62,7 @@ namespace FineUIPro.Web.WeldMat.Stock LEFT JOIN dbo.Weld_WeldType AS WeldType ON WeldType.WeldTypeId = Weld.WeldTypeId left join Weld_UnitStore as unitStoreMoveIn on unitStoreMoveIn.UnitStoreId=stockIn.UnitStoreId left join Base_Unit as unit2 on unit2.UnitId = unitStoreMoveIn.UnitId + left join Sys_User as us on us.UserId=stockIn.MoveInManId where stockIn.Flag='1' and MoveInStoreId is not null "; List listStr = new List(); From 39b1c7535992225f891c6a831428ba5e88352fd3 Mon Sep 17 00:00:00 2001 From: gaofei1985 <181547018@qq.com> Date: Tue, 9 Dec 2025 09:16:05 +0800 Subject: [PATCH 2/5] 1 --- .../HJGL/WeldingManage/JointInfoEdit.aspx.cs | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingManage/JointInfoEdit.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/WeldingManage/JointInfoEdit.aspx.cs index b2773cb..258a7c5 100644 --- a/HJGL_DS/FineUIPro.Web/HJGL/WeldingManage/JointInfoEdit.aspx.cs +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingManage/JointInfoEdit.aspx.cs @@ -200,14 +200,15 @@ this.ddlCheckFlag.Text = "未检测"; if (!string.IsNullOrEmpty(this.JOT_ID)) { - var hotItems = from x in BLL.Funs.DB.HJGL_CH_HotProessTrustItem where x.JOT_ID == JOT_ID select x; + //var hotItems = from x in BLL.Funs.DB.HJGL_CH_HotProessTrustItem where x.JOT_ID == JOT_ID select x; var batchDetail = BLL.HJGL_BO_BatchDetailService.GetBatchDetailByJotId(JOT_ID); var batch = (from x in Funs.DB.HJGL_BO_Batch join y in Funs.DB.HJGL_BO_BatchDetail on x.BatchId equals y.BatchId where y.JOT_ID == this.JOT_ID select x).FirstOrDefault(); - if ((batchDetail != null || hotItems.Count() > 0) && this.CurrUser.UserId != BLL.Const.GlyId) + //if ((batchDetail != null || hotItems.Count() > 0) && this.CurrUser.UserId != BLL.Const.GlyId) + if ((batchDetail != null) && this.CurrUser.UserId != BLL.Const.GlyId) { this.TextIsReadOnly(true); var trustItem = (from x in Funs.DB.HJGL_CH_TrustItem @@ -262,16 +263,16 @@ } } - if (hotItems.Count() > 0) - { - drpIS_Proess.Enabled = false; - //drpProessTypes.Enabled = false; - } - else - { - drpIS_Proess.Enabled = true; - //drpProessTypes.Enabled = true; - } + //if (hotItems.Count() > 0) + //{ + // drpIS_Proess.Enabled = false; + // //drpProessTypes.Enabled = false; + //} + //else + //{ + // drpIS_Proess.Enabled = true; + // //drpProessTypes.Enabled = true; + //} //热处理后只能增加热处理类型,或者去除还未委托的热处理类型 } From 9c035444eab9185e46711ace54cf8ea07c083fac Mon Sep 17 00:00:00 2001 From: gaofei1985 <181547018@qq.com> Date: Tue, 9 Dec 2025 16:52:31 +0800 Subject: [PATCH 3/5] 1 --- DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql | 185 ++++++ HJGL_DS/BLL/BLL.csproj | 1 + HJGL_DS/BLL/Common/Const.cs | 5 + .../QualityCertificateService.cs | 73 +++ HJGL_DS/BLL/WeldMat/Stock/StockInitService.cs | 41 ++ HJGL_DS/FineUIPro.Web/ErrLog.txt | 23 + .../639008956132961833_焊口信息导入模板.xls | Bin 0 -> 478720 bytes HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj | 16 + .../FineUIPro.Web/FineUIPro.Web.csproj.user | 2 +- .../MaterialManage/QualityCertificate.aspx | 134 ++++ .../MaterialManage/QualityCertificate.aspx.cs | 288 +++++++++ .../QualityCertificate.aspx.designer.cs | 213 +++++++ .../QualityCertificateEdit.aspx | 79 +++ .../QualityCertificateEdit.aspx.cs | 216 +++++++ .../QualityCertificateEdit.aspx.designer.cs | 168 ++++++ .../WeldingReport/StatisticsSampleTable.aspx | 2 +- .../WeldMat/Stock/StockInEdit.aspx | 3 +- HJGL_DS/Model/Model.cs | 570 ++++++++++++++++++ HJGL_DS/WebAPI/WebAPI.csproj.user | 2 +- 19 files changed, 2017 insertions(+), 4 deletions(-) create mode 100644 DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql create mode 100644 HJGL_DS/BLL/HJGL/MaterialManage/QualityCertificateService.cs create mode 100644 HJGL_DS/FineUIPro.Web/FileUpload/WeldMat/QualityCertificate/639008956132961833_焊口信息导入模板.xls create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.cs create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.designer.cs create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.cs create mode 100644 HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.designer.cs diff --git a/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql b/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql new file mode 100644 index 0000000..451e56a --- /dev/null +++ b/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql @@ -0,0 +1,185 @@ + +ALTER PROC [dbo].[HJGL_sp_StatisticsSampleTable] + @projectId NVARCHAR(50) = NULL, + @iso_isoNo VARCHAR(50) = NULL, + @isHotPress bit = NULL, + @Welded NVARCHAR(50) =NULL, + @ndtType NVARCHAR(10) = NULL, + @ndtResult NVARCHAR(20)=NULL + +AS +/*********ͳ ܴ޸2022.11.30********/ +SELECT +JointInfo.JOT_ID, +project.ProjectCode, --ʩ +IsoInfo.PressureTestPackageNo,--ѹ +IsoInfo.ISO_ID, +IsoInfo.ISO_IsoNo, --ߺ +'1-'+IsoClass.ISC_IsoName+'-'+Ser.SER_Code+'-'+Steel.STE_Code AS ISO_Code, --ܵ +IsoClass.ISC_IsoName, --ܵȼ +Ser.SER_Name, -- +IsoInfo.ISO_DesignPress, --ѹ +IsoInfo.PipeLineClass, --ܵ +JointInfo.JOT_JointNo, -- +JointInfo.JOT_JointDesc, -- +JointInfo.JOT_Location, --λ +WeldMethod.WME_Name, --ӷ +JointType.JOTY_Code, -- +JointType.JOTY_Group, +Sort1,Sort2,Sort3,Sort4,Sort5, +IsoInfo.ISO_Insulator, -- +IsoInfo.ISO_DesignTemperature, --¶ +IsoInfo.ISO_TestPress, --ѹ +(CASE WHEN WeldMat.WMT_MatCode IS NOT NULL AND WeldSilk.WMT_MatCode IS NOT NULL and WeldMat.WMT_MatCode!=WeldSilk.WMT_MatCode + THEN WeldMat.WMT_MatCode + '/' + WeldSilk.WMT_MatCode + WHEN WeldMat.WMT_MatCode IS NOT NULL THEN WeldMat.WMT_MatCode + ELSE ISNULL(WeldSilk.WMT_MatCode,'') END) AS WeldMatSilkCode, +(CASE WHEN JointInfo.JOT_CellWelder!=JointInfo.JOT_FloorWelder THEN Welder1.WED_Code+'/'+Welder2.WED_Code ELSE Welder1.WED_Code END) AS WED_Code, +--Welder1.WED_Code,-- +Steel.STE_Code,-- +Steel.STE_Name,-- +NDTRate.NDTR_Name,--Ӧ +(CASE WHEN JointInfo.Jot_WeldingDate IS NOT NULL THEN JointInfo.Jot_WeldingDate + ELSE WeldReportMain.JOT_WeldDate END) AS JOT_WeldDate, -- +JointInfo.JOT_Size,--羭 +Batch.BatchCode,-- +BatchDetail.NDT, --ⷽʽId +(CASE WHEN BatchDetail.PointType=2 THEN 'K' ELSE '' END) AS PointType,--ĺ +JointInfo.JOT_Dia,--ֱ +JointInfo.JOT_Sch, --ں +(CASE WHEN JointInfo.RT_TrustCode IS NOT NULL THEN '' ELSE '' END) AS RTTrust, --RTί +JointInfo.RT_TrustCode, --RTίе +JointInfo.RT_TrustDate AS RTTrustDate, --߼ί + + JointInfo.RTFeedbackDate, --߼ⷴ + JointInfo.RT_States AS RTTestResult,--RT + + (CASE WHEN JointInfo.UT_TrustCode IS NOT NULL THEN '' ELSE '' END) AS UTTrust,--UTί + JointInfo.UT_States AS UTTestResult,--UT + + (CASE WHEN JointInfo.MT_TrustCode IS NOT NULL THEN '' ELSE '' END) AS MTTrust,--MTί + JointInfo.MT_States AS MTTestResult,--MT + + (CASE WHEN JointInfo.PT_TrustCode IS NOT NULL THEN '' ELSE '' END) AS PTTrust,--PTί + JointInfo.PT_TrustCode, --PTίе + JointInfo.PT_TrustDate, --PTί + JointInfo.PT_States AS PTTestResult,--PT + + (CASE WHEN JointInfo.PAUT_TrustCode IS NOT NULL THEN '' ELSE '' END) AS PAUTTrust, --PAUTί + JointInfo.PAUT_TrustCode, --PAUTίе + JointInfo.PAUT_TrustDate AS PAUTTrustDate, --PAUTί + JointInfo.PAUT_States AS PAUTTestResult,--PAUT + + (CASE WHEN (SELECT TOP 1 UnableCheck FROM dbo.HJGL_CH_TrustItem c WHERE c.JOT_ID=JointInfo.JOT_ID )=1 + THEN '' ELSE '' END) AS UnableCheck, + (SELECT TOP 1 UnableCheckReason FROM dbo.HJGL_CH_TrustItem c WHERE c.JOT_ID=JointInfo.JOT_ID ) AS UnableCheckReason, + +(CASE WHEN JointInfo.ProessTypes like '%4|5%' Then 'Ӧȴ,ȶ' +WHEN JointInfo.ProessTypes like '%4%' Then 'Ӧȴ' +WHEN JointInfo.ProessTypes like '%5%' Then 'ȶ' + ELSE '' END) AS ProessTypes,--ȴ +(case when JointInfo.ProessTypes like '%4%' or JointInfo.ProessTypes like '%5%' then 'Y' +else 'N' end) as IS_Proess, +(case when JointInfo.ProessTypes like '%1%' then 'Y' +else '' end) as IS_Preheating, +(select top 1 HotProessTrustCode from HJGL_CH_HotProessTrust t left join HJGL_CH_HotProessTrustItem i on t.HotProessTrustId=i.HotProessTrustId where i.JOT_ID=JointInfo.JOT_ID order by TrustDate desc) +as HotProessTrustCode, --ȴίб +JointInfo.HotProessTrustDate,--ȴίʱ +JointInfo.HotResultDate,--ȴʱ +(select top 1 HotHardCode from HJGL_CH_HardTestReport t left join HJGL_CH_HardTestReportItem i on t.HardTestReportId=i.HardTestReportId where i.JOT_ID=JointInfo.JOT_ID order by TestDate desc) +as HotHardCode, --Ӳίб +JointInfo.HardTrustDate,--Ӳίʱ +JointInfo.HardResultDate,--Ӳȷʱ +(case when JointInfo.HardTestResultOK=1 then 'ϸ' when JointInfo.HardTestResultOK=0 then 'ϸ' else '' end) as HardResult,--Ӳȼ +BatchDetail.BatchDetailId +FROM dbo.HJGL_PW_JointInfo AS JointInfo +LEFT JOIN DBO.HJGL_BO_BatchDetail AS BatchDetail ON JointInfo.JOT_ID = BatchDetail.JOT_ID +LEFT JOIN DBO.HJGL_PW_IsoInfo AS IsoInfo ON IsoInfo.ISO_ID = JointInfo.ISO_ID +LEFT JOIN HJGL_BS_WeldMethod AS WeldMethod ON WeldMethod.WME_ID = JointInfo.WME_ID +LEFT JOIN HJGL_BS_JointType AS JointType ON JointType.JOTY_ID=JointInfo.JOTY_ID +LEFT JOIN DBO.HJGL_BO_Batch AS Batch ON Batch.BatchId = BatchDetail.BatchId +LEFT JOIN dbo.Base_Project project ON project.ProjectId=JointInfo.ProjectId +LEFT JOIN dbo.HJGL_BS_Steel AS Steel ON Steel.STE_ID = JointInfo.STE_ID +LEFT JOIN DBO.HJGL_BS_Welder AS Welder1 ON Welder1.WED_ID = JointInfo.JOT_CellWelder +LEFT JOIN DBO.HJGL_BS_Welder AS Welder2 ON Welder2.WED_ID = JointInfo.JOT_FloorWelder +LEFT JOIN DBO.HJGL_BO_WeldReportMain AS WeldReportMain ON WeldReportMain.DReportID = JointInfo.DReportID +LEFT JOIN dbo.HJGL_BS_NDTRate AS NDTRate ON NDTRate.NDTR_ID = JointInfo.NDTR_ID +LEFT JOIN dbo.HJGL_BS_IsoClass AS IsoClass ON IsoClass.ISC_ID =IsoInfo.ISC_ID +LEFT JOIN dbo.HJGL_BS_Service AS Ser ON Ser.SER_ID = IsoInfo.SER_ID +LEFT JOIN HJGL_BS_WeldMaterial AS WeldMat ON WeldMat.WMT_ID=JointInfo.JOT_WeldMat +LEFT JOIN HJGL_BS_WeldMaterial AS WeldSilk ON WeldSilk.WMT_ID=JointInfo.JOT_WeldSilk + +WHERE (JointInfo.ProjectId=@projectId OR @projectId IS NULL) + AND ((CASE WHEN @ndtType='RT' THEN JointInfo.RT_TrustCode + WHEN @ndtType='PT' THEN JointInfo.PT_TrustCode + WHEN @ndtType='MT' THEN JointInfo.MT_TrustCode + WHEN @ndtType='UT' THEN JointInfo.UT_TrustCode + WHEN @ndtType='PAUT' THEN JointInfo.PAUT_TrustCode END) IS NOT NULL OR @ndtType IS NULL) + AND ((CASE WHEN @ndtType='RT' AND @ndtResult IS NOT NULL THEN JointInfo.RT_States + WHEN @ndtType='PT' AND @ndtResult IS NOT NULL THEN JointInfo.PT_States + WHEN @ndtType='MT' AND @ndtResult IS NOT NULL THEN JointInfo.MT_States + WHEN @ndtType='UT' AND @ndtResult IS NOT NULL THEN JointInfo.UT_States + WHEN @ndtType='PAUT' AND @ndtResult IS NOT NULL THEN JointInfo.PAUT_States END) =@ndtResult OR @ndtResult IS NULL) +AND ((case when JointInfo.DReportID IS NOT NULL then '1' else '2' end)=@Welded OR @Welded IS NULL) +AND (IsoInfo.ISO_IsoNo =@iso_isoNo OR @iso_isoNo IS NULL) +AND (((SELECT TOP 1 TrustDate from dbo.HJGL_CH_HotProessTrustItem a + WHERE a.JOT_ID=BatchDetail.JOT_ID and (a.ProessTypes='4' OR a.ProessTypes='5')) IS NOT NULL + AND @isHotPress=1) OR @isHotPress IS NULL) +ORDER BY project.ProjectCode,IsoInfo.ISO_IsoNo,JointInfo.JOT_JointNo + + + + +GO + + +INSERT INTO dbo.Sys_Menu(MenuId, MenuName, Url, SortIndex, SuperMenu,MenuModule) +VALUES ('19FC40C2-4FDC-44DC-A785-85491BACAC6D','ʱ','HJGL/MaterialManage/QualityCertificate.aspx',5,'4105B536-E0E9-4CD3-6666-27BB147603FA','7') +GO +/*ʱ*/ +INSERT INTO dbo.ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('1B26BF66-1CEE-42B0-8477-F0A74AE2B404','19FC40C2-4FDC-44DC-A785-85491BACAC6D','',1) +INSERT INTO dbo.ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('B4AC36B0-DD9B-48A4-AE55-8DFED0C40917','19FC40C2-4FDC-44DC-A785-85491BACAC6D','޸',2) +INSERT INTO dbo.ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('4ADD8C65-3085-444E-BA2D-A086B04DD54C','19FC40C2-4FDC-44DC-A785-85491BACAC6D','ɾ',3) +INSERT INTO dbo.ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('03A9A0A8-62E5-405B-924C-0DDD40F12CB4','19FC40C2-4FDC-44DC-A785-85491BACAC6D','',4) +go + + + +CREATE TABLE [dbo].[Weld_QualityCertificate]( + [QualityCertificateId] [nvarchar](50) NOT NULL, + [WeldId] [nvarchar](50) NULL, + [HeartNo] [nvarchar](50) NULL, + [Warrantybook] [nvarchar](50) NULL, + [CompileMan] [nvarchar](50) NULL, + [CompileDate] [datetime] NULL, + CONSTRAINT [PK_Weld_QualityCertificate] PRIMARY KEY CLUSTERED +( + [QualityCertificateId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'QualityCertificateId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'WeldId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'HeartNo' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ա' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'Warrantybook' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'CompileMan' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate', @level2type=N'COLUMN',@level2name=N'CompileDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Weld_QualityCertificate' +GO + + + diff --git a/HJGL_DS/BLL/BLL.csproj b/HJGL_DS/BLL/BLL.csproj index dce8a56..7c9a08d 100644 --- a/HJGL_DS/BLL/BLL.csproj +++ b/HJGL_DS/BLL/BLL.csproj @@ -218,6 +218,7 @@ + diff --git a/HJGL_DS/BLL/Common/Const.cs b/HJGL_DS/BLL/Common/Const.cs index f721b55..816e79d 100644 --- a/HJGL_DS/BLL/Common/Const.cs +++ b/HJGL_DS/BLL/Common/Const.cs @@ -1682,6 +1682,11 @@ namespace BLL #endregion #region 焊条烘烤记录 + /// + /// 焊材质保书 + /// + public const string CLGL_QualityCertificateMenuId = "19FC40C2-4FDC-44DC-A785-85491BACAC6D"; + /// /// 焊条烘烤记录 /// diff --git a/HJGL_DS/BLL/HJGL/MaterialManage/QualityCertificateService.cs b/HJGL_DS/BLL/HJGL/MaterialManage/QualityCertificateService.cs new file mode 100644 index 0000000..7957157 --- /dev/null +++ b/HJGL_DS/BLL/HJGL/MaterialManage/QualityCertificateService.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections; + +namespace BLL +{ + public static class QualityCertificateService + { + /// + /// 根据焊材质保书Id获取焊材质保书信息 + /// + /// 焊材质保书Id + /// + public static Model.Weld_QualityCertificate GetQualityCertificateByQualityCertificateId(string qualityCertificateId) + { + Model.SGGLDB db = Funs.DB; + var QualityCertificate = db.Weld_QualityCertificate.FirstOrDefault(e => e.QualityCertificateId == qualityCertificateId); + return QualityCertificate; + } + + /// + /// 添加焊材质保书 + /// + /// + public static void AddQualityCertificate(Model.Weld_QualityCertificate qualityCertificate) + { + Model.SGGLDB db = Funs.DB; + Model.Weld_QualityCertificate newQualityCertificate = new Model.Weld_QualityCertificate(); + + newQualityCertificate.QualityCertificateId = qualityCertificate.QualityCertificateId; + newQualityCertificate.WeldId = qualityCertificate.WeldId; + newQualityCertificate.HeartNo = qualityCertificate.HeartNo; + newQualityCertificate.Warrantybook = qualityCertificate.Warrantybook; + newQualityCertificate.CompileMan = qualityCertificate.CompileMan; + newQualityCertificate.CompileDate = qualityCertificate.CompileDate; + + db.Weld_QualityCertificate.InsertOnSubmit(newQualityCertificate); + db.SubmitChanges(); + } + + /// + /// 修改焊丝烘烤记录 + /// + /// + public static void UpdateQualityCertificate(Model.Weld_QualityCertificate qualityCertificate) + { + Model.SGGLDB db = Funs.DB; + Model.Weld_QualityCertificate newQualityCertificate = db.Weld_QualityCertificate.First(e => e.QualityCertificateId == qualityCertificate.QualityCertificateId); + + newQualityCertificate.WeldId = qualityCertificate.WeldId; + newQualityCertificate.HeartNo = qualityCertificate.HeartNo; + newQualityCertificate.Warrantybook = qualityCertificate.Warrantybook; + newQualityCertificate.CompileMan = qualityCertificate.CompileMan; + newQualityCertificate.CompileDate = qualityCertificate.CompileDate; + + db.SubmitChanges(); + } + + /// + /// 删除焊丝烘烤记录 + /// + /// + public static void DeleteQualityCertificate(string qualityCertificateId) + { + Model.SGGLDB db = Funs.DB; + Model.Weld_QualityCertificate qualityCertificate = db.Weld_QualityCertificate.First(e => e.QualityCertificateId == qualityCertificateId); + db.Weld_QualityCertificate.DeleteOnSubmit(qualityCertificate); + db.SubmitChanges(); + } + } +} diff --git a/HJGL_DS/BLL/WeldMat/Stock/StockInitService.cs b/HJGL_DS/BLL/WeldMat/Stock/StockInitService.cs index 67b8c85..ba5a5ca 100644 --- a/HJGL_DS/BLL/WeldMat/Stock/StockInitService.cs +++ b/HJGL_DS/BLL/WeldMat/Stock/StockInitService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Web.UI.WebControls; namespace BLL { @@ -77,5 +78,45 @@ namespace BLL { return (from x in Funs.DB.Weld_StockInit where x.WeldId == weldId select x).Count(); } + + /// + /// 加载批号下拉框 + /// + /// + /// + public static void InitHeartNo(FineUIPro.DropDownList dropName, bool isShowPlease) + { + dropName.DataValueField = "Value"; + dropName.DataTextField = "Text"; + dropName.DataSource = GetHeartNoList(); + dropName.DataBind(); + if (isShowPlease) + { + Funs.FineUIPleaseSelect(dropName); + } + } + + /// + /// 获取施工部用户 + /// + /// + /// + public static ListItem[] GetHeartNoList() + { + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + var ls = (from x in db.Weld_StockIn + select new { + x.HeartNo, + x.Warrantybook + }).Distinct().ToList(); + ListItem[] lis = new ListItem[ls.Count()]; + for (int i = 0; i < ls.Count(); i++) + { + lis[i] = new ListItem(ls[i].HeartNo ?? "", ls[i].Warrantybook.ToString()); + } + return lis; + } + } } } diff --git a/HJGL_DS/FineUIPro.Web/ErrLog.txt b/HJGL_DS/FineUIPro.Web/ErrLog.txt index 270b3e2..b27fd49 100644 --- a/HJGL_DS/FineUIPro.Web/ErrLog.txt +++ b/HJGL_DS/FineUIPro.Web/ErrLog.txt @@ -35,3 +35,26 @@ IP地址:::1 出错时间:11/11/2025 15:17:16 + +错误信息开始=====> +错误类型:IndexOutOfRangeException +错误信息:无法找到列 CompileDate。 +错误堆栈: + 在 System.Data.DataTable.ParseSortString(String sortString) + 在 System.Data.DataView.CheckSort(String sort) + 在 System.Data.DataView.set_Sort(String value) + 在 FineUIPro.Web.PageBase.GetPagedDataTable(Grid Grid1, DataTable tb) 位置 D:\工作\鼎盛\HJGL_DS\HJGL_DS\FineUIPro.Web\common\PageBase.cs:行号 328 + 在 FineUIPro.Web.HJGL.MaterialManage.QualityCertificate.BindGrid() 位置 D:\工作\鼎盛\HJGL_DS\HJGL_DS\FineUIPro.Web\HJGL\MaterialManage\QualityCertificate.aspx.cs:行号 63 + 在 FineUIPro.Web.HJGL.MaterialManage.QualityCertificate.Page_Load(Object sender, EventArgs e) 位置 D:\工作\鼎盛\HJGL_DS\HJGL_DS\FineUIPro.Web\HJGL\MaterialManage\QualityCertificate.aspx.cs:行号 31 + 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) + 在 System.EventHandler.Invoke(Object sender, EventArgs e) + 在 System.Web.UI.Control.OnLoad(EventArgs e) + 在 System.Web.UI.Control.LoadRecursive() + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:12/09/2025 16:42:15 +出错文件:http://localhost:64304/HJGL/MaterialManage/QualityCertificate.aspx +IP地址:::1 +操作人员:管理员 + +出错时间:12/09/2025 16:42:15 + diff --git a/HJGL_DS/FineUIPro.Web/FileUpload/WeldMat/QualityCertificate/639008956132961833_焊口信息导入模板.xls b/HJGL_DS/FineUIPro.Web/FileUpload/WeldMat/QualityCertificate/639008956132961833_焊口信息导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..2bb2a2ffbeeb8503986a3feafcf58554fa7138a5 GIT binary patch literal 478720 zcmeGF2Y3|a_r{ISrWZmANq_($3B40SN4gZ1-kVe@BGN&mNEZYJL~MwNC>B&y?4n4q z0HPumz9I;MSir7;qQZOMGuiAuvuE=&?z#Tg|9Y=CdXt@dWgTNc^Hok{?I#d!W z1(k*}pfXTds2r3Dm4~vRY$yk+09Ax4L6xB@P*tcJR2`}T)r4w6^&uX&qy|{m5NZT9 zhMGW4p=Qu!P;;mS)Dmh1wT9Y2ZK2Ddc2Ik$1Jn_^0=g2q3hD%PhPpsqp>9xjs0Y*& z>IL!5Ma_0V`| z0yGht1WksfKvSV<&~)eqXa;m6G!vQy&4%VcH$iiuc~B3KCScDjocVbCo^0=d760-l z9V5m&q{FaJRt*2OtR42hb|{@&^y(g6`SI09JP(HBzM~wwFYbLZ&ThDU96ZaS{iIl7 z9`F70_rKYjM|iv@M>rqvUeFAj`Q>;lrrM8(z2aZ~lZyNIU|XD$9fyCpn{_33z)vJb z&NMu#*W;cU`z!D$jIv`wXDS~53HIadY#sP-)%^31z^Z?H{+z#m=c8g{FpHxit!)YK zMem&Fv7+#}d})PQ&qVCRzm|0Z8ibJsyVJ<=6Q)n-WM%#T;-`&$48uG;h8+lSb5Dfj zfmhl-Dm?1&OW6NDZEy3M{cm$S7h!ZwJXVLZpY^FYz0YCW z$wl@$g6(6hReU(Dn-SM5X1#Hf*S|E^=Pw`Fv+IBHH-IZ~9RD?(k|&(^`{8;YKk#@m ztUW#s_KEbg#>lxAqh%Z_Zf$#Q{$61>TZx{|ST_P&OhAs9fU(87-XB|cM6S6OdpPIq ze_a0OUCfS$Cm$qVc${MhL(TBT*n12$?R^;= z^D&7C;`1?VXa#OhzlFf3-!jPd4TAWwLHq_m_%T7YPY$wuQV{>LAbzaN&y1*nyi&sQ zGhEnUl);xDDvzT@HmSY~bJ7~)~dnpT9$@{Y- zi@pboXD^{v|NifMCQNDjU_PnR_Wy78J$P^ne!`qM^O=Snhd;b)ynf9feryoGS`fdw z=*Q#kr1v`$qQmeEyk#JVS94PeGmI#EE$QVYo_Ba9(_#YH$BMZty3fy3N6kF29!T z^ZBf~eGS_$8{pTqeb}z;%LMVu2k~nL;Wr4fy)zyH@7IZQFhB74op=Ur@5DdQPY-fD zjvvU+3$lH%<9Fg5c)!kh1@apP;RlOzFu#<|3FJ2k!gt0`;BginA6_-{@XE?;?unoL zyu|A=9zMJ2XS*1mPW&V7?conHeLlUmx1V7rxh(JYQQqxmn|=X*Ms`@MtXAMVwAxrPxE+QuDH!MeJB1nAwHqzPeEOH7WbPa_~aMjw*rGd1sralgNrxG&Ur=E%O5{{ z+~H4k`}y0~&G+*;(Lj2b)@GPK@5#$4)SQ@F)*Qp<`Y>FhOtr7a zc)XkAcX9MzVRK?iyLMoi^8{PTS{HOB3trHbtZqS9vcwgvbe{q1oO1>kuK4j?(aJvq z_YN$8z8&US^9nA3;G#9)@I+Mnt$O8p7W@B0*3*Mw(lP1&YkPNht{r`u$qVC38^z~yi=d|;2lfu zd&O9CLs%NTkV`H9BZSw-y^wl&{}SRJ6PbVn4;T*pcGvlr#}3g2W5PdR-ZA0tdB=pm z=N%LNUcs2ye{aD9z<6@pwQM=Pz{?*e?t{uQ4yt9#mIXU_56a*39+bc5Jt%+Adr-gr z`fCBtcTm3j2y#%_#zFa?t@oh(J?}yJd)|Zc_X<0x3v&V{h&xg!8-5R;|JiyE%HQ)I zl)vXaD1Xm;P@6VwG9u+a6>!Ji?CG8k6|l+~$$Y#o&GQ%#dcv9Yb`8vm*en9)7C13^ z#5@vdiU^6{eRP$uYdCgxM&sK*y&rINxI|ju8_*$D2lW=R~sQ(z)>VA;@o&F=Fh95-Eg8$+n=F5fN z({Wzdgkk@9le%}Azk|etuQz%jBS*1I_WpPw|Kdn$V;?VMf2aQlspAK!m-inbb^RdD z3%%~s@h{c{YOY6KS;g2{|IU92XWpA;65GiGJgk&NfWH{ zp3cZo{*8JOV$#$PvcJ=Rgf#Pm)XV#ikjwla&Ko0O*gxLW@h?~;Xv%*v7eZ^cL;ob&#Phu&$Zo8{`p>b23k92IbJGWx-#sgknvPAm#-S$Ssv{nQ9b-<7?%lI(_shntj&VN*CGi;e z)_ZrWz}+sc*)$^9Zl$oBZ@u>%D)PWOjB7SD;K0I5KB#tu6s~>?w;o<{D?yG`tjz z>y}N2gx|VkWZ!}7?wP#68D^Eu!-yz%DaLYd0+I4ZuQx7lqROO;3EJf;#luh5wK&@Bs(sf4ayXiOdSh?sP1 zgkL>Qx5LDL?uyw{>@L4G^txRY9>LczEo(`a6Rr5$`@^eHQ^$5r z=F2@JVD=KH@z!9@l#xvELGb12uQ$T=kkDm=zrCOGL4e9 zm;82a*10eGZ9Tj6);;r|T5|O5E(4qIeG%7RsL=GQEqxxo{H?@4R;52%XYh}WcCXCaJz>w;*Z->1^XB(&S+!>L z(G52}nx3_K@nswPA4yohV#xzX6IS(Vyu9wo(%(hJ=Pdjy`hlA!C;s%rqK6~qQV zQlpM*_MN|B`ZY1T`+f0clfB1}u34U1V@B#PT`K+@`A6r^-XH(er-!e|eJ^aym#Ifu ztnG4b#{>Pg6)S$%`_aWR^D3Qfwdc)_+bXYEytDmtueRT_`1{=X@8_P0s@wI=I&Xiq zDK2SukDbfMcgt(J^ZlK#mwRnUM(zu5eY&;G+6NA9slRm8wozS@yKcUs%x$9{n%3{n zM%E(@CoMd;p~0Bm7mHa-vY&kZ`0&5RWlmdh;k}gW<}Yj6eEVNNTpWCK=fI2S8#XTA z@a)qI8*SJ%cSLy0vgfjv75`#h-0Ugg$HqK=!>okp39TZxzc7Eoq2hnt_9C`g^x?P{ z=Wl5+aMtUm#@5)g=D8AeUi)ZVvCp?{`YkPP^MjjfH-Br*=&=Kz+Vn?c$+p&*tli5- zb*weH-dowdCMD)IO-{Z4VB_vHGhXZZ%-QXw;!eH2YJKwFZU+WUTUcjuvA>3&I{RnY za#QX+aNyjTe(R3ce6iLS|NQ+!%a%7SzIgG6M{js~dyUFhzjIZYOXm(feeB{d-~4rC zcf$e6Gk^Q%%u8>)ano2~~G=DqK^v-Ews_OMFTXr{&*g(Y z7`|@k>3+u}X3rXwm^HEC&tHb+mH%<+%h|Ilw`x6m$H_nAmz=4ZJf&Upyp|n%M9+A; zNwX8X%FK(NS-ZxrlQ*XSRi)&VGUp>sPC0g@`MM^tnfs@#>T-I@XICw4`&;hrdw1pT zUE1bCxd)O@^glY~%KKkl|6#X@dmoK!{^++cJtuU0d+LeQgZsW+^vJ5a7q85E`0y?7 zeU>-%&3h+&GH3FSIl~4H{W`m4<^8cIbJy2ccVWr}b!!fOfV z%lA6fV*TiqvEvrKx8?WlYg#Uw{PPb9Cx=byyKTrL zV;4qtdtz(YlAMSRkB>hvZeDDuo$X@tQog$^?eW2*4pscEVczSt?&%Ww@$nJu`+J_~ zbVL0^Prdum6E&{Ry-%gqY+Lf^h8GSkS{*y-i-boe4q4Ljqq1W=oZek?RPOBG z4CPdcDQ2d{L15MuOC|V z*-_iJgqP|bTYlQ~2Q|FK68H+k@MO485OZ(6@)*5aFob|2XJ z>uw+2+Gu3I>!vq3eQw36usRP;zq9hN$8WmsyXm#Y_g?vPm*|C!PX9ghrNJ-Mt$+3U z8l4}0uVu~eFID?_Z+z0q7PDW!Kd(~!{JI+!&b2E+@Nzh0^2l*h>~iR<7MnhO^qW^v z+#2H2C*S<)Y*U+CE?)V;*xhxDE%|Bj>kB`e)BWJ?QkACH*|e%{ormUFUsjzvCa28j zWzKxw^_{4=Z83`;{^|VV%`a|Q{^yr#zR5~oyE$t2iMB1@9rNY%=5Nehuy^spk5-Bq zIAh|?56$}gg(0tX`|zR5-pehsspE@v?@UQt`dQc4dTeQP&4+uF4qn;r^ZLUp&VBUu zNka~mzh`~v;|)7~bT+-mp+-ZutbA5@e4{m;uKjBGgOAlY z+4J>PkB!{?apr*+UjFk_ry$Bsl3T=UES7R zdhVab8MlnCQ$GFbi``pK`D}4y)s1iOKVIR!&7C6l4Se<0H;^RjvPOANUs|wj+}BeJBFujf49r-x=HQMcl>+dsajXA+uACo(sv8qS@F)s z**o^!TQPm_|F%Bb`>*qz4)$vESXTPDnxCC~<(nCUwwyn?VS1@Me(UvJ@4;ghUo+?A zV^944*VomyeNsKQTlm5%PyX(?WALH7OP=~VscyCJ9_jVn`X)z8-!X1wg@=zsSA6{W z7Atmaz3u+kp)EJGopN<*qqk=culW9qeFvufIj`2Z=sqiFHEFT-^0KS@oPTF|i6;&w z?K)obnS0ijYjCXUXKnUunzH?lnI#Y2IcCh1yXyA7DXQk2r|Yf#Hlx>sq(39ue^|HX z$~T`rQ~gr&Gq*lDVc_Uzf0^EFU)HZpe*Nk~m9O(w-I{kX@y6I@vG@Er;Y`$%K| zn10p@KW`Pt$@s4q-U2fmpDG-Q&!|qtXH$8rv;BFnYwgdh*26~wuEnQ~`T1er7XF{> zYiJGi@I{)%7{-h2OVd%Fp7_k)Nc_jo{n5WBlCM$w`}M4~xZ=Ck?}!jC`-i`8#TE8G z_;05t2C}RMr^Bo>)>3{V{pWf1R#89mMJRrJoTr=xaX;!I{uAO)TPyzOQee#Yw8qSQ z!;^$}Ywz&1!tF~qq8MunKBJxNhf=r?+NN#OUKW}if*H;-ez^lzj139yh;%_ zsodOIvzPb9&H6J=_RPP@{RR)JGSuE+(}-6_eliY_^!|&6;MdN6Yl-}0;G!Y<>znpG z))&w>Z#vh-rt^kPU)%GCiPgqGG8o&n8T9*|`8OBcnI-@H0`e9;3|EQ@=ERS=8hgsF~t!Ub%R92l)rL)eBysqE9-LtHy9yNM2?UHec z_f*qbdVS8gnpSZ@czey@`+7K(npWP-wFA?85}jpn&vPTsFRwc7mjz2kmRxnd=bF2$ zA=UW04Daa1$;+<8&5a`}cK!Ieb1%%AJgnnR&Trh)p943I;634mj6NJa&8~l}2e$2iIoKNCB~SzNtFwIz>lWS9 zum`rQ+{<-`xtLIfRo^}am&L6B;Rs6L$It5Gs}Cl_YlN>g;KzaM^ zIB?o^@$C;h`nJecJ(0;U2EAvS=iH5aZuSwFtGrRMPup2#9<_aU{wtcGtM%~n*!3`2 zxPl-4YhXtYk;%m{$;AMuZ?AH0JFx*M7yCFUJ`{a;+HR`@-m)*4Sr~t9fbE5Q%EKMh zl{c${Rn9@>+6R>K2u+GFhG23y$|C)Kd9mH7|8b2!f9S_6AVr=Y;0_#Vn+i%f+a5~AI~8O;7$^FgrB$Y<8bA2zu-xYlSp@R4EvJ9MvRbbJHB zJ}n=sgEJ5P4d)2O743n_mG^e8H5DPw#SK#65h#>dmu=cL<&ilr=i-x!pq=#Uum?ZdR z5z~>71VR&>XMMb4gP^+!-c^A|BHW#KdK2I2Rv7=VWjL(hNF9mj&L zYuTrOG~{gUEc)`TH|{|<@E&==ae42_dzP4L4w@^xxPsH-Lw*Gg0VB!Ts^s{iYYGBW zyo)za;-m6h&+$~tK57tp6P`rZ5P-yD?hai93{( z?HV|gF1U}bNX%XFWgJbOOm`S)edN~YSn7(4cfIX7$I%bN1ASp$5jg+1<_iOl@xJzw@%_&y77 z$#$>eeLFjm;=dE_+BpUsr*p&G+;w7(aIB8Lo1K^k9k+NF=K+nIv}uIBDI?I)S?}C* zPPr~7e8KvjJXz;4&-WT)pMsm6ILf_4q9=C5uyGc-kiS_YJbE^Tv%~gyqocDeZ*p6E zgZc<0A{OlAF-n51s$mxc4hR2Xg-6%B14l_~-g^`KA+)3A9Rw)N-kX6L2Z8pk^v(@X z9IGK8cJED&x5-F#S(sM%P85H;2kbUj;mxaAxa~|cgwMNSEo_2W?Z4>T!<&iy?vLBo zK|N*PfyvJO8slbd90u=?6{enreAybmn2)mT5zfP?S#Tf*ww^s|xmh=$YvDn`*x}wB z%(ZNrMGJ{6(9FUt?Sy-^`+0LUkI%b0FA&N02VI@HkAJX?W8~l>&iCZTj)-aJkF(Y| zaQ>H0x^vU}7&Ww00LMmMz&asV-eb(=i1u#I%w{Y$bdKMF)yjXs8#>{q*#I8)iQQyd!(4`d08z_%QUehiZNZxw@9UA6MHGwZ{x}im zDFhx^f1BB*0Y`?{?1D#wk2P)N#7?-udWB>3-gLSb9HZCh%yafGbn#!Xt7#`3eSTng zlR@vo;mPbh9@p~5;SShJU{X42Zua&>Gr#mrq{#U5o^)&`oJXtRG*~QHU+OVPzRH0K;Vf{zFl}(gJCy_{WUlhAzzO+Q@KR9$ zktd9xIcuG>FIdMkTd>Z_xp)+OS)(h?%^BDjn$Gi#{2NV}ELo79*muO~_r+Ip*lSs( zG3`!uiSIIV<{W&?Im23R-Hyw>d`aVYd%RSG%fNkcHT+sDbVb-sB!S2nDa!>ncN!>k^g!>o)K!>kiK!>rBk zg;|q73$vP@!n>}23A6V79fo(BgydGaO-r9aBFL$aBF7UaH~z%a4T+LxOH$; zxV3h2xHbHyaI5;VaO>AQ!>v~z47V0M6>eSmO1PEsR=9QeK)AK>NVqlj+iKeT7=bRPlOfsafEg7ScJ9qOoTQ3e1ug!Jkt8Lc%=1eMx?c%a-?-- zy+|viMWl83ib!i???`Lxut=-k^^w+v8IjhmMUmFBRgqSYb&*!aW0BU0=OV4mZ$w&? z-;K1I9>RB0oQ$;g{TOMjz7S~*z?X04q(oV#%SBmRt3_Ee8$?-cT1Q!NoujOS{i3Y3 z*F;&vCq`M-XGdATE{U>Uy(7w6@IaJx%1cq!;aySI#`mMFv4^9qdS6Fb+kcG0 zMJi-bjJz;>i(jIBI~o64Xg^}CzaRhQVCUi8S`M-O>b76Q{&#`x%)>U`pGy2lidD`t zA8U5nZ~DUEwHDf2FS7rwjIBr6KVP@3;&+?xrFVY5ZCTCl_JjD`K`f36m$LC+m{rqL z)01caeALqW+heW68*kTn0r?#NU%r^K2z#0Q%?Z9`j5=#`Ot*sd z;h48Wi~H6`V82#LzU4?{lj?rFC?t*E$-ec`JgZpWGGB2!?stE2$n6{AeCy+pm^a6C zFS!3=IOeQ4-*N&TDSuuPo-X)rUjo-=HplcR*gu_Lx8-;LCGos{b6n4Y^`-C`p0rxN z`!9`j@4tNpGStv`XZ`)yt2{o<#P18UEM^|(yP9Ld_+lz=m-E;+Jc$-PF1S68FSo}J zxw$=#D7VMYHM>2&jOq6HnxWg{FmZc$Wjw&+tAg(B_{yBy<4AIQ{C+jJ$5^>NJc0op zBk10a0d{+Q0o(2Iy%BDYuQaBgmPv* z3~hoQfgXh(gC2)ALr*|YLQg?kAe26Q6O@H7QN(xHK+i$XLoYxtLN7rtL$5%5n-R*S z^&0d#v>kc_+5zo^c0s$LH=(znw;_~N`zp1N0;G z6ZA9m3-l}W8}vJL7CHx=hyH;6gf2jTL4QO4Ko_A)5GSt(LaShfLlICU6a_^?F;FZN z2gO6hAhZ-#aVQZ=f|8*Ws05S>r9tTsU&<~8q5ZHjAik%mEX3@Q36+Pkplm1yssL4l zDnXT@Do|CZ8dM#s0o8jfvgr# zOQ;pp8fpWzg)WEMLG7Uq5LzYc3g}AcDyS3G8R`Ocg}OoAp&n3A2yKP^g|36fLDxg$p$X7LXc9CTngUIQ zra{x88z8iH){W3iXcjaZngiVg;gx1<9yA|X04;dt>x(!+Z zt%O!Vw?nI;JD@etozPv--OxSIz0g|dK4=|uKeQft0NMaO2yKKOf*yu8L61O>LXSa@ zLz|%|peLcHpe@kT&@<4p&{pU<=y~V`=tbxy=w;{?=v8PN^cwU!v>kc_+5zo^c0s$L zH=(znx1o2SJ2v(P!{JoE?j zCv*Y&3;G-S2f7Gdf>7%5fk^ygEFD=P!^O8J9aQ@KgxjJdgPg4S)thgP^OS!4Ten zV-1CdLBkY(a;#^T4*eE9W)NQ9vTnfDV8-6ngmUTra)7nY0z}&251I! zBQz7j(=lr{GzYo~!h2e*dC+`l0kjZW1TBVchL%7}po0cZpCAhZ#B2znUW1U&*h3Oxor4sC{>fS!b& zg0?_UL(f3ZLR+Edpy#0%pckQ+pqHUnpjV-7&}-1^(01qzXa}?t+6C=~-h|$Q-iF?R z_CR}~ebBqme&{{uedq(|0Q4br5c&xE82SYI6gmX`5Bdx`41EqAfsR67K*ylt(3j8& z=p^(NbPD?2eu936et~|4euI98&O+y)^UxpApU?&9FX(UR zALt@<3BuDJ{KWyxe<&P^fFhwNC>p|3aw`^!gW{oLPy$pON`#W2WGDqH0paPpl?J6l zC81JKX($6K1C@o!L77l_C=1Gla-a%OMW_-~8L9$Rg{nc-AzTu$YC^T3+E5*+E|d$^ zgYuyIPy?tTgv$q3W2gz#6lw-t1~rFTKrNwGP;00Sgi8(9(tkR*xVkx#@DGp0KCTCqd zmf{PRieaf(!BPU25(<`z;~iba3zibGlvuEogr%f{rDQB67c8Yo3hVf&JLgauOMJYYr3`GzN7`8`gLQn2ou#r^;-l*< zmBSJrS7#{`OMFDR#7CzO#*}x-gQYAi-4w=kVOYXXD`(4aEM;TSS>k(qa|)Isjio3o zRVY{&jirhOOEFlgRIn6_rOH@x?k^5Y){eQY!f|!OgGZ~6wQ|?ls)G_Mv~t!L!!=xF zk^JLH!1^j!-i`?ITVnX0WAnfC{9`SNE5B9kEqPXqDdXrcGw{lr$Ew(BJ74rd1igez zdtZ)MUwn9_&KDnErDA-3Zpny*VKn>V!z)|9_=I6J`!D&&2j8}Wb>8^!3YjlHVHnN6 z_=MqJeDMhjh))%8M9JRm;dMts7J z_=Fb{pKv2S;YNJIjrfEI#D_V}7azRnfF*By_%3vgpCmgz5k`D?h0_P%81acHBt8*Fd?Jka;F`YQ_=yOJ53{^4K6u>+ zOWye4+B=WeO10w?X~ZYeh!3y-`l1zS#3#~-Poxo_NFzRxMtmXz;uC4aC(?*dWFhg1 zG~yF!#0RfA_{AqOAU>>nzWCs!Fu(Xj<;SO#9iJ#8K2b(|qKx?P>bP%yMH%slGUCH; zq4wn;yv~6o@A!!dh)zf#Ro5m`^6_FKR#J@d}56F#2E33G2#v*%%ccKRRIdtZHzGvX6x#3#;(Pn;2-I3qs%n+3l3@Krir{)r2SPn;2- zI3qrBg~TV$h)8=?@c(_#_zdNigD*V8kcEh);qMp9CX52}XPp z0^*Zk#3#XsPeLK_NigEW@2m9H_XHz82?6op^Kf5$_zcZAzxX#o86T%VEN;Z7xDlV? zMtq7J@hNV^r??TH;zoRm8}TU~5TD{ke2N?KDPBl?iW~7MZp5d!5uf4#@!^#TUwrW1 zO27E<{Q``S(;p@p@kun|lW4>z(TGo?5g)v#08H=m_e3K;iAH=91LBit#3#{+PhuhQ zNi^b zNiyP-WW*;aAU;V(e3Fd#Boz{$BqKgaMtqWt_#_3yhgYwB@xj~4{o=#-A#waT{b8~Z zpJXFG$wqvVjrb%R@kut~lWfE%*@#baKzx#o_#_+gNiHNl$wqvVjrb%R@ktJd53lF> z;)4$bV5vGhUf=C|{Z9!aJ|&F!lrZ8`!iY}^BR(aJ z_>?f>Q^JT(iGcW&Fyd3fh);<^;#0ziPYEMFC5-r#2#61_`TF9+zY^*jKm5xkjE~d* z@Qh)=o^pL8QW=|+6gjrgP+@kux0 zlWxQ(Js>{mMtstZ_@oySpL8QW=|+6gjrgPo#D}kx_{I-D=jIn5euX;cm(%~0G~!dz zh)+o)J|&I#lr-YQ?+o$P_mW0@N*eJg84#b6Mtn*d@hMqIeE4or-}Cp9Mtn*d@hKS) zAHH_viw|EX@#UXV`SEf3pHfDA_?_~;=clEN_>?l@Q_6@>DI-3mjQEr?;!`RhKBbKK zlrrK|s*w1UGUCJc()ylX@K00w`a^!pi~0HvUrqDH2OqM)lDEE>&X14N|CBc3Q`(46 zX(K+Rjrf!{;#1m)PiZ4QrH%NM4v0@_BR-{#_>?XrKBbNLls4j1+K3PT7PlE6zP{*- z4?er>7oUv$_&C?cGK~0S81doX5b%wr3?n`nMtm}i_+%LI$uQ!R5fGmYBR&~Md@>4& zPlgen3?n{#=e2MAWCX;Auekc+gTG{sr5f z;#0?ImK4pyflriE{#)waufcWq=XkUErQANM_l+BNi z(;t>K;={iM;fqgMBR*w~_>?u`Q`U%2StCAWjrf!eh)-D~K4p#glr1DaWsUfhHR4m& zh)>yo`0!PEUwq0L@hO)dAE!SoXT*np_`(;Taz=d08SyD+#HXAQpK?Zg${Fz~7Z9Iv zMtsT{@hMkGe99T|DQCo|oDrXL0rBDc6nyc?G~$z)A0MYb%rxS|zw+UWPo@!{Od~#- zMtm}j_+%RK$u#1V84#aLBR-i%d@>7(Po@!{Od~#-Mtm{@;=^}t_~KLEh!6j43Hu+X zKP+#=2Y?!|Q{ISAc_TjMjrf!|;!{2#KIM)0lsDp2zL5BoH{w&?h);PV zKIM)09I`IAQt$?maba6MSt0z#Ptjx{j_!9}WeXm!=)1S$J7L@&-|tc0e&0H7Iq(+;MEtr z27=d6@EQqTW5H`8cufVbnc!U}c+CZ`h2XVxd3<+K7ChfP&obtDR{lJ9p66s4^E}I# z=UK))&obtDmNCz>jCr1A%=0W`o@WKj^DJYYXBqQ6tB`q~Wz6#|W1eRj^E}I#=Zp{M zqAxz#MtrjK5!$B0i(etewgIXOmra*X)!?@;-wYK{?~93wtCMtt}=Qs3*i zIYxYP0^*Zn#3#pyPfj86$uZ)SW5g%Nh)+&He3+ws@u^_Mr$T;woaZ?ejQCVA;=@0< z<%>@RBR&<3_*5|BQ^AN2znKknJO6!J6$0W@!H7=MPSM~n4{30iyEHh=cN!e# zNDU72ss@L-ScAj-t-)c=*Wj>DXmD6tG&rnB8XVRz4G!y`28Xp$gTwl&!C_6-;INKs za9H~_IP4cRIP5VrIP6O_IP7IY<*<*R7tcPv=)JrD9_-_X;&|M>-!Q=&E_fpZ?;61y zDR`p!Z>->5CwSuo?|Q)-FL)CKZ=&E$61>TRH%0KK3f?rqn=W`a2;L0A zyHW6F3f?Tin=N>A1n(xno9pt}e-DKh>U-PX>gb$H8{+x8XV?g4G#0S28TIcgTp$Z!C`ID;IJNP za9G1MIIMdb9M(z=4(qE1hc#J)!#b|PVeQx8uwT&Nu*cBgurJZzu$KvyquIyL!|}NL z`1yjjK=2j{-Xg(UEO<8y-V(uEDtNaD-ZH^kE_k;J-fe=nLhx1!-YUVnUGP>5-W`Is zM)2+wyt@SNZo#`p@a`47wSsq_;H?w9`vq^k;632-*niK17wUWeG>G&rn#8XVS24G!z828T6SgTp$m!C~#!;ILoN;IPNg;IJ>z z;INkom803mZ@}@m`}hY1Z=>KnBzO-C-X_6&MDQLJyvGFZalzXxcuxr4lY;k@;B67S zrv>jB!FyKlwhG>Jg7>`Oy&!lm3f@bC_p;!n4G!~=28X#zgTs8M!C{Wn z;4rUhaF~lVILzM~9Oirt4(o&lhqXn6!+NB_VGYyZu$nDo zwO@n7enEr79z%n}zC?q=UM5tIW*@%;$K&qfcM9Gv!P_l(ZwlU9g7>!Iy(4&g1aGh4 z?GwCr1#iFLy(f6@3*HBUcR=ty6ug6i_mSXzEO?&?-lu|hNbvqAc%KR0VZr-c@Qw)H zQNjB{@Q%4W_TM|;g*qR|;h5FnaGYy!I5#vnoKG4Y&Or?h=dA{Zb6tbO{Gh>MPSM~n z4{30iyEHh=cN!e#NDU72ss@L-ScAj-t-)c=*Wj>DXmD6tG&rnB8XVRz4G!y`28Xp$ zgTwl&!C_6-;INKsa9H~_IP4cRIP5VrIP6O_IP7IYXpS8XV3I4G!m%28VM{gTr~N z!Qouj;4nXEaF|mxILt#D9Ofg>))oy8 z>yZYBHB5uUx~IWmt<>PKzG`q-lQlT3;~E^+ehm)$1q}{+3=IzZ5)BS}nNT^JeLTMC zFQAY22ws@rg$rJU;6(~vl;A}RUX0+y3SOMx#S30B!AlUl;)0hbcu9hnEO;q`S3>Yo z1usqT(gm-i;FS`*(t?*Ecx42ytl*UsyiCC>@ABAxbNq!mAIRaD)!=ZPYj8L>G&r13 z8XV3+4G!n628VN9gTwrw!C_9(;4lwqaG1L^ILvn%9Og(34)dx8hq+jT!~CtmVb0g! zuuf=jSX(qWtVbFg)-VkY>z)ROwNit_`l`WUP1fMBj%#pO`!zW17c@BRF*G>rOEfs_ zWkTg>_VHOb9{2V5Y{APByb6L>QSd4WUS+|nB6w8=ubSXh7rYvRS5xq630`f%t0Q=I z1us|d>Iq(+;MEtr27=d6@EQqTW5H`8cufVbnc!U}c+CZ`h2XVxdF;PA{z9D(j0)_*OU`cOTzc@Y)DoTfw_r@Y)Gpd%^1eF8H8`xV8XVSS z4G!zL28Xp@gTsD7gTo#}gTuZ=gTr1XRE}mJKNQE~?&F6E-f+PiA$Zpa-ble4C3vF+ zZ;aqwD|llC?>fO7CwSKj-gv>AAb1l6Z<63m7Q88fH&yVa3Ep(UyFu_~2;Pl?H&gIt z3EphMn!?~fs;e68Ia1Ls4IBzvLoa-7K<_8T9 zbBYFsc}Ro9+@--`zSH0^M{01GS2Z}y#Tp#uZw(G}z6OVNLW9HFqQPN3(%`U$X>eHg zG&ro48XVSF4GwFv28VTAgTvad!C}9k!C{Y~!C_yb!C@~GDo3-ApNHdd_wn-uZ-L+~ z6ud=(w^;CQ7Q7{bw^Z+6X>geDG&szW8XV?T4Gwd$ z28a1ugTtJ!!C{@y;IOu6a9EEtIILkB9M(Mz4r`?bhxJv1!1n)D!J1lsg3*HgIJ1Tfz2;MQ5 z$Nrn+FVy)!4#%tphvQs>!?~fs;e68Ia1Ls4IBzvLoa-7K<_8T9bBYFsc}Ro9+@--` zzSH0^M{01GS2Z}y#Tp#uZw(G}z6OVNLW9HFqQPN3(%`U$X>eHgG&ro48XVSF4GwFv z28VTAgTvad!C}9k!C{Y~!C_yb!C@~GDo3-AKaS&Z_wio}-U-1wDR^HA-YLQRTJXLR zyl(~XJHb0GcxMFfd%^ob@O~7$p9Jq`+bf5E@#9IfV#1QFUj*-0!TU|{ez(0V@vo0} zR`AXV`<@rPKZJe%6t=q{cz+4r--7p#;9V5FOD>Q7H^*P7^MM?WSq%=yxdw-GLxaQl zq`~1F)ZlR5YH&E$H8{)<8XV>n4G!~=28X#zgTs8M!C{Wn;4rUhaF~lVILzO{ID@bz z@V|bxcXh#eHgf^mxSc(GP$a9Cf1 zaf%Wj*5qKEqMR4&xCV!{UxUMbL4(5{LxaP%cH$_idN!OIl9@-C0{kK-@Y`9KcGtOkeUT!X{8p~2yN(%^6oYH&DjH8`B> z8XV>a4GwdP28Ve_gTvgV!C}7B;4nvOaF|y$ILyTw9OiEg4s*T+hjl`O!`h<3VLj5| zu!d=HSobtItd$xZ)>jP%}WstLU6f>%TEY6@O0!K*EJb!^X!OI^Xs6})Uu*Whq&XmB{6f^mv+orZHzgTr|nj8l|2bFOP}m>)Da%qhV*MTs->kOqgjOM}CF zr@>*4)Zj3$YH*l~gK>&74w=6-IL!GP9M%a94r@y=PEp1)>yZYBH7ppXD32HGo(6}t zG8m^Q@nL<{;IJlZa9GDRIIR5|9QF$u9QGI*9QGv|9QHDyay0w+RyZDaAKzN=+6Z1- z!Mj}W+6i8J!RsJ+9R=?S!MjrMt`fXXg4bE_x(HrZ!Rsb?-370Q?U~O3dJ5b161?7m z*GKUB+ManI{eVP4hXFc)iZn7=hR%=sD| z)`?)8qV&70Ex|ZN=~G#cG&rnb8XVR=4GwE%Fiuh8%=#LPQZ>J<{N?hG}qE_cS=Hl^Pt@ zR}BtpaxhL&o>#Dr2jdjwc?D~~28aEE28TUHFiuh8!@eXKrzr7ZFB2+9vyY#L<8k-# z^965#;4KuqMS{0j@NO2oC4#q9@NN;jWrDX{@NN~n+XQcg;H?zARf2cB;H?(CI|Ofy z;N2;BcM0Czf_IPL-79!&1@At=TPJw;3*LIcd%)$f|K|7$bv}^8F{{DhIM?8CZfI~g zpENj}gBl#pTMZ89x(0{&L4(7bqQPMv(%>+6X>geDG&szW8XV?T4Gwd$28a3E%Nb;u zmE2tNexg(U94B+W28VS*gTvaQ!C^hp;IM{ia9H;=IINW#9M)G24r{UohjmR3*Iw=_pIP;6};yJ?|H#{LGWG_yq5&;Wx;zz@LmZ>J<{N?hG}qE_cS=Hl^Pt@ zR}BtpvId8BT!X{fufbuzpuu5}p}}EaqQPM=6DmiukKcjgarf~%1#g$&?H0T@1@A4v zdt30{5xhNuw^#7?3EsPcw_oty6TJ5Y?*qX*Ab1}N-a*0pNbo)uyiWx0Q^7kVc>fc; z&jjzV;C(K5M+EPv;C&%@$6Ox!Z;roE=L0z$vl<+Za}5sXh6ac8NrS^VsKMd9)!=Zh zYjBt!G&syD8XV>!4Gwdc28a1hgToxD!C_w2;4l|!aG1X}IL!GP9M%a94r_}BhxJH< z!y2Z+VcpZp}{ ze<^q;1n;EaeI;Qc9h7X*3f_KT~vH#}y3w1t_!!fJD;W*deaBgUD zIG;2)oP!!1&RY!*=eh=m`9XujoT9;D9@5}2cWH2#?=(2fks2K4RSgbvu?C0vTZ6-# zufbuR(BQDPXmD7MG&rnb8XVR=4GwFi28Z=kgTtDv!C@WO;IQ^yj=xan z134VC8XS&u4G!mq28Z)WgTpzf!Qs5s;Bc-7;}qp{OUw@%9Oe`a4)c%(hq+6G!+fW~ zVUE<`Ft2KGn2R+y%-x2e}wIvv*DDV4cJ<{N?hG}qE_cS=Hl^Pt@R}Btp zvId8BT!X{fufbuzpuu5}p}}EaqQPM=6DmiukI%yKxUa`&3to=kRS>+2f>%lKDhpl} z!K*5G)da7);MEYknu1qL@M;TQ9l@(Bc)5aCPw?^tufE_l5WI$h*GTXh3tkh!Ybton z1n)AzYc6;#1h1vbWB<+Z7wUWeG>G&rn# z8XVS24G!z828T6SgTp$m!C~#!;ILoN;IPNg;IJ>z;INkom803mx5Dwb`}o#^*GBN# z3f|>{*G}--3tk7o>nM0v2;P-~ca`9E61>iW*G2HU3SKwC>n?ab1h1#y^%A_^g4ajz z`U+k@!Rs%00|alN;0+SIs|9bc;0>!C`&X;IJlZa9GDRIIR5|9QF$u9QGI*9QGv|9QHDyay0w+ zp*S9QA3sd+h6~;Z!MjHAMhf02!5b}jV+8M7!5b@h*9qP@!Mk4Y#tYsA!J8;}lLT+F z;7t*{se(66@TLpi4T3jA@NN{mnSwV<@Ma6%9KpLu@aDQa_TLeF8H8`xV8XVSS4G!zL z28Xp@gTsD7gTo#}gTuZ=gTr1XRE}mJzX8YN?&BX6yp4kQkl;Nmc$)<85y5*@@E#Mq z#|3Y*;5{LDPYT{sg11HRo))}k1n*hF+bVd^3EuO9_k!TPD0nZ~p7}Z9mj&+?!FyHk zwh7*Ag7>=MZ5O;ZTps&xj=xan134VC8XS&u4G!mq28Z)WgTpzf!Qs5s;Bc;MaF`!7 zILs*;9OfYn4s(|Vhxtx}!yKu>VP4hXFc)iZn7=hR%=sD|)(H&`Yl{Yl^+!Iy(4&g1aGh4?GwCr1#iFLy(f6@3*HBUcR=ty6ug6i z_mSXzEO?&?-lu|hNbvqAc%KR0VZr-c@Qw)HQNjB{@Q%4W_TLOzfk7`IUKVZ9FB7h4(Emjhx18;!#SwI;k?!0aIR}`m>)Da%qbci<{=FZ zbC(8(`A&nw9I3%!Ue(|*7i(~szk_j#a$S}=UxULsp}}Eo3C1bPbp+NU4GwFV28VS| zgTq>>!C`&X;IJlZa9GDRIIR5|9QF$u9QGI*9QGv|9QHDyay0vRD7yj=xan134VC!8k>!#~kMx9L^054(C%aPEqPH z=b#3M^Hzhyxvs%se$e1Br)Y4Phcr0MT^bzbI}HwVqy~q1RfEG^tifUa*5EMbYj9X6 zG&rm+8XVRm4GwFV28VS|gTq>>!C`&X;IJlZa9GDRIIR5|9QF$u9QGI*9QGv|9QHDy zay0w+EF6#fdVIFv*4 z48|$S^JL~#4Gwd$28a1ugTtJ!!C{@y;IOu6a9EFmaf)&sfi+Bn!@8%zVXf5Qu)b<= zSd)WsiZZ`g$AfW-@_4cKYjD^vXmHqLXmHqy2E|2{;$6u)PfgFxm4Gzb-28VM)gTwix!QmX# z;Bek*a5&dBILr?k9Oe`a4)c%(hq+6G!+aNvQiO25MVt-)c= z*Wj>DXmD6tG&rnB8XVRz4G!y`28Xp$gTwl&!C_6-;INKsa9H~_IP4cRIP5Wkaf*`1 z*q3N<*vo{<(d^@g;&|MB{4l{AE_fpZ?;61yDR`p!Z>->5CwSuo?|Q)- zFL)CKZ=&E$61>TRH%0KK3f?rqn=W`a2;L0AyHW6F3f?Tin=N>A1n(xno9pt}e{=i= zn-4{)#~ia79FB7h4(Emjhx18;!#SwI;k?!0aIR}`m>)Da%qbci<{=FZbC(8(`A&nw z9I3%!Ue(|*7i(~szco0_`5GM72@MWwiw1}FNQ1)~romy|)8MdHYH(OzH8`xv8XVSf z4GwF+28aEE28TU{28Vr#28X>&s2t5cejbj;-N(-tyaj@{Q1BKB-eSSKS@4z!-crH4 zMevr{o_S4px!~O@c()1O3c*_`c&h~OcH1-G8?##Q?hw2+f_JCj-6eQ;3*J3~cdy{B z6}((?*W&`KAz(*)cHUT$E*g2<6MKoxuL<~eA3`>4r*{XZ#6ia>lz&9 z2MrE$iUx;yC>Wp}{KPY$`1@9rjdsy%`3Em@u_o(1KCU}nv-e$pjLhzmxyr%?ji{L#ic+Uvlvx2u( z@SYRA=LPQt!Fy5gUJ|^Q1@9HXdsXnZ3Epdh_qyP17rZxI9{X>Ozfk7`IUKVZ9FB7h z4(Emjhx18;!#SwI;k?!0aIR}`m>)Da%qbci<{=FZbC(8(`A&nw9I3%!Ue(|*7i(~s zzco0_`5GM72@MWwiw1}FNQ1)~romy|)8MdHYH(OzH8`xv8XVSf4GwF+28aEE28TU{ z28Vr#28X>&s2t5ceg}@n-N)|~yj_B~Tkzf#ytf4JZNYm-@b(DaUcuWZc<&0{e!+WB z@ZJ}^4+QUk;C(1~2L<_l4jcb9wB) zIsQVO59DynYH&EtH8`9b8XV3i4G!m^28Z)jgTuM5!C`*T;4r6XaF~ZQILuud9OgR> z4s)aihj~?l!(6PvVgA4r*{XZ#6ia>lz&92MrE$ ziUx;yNQ1-NrNLpo)8H^iYH*lWH8{-08XV?t4Gwd@28VS*gTvaQ!C^hp;IM{ia9H;= zIINW#9M)G24r{Uohjm%cH$_idN!OIl9@-C14H^*P7^MM?WSq%=yxdw-GLxaQlq`~1F)ZlR5YH&E$ zH8{)<8XV>n4G!~=28X#zgTs8M!C{Wn;4rUhaF~lVILzM~9Oirt4(o&lhqXn6!+NB_ zVGYyZu$nDowO@n7enEr79z%n}zC?q=UM5tIW*?u0<8fb) z&lbEK!K)y66$P)7;8hm9DuP#4@Tv)3b-}A4cr^vDmf+PEygGtcSMYKLub$xL30{4{ zYanZ>J<{N?hG}qE_cS=Hl^Pt@R}BtpvId8BT!X{fufbuzpuu5}p}}EaqQPM= z6Dmiuk8g$Jarg191+R_ZwH3U}1+SgpwHLe&g4a>-t`NK{1@9`s>m+!c1+Ry#=q2;Pn-}euCFu@CFFpK*1X%cvlPFV8I*W^4NcK{DnFn$l;jP z;BcI4a5y(KIGj%!9L_-v4(F`~hjU$n!~CGZVNTKDFb`>Pn7cGM%y$|b=12_=^Qs1i zxmbh4{H?)Z&e!0uPH1pgTQoSVM;aW~Fbxjto(6}tQiH?#s=;AR*5I&?Yj9ZmH8|`S zG&t-rG&t-_G&t;KLgi@o@k4Pu?mm8);0+hN5rTJ(;Efc#QGz#G@Wu$hTz>OcryiWmf+16yg7n*lij0)_<1-UcOO4r@D>Q(Lcv=kc#8$^X2Dw` zcuNKE7QtI4c*_OvR>8YX@Ky-kO2Jztc()7QYQeih@YV?4oq~6l;N2~F_Xys-g11)i z?i0Lqf_J~*trxrpTps&xj=xan134VC8XS&u4G!mq28Z)WgTpzf!Qs5s;Bc;MaF`!7 zILs*;9OfYn4s(|Vhxtx}!yKu>VP4hXFc)iZn7=hR%=sD|)(H&`Yl{Yl^+EiaSaY@zXpf>f(C~@h6aayi3W$gOsE{qK7Ip^$KA(2D0mwM z?;*i^SnxIp-XntdsNg*&c#jL-X2E+x@SYUBrvz_{;5{vP&j{YLg11%ho)f(11@8sH zdr|OS61d4nAPBLoNI76H#9h$ zPZ}J~K@AS)tpgdkG&sz68XV?G4G#0F28X#=gTwr-!C}tV z;IK|;a9CS3IIKq+9M&)m4(px=!gR>@k9Iit_jM z*q3N<*vo{<(d^@Q;CRYgW)HSg@OBB_Zozv~@ZJ)b?_I&$ zFL>_>-ur_0f#4kwyblHMpx}KZcpnSiCxZ8>;2jdY{|Vk_f_GT(J{PVP4hXFc)iZn7=hR%=sD|)(H&`Yl{Yl^+EiaSaY@zXpf>f(C~@h6aayi3W$gOsE{qKK?k4$9+BiOWQMh`xAn9Qt-YK zc&7yKYr*?Q@V*ti?*#9(;GGe??*;D%!TZtn%ozM6cs~pK{vvq43f^ym_q*Vo6})qT zcV6)R5WGJH?}Fg{C3t@e-amqOQSdIgJoeulf1%C?ayVv#afW8?=8UOIJYg!DA|@|mYJEEnZnF$%goHo%*@Qp z%*@Qp%*^&R+x@Ss@O{_mrRi6bTRlB9UHZ~eEM=_Cp_ds z!b7GcJmk=TJU!V{$*zQlyi0h<$b^SnO?b%Sgopf2c*y*Ohn`4y=$3?sK1z7#u!M)+ z8<3|bpLfxf2@m}`AWu)`olZ`8=<$Sy?oW8w7ZM(JjD&~1B;jF~>C}_lTL(+ZnT*z_&-_rI4J zgv}`LJCm@Ph0P*tR$;RVn_bu(!sZkelA5*{)o;UR|-93`6CN@@ z;h`r6C}_lPk88wgokcPc<7^qhYm}4=)Hu8u1t97*Mx^o zPI&0?goo}=c-R*P?H&8^km-IWjggF_xQET{j`5QejQ=!3R_Ru`ocC4 zwxO_%gl#Nr6JeXS*x&cd&4g_(@4JPtEro3*Y-?fL2-{ZJcEYw7wu7)8h3zD4=N9|> z-^(t-c9r+tP1x?j_7JwGu)W$Cdpzf_(|N$dnN4^&=Lrw9k?=522@f-v@G!Rt53`=| zkPitDnUe63Lj&^kq_@bfgonHvkf$fTMMfq(wr8xnRhxl;i1O|{wyP z2|K>U{{HuJg0K_ieNPg0vanNxohs}!VW$f_L)e+Z&T3=q-<-cr=K&9AHsRr%Cp^qX z!oxfzJj`Ii!`u$Y)05s}))OA`VL+aq^cI#Cgon9Jc$oEshkQtQ$drVK97=e|u7roY zOL)l0goj*Bc*x>}hx{Iprzi7H<|jP#ME`2d@}qyXR{7EYKYslE>aX8fx%G^-|NXqN zEAo(TNqFd^goh4Gc<8-^hptR`=+}gYPEL5}@q~x&Pk7iD5*~JpgonK(;bE8Q)RWxf z?=JV#{{8Xy2)kF-tJtgdEVb2JAR@igG zo)`9luos2BBs?-Cv|GT|Xt6CScS;UT{h9x^|%$I}xD58aaR z&_@Xm9hUIWdkGI+nefoB2@jo|@X+H458a>eurDM$>=+3Tdr88>F4L(exyQd^EV*3;RRZpKXl&oAcM{JmBHXCOn+;gooKkc$lYzhZ#(GnA^nO z!>lJfPhbLRiA(E@m<1t2^&P% zpuz?d)>~K~VSR-SE^G*4Lkb&8*wDg;5jL!_e!_+mHoUMAgpDX{Bw-^98%5Zt!bTG| zy09^XjVWv_VPgv$r;V|HbN)J=2RxkFgoksU@Gu(*5A&4pFoOvXbDQum>j@9}kof$B zOi6gip@fI*N_fb-golhwc*xa+hb&Hb$nS)Q%ujgeiG+u4NqFd^goh4Gc<8-^hptR` z=+}gYPEL5}@q~x&Pk7iD5*~JpgonK(;bE8Q)RWxf$1V5M{`L6rgpDt30$~#hn@HHi z!X^_ z3Y$yV+`{H*W9;9YzfR`?4`(*v;hZNt%tpe)JS9BLV8X-PCOph~!b3hJJY-73Lk=Z8 zWLLsN-X%O_WWqzPCOl+u!b5&1JY;^tLr)|;bW6fRA0<3=Si(c^B|LOx!b86%Jalrx zLyspsbbrFbzL4;+VCL< zeIemt$4GeCOA;P-nNB^)J$~(SKka+`I>Oc!ww|!{g>4{gLtz^U+gR8p!ZsDQnXt`; zZ6Rz+VOt5?TG%$iwiULWuelA5*{)o;UR|-93`6CN@@;h`rI9=avrp^p+CIxOL#_YxkuGU1_L6COG_;i1P99=bo_VP8mi*fA0w z_L78$U8Yk{a*yA;+)w)+zmKqeh3zM7e_;m*J5bm`!VVU8h_FM29VYB>VMho%QrJ<# zjuv)|uw#WCC+v7(CkQ)H*h#`p7IuoTQ-z%->~vvg2s=~QS#6B{oAcM{JmBHXCOn+; zgooKkc$lYzhZ#(GnA?PhSxVVCLD zlicIaF89;E$DbqYTw&)4J73rZ!Y&kck+6$}T_WsKVV4QJT-X)Dt`v5au&ae#BkWpX z*9p5`*bTyN6n2xan}yvX>{em73ADB&Ty5+3p{;UOav9&$C|A&V0p@;l)n^AjF=BH^K1 z5+3>};i1D49(pg~p(_&}`ZeL9lM^0#JmI1H6CU=3gohm?@qZVAy(Hmbm+91#+~e;q z_tU<|-y`f^VfP8UU)Te}9u)SFu!n^`BJ5FNj|qER*b~B@6!w&`r-eNu>{(&Y3431H z3&LI$_L8udg}ox|Rbj6QdtKNY!rm12RvTmg=KOU!4|q7U2@mHy;bArs9_A_GVFnW( z<~HGB))OA`A>koY5*~6W;UT*c9`Y{XAtMtWay8*0ixVF5JK-Vo6CQdZ;h|d+9{MQZ zp~Dg$dN1LjD-$02HQ}L?6Z^ouK3;RLXzl8lL z>?dJA3;RXbufl#4_Pek@g#FpZ*uOb{oz4Ru&TPWNIZt?)jf97JN_d#Tgon9Jc$oEs zhkQtQ$drVK97=e|u7roYOL)l0goj*Bc*x>}hx|@>$ozzdo=AA;mc)KZA0<3=Si(c^ zB|LOx!b86%JalrxLyspsbbrFbzL4;+Vv2@e^W@Q|ws4_Tb>klzUpnV;~`6A2I9lK6apK1z7#u!M)+OL*wYgol1j zcCLTL(+ZnT*!03?5H_Q*nS{+OY!+d&3Y$&X?84>{Hm9(; zgv~8%o;Jq*&H3we9`JBx6CTca!ozGNJj_$V!we=o%x%KMtS3C=L&8I*Bs}C$!b5f? zJmg)%Lq;Y%Ty)wve!eg)Jg%QDKV- zTU^)@!j=@al(40REhB7MVao|yUf2r4RutA>*h<1y7PgA8RfVl4Y;|F42wPLwT5XK| zoAcM{JmBHXCOn+;gooKkc$lYzhZ#(GnA?PhSxVVCLDlicIiF89;E$FC!7U1949TVL1)!ZsAPk+6-0Z6a(_VVeotT-X-E zwiLFNu&sq{BWzn?+X>rV*bc&W6tVq%wpSZt|K|L4IuCd_ zvk4F9JmFzB5+3F$;b8_79_BXTVb&8K@*&|NQxYC>DB&Ty5+3p{;UOav9&$C|A&V0p z@;l)n^AjF=BH^K15+3>};i1D49(pg~p(_&}`ZeL9lM^0#JmI1H6CU=3gohm?;bAXH zc-Un+^(6QBz03Wy@A3Nx+gI3r!uA(-fUpCF9VF~vVTTAiRM=s{4i|QWup@;XCG2Qn z#|S%C*m1&+7j}ZM6NQ~5>||l52s>5SX~Iqyc80Jsg`L&L*uOb{oz4Ru&TPWNIZt?) zjf97JN_d#Tgon9Jc$oEshkQtQ$drVK97=e|u7roYOL)l0goj*Bc*x>}hx|@>$ozzd zo=AA;mV}2sN_gn7gooZsc<9Q6hki|X=;VZl9#44a{)C5pA>m=iNO;&w5*~J$PCdyz z{_Ju;?R)$=!p;?Tp0M+UT_Eg2VHXLzSlA`PE){l}u*-#AA?!+FR|&gX*fqkg6?UDl z>xJDQ>_%ZX3As?-Cv|GT|Xt6CScS;UT{h9x^}Sp(hd^x+USE zj}jg_Ea9Q|5+1rT;h|p>9y&SUp~n**x1{huKJYn5Tq?8BBPX+k}T% zPk6|OgojK?c*voIhwMst$h(Axj7)gQ)r5yEPI$=ggon&ec<70Qhi*xD=%a*(4oi6G zy@ZFZOnB(mgojQ}c|0^q3Hx5y55oQ>>_=fg3Hw>t zFT#Em_M5QZh5aGy&o;*X&H3we9`JBx6CTca!ozGNJj_$V!we=o%x%KMtS3C=L&8I* zBs}C$!b5f?Jmg)%Lq;Y%aBNHBSHQ^zP6CUzA;UV)A9(p3-p<5Cj`Y7R{!xA2PFX5pp6CV0C;h~cg9(p|C zq5Bga_JxFp9V6jkFG+aVWjggF_xN$k{j`5Qemr603!6aLgu*5gHnFftgiR`JGGUVo zn?l%>!ln{7wXkV~O)G3VVbcqnLD-DKW)e2Duvvu7Dr`1kvkRL;*qp-V5;nK6dDOqXFt-U0v!3vf4+#&MlJJm22@lzo@Q`;24;h*8 zkgEv~S)A~Y-w6+ypYYHV2@lr2wPIv zQo@!Nwv4c4g)Jv+d0{IETTxhlVJit+S=cJVRu#6Iu+@dFA#6=yYqc@0#Tb%m`bY<*!H2-{HDM#450wu!J!g>5Emb75Nu+fvw8!nPK+ zjj(NnZ6|DdVLJ%hQP@txb{4jauw8}iCTw?MdkEW8*j{an{hRaG={(@!%qBdX^Mr@l zNO+j1gohbSc$nLShgnZ}$cKc7Oi6gip@fI*N_fb-golhwc*xa+hb&Hb$nS)Q%ujge ziG+u4NqFd^goh4Gc<8-^hptR`=+}gYPEL5}@q~x&Pk7iD5*~JpgonK(;bE8Q)RWxf z_b&I-zQ^w)Y+qsf3EN-T0m2Rxc95`xg&iX7P+^A&J6zZi!j2Snl(3_P9V6^mVaEwO zUf2o3P84>Mu#<(IBJ5OQrwKb<*crmk6n0h{WB=y-bvh4tII{^4=RDzIHWD7@DdAxT z6CUO^;bGPj9`YgKAyX0_awy>;yAmGqF5w{~6CQFk;US9?9`ZZkA@dU+dLrSWTM{1n zDB+>Q5*~Ul;h`%N9{M%mp_3CHdOYEw`x74ag@lJ4BjI5$NqE?0I`t&?__NFXwD0lf z2s>BUdBV;Yc7d=9gCL`h^BwK4W@&R?hVfQK`i@Nmu(9%duqVV)8mW-#GlZWA76J>elA5*{)o z;UR|-93`6CN@@;h`rI9=avrp^p+CIxOL#_YxkuGU1_L z6COG_;i1P99=bo_VP8mi*fA0w_L78$U8Yk{a*uzz+)w)+|BkSCg}o>2ePJI6`%u_N z!af%EiLg(FeJ1R4VP6RQQrK6*z83b4uy2KZC+vG+KM4Dmupfo}BOqXFt-U0v!3vf4+#&MlJJm22@lzo z@Q`;24;h*8kgEv~S)A~Y-w6+ypYYHV2@lnm(W%;f0MLY(!xr2^(41D8fb+Hkz=}g^eL>OkraQ8(Y{oZH)b! z^VjJ-;Ni?BJe>1{huKJYn5Tq?8BBPX+k}T%Pk6|OgojK?c*voIhwMst$h(Axj7)gQ z)r5yEPI$=ggon&ec<70Qhi*xD=%a*(4oi6Gy@ZFZOnB(mgojQ}c_3Y$yV+`{H*W9;9YzfR`?4`(*v;hZNt%tpe)JS9BLV8X-PCOph~!b3hJ zJY-73Lk=Z8WLLsN-X%O_WWqzPCOl+u!b5&1JY;^tLr)|;bW6fRA0<3=Si(c^B|LOx z!b86%JalrxLyspsbbn&sWnV~m*fA0w_L78$U8Yk{a*wae{j~4#^9q|!*!;p45VoMO zg@i3EY!P9L3R_Ir;=+~?wxqD7ge@&>8DYx`TTa;W!d4KrqOktLRuZC-xpPKjEP#5+1rG;h~Qb9y%=Hq4yFVx-#LRUlSfW zIpLwl6CS!h;bC7$c-S!#9`=%ihh3&qPjZi6yWCIv9>0#Tb%m`bY<*!H2-{HDM#450 zwu!J!g>5Emb75Nu+fvw8!nPK+jj(NnZ6|DdVLJ%hQP@txb{4jauw8}iCTw?MdkEW8 z*j{an{hRaG={(@!%qBdX^Mr@lNO+j1gohbSc$nLShgnZ}$cKc7Oi6gip@fI*N_fb- zgolhwc*xa+hb&Hb$nS)Q%ujgeiG+u4Nqn9|A0<3=Si(c^B|LOx!b86%JalrxLysps zbbrFbzL4;+VE$kR!#|k@6*zv+n5O$)llZ2ft>=a?A3Oh~M>B7zscBZhi+8Fyc z=daUwz{8nMcsSeurDM$ z>=+3Tdr88>F4L(exyPSf?x%f^KS$WP!p;+RzOV~~T`24#VHXR#MA)UmE)#aSuq%XJ zDeNj?R|~sF*tNp06L!6@8-(2`>?UD13%fNZ7-|9ufAau*ZZwF6;?mPYQcV*wezE z5%#RG=Y%~k>;+*j3VTV|%fem}_NuVgguO284PkEzd#jDHe{=piod-Oe*@TC4p71am z2@ms>@Gyf34|ALFFzX2q`H=9CDG3ibl<<&U2@iRf@Q{%S54oD~ki`iP`JM2P`3Vm_ zk?_zh2@idg@X%oi551T0(3J@f{hIL5$q5fVp77B92@m^1!o!Y{@UWL8JnS-^dXjtm z+vR@R_xN{&y({cJVebq3K-h=EJ`(n^uup`2D(o|1p9}j!*q6e-685#QZ-jj->^ouK z3;RLXzl8lL>?dJA3;RXbufl#4_Pek@g#FpZ*uOb{oz4Ru&TPWNIZt?)jf97JN_d#T zgon9Jc$oEshkQtQ$drVK97=e|u7roYOL)l0goj*Bc*x>}hx|@>$ozzdo=AA;mV}2s zN_gn7gooZsc<9Q6hki|X=;VZl9#44a{)C5pA>m=iNO;&w5*~J$PCdyzz8dnMdwiF$ zUcv?uHmI<{g!LBIM_6BBg9{r%*pR}85;nB3VT27Ute>#qgbgoj1Ysiz8%fy6!bTA` zs<6?7jV^2qVPgs#OW4@L#%W{h-<-cr=K&9AHsRr%Cp^qX!oxfzJj`Ii!`vo3%zDB@ zJ|sM3O2R`9B|KzT!b9FAJY;0TL#`$~WO2enekVL+e!@dfBs_FW!b2Y=JakyXL+>R# zbY;Rrza~6%a>7H8Cp>h2!o$9h@UUYfJnSV254%jKp5z`sZn>ZKug8xkYln^M?R!lo8Bjj(BjO($%6VKWGuQP@nvW)?P!uvvx8CTwVVCLDlicI$azE{R{Jg^E6E?rF1%xdqY$0I_ z3tL3kqQVvvwz#k*ge@s-DPcOq9znR;FhgnZ}$cKc7Oi6gip@fI* zN_fb-golhwc*xa+hb&Hb$nS)Q%ujgeiG+u4NqFd^goh4Gc<8-^hptR`=+}gYPEL5} z@q~x&Pk7iD5*~JpgonK(;bE8Q)RWxf*Dm+dzQ?a4Y+YgN30q&-2EsNJwvn)ng>52i zQ(>D4+g#Wd!nPE)m9VXaZ6j=3VcQAYUf2%8b`-Xgu$_hNB5YS-y9wJ}*dD_66t-6z zWB=y-bvh4tII{^4=RDzIHWK?c^OW!~g9#6FoA5B}2@m;@@Q^794>^?ZkX;E6d6)2z zkqHmEn(&at2@m<5@R0cl4?U6a&@BlMeU$LfVF?etm+;V)2@n06@X*N#4?Ujn(ESMy z`$EFQj*;-Nmn1ywGM##od;H$ze%kl=eT3~RY(HW93p+sAfx-?FcCfHRgdHmEFky!a zJ3`oz!j2Mlw6J4@9V_fOVaE$QLD-4HP7-#quv3JcD(p02rwcnn*qOr4YGdr*oWD-z z0S{+3;o+PoJj_PI!#pKC%wXd46XrJIVb&8K@*&|NQxYC>DB&Ty5+3p{;UOav9&$C| zA&V0p@;l)n^AjF=BH^K15+3>};i1D49(pg~p(_&}`ZeL9lM^0#JmI1H6CU=3gohm? z;bAXHc-Un+^(6QBv&;Ro@A2mdJ6G6w!p;|Vfv^jOT_o&cVV4NIRM=(0E*Ex%uq%aK zCG2Wp*9f~-*mc6L7j}cN8-?8@>}FxN2)k9-ZNhFBc89P#h27Q0*uOb{oz4Ru&TPWN zIZt?)jf97JN_d#Tgon9Jc$oEshkQtQ$drVK97=e|u7roYOL)l0goj*Bc*x>}hx|@> z$ozzdo=AA;mV}2sN_gn7gooZsc<9Q6hki|X=;VZl9#44a{)C5pA>m=iNO;&w5*~J$ zPCdyz{_b)=?R)$^!tNDzpRoIdJs|8sVGjv=SlA=N9u@YOu*ZcxA?!(EPYHWk*fYYO z751F4=Y_o>>_uTO342-CE5cqC_L{KQg}ou{O<`}fG4^lHU#Ihchclb-aLyARW+UNY zo)R8rFyUct6CP$g;UOOq9x^52A%_wkvMb>s?-Cv|GT|Xt6CScS;UT{h9x^}Sp(hd^ zx+USEj}jg_Ea9Q|5+1rT;h|p>9y&SUp~n**xZ-sp)?0aE9 z2>X|?ABFuS>}O%W2>VsoZ^C{T_J^=P+Zg*d=daUwz{8nMcsSeurDM$>=+3Tdr88>F4L(exyM&S{d14+64p!D zAi@R}Hkh#9!ukm7D{OFKLkJsE*igcT7B-BqVTJV*Hk`2Gg^eI=L}4Qd8(G*W!bTM~ zny}G@jUjAIVPgp!Ti7^ljQyMQ*Xcaq;mjsHob!Z-*+_Vpr-X+YOn8{vgojyAc*uu@ zhfGO$$f1OX>`HjZyM%{~OnAuEgoi9nc*yUBhs;lS=!t}fZb^9PqlAYJOL*wLgomz7 zc<9%JhfYp-=<$Sy?oW8w7ZM(JjD&~1B;jF~>C}_lpYyx2u3Y$pS z#KI;KHmR`5giS7N3SmCp=_+!b49aJakLKLmwqPbXdYe??H{gyG*B^)Y)N5D30qp&GQyS>ww$o#g{>fLMPdDgtt4z^VXFvRRoH66Ru{I0ur-CP z)yCMrIe(qb10K$7!oxXFc$kfZhj~hPn8AdHxlMSO^@N9fNO;JUgohkTc*w4VhrCO8 z$jF3;Tupe$;)I9%PI$=tgomC;c<7ddhdxSp=&*!`-b;As%7ll0O?c?!gohqac-~c9~8+$vuAUazE{R{5rzc6}FzR^@VL9Y(rri3ENoMCc-uqwwbWa zg>4~hOJQ3H+gjK*!nPH*ov`hN?I3JNVLJ)iS=cVZb``dpu-%32A#6`!d$lq4Z_Zz* z^MHploA7YX6CP$G;bEQ<9%eA%VQv#1W0&UeTD5OY=2<~2s=>NLBb9ec8IV;g&ijBaA8LXJ5tzD z!j2YpjId*c9VhH~VJ8SXQP@esP8N2Guv3MdChT-!X9zn}*ja6i{hRaG={(@!%qBdX z^Mr@lNO+j1gohbSc$nLShgnZ}$cKc7Oi6gip@fI*N_fb-golhwc*xa+hb&Hb$nS)Q z%ujgeiG+u4NqFd^goh4Gc<8-^hptR`=+}gYPEL5}@q~x&Pk7iD5*~JpgonK(;bE8Q z)RWxf&o1}VzQ>;<>|9~z2|Hid1;Q>Ac9F1)g;yAmGqF5w{~6CQFk;US9?9`ZZkA@dU+dLrSW zTM{1nDB+>Q5*~Ul;h`%N9{M%mp_3CHdOYEw`x74ag@lJ4BjI5$NqE?0I`t&?_`A#f zwD0lv2)kF-tJtgdEVb2JAR@igGo)`9l zuos2BBCLCp=_+!b49aJakLKLmwqPbXdYe??H{gyG*B^h5rvH;Y-C}h2pd({Xu?JpHiob< zg^eX_Y+>WHG4^lHU#Ihchclb-aLyARW+UNYo)R8rFyUct6CP$g;UOOq9x^52A%_wk zvMb>s?-Cv|GT|Xt6CScS;UT{h9x^}Sp(hd^x+USEj}jg_Ea9Q|5+1rT;h|p>9y&SU zp~n**x3!6sRw8EwnHodSJgv}^yCSfxRn?=~H!e$dTyRbQg%_(dyVRH+c zr;V|HbN)J=2RxkFgoksU@Gu(*5A&4pFoOvXbDQum>j@9}knoTx2@g4x@Q_^z4|$jH zkdX-wxtj2h#R(7jo$!$P2@gGy@X##@4}FyI&|wJ=y_fLNl?f01n()xc2@gG<@X-AU z5BoyG!;X>gu$Lq}>@uBtl6!nz?x%f^pI6v?!sZvYfUpIHEhKDVVT%Y`RM=v|78kaJ zuqA~pC2VP7%LrRm*mA;_7q)`16@~Q|wvw=wg{>lNRbi_MTV2>1!qybFRvTmg=KOU! z4|q7U2@mHy;bArs9_A_GVFnW(<~HGB))OA`A>koY5*~6W;UT*c9`Y{XAtMtWay8*0 zixVF5JK-Vo6CQdZ;h|d+9{MQZp~Dg$dN1LjD-$02HQ}L?6CQdz;i3Bz9`=QVhaDr~ zVJ}H|*kwBPB=`8W%l)+P@#_d%SJ-;O))%&cunmQ6By3}0n+V%f*k-~u7q*44Ero3* zY-?fL2-{ZJcEYw7wu7)8h3zD4XJNYt+f~?Z!gd$7hp;_`?bXKEzd3)M&I2CKY{J7i zPk5M(gok-bc$mS2hq+C7nDvB*d`Ni6l!S*IN_fbwgonIKc*w|vhg?l~$l`>D{7!ht z{Dg;|NOFM{AnZV42MIe^*df9W6?T}g!-X9o>_}lp2|HTYF~W`& zcAT)|g`FVmL}4chJ6YH%!cG--ny}M_ogwT@VP~~5_HWK#r}Kb^Gn?>m&J!MHBjI75 z5*}tS;bCqQ9%en^As-SRG9}?5hY}vLE8!vU5*{)#;UQNO9~djO2)k0)Rl=?oc8#!Wg`HjZyM%{~OnAuEgoi9nc*yUBhs;lS=!t}fZb^9PqlAYJ zOL*wLgomz7c<9%JhfYp-=<$Sy?oW8w7ZM(JjD&~1B;jF~>C}_lwBkW#b z_X)dS*aN~I6!ws?hlM>N>``Hl342`F6T+Sp_LQ)vg*_weSz*r!dtTTJ!d?{ilCYPB zy&~*YVXp~$UDzAK-W2v$8)N_G{B=4HcsR2O59d7LVKx#T<|*M}1`{6UHsN8`6CUy* z;UQBJ9&#w*A-nolYnC7VtF_9H{{Qjg?^l2Q&dRN4to`rjja@MpkoY5*~6W;UT*c9`Y{XAtMtWay8*0ixVF5JK-Vo z6CQdZ;h|d+pHI?92@f5X@X&h+4_%q?(60#(ot*H{;|UMlpYX6RBs}aG2@iWo!ox1p zsVBL|SHt{skM9!JOV}X71{F4#u-?M@2*eJqA6*ii%(S?m6Y)oNe2^(A3IBksmoAcM{JmBHXCOn+;gooKkc$lYz zhZ#(GnA?PhSxVVCLDlicISE%(#@ z_4x6GjW28hVG|0QNZ7=}CJ{ENu*rl?E^G>6Qwp0(*wn(N5jL%`>4Z%$YzAR73Y$sT z%)(|7Hmk7Ngv~B&4qMHlMKh zg)Ja#L17CCTUgj4!WI>_n6Sl#Eg@`4VM_^HTG%qemKC;~u;qoVAZ$fp{e`V0Y-M4q z2wPRyYQk0*wuZ1Zg{{@b*uOb{oz4Ru&TPWNIZt?)jf97JN_d#Tgon9Jc$oEshkQtQ z$drVK97=e|u7roYOL)l0goj*Bc*x>}hx|@>$ozzdo=AA;mV}2sN_gn7gooZsc<9Q6 zhki|X=;VZl9#44a{)C5pA>m=iNO;&w5*~J$PCdyze(iEU?R)$>!qyeGp0M?WZ6Itz zVH*kCSlA}QHWjv+u+4>SA#6)wTM64**fzqp6}FwQ?S<_iY)4@`3ENrNF2Z&dwwtis zh3z41PhoqtG4^lHU#Ihchclb-aLyARW+UNYo)R8rFyUct6CP$g;UOOq9x^52A%_wk zvMb>s?-Cv|GT|Xt6CScS;UT{h9x^}Sp(hd^x+USEj}jg_Ea9Q|5+1rT;h|p>9y&SU zp~n**x1{huKJYn5Tq?8BBPX+k}T%Pk6|OgojK?c*voIhwMst$h(Ax zj7)gQ)r5yEPI$=ggon&ec<70Qhi*xD=%a*(4oi6Gy@ZFZOnB(mgojQ}c{?;h3A~|c9XE1h20|TR$;dZyIt5F!tNAyR~uvh=KOU! z4|q7U2@mHy;bArs9_A_GVFnW(<~HGB))OA`A>koY5*~6W;UT*c9`Y{XAtMtWay8*0 zixVF5JK-Vo6CQdZ;h|d+9{MQZp~Dg$dN1LjD-$02HQ}L?6CQdz;i3Bz9`=QVhaDr~ zVJ}H|*kwBPB=`8c%l)+P@%IS3SJ-{R?icoeum^=bB}g@o2zyr8bHbh%_JXh%g}o%~Wnr%fdsWzL!d@5lhOjqD{7!ht z{Dg;|NO`P%^3Hw^uH^ROZ z_MNcrh5aDxU&4MA_LH!mh5aJzS7E;i`(4-{!v1Vy?BATfPUis+XEx#CoF_cYM#959 zB|OYv!o%DqJj{B+Lp~%tWJqqBdo8m!G#SWY)D~42^(72Fv5lv)=$`Q!iE<%g0K;VjU;Sj zVWS8eRoH04Mi(}QurY;=C2VYA3uo;BSC~PKSGYgwV*sQ{4 z6E?fBIfTtAY%XDQ3!A5nv43;^I-LhRoY{njbDr=p8wn5dl<+Wv2@i9d@G$EM5BZSr zkSPfdIh62_T?r3)m++902@koN@Q}p`5BZ(&kogG@J(2LxEeQ{Ol|wuG=Hg)Jp)X<^F1dg0K~Z^%u61u$6_aB5YM*s|j0O z*c!st6t-3yWB=y-bvh4tII{^4=RDzIHWD7@DdAxT6CUO^@&7lTSxVVCLDlicIiF89;E$FC!7U1949TVL1)!ZsAPk+6-0 zZ6a(_VVeotT-X-EwiLFNu&sq{BWzn?+X>rV*bc&W6tVq% zwpSZt|K|L4IuCd_vk4F9JmFzB5+3F$;b8_79_BXTVb&8K@*&|NQxYC>DB&Ty5+3p{ z;UOav9&$C|A&V2Amy+KJ51F6v&=Uy{-IDOoM+pxdmhjMf2@hSF@X)Ub51pLw(BlaY z-JkHVFC;wd7zq!1Ny5V})2S!9$M0S4r+ts#N7%l?_7k?humgl0DC{6%2Maqy*rCD> z6Lz?;BZM6(>?mPJ3p+;GvBHiMcD%3?gqCp_ds!b7GcJmgTqLv|%Rj@9}knoTx2@g4x@Q_^z4|$jHkdX-wxtj2h#R(7j zo$!$P2@gGy@X##@4}FyI&|wJ=y_fLNl?f01n()xc2@gG<@X-AU5BoyG!;X>gu$Lq} z>@uBtl6(B!<$l`t_@i`F3wuJ?lfs@7_O!5P zggqgvanZ#y(;WAVXq5&L)e?b-fCm)-<-cr=K&9AHsRr%Cp^qX z!oxfzJj`Ii!`vo3%zDB@J|sM3O2R`9B|KzT!b9FAJY;0TL#`$~WO2enekVL+e!@df zBs_FW!b2Y=JakyXL+>R#bY;Rrza~6%a>7H8Cp>h2!o$9h@UUYfJnSV254%jKp5z|? zcDbMSJ^meG?+SZQ*!#jh5cZ+4kA!_J>=R+13j0jh=fb`a_NB0|gncdS8)4rH`%c*R z!hR6;FJV6l`$^c(!hR9m&J!MHBjI755*}tS z;bCqQ9%en^As-SRG9}?5hY}vLE8!vU5*{)#;UQNO9*eJqA z6*ii%(S?m6Y)oNe2^(A3IBksmoAcM{JmBHXCOn+;gooKkc$lYzhZ#(GnA?PhSxVVCLDlicISE%(#@_4x6GjW28hVG|0Q zNZ7=}CJ{ENu*rl?E^G>6Qwp0(*wn(N5jL%`>4Z%$YzAR73Y$sT%)(|7Hmk7Ngv~B& z4qMHlMKhg)Ja#L17CCTUgj4 z!WI>_n6Sl#Eg@`4VM_^HTG%qemKC;~u;qoVAZ$fp{e`V0Y-M4q2wPRyYQk0*wuZ1Z zg{{@b*uOb{oz4Ru&TPWNIZt?)jf97JN_d#Tgon9Jc$oEshkQtQ$drVK97=e|u7roY zOL)l0goj*Bc*x>}hx|@>$ozzdo=AA;mV}2sN_gn7gooZsc<9Q6hki|X=;VZl9#44a z{)C5pA>m=iNO;&w5*~J$PCdyze(iEU?R)$>!qyeGp0M?WZ6ItzVH*kCSlA}QHWjv+ zu+4>SA#6)wTM64**fzqp6}FwQ?S<_iY)4@`3ENrNF2Z&dwwtish3z41PhoqtG4^lH zU#Ihchclb-aLyARW+UNYo)R8rFyUct6CP$g;UOOq9x^52A%_wkvMb>s?-Cv|GT|Xt z6CScS;UT{h9x^}Sp(hd^x+USEj}jg_Ea9Q|5+1rT;h|p>9y&SUp~n**x1{huKJYn5Tq?8BBPX+k}T%Pk6|OgojK?c*voIhwMst$h(Axj7)gQ)r5yEPI$=g zgon&ec<70Qhi*xD=%a*(4oi6Gy@ZFZOnB(mgojQ}c{?;h3A~|c9XE1h20|TR$;dZyIt5F!tNAyR~uvh=KOU!4|q7U2@mHy;bArs z9_A_GVFnW(<~HGB))OA`A>koY5*~6W;UT*c9`Y{XAtMtWay8*0ixVF5JK-Vo6CQdZ z;h|d+9{MQZp~Dg$dN1LjD-$02HQ}L?6CQdz;i3Bz9`=QVhaDr~VJ}H|*kwBPB=`8c z%l)+P@%IS3SJ-{R?icoeum^=bB}g@o2zyr8bHbh% z_JXh%g}o%~Wnr%fdsWzL!d@5lhOjqD{7!ht{Dg;|NO`P%^3Hw^uH^ROZ_MNcrh5aDxU&4MA z_LH!mh5aJzS7E;i`(4-{!v1Vy?BATfPUis+XEx#CoF_cYM#959B|OYv!o%DqJj{B+ zLp~%tWJqqBdo8m!G#SWY)D~42^(72Fv5lv)=$`Q!iE<%g0K;VjU;SjVWS8eRoH04Mi(}Q zurY;=C2VYA3uo;BSC~PKSGYgwV*sQ{46E?fBIfTtAY%XDQ z3!A5nv43;^I-LhRoY{njbDr=p8wn5dl<+Wv2@i9d@G$EM5BZSrkSPfdIh62_T?r3) zm++902@koN@Q}p`5BZ(&kogG@J(2LxEeQ{Ol| zwuG=Hg)Jp)X<^F1dg0K~Z^%u61u$6_aB5YM*s|j0O*c!st6t-3yWB=y- zbvh4tII{^4=RDzIHWD7@DdAxT6CUO^;bGPj9`YgKAyX0_awy>;yAmGqF5w{~6CQFk z;US9?9`ZZkA@dU+dLrSWTM{1nDB+>Q5*~Ul;h`%N9{M%mp_3CHdOYEw`x74ag@lJ4 zBjI5$NqE?0I`t&?__fRZwD0lj2wPX!dcxKhwt=t>g>58kV_};J+f>+Q!ZsJSg|ID! zZ6$1LVcQ7XR@ipJwimX8upNc%By4A4y9nD=*lxmh7q*A6J%#Pn#@N3(f1S<)9?opS z!#PiQn2m&oc}jSg!GwpoO?a5~gok`cc*vB5ha5_H$gYHkyi0h<$b^SnO?b%Sgopf2 zc*y*Ohn`4y=$3?sK1z7#u!M)+OL*wYgol1jcCLO(ckOK)1*^%&&Hwh0JmGF>j2@hGA@Q|Mg51E_rkkbhd*`Dyw2MG@y(y8aAYWiw{ zzEyQ|*CN$_|HtRm`PHyhudlZsqN@5;eZMY(YTWWTcd)APLB3wS@L{V#zn-+Pu4-`p z$H@P9>s1ZWdcSJWsw(f+dj1mS=VOQJ=KBMSXNGFXuZJ(c+^ZV2YtXK{s=npNU4!5) zAG`HC{HptnUv*y%_cdgVYN2YRYWQlzYX7dT@w%VW{okPq`|EA}@;>DQl|M;WHA2G& zt-8v`=v6+}Qmv%=b!tQ=k8Y?`+{Ovg8yIz|DU)21%Ctoy%YM^8SPb0lb_H72EqwFum>~5o$*$V z&;ai6z=3dw2le0%xij8MU<}|64;lz}cyJHykUQgzckx&G;DK<5hxFhMc`9$c%fs*R zkb!WAhxXtOxijASl!xEpp#$L#59`4la%a5JdVYt84TL*9ya#v4o$)q!dH5Y3J`nEk zh#uS_cg7pN>vwp>K)AyrdvJ%`8E-?Dhu`6m1K|#j>cJgyXS@wn9)5>M4TL*9x(9d2 zo$)qwdH5Y3JrM5jm>%3AcgEW=<>7aD%s{xqV|#Fi+!=4fmWSWru>;`_kL$r5a%a4; z<@+5THxTad_#WKhU!Q-JPnZU9hsO_uJ3OHWcgUUb#%DVIcX+};xWf~BaEII(ZzGh4 z-{FY^;SNvg!5wmEyz!Zx-{DCE;SNvk!5#kfIp;_Nyu*_R!X2K{gFEETcpJGq{O|CT zfpCYX_TUb=Gu}oi55L1x2f`hm)`L6b&UhQOJp2w%8whuJdJpc9JL7G%^6)!6eIVT7 z89lf|?u@t5%fs*RjDc{6XZGL@xij9zC=b8GGY7&Qp4Edp?q0)J zceXz1t;@%lvpje^tZ%>a=>9eTUB7&_bl&FkIqsuZc~#5Th`VpEtNaC)U;TMX!PVf` zb`9V9B2M=^^EEm?>A$n`z6Nl?vzGiY~*Bp9_wB{&-cl9qnEm|Inm&c0b@ykTzKh3-MDPPdIvug%@ zcRmRjWw5R}wzzn?@=pCvUG2Z#jjwj!*|m+n8y{wr3A+|9Uz(n`TB%(8^{XkW<*OwJ z$oSpv=l|EUmS6Ydox4BigyoMqc=^J?on5o&2W3$mrBBz@+s(exA*(%baQT||$upO` z{_Br9bopHG&aP?nUHP1UltH>CUZJX{+3>&KWt39o8};P@>wfE1b#W{PDgOu9_&j{@ za@MNe{i@rBexlDkdv{g6%Xt~H*Y1BkyIP`rX>g))LZ=_5Pqp(1e{FL&OL*&A#$4bYdw4a)_*7d_p?8qXOjQ;^`!s) z_1E)E_8-4Kry9S!fc&clKmPi98XxWLdH63scU7nNowz)@ukF8oeeTXt=HEf~D1TOF z;L{1~ay@A4dWiDsjMRJHe_sz-zFM;4VDq)Et6trox$@fdZheiSZ!bO%nChD zVZ#d>LD-1GMiMr%uu+7KDr_`iqYE2D*qFk`5;nH5aoX7Ltt{zX)zy^csNLDR8lrT> z0_D{5dz{0%nyUO>_tg;9g01It_3B-IZ^-g*iEvJ4T}|B>%D-Zk*j=PCa6;>9n(}+R z&miUZ7Hz%HAm#TLsitkroY}gXu3X(wKHnd-JZrJ4Yt*A_^8D_3y6=TET$g{F?S9T+ z-Ot(hgw}JOZl1%LuFJoVmVdJ;v(~#jXNl_6Q_9Pb*N>*hIp z?7Etzc@8PDMAfzX)vb^9ee)cqrLJaeo-<_kbKbnR^_-uY=P*5WHCywXp}IfTkvFwI zR#kWZO)*V%HGA`%pg8I`8MJv0e>-(GNAsLvx3b6l5N?|#mR zt&dvu+opAA6E@FbuIsWRbw6jM)^obfdaL!ENt@>|=XIHh?&pl$`dD3SywmzvQ#Q|G z?&~r&-Om}N`#CSa*Lu#h&2z|sy39}ab4KmHpQCqgeXQx5=a36^nX2yRjMn{}yZ356 zXU66^=R(rpU zCv1FS69}77*hIo67B)$X{k_{KmFG<+Y;s{!2%A#aRKlhfHjS`p3+vOidrT*6dSNpN zn^D+I!e$mWi?CUR%_eMiVRHzZQ`lU><`yVD47$F%Neq2@W9@49@V)cu@^yFXTa zZ0ln!+&qW#UYAe4x}P&i_j86iuJxQnn&)u->((cO>>HDo$5Q1_+1*^sL0!Ist9##I z0_xVMas0h<_Umfp=Jz=Db+t-!#d)u*RhuhLdR_4;Bk#u|jqZ=YX|1abnk&v} zU2WK0aYE~AqvndUSyvl3SDeba+N8PSJl55w%@rrHt~P6~ID>VydATA*|0th2ZQkoY z^O9eWS^hQezyE_2t&6oi1?CktpRoCbEg)<`VG9XcSlA-M78SObu*HQfA#6!uO9@+A z*fPSF6}FtP<%O*vY(-)Hg{>rPWnrrbTUFRT0XziqlqCTQ^snv%1=*x#EP?)wazQXREHZYpys|b+vtS#d)f$9hxgnQeExX zTyci#YNzIk(^FS`ZHW8i+|(6ckmHIIQ&+n-SDcl)+O4_bl++bpq2ZaFkGg!tp!X7D&SG2AUZLWAN>*}!PidV6&4lh^aP~FO* z|9(AzZmu|Ib#+X0#R;pcW1B0^R$U#}Tyd)E>iFi0^Hf(SG*_IYx;nAB;tbW* zNzE0fr>;(Jt~fV!bxL!^iK(kon=8&rU7glkaZ2jy^yZ55QCDX)SDcKxIeki8%@wa}U0u>#@ru^frOg$uWnEp?T=6Q_)#c?XnL~RQYkLmuBWzz``w81$ z*a5;06n2oXgM}R;>`-Bc2|HZa5yFlXc9gKAg&ia8SYgKrJ6_lc!cG)+lCYD7og(a1 zVW$Z@UDz4I&J=c58zYA}e|2?5bH+J&b#-NP#hI(CtC}lLTU}kYC`?|WXx#Cr?tNWWPUhlekpt<6euB!)|D_-NedZ@YL)vc?Cn=4+|x_YF!;uWo{ zN1H2N%es23x#Cr?&bb3%f?xwZg6wcD=A0gxx6YCSf-VyG7Wo!fq3GyRbWi-6`y@HbxF{{_5(9 z=8SXl>gvhniZfSNPc>JZwz_({x#FDF)icc%C#R=bJ0eQ(e8# zTyc`>>c!@YGgO!9>P`txPhGv-Tybvd>Xqh-6H`~OHdmaLx_Yg-;*`|Y>&+GCqpsd) zt~eQW^=5O$nW(F`nk!C2UA^60aSrP0o#u)YP*?9ZSG@Lh^{H&?vgb@f4W z#VcJ`A2wIK#&z{kbH%G$S06W5ysmZiNpr<3T34SoSG<;W^;vVpt5{c`m#btB-CeBh zIdqS(dxhO6?0#Vn2zyZ2L&6>w_K2`Yg*_(habZsgds5g_!k!lPjId{gJtypWVJ`@K zQP@kuUKaL>uvdk>ChT=#ZwPx+*jsIk9OC@d)fdef=j7GZm(3MtuCBgnt~hOV^>uT_ zIjgI0nk!CNU47eJaklE}yXJ~hRaf6PSDdH1`k}evB-Pcwnk&vwUH#ZxaeC_Nr{;=t zQ&&GXSDcu-`lY$ztkl)7%@wDlu6}E-I3IQSN>O*VaWd-akLHRqQCEL9SDc2LZ#HUu zU5Rs0S6$5&C!l<9N^`|)Usr=PSG?+V`CkxszaOu6T@BV;@k-ZK@8*ivxUTv%SG>A) z)wj9gb*-zxn=4+?x*DRn;T3Ariu_{|{g;C3)9u&;R~? z-oLzG%VR&cy?^P6?vMZft)G8uUjN^^y8m3|=hk^By!Ge(_wV=o`Y%uW&wullivhgu z+)q_?-$(1`*7JV*lh@@he)pe$|NXle!M{FUdDdUQ-}<@5<@a0s$6?97!K-`bE#EOd zbyaa){x8G)`0Z+~8T<9?SN)3=&plIvcXwlKa%MK1IE zi2U z)2}?1EYDo8{7ddu<$bm)-$Ai`HE#J{x}6K#p!K~EgOum|^){eCKlj(`g(qG(ed;m# z9d}as^H2HnmE6~0ZS3O0)`yn|ezd+x4-!R)z6&8_xTG9 zz5VsE`8lNQk>>x+AAiQyd6>3*m+}l{);S{!wEjDNi!WHNW-8z7J!AP!tLX~q&IMjS oP7vp4s=}u)-~BmVc}!a#-S0PJ`MG;`{-1e8di3)B|N6=Q0|1zDO8@`> literal 0 HcmV?d00001 diff --git a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj index a3d9ce2..a41bcc1 100644 --- a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj +++ b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj @@ -1136,6 +1136,8 @@ + + @@ -5895,6 +5897,20 @@ FluxReleaseRecords.aspx + + QualityCertificate.aspx + ASPXCodeBehind + + + QualityCertificate.aspx + + + QualityCertificateEdit.aspx + ASPXCodeBehind + + + QualityCertificateEdit.aspx + SolderBakingRecordProject.aspx ASPXCodeBehind diff --git a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj.user b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj.user index 8aa7c11..bf54086 100644 --- a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj.user +++ b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj.user @@ -2,7 +2,7 @@ true - Release|Any CPU + Debug|Any CPU diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx new file mode 100644 index 0000000..d594206 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx @@ -0,0 +1,134 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityCertificate.aspx.cs" Inherits="FineUIPro.Web.HJGL.MaterialManage.QualityCertificate" %> + + + + + + 焊材质保书 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.cs new file mode 100644 index 0000000..c0bb619 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.cs @@ -0,0 +1,288 @@ +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Data; +using System.Linq; +using BLL; + +namespace FineUIPro.Web.HJGL.MaterialManage +{ + public partial class QualityCertificate : PageBase + { + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); + + this.drpWeldType.DataTextField = "WeldTypeName"; + this.drpWeldType.DataValueField = "WeldTypeId"; + this.drpWeldType.DataSource = BLL.WeldTypeService.GetWeldTypeList(); + this.drpWeldType.DataBind(); + Funs.FineUIPleaseSelect(this.drpWeldType); + + // 绑定表格 + BindGrid(); + } + } + + /// + /// 绑定数据 + /// + private void BindGrid() + { + string strSql = @"SELECT QC.QualityCertificateId,QC.WeldId,QC.Warrantybook,Weld.WeldCode,Weld.WeldName,Weld.WeldSpec,QC.HeartNo,QC.CompileDate, + WeldType.WeldTypeName + FROM dbo.Weld_QualityCertificate AS QC + LEFT JOIN dbo.Weld_WeldInfo AS Weld ON Weld.WeldId=QC.WeldId + LEFT JOIN dbo.Weld_WeldType AS WeldType ON WeldType.WeldTypeId = Weld.WeldTypeId + WHERE 1=1 "; + List listStr = new List(); + + if (!string.IsNullOrEmpty(this.txtWeldName.Text.Trim())) + { + strSql += " AND Weld.WeldName LIKE @WeldName"; + listStr.Add(new SqlParameter("@WeldName", "%" + this.txtWeldName.Text.Trim() + "%")); + } + if (drpWeldType.SelectedValue != BLL.Const._Null) + { + strSql += " AND Weld.WeldTypeId = @WeldTypeId"; + listStr.Add(new SqlParameter("@WeldTypeId", drpWeldType.SelectedValue)); + } + if (!string.IsNullOrEmpty(this.txtHeartNo.Text.Trim())) + { + strSql += " AND QC.HeartNo LIKE @HeartNo"; + listStr.Add(new SqlParameter("@HeartNo", "%" + this.txtHeartNo.Text.Trim() + "%")); + } + if (!string.IsNullOrEmpty(this.txtWarrantybook.Text.Trim())) + { + strSql += " AND QC.Warrantybook LIKE @Warrantybook"; + listStr.Add(new SqlParameter("@Warrantybook", "%" + this.txtWarrantybook.Text.Trim() + "%")); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + #endregion + + #region 表头过滤 + protected void Grid1_FilterChange(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 页索引改变事件 + /// + /// 页索引改变事件 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + Grid1.PageIndex = e.NewPageIndex; + BindGrid(); + } + #endregion + + #region 排序 + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + Grid1.SortDirection = e.SortDirection; + Grid1.SortField = e.SortField; + BindGrid(); + } + #endregion + + #region 分页选择下拉改变事件 + /// + /// 分页选择下拉改变事件 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + #endregion + + #region 弹出编辑窗口关闭事件 + /// + /// 弹出编辑窗体关闭事件 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + + #region 查询 + /// + /// 查询 + /// + /// + /// + protected void TextBox_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 增加按钮 + /// + /// 增加按钮 + /// + /// + /// + protected void btnNew_Click(object sender, EventArgs e) + { + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CLGL_QualityCertificateMenuId, BLL.Const.BtnAdd)) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityCertificateEdit.aspx?QualityCertificateId={0}", string.Empty, "编辑 - "))); + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + return; + } + } + #endregion + + #region 编辑 + /// + /// 双击Grid事件 + /// + /// + /// + protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) + { + this.EditData(); + } + + /// + /// 编辑按钮 + /// + /// + /// + protected void btnMenuEdit_Click(object sender, EventArgs e) + { + this.EditData(); + } + + /// + /// 编辑数据方法 + /// + private void EditData() + { + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CLGL_QualityCertificateMenuId, BLL.Const.BtnModify)) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + + string id = Grid1.SelectedRowID; + if (!string.IsNullOrEmpty(id)) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityCertificateEdit.aspx?QualityCertificateId={0}", id, "编辑 - "))); + } + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + return; + } + } + #endregion + + #region 删除 + /// + /// 右键删除事件 + /// + /// + /// + protected void btnMenuDelete_Click(object sender, EventArgs e) + { + this.DeleteData(); + } + + /// + /// 删除方法 + /// + private void DeleteData() + { + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CLGL_QualityCertificateMenuId, BLL.Const.BtnDelete)) + { + if (Grid1.SelectedRowIndexArray.Length == 1) + { + string rowID = Grid1.SelectedRowID.ToString(); + if (this.judgementDelete(rowID)) + { + CommonService.DeleteAttachFileById(rowID);//删除附件 + BLL.QualityCertificateService.DeleteQualityCertificate(rowID); + BLL.Sys_LogService.AddLog(BLL.Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除焊材质保书"); + } + } + else + { + Alert.ShowInTop("请选择要删除的记录!", MessageBoxIcon.Warning); + return; + } + this.BindGrid(); + ShowNotify("删除数据成功!", MessageBoxIcon.Success); + + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + return; + } + } + + /// + /// 判断是否可删除 + /// + /// + /// + /// + private bool judgementDelete(string rowID) + { + string content = string.Empty; + //var q = from x in Funs.DB.Weld_UsingMat where x.StockInId == rowID select x; + //if (q.Count() > 0) + //{ + // content = "该入库材料已有领用,不能删除!"; + //} + if (string.IsNullOrEmpty(content)) + { + return true; + } + else + { + Alert.ShowInTop(content); + return false; + } + } + #endregion + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.designer.cs new file mode 100644 index 0000000..f2d2957 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificate.aspx.designer.cs @@ -0,0 +1,213 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.HJGL.MaterialManage { + + + public partial class QualityCertificate { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtWeldName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWeldName; + + /// + /// drpWeldType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpWeldType; + + /// + /// txtHeartNo 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtHeartNo; + + /// + /// txtWarrantybook 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWarrantybook; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// btnNew 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnNew; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Window2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window2; + + /// + /// Window3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window3; + + /// + /// WindowAtt 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window WindowAtt; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuEdit; + + /// + /// btnMenuDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDelete; + } +} diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx new file mode 100644 index 0000000..d71eac2 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx @@ -0,0 +1,79 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualityCertificateEdit.aspx.cs" Inherits="FineUIPro.Web.HJGL.MaterialManage.QualityCertificateEdit" %> + + + + + + 编辑焊材质保书 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.cs new file mode 100644 index 0000000..4fe0cdb --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.cs @@ -0,0 +1,216 @@ +using System; +using System.Linq; +using BLL; + +namespace FineUIPro.Web.HJGL.MaterialManage +{ + public partial class QualityCertificateEdit : PageBase + { + #region 定义项 + /// + /// 主键 + /// + private string QualityCertificateId + { + get + { + return (string)ViewState["QualityCertificateId"]; + } + set + { + ViewState["QualityCertificateId"] = value; + } + } + #endregion + + #region 加载 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); + this.QualityCertificateId = Request.Params["QualityCertificateId"]; + StockInitService.InitHeartNo(this.drpHeartNo, true); + if (!string.IsNullOrEmpty(this.QualityCertificateId)) + { + this.hdQualityCertificateId.Text = this.QualityCertificateId; + Model.Weld_QualityCertificate qc = BLL.QualityCertificateService.GetQualityCertificateByQualityCertificateId(this.QualityCertificateId); + if (qc != null) + { + if (!string.IsNullOrEmpty(qc.WeldId)) + { + this.hdWeldId.Text = qc.WeldId; + var weld = BLL.WeldInfoService.GetWeldInfoById(qc.WeldId); + if (weld != null) + { + //this.txtWeldCode.Text = weld.WeldCode; + this.txtWeldName.Text = weld.WeldName; + this.txtWeldSpec.Text = weld.WeldSpec; + if (!string.IsNullOrEmpty(weld.WeldTypeId)) + { + var weldType = BLL.WeldTypeService.GetWeldTypeById(weld.WeldTypeId); + if (weldType != null) + { + this.txtWeldType.Text = weldType.WeldTypeName; + } + } + } + this.drpHeartNo.SelectedItem.Text = qc.HeartNo; + this.txtWarrantybook.Text = qc.Warrantybook; + } + } + } + else + { + + } + } + } + #endregion + + #region 保存 + /// + /// 保存按钮 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (this.hdWeldId.Text == string.Empty) + { + Alert.ShowInTop("请选择焊材牌号!", MessageBoxIcon.Warning); + return; + } + if (this.drpHeartNo.SelectedValue == BLL.Const._Null) + { + Alert.ShowInTop("请选择批号!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(this.hdQualityCertificateId.Text.Trim())) + { + Alert.ShowInTop("请上传质保书附件!", MessageBoxIcon.Warning); + return; + } + SaveData(); + ShowNotify("保存成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + + /// + /// 保存数据 + /// + private void SaveData() + { + Model.Weld_QualityCertificate qc = new Model.Weld_QualityCertificate(); + if (!string.IsNullOrEmpty(this.hdWeldId.Text.Trim())) + { + qc.WeldId = this.hdWeldId.Text.Trim(); + } + + qc.Warrantybook = this.txtWarrantybook.Text.Trim(); + //qc.Number = txtNumber.Text.Trim(); + qc.HeartNo = drpHeartNo.SelectedItem.Text.Trim(); + qc.Warrantybook = txtWarrantybook.Text.Trim(); + qc.CompileMan = this.CurrUser.UserId; + qc.CompileDate = DateTime.Now; + if (!string.IsNullOrEmpty(this.QualityCertificateId)) + { + qc.QualityCertificateId = this.QualityCertificateId; + BLL.QualityCertificateService.UpdateQualityCertificate(qc); + BLL.Sys_LogService.AddLog(Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "修改焊材质保书"); + } + else + { + if (string.IsNullOrWhiteSpace(this.hdQualityCertificateId.Text.Trim())) + { + qc.QualityCertificateId = SQLHelper.GetNewID(typeof(Model.Weld_QualityCertificate)); + } + else + { + qc.QualityCertificateId = this.hdQualityCertificateId.Text.Trim(); + } + BLL.QualityCertificateService.AddQualityCertificate(qc); + BLL.Sys_LogService.AddLog(Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "添加焊材质保书"); + } + } + #endregion + + #region 附件上传 + /// + /// 上传附件资源 + /// + /// + /// + protected void btnAttachUrl2_Click(object sender, EventArgs e) + { + string edit = "0"; // 表示能打开附件上传窗口,但不能上传附件 + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CLGL_QualityCertificateMenuId, BLL.Const.BtnSave)) + { + if (string.IsNullOrEmpty(this.hdQualityCertificateId.Text.Trim())) + { + this.hdQualityCertificateId.Text = SQLHelper.GetNewID(); + } + edit = "1"; + PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WeldMat/QualityCertificate&menuId={1}&edit={2}", this.hdQualityCertificateId.Text, Const.CLGL_QualityCertificateMenuId, edit))); + } + } + #endregion + + #region 查找焊材信息 + /// + /// 查找焊材信息 + /// + /// + /// + protected void btnSelect_Click(object sender, EventArgs e) + { + string window = String.Format("../../WeldMat/Stock/ShowWeldInfo.aspx", "编辑 - "); + PageContext.RegisterStartupScript(Window1.GetSaveStateReference(this.hdWeldId.ClientID) + Window1.GetShowReference(window)); + } + + #region 弹出编辑窗口关闭事件 + /// + /// 弹出编辑窗体关闭事件 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + if (!string.IsNullOrEmpty(this.hdWeldId.Text)) + { + var weld = BLL.WeldInfoService.GetWeldInfoById(this.hdWeldId.Text); + if (weld != null) + { + //this.txtWeldCode.Text = weld.WeldCode; + this.txtWeldName.Text = weld.WeldName; + this.txtWeldSpec.Text = weld.WeldSpec; + if (!string.IsNullOrEmpty(weld.WeldTypeId)) + { + var weldType = BLL.WeldTypeService.GetWeldTypeById(weld.WeldTypeId); + if (weldType != null) + { + this.txtWeldType.Text = weldType.WeldTypeName; + } + } + } + } + } + #endregion + + #endregion + + protected void drpHeartNo_SelectedIndexChanged(object sender, EventArgs e) + { + this.txtWarrantybook.Text = string.Empty; + if (this.drpHeartNo.SelectedValue != BLL.Const._Null) + { + this.txtWarrantybook.Text = this.drpHeartNo.SelectedValue; + } + } + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.designer.cs new file mode 100644 index 0000000..327a2bf --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/HJGL/MaterialManage/QualityCertificateEdit.aspx.designer.cs @@ -0,0 +1,168 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.HJGL.MaterialManage { + + + public partial class QualityCertificateEdit { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Form2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form Form2; + + /// + /// hdWeldId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdWeldId; + + /// + /// hdQualityCertificateId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdQualityCertificateId; + + /// + /// txtWeldName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWeldName; + + /// + /// btnSelect 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSelect; + + /// + /// txtWeldSpec 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWeldSpec; + + /// + /// drpHeartNo 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpHeartNo; + + /// + /// txtWeldType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWeldType; + + /// + /// txtWarrantybook 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label txtWarrantybook; + + /// + /// UploadAttach2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.LinkButton UploadAttach2; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnClose 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnClose; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Window2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window2; + } +} diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/StatisticsSampleTable.aspx b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/StatisticsSampleTable.aspx index 55a8105..6cb1e16 100644 --- a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/StatisticsSampleTable.aspx +++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/StatisticsSampleTable.aspx @@ -50,7 +50,7 @@ diff --git a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockInEdit.aspx b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockInEdit.aspx index e05784d..60cfb7c 100644 --- a/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockInEdit.aspx +++ b/HJGL_DS/FineUIPro.Web/WeldMat/Stock/StockInEdit.aspx @@ -45,7 +45,8 @@ - + diff --git a/HJGL_DS/Model/Model.cs b/HJGL_DS/Model/Model.cs index d6a9378..84fd930 100644 --- a/HJGL_DS/Model/Model.cs +++ b/HJGL_DS/Model/Model.cs @@ -515,6 +515,9 @@ namespace Model partial void InsertWeld_ProjectPlan(Weld_ProjectPlan instance); partial void UpdateWeld_ProjectPlan(Weld_ProjectPlan instance); partial void DeleteWeld_ProjectPlan(Weld_ProjectPlan instance); + partial void InsertWeld_QualityCertificate(Weld_QualityCertificate instance); + partial void UpdateWeld_QualityCertificate(Weld_QualityCertificate instance); + partial void DeleteWeld_QualityCertificate(Weld_QualityCertificate instance); partial void InsertWeld_RecycleMat(Weld_RecycleMat instance); partial void UpdateWeld_RecycleMat(Weld_RecycleMat instance); partial void DeleteWeld_RecycleMat(Weld_RecycleMat instance); @@ -2316,6 +2319,14 @@ namespace Model } } + public System.Data.Linq.Table View_UnitPerformance + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_UsePosition { get @@ -2332,6 +2343,14 @@ namespace Model } } + public System.Data.Linq.Table Weld_QualityCertificate + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table Weld_RecycleMat { get @@ -105634,6 +105653,8 @@ namespace Model private string _Welder; + private string _WED_Unit; + private string _STE_ID; private string _DReportID; @@ -105752,6 +105773,22 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Unit", DbType="NVarChar(50)")] + public string WED_Unit + { + get + { + return this._WED_Unit; + } + set + { + if ((this._WED_Unit != value)) + { + this._WED_Unit = value; + } + } + } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_STE_ID", DbType="VarChar(50)")] public string STE_ID { @@ -108678,6 +108715,357 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_UnitPerformance")] + public partial class View_UnitPerformance + { + + private System.Nullable _Id; + + private string _ProjectCode; + + private string _WED_Unit; + + private string _UnitCode; + + private string _UnitName; + + private System.Nullable _TotalSize; + + private int _TotalJoint; + + private int _JointNum1; + + private System.Nullable _JointPassNum1; + + private int _RepairJoint1; + + private int _RepairJoint2; + + private int _RepairJoint3; + + private System.Nullable _JointPassRate; + + private int _Totalfilm; + + private System.Nullable _TotalPassfilm; + + private int _RepairFilm1; + + private int _RepairFilm2; + + private int _RepairFilm3; + + private System.Nullable _JointFilmPassRate; + + public View_UnitPerformance() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier")] + public System.Nullable Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this._Id = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectCode", DbType="VarChar(1) NOT NULL", CanBeNull=false)] + public string ProjectCode + { + get + { + return this._ProjectCode; + } + set + { + if ((this._ProjectCode != value)) + { + this._ProjectCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Unit", DbType="NVarChar(50)")] + public string WED_Unit + { + get + { + return this._WED_Unit; + } + set + { + if ((this._WED_Unit != value)) + { + this._WED_Unit = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitCode", DbType="NVarChar(20)")] + public string UnitCode + { + get + { + return this._UnitCode; + } + set + { + if ((this._UnitCode != value)) + { + this._UnitCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalSize", Storage="_TotalSize", DbType="Decimal(19,2)")] + public System.Nullable TotalSize + { + get + { + return this._TotalSize; + } + set + { + if ((this._TotalSize != value)) + { + this._TotalSize = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalJoint", Storage="_TotalJoint", DbType="Int NOT NULL")] + public int TotalJoint + { + get + { + return this._TotalJoint; + } + set + { + if ((this._TotalJoint != value)) + { + this._TotalJoint = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointNum1", DbType="Int NOT NULL")] + public int JointNum1 + { + get + { + return this._JointNum1; + } + set + { + if ((this._JointNum1 != value)) + { + this._JointNum1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointPassNum1", DbType="Int")] + public System.Nullable JointPassNum1 + { + get + { + return this._JointPassNum1; + } + set + { + if ((this._JointPassNum1 != value)) + { + this._JointPassNum1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint1", DbType="Int NOT NULL")] + public int RepairJoint1 + { + get + { + return this._RepairJoint1; + } + set + { + if ((this._RepairJoint1 != value)) + { + this._RepairJoint1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint2", DbType="Int NOT NULL")] + public int RepairJoint2 + { + get + { + return this._RepairJoint2; + } + set + { + if ((this._RepairJoint2 != value)) + { + this._RepairJoint2 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint3", DbType="Int NOT NULL")] + public int RepairJoint3 + { + get + { + return this._RepairJoint3; + } + set + { + if ((this._RepairJoint3 != value)) + { + this._RepairJoint3 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointPassRate", DbType="Decimal(19,3)")] + public System.Nullable JointPassRate + { + get + { + return this._JointPassRate; + } + set + { + if ((this._JointPassRate != value)) + { + this._JointPassRate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalfilm", Storage="_Totalfilm", DbType="Int NOT NULL")] + public int Totalfilm + { + get + { + return this._Totalfilm; + } + set + { + if ((this._Totalfilm != value)) + { + this._Totalfilm = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalPassfilm", Storage="_TotalPassfilm", DbType="Int")] + public System.Nullable TotalPassfilm + { + get + { + return this._TotalPassfilm; + } + set + { + if ((this._TotalPassfilm != value)) + { + this._TotalPassfilm = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm1", Storage="_RepairFilm1", DbType="Int NOT NULL")] + public int RepairFilm1 + { + get + { + return this._RepairFilm1; + } + set + { + if ((this._RepairFilm1 != value)) + { + this._RepairFilm1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm2", Storage="_RepairFilm2", DbType="Int NOT NULL")] + public int RepairFilm2 + { + get + { + return this._RepairFilm2; + } + set + { + if ((this._RepairFilm2 != value)) + { + this._RepairFilm2 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm3", Storage="_RepairFilm3", DbType="Int NOT NULL")] + public int RepairFilm3 + { + get + { + return this._RepairFilm3; + } + set + { + if ((this._RepairFilm3 != value)) + { + this._RepairFilm3 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointFilmPassRate", DbType="Decimal(19,3)")] + public System.Nullable JointFilmPassRate + { + get + { + return this._JointFilmPassRate; + } + set + { + if ((this._JointFilmPassRate != value)) + { + this._JointFilmPassRate = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_UsePosition")] public partial class View_UsePosition { @@ -108987,6 +109375,188 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Weld_QualityCertificate")] + public partial class Weld_QualityCertificate : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _QualityCertificateId; + + private string _WeldId; + + private string _HeartNo; + + private string _Warrantybook; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnQualityCertificateIdChanging(string value); + partial void OnQualityCertificateIdChanged(); + partial void OnWeldIdChanging(string value); + partial void OnWeldIdChanged(); + partial void OnHeartNoChanging(string value); + partial void OnHeartNoChanged(); + partial void OnWarrantybookChanging(string value); + partial void OnWarrantybookChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public Weld_QualityCertificate() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QualityCertificateId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string QualityCertificateId + { + get + { + return this._QualityCertificateId; + } + set + { + if ((this._QualityCertificateId != value)) + { + this.OnQualityCertificateIdChanging(value); + this.SendPropertyChanging(); + this._QualityCertificateId = value; + this.SendPropertyChanged("QualityCertificateId"); + this.OnQualityCertificateIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldId", DbType="NVarChar(50)")] + public string WeldId + { + get + { + return this._WeldId; + } + set + { + if ((this._WeldId != value)) + { + this.OnWeldIdChanging(value); + this.SendPropertyChanging(); + this._WeldId = value; + this.SendPropertyChanged("WeldId"); + this.OnWeldIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeartNo", DbType="NVarChar(50)")] + public string HeartNo + { + get + { + return this._HeartNo; + } + set + { + if ((this._HeartNo != value)) + { + this.OnHeartNoChanging(value); + this.SendPropertyChanging(); + this._HeartNo = value; + this.SendPropertyChanged("HeartNo"); + this.OnHeartNoChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Warrantybook", DbType="NVarChar(50)")] + public string Warrantybook + { + get + { + return this._Warrantybook; + } + set + { + if ((this._Warrantybook != value)) + { + this.OnWarrantybookChanging(value); + this.SendPropertyChanging(); + this._Warrantybook = value; + this.SendPropertyChanged("Warrantybook"); + this.OnWarrantybookChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Weld_RecycleMat")] public partial class Weld_RecycleMat : INotifyPropertyChanging, INotifyPropertyChanged { diff --git a/HJGL_DS/WebAPI/WebAPI.csproj.user b/HJGL_DS/WebAPI/WebAPI.csproj.user index 28be9c4..a48b337 100644 --- a/HJGL_DS/WebAPI/WebAPI.csproj.user +++ b/HJGL_DS/WebAPI/WebAPI.csproj.user @@ -1,7 +1,7 @@  - Release|Any CPU + Debug|Any CPU FolderProfile true From 140f98a08b1c389042c14248c046a97a0b88aeaa Mon Sep 17 00:00:00 2001 From: wendy <408182087@qq.com> Date: Tue, 9 Dec 2025 17:19:07 +0800 Subject: [PATCH 4/5] =?UTF-8?q?20251209=20=E4=BA=A4=E5=B7=A5=E8=B5=84?= =?UTF-8?q?=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CreateModel.bat | 2 +- .../版本日志/HJGLDB_DS_2025-12-09_bwj.sql | 90 ++ HJGL_DS/BLL/BLL.csproj | 1 + HJGL_DS/BLL/Common/Const.cs | 7 + HJGL_DS/BLL/JGZL/CommencementReportService.cs | 86 ++ .../File/Fastreport/JGZL/工程施工开工报告.frx | 125 +++ HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj | 16 + .../JGZL/CommencementReport.aspx | 124 +++ .../JGZL/CommencementReport.aspx.cs | 388 ++++++++ .../JGZL/CommencementReport.aspx.designer.cs | 206 +++++ .../JGZL/CommencementReportEdit.aspx | 63 ++ .../JGZL/CommencementReportEdit.aspx.cs | 121 +++ .../CommencementReportEdit.aspx.designer.cs | 143 +++ HJGL_DS/FineUIPro.Web/Web.config | 2 +- HJGL_DS/Model/Model.cs | 854 +++++++++++++++++- 15 files changed, 2225 insertions(+), 3 deletions(-) create mode 100644 DataBase/版本日志/HJGLDB_DS_2025-12-09_bwj.sql create mode 100644 HJGL_DS/BLL/JGZL/CommencementReportService.cs create mode 100644 HJGL_DS/FineUIPro.Web/File/Fastreport/JGZL/工程施工开工报告.frx create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.cs create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.designer.cs create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.cs create mode 100644 HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.designer.cs diff --git a/CreateModel.bat b/CreateModel.bat index 3c459ce..8b5f697 100644 --- a/CreateModel.bat +++ b/CreateModel.bat @@ -27,7 +27,7 @@ REM -------------- @echo. @call "%VS100COMNTOOLS%"vsvars32.bat -SqlMetal /views /server:.\SQL2019 /database:HJGLDB_DS /code:%Model_ROOT%\Model.cs /namespace:Model +SqlMetal /views /server:.\SQL2022 /database:HJGLDB_DS /code:%Model_ROOT%\Model.cs /namespace:Model @ECHO pause diff --git a/DataBase/版本日志/HJGLDB_DS_2025-12-09_bwj.sql b/DataBase/版本日志/HJGLDB_DS_2025-12-09_bwj.sql new file mode 100644 index 0000000..6ff3adc --- /dev/null +++ b/DataBase/版本日志/HJGLDB_DS_2025-12-09_bwj.sql @@ -0,0 +1,90 @@ + +insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuModule) +values('2A84FA58-8B20-48ED-A621-3EC98CF4AD28','','',250,'0','3') +insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuModule) +values('A4B2E5A9-96A8-460F-885A-BE5FF9B5019E','ʩ','JGZL/CommencementReport.aspx',10,'2A84FA58-8B20-48ED-A621-3EC98CF4AD28','3') +go +insert into ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +values('E8A5E227-B90B-4F1D-BAC9-63992DF65E74','A4B2E5A9-96A8-460F-885A-BE5FF9B5019E','',1) +insert into ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +values('ABB85733-F474-4D68-BED0-F1D92FA0765F','A4B2E5A9-96A8-460F-885A-BE5FF9B5019E','޸',2) +insert into ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +values('2C370582-BE78-4297-8C29-30FCD49CEFF1','A4B2E5A9-96A8-460F-885A-BE5FF9B5019E','ɾ',3) +insert into ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +values('2AE25E38-D278-4697-8CC1-4095BCDEF6B5','A4B2E5A9-96A8-460F-885A-BE5FF9B5019E','',4) +go + +CREATE TABLE [dbo].[JGZL_CommencementReport]( + [CommencementReportId] [nvarchar](50) NOT NULL, + [ProjectId] [nvarchar](50) NULL, + [ContractNumber] [nvarchar](100) NULL, + [DesignUnit] [nvarchar](50) NULL, + [PlannedStartDate] [datetime] NULL, + [PlannedEndDate] [datetime] NULL, + [ProjectContent] [nvarchar](2000) NULL, + [Conditions] [nvarchar](1000) NULL, + [ReviewOpinion] [nvarchar](1000) NULL, + [QualitySupervisionOpinion] [nvarchar](1000) NULL, + [CompileMan] [nvarchar](50) NULL, + [CompileDate] [datetime] NULL, + CONSTRAINT [PK_JGZL_CommencementReport] PRIMARY KEY CLUSTERED +( + [CommencementReportId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[JGZL_CommencementReport] WITH CHECK ADD CONSTRAINT [FK_JGZL_CommencementReport_Base_Project] FOREIGN KEY([ProjectId]) +REFERENCES [dbo].[Base_Project] ([ProjectId]) +GO + +ALTER TABLE [dbo].[JGZL_CommencementReport] CHECK CONSTRAINT [FK_JGZL_CommencementReport_Base_Project] +GO + +ALTER TABLE [dbo].[JGZL_CommencementReport] WITH CHECK ADD CONSTRAINT [FK_JGZL_CommencementReport_Sys_User] FOREIGN KEY([CompileMan]) +REFERENCES [dbo].[Sys_User] ([UserId]) +GO + +ALTER TABLE [dbo].[JGZL_CommencementReport] CHECK CONSTRAINT [FK_JGZL_CommencementReport_Sys_User] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'CommencementReportId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'ProjectId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʩͬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'ContractNumber' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƶλ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'DesignUnit' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'PlannedStartDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'PlannedEndDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'ProjectContent' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'Conditions' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'ReviewOpinion' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ල' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'QualitySupervisionOpinion' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'CompileMan' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport', @level2type=N'COLUMN',@level2name=N'CompileDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʩ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JGZL_CommencementReport' +GO + + diff --git a/HJGL_DS/BLL/BLL.csproj b/HJGL_DS/BLL/BLL.csproj index dce8a56..d7fe600 100644 --- a/HJGL_DS/BLL/BLL.csproj +++ b/HJGL_DS/BLL/BLL.csproj @@ -244,6 +244,7 @@ + diff --git a/HJGL_DS/BLL/Common/Const.cs b/HJGL_DS/BLL/Common/Const.cs index f721b55..ccd3761 100644 --- a/HJGL_DS/BLL/Common/Const.cs +++ b/HJGL_DS/BLL/Common/Const.cs @@ -1749,6 +1749,13 @@ namespace BLL #endregion + #region 交工资料菜单Id + /// + /// 工程施工开工报告 + /// + public const string JGZL_CommencementReportMenuId = "A4B2E5A9-96A8-460F-885A-BE5FF9B5019E"; + #endregion + #region 报表对应ID /// diff --git a/HJGL_DS/BLL/JGZL/CommencementReportService.cs b/HJGL_DS/BLL/JGZL/CommencementReportService.cs new file mode 100644 index 0000000..c76c436 --- /dev/null +++ b/HJGL_DS/BLL/JGZL/CommencementReportService.cs @@ -0,0 +1,86 @@ +using Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BLL +{ + /// + /// 工程施工开工报告 + /// + public class CommencementReportService + { + /// + /// 根据主键获取工程施工开工报告 + /// + /// + /// + public static Model.JGZL_CommencementReport GetCommencementReportById(string commencementReportId) + { + return Funs.DB.JGZL_CommencementReport.FirstOrDefault(e => e.CommencementReportId == commencementReportId); + } + + /// + /// 添加工程施工开工报告 + /// + /// + public static void AddCommencementReport(Model.JGZL_CommencementReport commencementReport) + { + SGGLDB db = Funs.DB; + Model.JGZL_CommencementReport newCommencementReport = new Model.JGZL_CommencementReport(); + newCommencementReport.CommencementReportId = commencementReport.CommencementReportId; + newCommencementReport.ProjectId = commencementReport.ProjectId; + newCommencementReport.ContractNumber = commencementReport.ContractNumber; + newCommencementReport.DesignUnit = commencementReport.DesignUnit; + newCommencementReport.PlannedStartDate = commencementReport.PlannedStartDate; + newCommencementReport.PlannedEndDate = commencementReport.PlannedEndDate; + newCommencementReport.ProjectContent = commencementReport.ProjectContent; + newCommencementReport.Conditions = commencementReport.Conditions; + newCommencementReport.ReviewOpinion = commencementReport.ReviewOpinion; + newCommencementReport.QualitySupervisionOpinion = commencementReport.QualitySupervisionOpinion; + newCommencementReport.CompileMan = commencementReport.CompileMan; + newCommencementReport.CompileDate = commencementReport.CompileDate; + db.JGZL_CommencementReport.InsertOnSubmit(newCommencementReport); + db.SubmitChanges(); + } + + /// + /// 修改工程施工报告 + /// + /// + public static void UpdateCommencementReport(Model.JGZL_CommencementReport commencementReport) + { + SGGLDB db = Funs.DB; + Model.JGZL_CommencementReport newCommencementReport = db.JGZL_CommencementReport.FirstOrDefault(e => e.CommencementReportId == commencementReport.CommencementReportId); + if (newCommencementReport != null) + { + newCommencementReport.ContractNumber = commencementReport.ContractNumber; + newCommencementReport.DesignUnit = commencementReport.DesignUnit; + newCommencementReport.PlannedStartDate = commencementReport.PlannedStartDate; + newCommencementReport.PlannedEndDate = commencementReport.PlannedEndDate; + newCommencementReport.ProjectContent = commencementReport.ProjectContent; + newCommencementReport.Conditions = commencementReport.Conditions; + newCommencementReport.ReviewOpinion = commencementReport.ReviewOpinion; + newCommencementReport.QualitySupervisionOpinion = commencementReport.QualitySupervisionOpinion; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除工程施工开工报告 + /// + /// + public static void DeleteCommencementReportById(string commencementReportId) + { + SGGLDB db = Funs.DB; + Model.JGZL_CommencementReport commencementReport = db.JGZL_CommencementReport.FirstOrDefault(e => e.CommencementReportId == commencementReportId); + if (commencementReport != null) + { + db.JGZL_CommencementReport.DeleteOnSubmit(commencementReport); + db.SubmitChanges(); + } + } + } +} diff --git a/HJGL_DS/FineUIPro.Web/File/Fastreport/JGZL/工程施工开工报告.frx b/HJGL_DS/FineUIPro.Web/File/Fastreport/JGZL/工程施工开工报告.frx new file mode 100644 index 0000000..c32eae1 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/File/Fastreport/JGZL/工程施工开工报告.frx @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj index a3d9ce2..9c2650d 100644 --- a/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj +++ b/HJGL_DS/FineUIPro.Web/FineUIPro.Web.csproj @@ -1239,6 +1239,8 @@ + + @@ -6504,6 +6506,20 @@ WeldInspectionCheckRecordItem.aspx + + CommencementReport.aspx + ASPXCodeBehind + + + CommencementReport.aspx + + + CommencementReportEdit.aspx + ASPXCodeBehind + + + CommencementReportEdit.aspx + Login.aspx ASPXCodeBehind diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx new file mode 100644 index 0000000..d7bc350 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx @@ -0,0 +1,124 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CommencementReport.aspx.cs" Inherits="FineUIPro.Web.JGZL.CommencementReport" %> + + + + + + + 工程施工开工报告 + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.cs b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.cs new file mode 100644 index 0000000..bdc9b77 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.cs @@ -0,0 +1,388 @@ +using BLL; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Data; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.IO; +using Org.BouncyCastle.Bcpg.OpenPgp; + +namespace FineUIPro.Web.JGZL +{ + public partial class CommencementReport : PageBase + { + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + + this.drpProjectId.DataTextField = "ProjectCode"; + this.drpProjectId.DataValueField = "ProjectId"; + this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1"); + this.drpProjectId.DataBind(); + Funs.FineUIPleaseSelect(this.drpProjectId); + + this.InitTreeMenu();//加载树 + } + } + #endregion + + #region 加载树项目 + /// + /// 加载树 + /// + private void InitTreeMenu() + { + this.tvControlItem.Nodes.Clear(); + TreeNode rootNode = new TreeNode(); + rootNode.Text = "项目"; + rootNode.ToolTip = "项目"; + rootNode.NodeID = "0"; + rootNode.Expanded = true; + this.tvControlItem.Nodes.Add(rootNode); + + List projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1"); + if (this.drpProjectId.SelectedValue != BLL.Const._Null) + { + projects = projects.Where(e => e.ProjectId == this.drpProjectId.SelectedValue).ToList(); + } + foreach (var item in projects) + { + TreeNode rootProjectNode = new TreeNode();//定义根节点 + rootProjectNode.Text = item.ProjectCode; + rootProjectNode.NodeID = item.ProjectId; + rootProjectNode.EnableClickEvent = true; + rootProjectNode.Expanded = true; + rootProjectNode.ToolTip = item.ProjectName; + rootProjectNode.CommandName = "项目名称"; + rootNode.Nodes.Add(rootProjectNode); + } + } + #endregion + + #region 点击TreeView + /// + /// 点击TreeView + /// + /// + /// + protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) + { + if (this.tvControlItem.SelectedNodeID != "0") + { + this.BindGrid(); + } + } + #endregion + + #region 数据绑定 + /// + /// 数据绑定 + /// + private void BindGrid() + { + //string projectIds = BLL.Base_ProjectService.GetStrOnProjectIds(this.CurrUser.UserId, "1"); + string strSql = @"SELECT * from JGZL_CommencementReport where 1=1"; + List listStr = new List(); + if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) + { + strSql += " AND ProjectId = @ProjectId"; + listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID)); + } + //else + //{ + // strSql += " AND CHARINDEX(ProjectId,@ProjectId)>0 "; + // listStr.Add(new SqlParameter("@ProjectId", projectIds)); + //} + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + // 2.获取当前分页数据 + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + #endregion + + #region 分页排序 + #region 页索引改变事件 + /// + /// 页索引改变事件 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + BindGrid(); + } + #endregion + + #region 排序 + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + BindGrid(); + } + #endregion + + #region 分页选择下拉改变事件 + /// + /// 分页选择下拉改变事件 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + #endregion + #endregion + + #region 查询 + /// + ///查询 + /// + /// + /// + protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e) + { + this.InitTreeMenu(); + } + + /// + /// 查询 + /// + /// + /// + protected void TextBox_TextChanged(object sender, EventArgs e) + { + this.BindGrid(); + } + #endregion + + #region 打印 + /// + /// 打印 + /// + /// + /// + protected void btnPrint_Click(object sender, EventArgs e) + { + string projectId = this.tvControlItem.SelectedNodeID; + + if (projectId != null) + { + if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID)) + { + string initTemplatePath = ""; + string rootPath = Server.MapPath("~/"); + BLL.Common.FastReportService.ResetData(); + + var report = BLL.CommencementReportService.GetCommencementReportById(this.Grid1.SelectedRowID); + if (report != null) + { + Dictionary keyValuePairs = new Dictionary(); + keyValuePairs.Add("ProjectName", BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName); + keyValuePairs.Add("ContractNumber", report.ContractNumber); + keyValuePairs.Add("DesignUnit", report.DesignUnit); + keyValuePairs.Add("PlannedStartDate", report.PlannedStartDate.HasValue ? string.Format("{0:yyyy年MM月dd日}",report.PlannedStartDate) : ""); + keyValuePairs.Add("PlannedEndDate", report.PlannedEndDate.HasValue ? string.Format("{0:yyyy年MM月dd日}",report.PlannedEndDate) : ""); + keyValuePairs.Add("ProjectContent", report.ProjectContent); + keyValuePairs.Add("Conditions", report.Conditions); + keyValuePairs.Add("ReviewOpinion", report.ReviewOpinion); + keyValuePairs.Add("QualitySupervisionOpinion", report.QualitySupervisionOpinion); + BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); + } + initTemplatePath = "File\\Fastreport\\JGZL\\工程施工开工报告.frx"; + if (File.Exists(rootPath + initTemplatePath)) + { + PageContext.RegisterStartupScript(WindowPrint.GetShowReference(String.Format("../common/ReportPrint/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath))); + } + } + else + { + Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); + return; + } + } + else + { + Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); + return; + } + } + #endregion + + #region 维护 + /// + /// 增加 + /// + /// + /// + protected void btnAdd_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CommencementReportEdit.aspx?projectId={0}", this.tvControlItem.SelectedNodeID, "新增 - "))); + } + else + { + Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); + return; + } + } + + /// + /// 双击编辑 + /// + /// + /// + protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) + { + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.JGZL_CommencementReportMenuId, BLL.Const.BtnModify)) + { + if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) + { + if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID)) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CommencementReportEdit.aspx?commencementReportId={0}", this.Grid1.SelectedRowID, "编辑 - "))); + } + else + { + Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); + return; + } + } + else + { + Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); + return; + } + } + else + { + ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + } + } + + /// + /// 右键编辑 + /// + /// + /// + protected void btnMenuEdit_Click(object sender, EventArgs e) + { + if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.JGZL_CommencementReportMenuId, BLL.Const.BtnModify)) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); + return; + } + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CommencementReportEdit.aspx?commencementReportId={0}", Grid1.SelectedRowID, "维护 - "))); + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + } + } + + /// + /// 右键删除 + /// + /// + /// + protected void btnMenuDelete_Click(object sender, EventArgs e) + { + if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.JGZL_CommencementReportMenuId, Const.BtnDelete)) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); + return; + } + + bool isShow = true; + if (Grid1.SelectedRowIndexArray.Length > 1) + { + isShow = false; + } + bool isDelete = false; + foreach (int rowIndex in Grid1.SelectedRowIndexArray) + { + string rowID = Grid1.DataKeys[rowIndex][0].ToString(); + if (judgementDelete(rowID, isShow)) + { + isDelete = true; + BLL.CommencementReportService.DeleteCommencementReportById(rowID); + BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除工程施工开工报告"); + } + } + if (isDelete) + { + ShowNotify("删除成功!", MessageBoxIcon.Success); + } + this.BindGrid(); + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + } + } + + #region 判断是否可删除 + /// + /// 判断是否可以删除 + /// + /// + private bool judgementDelete(string id, bool isShow) + { + string content = string.Empty; + + if (string.IsNullOrEmpty(content)) + { + return true; + } + else + { + if (isShow) + { + Alert.ShowInTop(content, MessageBoxIcon.Error); + } + return false; + } + } + #endregion + #endregion + + #region 关闭弹出窗口及刷新页面 + /// + /// 关闭弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + this.InitTreeMenu();//加载树 + this.BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.designer.cs new file mode 100644 index 0000000..f5097ed --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReport.aspx.designer.cs @@ -0,0 +1,206 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JGZL +{ + + + public partial class CommencementReport + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// panelLeftRegion 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel panelLeftRegion; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// drpProjectId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpProjectId; + + /// + /// tvControlItem 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Tree tvControlItem; + + /// + /// panelCenterRegion 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel panelCenterRegion; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// btnAdd 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAdd; + + /// + /// btnPrint 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnPrint; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// WindowPrint 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window WindowPrint; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuEdit; + + /// + /// btnMenuDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDelete; + } +} diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx new file mode 100644 index 0000000..968fe2f --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx @@ -0,0 +1,63 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CommencementReportEdit.aspx.cs" Inherits="FineUIPro.Web.JGZL.CommencementReportEdit" %> + + + + + + + 编辑工程施工开工报告 + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.cs b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.cs new file mode 100644 index 0000000..409b475 --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.cs @@ -0,0 +1,121 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.JGZL +{ + public partial class CommencementReportEdit :PageBase + { + #region 定义项 + /// + /// 主键 + /// + private string CommencementReportId + { + get + { + return (string)ViewState["CommencementReportId"]; + } + set + { + ViewState["CommencementReportId"] = value; + } + } + + /// + /// 项目Id + /// + private string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ProjectId = Request.Params["projectId"]; + this.CommencementReportId = Request.Params["commencementReportId"]; + if (!string.IsNullOrEmpty(this.CommencementReportId)) + { + var report = BLL.CommencementReportService.GetCommencementReportById(this.CommencementReportId); + if (report!=null) + { + this.txtContractNumber.Text = report.ContractNumber; + this.txtDesignUnit.Text = report.DesignUnit; + this.txtPlannedStartDate.Text = report.PlannedStartDate.HasValue ? string.Format("{0:yyyy-MM-dd}", report.PlannedStartDate) : ""; + this.txtPlannedEndDate.Text = report.PlannedEndDate.HasValue ? string.Format("{0:yyyy-MM-dd}", report.PlannedEndDate) : ""; + this.txtConditions.Text = report.Conditions; + this.txtProjectContent.Text = report.ProjectContent; + this.txtReviewOpinion.Text = report.ReviewOpinion; + this.txtQualitySupervisionOpinion.Text = report.QualitySupervisionOpinion; + } + } + + } + } + #endregion + + #region 提交按钮 + /// + /// 提交按钮 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.JGZL_CommencementReportMenuId, Const.BtnSave)) + { + Model.JGZL_CommencementReport newReport = new Model.JGZL_CommencementReport(); + newReport.ContractNumber = this.txtContractNumber.Text.Trim(); + newReport.DesignUnit = this.txtDesignUnit.Text.Trim(); + newReport.PlannedStartDate = Funs.GetNewDateTime(this.txtPlannedStartDate.Text); + newReport.PlannedEndDate = Funs.GetNewDateTime(this.txtPlannedEndDate.Text); + newReport.ProjectContent = this.txtProjectContent.Text; + newReport.Conditions = this.txtConditions.Text; + newReport.ReviewOpinion =this.txtReviewOpinion.Text; + newReport.QualitySupervisionOpinion = this.txtQualitySupervisionOpinion.Text; + if (!string.IsNullOrEmpty(this.CommencementReportId)) + { + newReport.CommencementReportId = this.CommencementReportId; + BLL.CommencementReportService.UpdateCommencementReport(newReport); + } + else + { + newReport.ProjectId = this.ProjectId; + newReport.CompileMan = this.CurrUser.UserId; + newReport.CompileDate = DateTime.Now; + newReport.CommencementReportId = SQLHelper.GetNewID(typeof(Model.JGZL_CommencementReport)); + this.CommencementReportId = newReport.CommencementReportId; + BLL.CommencementReportService.AddCommencementReport(newReport); + } + ShowNotify("保存成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + return; + } + } + #endregion + } +} \ No newline at end of file diff --git a/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.designer.cs b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.designer.cs new file mode 100644 index 0000000..6257f8e --- /dev/null +++ b/HJGL_DS/FineUIPro.Web/JGZL/CommencementReportEdit.aspx.designer.cs @@ -0,0 +1,143 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JGZL +{ + + + public partial class CommencementReportEdit + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// txtContractNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtContractNumber; + + /// + /// txtDesignUnit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtDesignUnit; + + /// + /// txtPlannedStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtPlannedStartDate; + + /// + /// txtPlannedEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtPlannedEndDate; + + /// + /// txtProjectContent 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtProjectContent; + + /// + /// txtConditions 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtConditions; + + /// + /// txtReviewOpinion 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtReviewOpinion; + + /// + /// txtQualitySupervisionOpinion 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtQualitySupervisionOpinion; + } +} diff --git a/HJGL_DS/FineUIPro.Web/Web.config b/HJGL_DS/FineUIPro.Web/Web.config index e233efb..5c46a5b 100644 --- a/HJGL_DS/FineUIPro.Web/Web.config +++ b/HJGL_DS/FineUIPro.Web/Web.config @@ -11,7 +11,7 @@ - + diff --git a/HJGL_DS/Model/Model.cs b/HJGL_DS/Model/Model.cs index d6a9378..00434ac 100644 --- a/HJGL_DS/Model/Model.cs +++ b/HJGL_DS/Model/Model.cs @@ -371,6 +371,9 @@ namespace Model partial void InsertHJGL_WeldingProcedure_WeldRepairCard(HJGL_WeldingProcedure_WeldRepairCard instance); partial void UpdateHJGL_WeldingProcedure_WeldRepairCard(HJGL_WeldingProcedure_WeldRepairCard instance); partial void DeleteHJGL_WeldingProcedure_WeldRepairCard(HJGL_WeldingProcedure_WeldRepairCard instance); + partial void InsertJGZL_CommencementReport(JGZL_CommencementReport instance); + partial void UpdateJGZL_CommencementReport(JGZL_CommencementReport instance); + partial void DeleteJGZL_CommencementReport(JGZL_CommencementReport instance); partial void InsertOAM_UesrQualified(OAM_UesrQualified instance); partial void UpdateOAM_UesrQualified(OAM_UesrQualified instance); partial void DeleteOAM_UesrQualified(OAM_UesrQualified instance); @@ -1724,6 +1727,14 @@ namespace Model } } + public System.Data.Linq.Table JGZL_CommencementReport + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table OAM_UesrQualified { get @@ -2316,6 +2327,14 @@ namespace Model } } + public System.Data.Linq.Table View_UnitPerformance + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_UsePosition { get @@ -4289,6 +4308,8 @@ namespace Model private EntitySet _HJGL_WeldingProcedure_WeldHotProcessCard; + private EntitySet _JGZL_CommencementReport; + private EntitySet _Project_Installation; private EntitySet _Project_RoleButtonPower; @@ -4413,6 +4434,7 @@ namespace Model this._HJGL_WeldingProcedure_WeldingProcessCard = new EntitySet(new Action(this.attach_HJGL_WeldingProcedure_WeldingProcessCard), new Action(this.detach_HJGL_WeldingProcedure_WeldingProcessCard)); this._HJGL_WeldingProcedure_WeldRepairCard = new EntitySet(new Action(this.attach_HJGL_WeldingProcedure_WeldRepairCard), new Action(this.detach_HJGL_WeldingProcedure_WeldRepairCard)); this._HJGL_WeldingProcedure_WeldHotProcessCard = new EntitySet(new Action(this.attach_HJGL_WeldingProcedure_WeldHotProcessCard), new Action(this.detach_HJGL_WeldingProcedure_WeldHotProcessCard)); + this._JGZL_CommencementReport = new EntitySet(new Action(this.attach_JGZL_CommencementReport), new Action(this.detach_JGZL_CommencementReport)); this._Project_Installation = new EntitySet(new Action(this.attach_Project_Installation), new Action(this.detach_Project_Installation)); this._Project_RoleButtonPower = new EntitySet(new Action(this.attach_Project_RoleButtonPower), new Action(this.detach_Project_RoleButtonPower)); this._Project_RolePower = new EntitySet(new Action(this.attach_Project_RolePower), new Action(this.detach_Project_RolePower)); @@ -5480,6 +5502,19 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JGZL_CommencementReport_Base_Project", Storage="_JGZL_CommencementReport", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JGZL_CommencementReport + { + get + { + return this._JGZL_CommencementReport; + } + set + { + this._JGZL_CommencementReport.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Project_Installation_Base_Project", Storage="_Project_Installation", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] public EntitySet Project_Installation { @@ -6138,6 +6173,18 @@ namespace Model entity.Base_Project = null; } + private void attach_JGZL_CommencementReport(JGZL_CommencementReport entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JGZL_CommencementReport(JGZL_CommencementReport entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + private void attach_Project_Installation(Project_Installation entity) { this.SendPropertyChanging(); @@ -48158,7 +48205,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RT_TrustCode", DbType="VarChar(30)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RT_TrustCode", DbType="NVarChar(100)")] public string RT_TrustCode { get @@ -79126,6 +79173,414 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JGZL_CommencementReport")] + public partial class JGZL_CommencementReport : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _CommencementReportId; + + private string _ProjectId; + + private string _ContractNumber; + + private string _DesignUnit; + + private System.Nullable _PlannedStartDate; + + private System.Nullable _PlannedEndDate; + + private string _ProjectContent; + + private string _Conditions; + + private string _ReviewOpinion; + + private string _QualitySupervisionOpinion; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnCommencementReportIdChanging(string value); + partial void OnCommencementReportIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnContractNumberChanging(string value); + partial void OnContractNumberChanged(); + partial void OnDesignUnitChanging(string value); + partial void OnDesignUnitChanged(); + partial void OnPlannedStartDateChanging(System.Nullable value); + partial void OnPlannedStartDateChanged(); + partial void OnPlannedEndDateChanging(System.Nullable value); + partial void OnPlannedEndDateChanged(); + partial void OnProjectContentChanging(string value); + partial void OnProjectContentChanged(); + partial void OnConditionsChanging(string value); + partial void OnConditionsChanged(); + partial void OnReviewOpinionChanging(string value); + partial void OnReviewOpinionChanged(); + partial void OnQualitySupervisionOpinionChanging(string value); + partial void OnQualitySupervisionOpinionChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JGZL_CommencementReport() + { + this._Base_Project = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommencementReportId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string CommencementReportId + { + get + { + return this._CommencementReportId; + } + set + { + if ((this._CommencementReportId != value)) + { + this.OnCommencementReportIdChanging(value); + this.SendPropertyChanging(); + this._CommencementReportId = value; + this.SendPropertyChanged("CommencementReportId"); + this.OnCommencementReportIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractNumber", DbType="NVarChar(100)")] + public string ContractNumber + { + get + { + return this._ContractNumber; + } + set + { + if ((this._ContractNumber != value)) + { + this.OnContractNumberChanging(value); + this.SendPropertyChanging(); + this._ContractNumber = value; + this.SendPropertyChanged("ContractNumber"); + this.OnContractNumberChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesignUnit", DbType="NVarChar(50)")] + public string DesignUnit + { + get + { + return this._DesignUnit; + } + set + { + if ((this._DesignUnit != value)) + { + this.OnDesignUnitChanging(value); + this.SendPropertyChanging(); + this._DesignUnit = value; + this.SendPropertyChanged("DesignUnit"); + this.OnDesignUnitChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlannedStartDate", DbType="DateTime")] + public System.Nullable PlannedStartDate + { + get + { + return this._PlannedStartDate; + } + set + { + if ((this._PlannedStartDate != value)) + { + this.OnPlannedStartDateChanging(value); + this.SendPropertyChanging(); + this._PlannedStartDate = value; + this.SendPropertyChanged("PlannedStartDate"); + this.OnPlannedStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlannedEndDate", DbType="DateTime")] + public System.Nullable PlannedEndDate + { + get + { + return this._PlannedEndDate; + } + set + { + if ((this._PlannedEndDate != value)) + { + this.OnPlannedEndDateChanging(value); + this.SendPropertyChanging(); + this._PlannedEndDate = value; + this.SendPropertyChanged("PlannedEndDate"); + this.OnPlannedEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectContent", DbType="NVarChar(2000)")] + public string ProjectContent + { + get + { + return this._ProjectContent; + } + set + { + if ((this._ProjectContent != value)) + { + this.OnProjectContentChanging(value); + this.SendPropertyChanging(); + this._ProjectContent = value; + this.SendPropertyChanged("ProjectContent"); + this.OnProjectContentChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Conditions", DbType="NVarChar(1000)")] + public string Conditions + { + get + { + return this._Conditions; + } + set + { + if ((this._Conditions != value)) + { + this.OnConditionsChanging(value); + this.SendPropertyChanging(); + this._Conditions = value; + this.SendPropertyChanged("Conditions"); + this.OnConditionsChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReviewOpinion", DbType="NVarChar(1000)")] + public string ReviewOpinion + { + get + { + return this._ReviewOpinion; + } + set + { + if ((this._ReviewOpinion != value)) + { + this.OnReviewOpinionChanging(value); + this.SendPropertyChanging(); + this._ReviewOpinion = value; + this.SendPropertyChanged("ReviewOpinion"); + this.OnReviewOpinionChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QualitySupervisionOpinion", DbType="NVarChar(1000)")] + public string QualitySupervisionOpinion + { + get + { + return this._QualitySupervisionOpinion; + } + set + { + if ((this._QualitySupervisionOpinion != value)) + { + this.OnQualitySupervisionOpinionChanging(value); + this.SendPropertyChanging(); + this._QualitySupervisionOpinion = value; + this.SendPropertyChanged("QualitySupervisionOpinion"); + this.OnQualitySupervisionOpinionChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JGZL_CommencementReport_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JGZL_CommencementReport.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JGZL_CommencementReport.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JGZL_CommencementReport_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JGZL_CommencementReport.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JGZL_CommencementReport.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.OAM_UesrQualified")] public partial class OAM_UesrQualified : INotifyPropertyChanging, INotifyPropertyChanged { @@ -100575,6 +101030,8 @@ namespace Model private EntitySet _HJGL_WeldingProcedure_WeldHotProcessCard; + private EntitySet _JGZL_CommencementReport; + private EntitySet _Project_User; private EntitySet _Project_UserButtonPower; @@ -100656,6 +101113,7 @@ namespace Model this._HJGL_Sys_DataInTemp = new EntitySet(new Action(this.attach_HJGL_Sys_DataInTemp), new Action(this.detach_HJGL_Sys_DataInTemp)); this._HJGL_Sys_UserShowColumns = new EntitySet(new Action(this.attach_HJGL_Sys_UserShowColumns), new Action(this.detach_HJGL_Sys_UserShowColumns)); this._HJGL_WeldingProcedure_WeldHotProcessCard = new EntitySet(new Action(this.attach_HJGL_WeldingProcedure_WeldHotProcessCard), new Action(this.detach_HJGL_WeldingProcedure_WeldHotProcessCard)); + this._JGZL_CommencementReport = new EntitySet(new Action(this.attach_JGZL_CommencementReport), new Action(this.detach_JGZL_CommencementReport)); this._Project_User = new EntitySet(new Action(this.attach_Project_User), new Action(this.detach_Project_User)); this._Project_UserButtonPower = new EntitySet(new Action(this.attach_Project_UserButtonPower), new Action(this.detach_Project_UserButtonPower)); this._Project_UserPower = new EntitySet(new Action(this.attach_Project_UserPower), new Action(this.detach_Project_UserPower)); @@ -101294,6 +101752,19 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JGZL_CommencementReport_Sys_User", Storage="_JGZL_CommencementReport", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JGZL_CommencementReport + { + get + { + return this._JGZL_CommencementReport; + } + set + { + this._JGZL_CommencementReport.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Project_User_Sys_User", Storage="_Project_User", ThisKey="UserId", OtherKey="UserId", DeleteRule="NO ACTION")] public EntitySet Project_User { @@ -101661,6 +102132,18 @@ namespace Model entity.Sys_User = null; } + private void attach_JGZL_CommencementReport(JGZL_CommencementReport entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JGZL_CommencementReport(JGZL_CommencementReport entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + private void attach_Project_User(Project_User entity) { this.SendPropertyChanging(); @@ -105634,6 +106117,8 @@ namespace Model private string _Welder; + private string _WED_Unit; + private string _STE_ID; private string _DReportID; @@ -105752,6 +106237,22 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Unit", DbType="NVarChar(50)")] + public string WED_Unit + { + get + { + return this._WED_Unit; + } + set + { + if ((this._WED_Unit != value)) + { + this._WED_Unit = value; + } + } + } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_STE_ID", DbType="VarChar(50)")] public string STE_ID { @@ -108678,6 +109179,357 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_UnitPerformance")] + public partial class View_UnitPerformance + { + + private System.Nullable _Id; + + private string _ProjectCode; + + private string _WED_Unit; + + private string _UnitCode; + + private string _UnitName; + + private System.Nullable _TotalSize; + + private int _TotalJoint; + + private int _JointNum1; + + private System.Nullable _JointPassNum1; + + private int _RepairJoint1; + + private int _RepairJoint2; + + private int _RepairJoint3; + + private System.Nullable _JointPassRate; + + private int _Totalfilm; + + private System.Nullable _TotalPassfilm; + + private int _RepairFilm1; + + private int _RepairFilm2; + + private int _RepairFilm3; + + private System.Nullable _JointFilmPassRate; + + public View_UnitPerformance() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier")] + public System.Nullable Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this._Id = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectCode", DbType="VarChar(1) NOT NULL", CanBeNull=false)] + public string ProjectCode + { + get + { + return this._ProjectCode; + } + set + { + if ((this._ProjectCode != value)) + { + this._ProjectCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Unit", DbType="NVarChar(50)")] + public string WED_Unit + { + get + { + return this._WED_Unit; + } + set + { + if ((this._WED_Unit != value)) + { + this._WED_Unit = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitCode", DbType="NVarChar(20)")] + public string UnitCode + { + get + { + return this._UnitCode; + } + set + { + if ((this._UnitCode != value)) + { + this._UnitCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalSize", Storage="_TotalSize", DbType="Decimal(19,2)")] + public System.Nullable TotalSize + { + get + { + return this._TotalSize; + } + set + { + if ((this._TotalSize != value)) + { + this._TotalSize = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalJoint", Storage="_TotalJoint", DbType="Int NOT NULL")] + public int TotalJoint + { + get + { + return this._TotalJoint; + } + set + { + if ((this._TotalJoint != value)) + { + this._TotalJoint = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointNum1", DbType="Int NOT NULL")] + public int JointNum1 + { + get + { + return this._JointNum1; + } + set + { + if ((this._JointNum1 != value)) + { + this._JointNum1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointPassNum1", DbType="Int")] + public System.Nullable JointPassNum1 + { + get + { + return this._JointPassNum1; + } + set + { + if ((this._JointPassNum1 != value)) + { + this._JointPassNum1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint1", DbType="Int NOT NULL")] + public int RepairJoint1 + { + get + { + return this._RepairJoint1; + } + set + { + if ((this._RepairJoint1 != value)) + { + this._RepairJoint1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint2", DbType="Int NOT NULL")] + public int RepairJoint2 + { + get + { + return this._RepairJoint2; + } + set + { + if ((this._RepairJoint2 != value)) + { + this._RepairJoint2 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RepairJoint3", DbType="Int NOT NULL")] + public int RepairJoint3 + { + get + { + return this._RepairJoint3; + } + set + { + if ((this._RepairJoint3 != value)) + { + this._RepairJoint3 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointPassRate", DbType="Decimal(19,3)")] + public System.Nullable JointPassRate + { + get + { + return this._JointPassRate; + } + set + { + if ((this._JointPassRate != value)) + { + this._JointPassRate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalfilm", Storage="_Totalfilm", DbType="Int NOT NULL")] + public int Totalfilm + { + get + { + return this._Totalfilm; + } + set + { + if ((this._Totalfilm != value)) + { + this._Totalfilm = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="totalPassfilm", Storage="_TotalPassfilm", DbType="Int")] + public System.Nullable TotalPassfilm + { + get + { + return this._TotalPassfilm; + } + set + { + if ((this._TotalPassfilm != value)) + { + this._TotalPassfilm = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm1", Storage="_RepairFilm1", DbType="Int NOT NULL")] + public int RepairFilm1 + { + get + { + return this._RepairFilm1; + } + set + { + if ((this._RepairFilm1 != value)) + { + this._RepairFilm1 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm2", Storage="_RepairFilm2", DbType="Int NOT NULL")] + public int RepairFilm2 + { + get + { + return this._RepairFilm2; + } + set + { + if ((this._RepairFilm2 != value)) + { + this._RepairFilm2 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="repairFilm3", Storage="_RepairFilm3", DbType="Int NOT NULL")] + public int RepairFilm3 + { + get + { + return this._RepairFilm3; + } + set + { + if ((this._RepairFilm3 != value)) + { + this._RepairFilm3 = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JointFilmPassRate", DbType="Decimal(19,3)")] + public System.Nullable JointFilmPassRate + { + get + { + return this._JointFilmPassRate; + } + set + { + if ((this._JointFilmPassRate != value)) + { + this._JointFilmPassRate = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_UsePosition")] public partial class View_UsePosition { From 087ff041751cc0a0412ed41c1cec0c7b81c1012a Mon Sep 17 00:00:00 2001 From: gaofei1985 <181547018@qq.com> Date: Tue, 9 Dec 2025 18:50:38 +0800 Subject: [PATCH 5/5] 1 --- DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql b/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql index 451e56a..47af699 100644 --- a/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql +++ b/DataBase/版本日志/HJGLDB_DS_2025-12-09_gf.sql @@ -134,7 +134,7 @@ GO INSERT INTO dbo.Sys_Menu(MenuId, MenuName, Url, SortIndex, SuperMenu,MenuModule) -VALUES ('19FC40C2-4FDC-44DC-A785-85491BACAC6D','ʱ','HJGL/MaterialManage/QualityCertificate.aspx',5,'4105B536-E0E9-4CD3-6666-27BB147603FA','7') +VALUES ('19FC40C2-4FDC-44DC-A785-85491BACAC6D','ʱ','HJGL/MaterialManage/QualityCertificate.aspx',5,'B2B4326D-8FD6-499B-965B-6B8D9BD4CC06','7') GO /*ʱ*/ INSERT INTO dbo.ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('1B26BF66-1CEE-42B0-8477-F0A74AE2B404','19FC40C2-4FDC-44DC-A785-85491BACAC6D','',1)