diff --git a/Doc/GridView改用ObjectDataSource計畫.md b/Doc/GridView改用ObjectDataSource計畫.md index e687108..e7ee7c7 100644 --- a/Doc/GridView改用ObjectDataSource計畫.md +++ b/Doc/GridView改用ObjectDataSource計畫.md @@ -31,7 +31,7 @@ | 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無→RpfeDAC | **完成** | | 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC(+Select) | **完成** | | 15 | forms/flow/fmSign.ascx | gvRPAB | dsRPAB | RPAB | RpabDAC(+Select) | **完成** | -| 16 | forms/summary/fmSalaryCalc.ascx | GridView1 | dsSACD | SACD | 無 | 待辦 | +| 16 | forms/summary/fmSalaryCalc.ascx | GridView1 | dsSACD | SACD | 無→SacdDAC | **完成** | | 17 | forms/worker/fmBpsn.ascx | GridView1 | dsBPSNGrid | BPSNView | BpsnDAC | **進行中** | | 18 | forms/worker/fmRowk.ascx | gvROWK | dsROWKGrid | ROWK | 無 | 待辦 | | 19 | forms/worker/fmRpar.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC | 待辦 | @@ -152,3 +152,4 @@ | 2026-09-10 | 轉換 fmRasn(RASN,3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSource;Search/Selected 調整;編譯通過 | | 2026-09-10 | 轉換 fmRpfe(RPFE):新增 RpfeDAC(SelectPage/SelectCount);dsRPFEGrid 改 ObjectDataSource;編譯通過 | | 2026-09-10 | 轉換 fmSign(RPAB):RpabDAC 新增 SelectRPAB;dsRPAB2/dsRPAB 改 ObjectDataSource;dsRPAB2_Selecting 改 ODS 事件;編譯通過 | +| 2026-09-10 | 轉換 fmSalaryCalc(SACD):新增 SacdDAC(SelectByProject);dsSACD 改 ObjectDataSource;編譯通過 | diff --git a/Web/App_Code/DAC/SacdDAC.cs b/Web/App_Code/DAC/SacdDAC.cs new file mode 100644 index 0000000..5a45594 --- /dev/null +++ b/Web/App_Code/DAC/SacdDAC.cs @@ -0,0 +1,45 @@ +using System; +using System.Data; +using System.Data.Common; +using System.ComponentModel; +using Wellan.Data; + +/// +/// 薪資科目匯總的資料處理類別 +/// +[DataObject(true)] +public class SacdDAC : Wellan.Data.WDAC +{ + public SacdDAC() + { + } + + public SacdDAC(string connectionConfig, string connectionConfigName) + : this() + { + this._connectionConfig = connectionConfig; + this._connectionConfigName = connectionConfigName; + } + + public SacdDAC(WQuery query) + { + this._query = query; + } + + /// + /// 取得某專案年月的科目預算與本月金額 + /// + [DataObjectMethod(DataObjectMethodType.Select)] + public DataTable SelectByProject(string BPPYN, DateTime SAYMM) + { + DbCommand cmd = Query.NewCommand( + @"SELECT BPAB.BPPYN, BPAB.BPACC, ISNULL(BPAB.BPBGT, 0) AS BPBGT, BPAB.BPCLS, BPAB.BPAME, ISNULL(SACD.SAAMT, 0) AS SAAMT, SACD.SADOC + FROM BPAB + LEFT OUTER JOIN SACD ON BPAB.BPPYN = SACD.SAPYN AND BPAB.BPACC = SACD.SAACC AND SACD.SAYMM = @SAYMM + WHERE (BPAB.BPPYN = @BPPYN) AND (SUBSTRING(BPAB.BPACC, 5, 2) <> '00') + ORDER BY BPAB.BPCLS"); + cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN)); + cmd.Parameters.Add(Query.NewParameter("SAYMM", SAYMM)); + return Query.Select(cmd); + } +} diff --git a/Web/forms/summary/fmSalaryCalc.ascx b/Web/forms/summary/fmSalaryCalc.ascx index d69cc9b..d59b285 100644 --- a/Web/forms/summary/fmSalaryCalc.ascx +++ b/Web/forms/summary/fmSalaryCalc.ascx @@ -139,15 +139,13 @@ - + - - + + - +
diff --git a/Web/forms/summary/fmSalaryCalc.ascx.cs b/Web/forms/summary/fmSalaryCalc.ascx.cs index 881bd52..eb15641 100644 --- a/Web/forms/summary/fmSalaryCalc.ascx.cs +++ b/Web/forms/summary/fmSalaryCalc.ascx.cs @@ -1560,7 +1560,6 @@ public partial class forms_summary_fmSalaryCalc : Wellan.Web.UI.WUserControlBase bool result = true; aYYMM = CheckDate(lbYYMM.Text + "01", "", ref result, cvMessage); - dsSACD.ConnectionString = ConnectionString; dsSACD.SelectParameters["BPPYN"].DefaultValue = ddlRSPYN.SelectedValue; dsSACD.SelectParameters["SAYMM"].DefaultValue = aYYMM.ToString(System.Globalization.CultureInfo.InvariantCulture); GridView1.DataBind();