feat: fmSalaryCalc GridView 改用 ObjectDataSource

- 新增 SacdDAC(SelectByProject)

- dsSACD 改 ObjectDataSource
This commit is contained in:
2026-09-10 10:49:55 +08:00
parent b61b8281c8
commit 6d6f18e2ef
4 changed files with 52 additions and 9 deletions
+2 -1
View File
@@ -31,7 +31,7 @@
| 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無→RpfeDAC | **完成** | | 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無→RpfeDAC | **完成** |
| 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC(+Select) | **完成** | | 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC(+Select) | **完成** |
| 15 | forms/flow/fmSign.ascx | gvRPAB | dsRPAB | 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 | **進行中** | | 17 | forms/worker/fmBpsn.ascx | GridView1 | dsBPSNGrid | BPSNView | BpsnDAC | **進行中** |
| 18 | forms/worker/fmRowk.ascx | gvROWK | dsROWKGrid | ROWK | 無 | 待辦 | | 18 | forms/worker/fmRowk.ascx | gvROWK | dsROWKGrid | ROWK | 無 | 待辦 |
| 19 | forms/worker/fmRpar.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC | 待辦 | | 19 | forms/worker/fmRpar.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC | 待辦 |
@@ -152,3 +152,4 @@
| 2026-09-10 | 轉換 fmRasnRASN3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSourceSearch/Selected 調整;編譯通過 | | 2026-09-10 | 轉換 fmRasnRASN3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSourceSearch/Selected 調整;編譯通過 |
| 2026-09-10 | 轉換 fmRpfeRPFE):新增 RpfeDACSelectPage/SelectCount);dsRPFEGrid 改 ObjectDataSource;編譯通過 | | 2026-09-10 | 轉換 fmRpfeRPFE):新增 RpfeDACSelectPage/SelectCount);dsRPFEGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmSignRPAB):RpabDAC 新增 SelectRPABdsRPAB2/dsRPAB 改 ObjectDataSourcedsRPAB2_Selecting 改 ODS 事件;編譯通過 | | 2026-09-10 | 轉換 fmSignRPAB):RpabDAC 新增 SelectRPABdsRPAB2/dsRPAB 改 ObjectDataSourcedsRPAB2_Selecting 改 ODS 事件;編譯通過 |
| 2026-09-10 | 轉換 fmSalaryCalcSACD):新增 SacdDACSelectByProject);dsSACD 改 ObjectDataSource;編譯通過 |
+45
View File
@@ -0,0 +1,45 @@
using System;
using System.Data;
using System.Data.Common;
using System.ComponentModel;
using Wellan.Data;
/// <summary>
/// 薪資科目匯總的資料處理類別
/// </summary>
[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;
}
/// <summary>
/// 取得某專案年月的科目預算與本月金額
/// </summary>
[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);
}
}
+5 -7
View File
@@ -139,15 +139,13 @@
</asp:Panel> </asp:Panel>
<asp:Panel ID="pnSACD" runat="server" <asp:Panel ID="pnSACD" runat="server"
Width="100%" Visible="False"> Width="100%" Visible="False">
<asp:SqlDataSource ID="dsSACD" <asp:ObjectDataSource ID="dsSACD"
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" runat="server" TypeName="SacdDAC" SelectMethod="SelectByProject">
ProviderName="System.Data.SqlClient"
SelectCommand="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">
<SelectParameters> <SelectParameters>
<asp:Parameter Name="SAYMM" /> <asp:Parameter Name="BPPYN" Type="String" />
<asp:Parameter Name="BPPYN" /> <asp:Parameter Name="SAYMM" Type="DateTime" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td> <td>
-1
View File
@@ -1560,7 +1560,6 @@ public partial class forms_summary_fmSalaryCalc : Wellan.Web.UI.WUserControlBase
bool result = true; bool result = true;
aYYMM = CheckDate(lbYYMM.Text + "01", "", ref result, cvMessage); aYYMM = CheckDate(lbYYMM.Text + "01", "", ref result, cvMessage);
dsSACD.ConnectionString = ConnectionString;
dsSACD.SelectParameters["BPPYN"].DefaultValue = ddlRSPYN.SelectedValue; dsSACD.SelectParameters["BPPYN"].DefaultValue = ddlRSPYN.SelectedValue;
dsSACD.SelectParameters["SAYMM"].DefaultValue = aYYMM.ToString(System.Globalization.CultureInfo.InvariantCulture); dsSACD.SelectParameters["SAYMM"].DefaultValue = aYYMM.ToString(System.Globalization.CultureInfo.InvariantCulture);
GridView1.DataBind(); GridView1.DataBind();