Compare commits

..
10 Commits
Author SHA1 Message Date
sryang 0084261cc0 Merge branch 'feature/gridview-to-objectdatasource' 2026-09-10 12:59:36 +08:00
sryang 439e941268 feat: fmSendSalaryStrip GridView 改用 ObjectDataSource
- SsmsDAC 新增 SelectSalaryStrip/SelectSalaryStripSum

- dsSSMS 改 ObjectDataSource;dsSSMSSum 移除,footer 改用 SsmsDAC
2026-09-10 11:04:33 +08:00
sryang b66279e5fa feat: fmRsaj GridView 改用 ObjectDataSource
- RsajDAC 新增 SelectPage/SelectCount

- dsRSAJGrid 改 ObjectDataSource;Search/Selected 調整
2026-09-10 11:00:06 +08:00
sryang f1cf00d06c feat: fmRparWorker GridView 改用 ObjectDataSource
- RparDAC 新增 SelectWorkerPage/SelectWorkerCount

- RpabDAC 新增 SelectRPABByRPREN

- dsRPARGrid/dsRPAB 改 ObjectDataSource;Search/Selected 調整
2026-09-10 10:57:21 +08:00
sryang 3cb2c0d97c feat: fmRpar GridView 改用 ObjectDataSource
- RparDAC 新增 SelectPage/SelectCount

- dsRPARGrid 改 ObjectDataSource;Search/Selected 調整

- fmRowk 保留(框架限制,文檔記錄)
2026-09-10 10:53:54 +08:00
sryang 6d6f18e2ef feat: fmSalaryCalc GridView 改用 ObjectDataSource
- 新增 SacdDAC(SelectByProject)

- dsSACD 改 ObjectDataSource
2026-09-10 10:49:55 +08:00
sryang b61b8281c8 feat: fmSign GridView 改用 ObjectDataSource
- RpabDAC 新增 SelectRPAB

- dsRPAB2/dsRPAB 改 ObjectDataSource;dsRPAB2_Selecting 改 ODS 事件
2026-09-10 10:48:40 +08:00
sryang e8fb81958e feat: fmRpfe GridView 改用 ObjectDataSource
- 新增 RpfeDAC(SelectPage/SelectCount)

- dsRPFEGrid 改 ObjectDataSource;Search/Selected 調整
2026-09-10 10:47:19 +08:00
sryang fca50b7715 feat: fmRasn GridView 改用 ObjectDataSource
- RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH

- dsRASNGrid 改 ObjectDataSource(EnablePaging);dsRASN_RAENO1/dsRASN_RABRH1 改 ObjectDataSource

- Search/Selected 調整
2026-09-10 10:46:11 +08:00
sryang dd8a26206f feat: fmBprm GridView 改用 ObjectDataSource
- BprmDAC 新增 SelectPage/SelectCount

- dsBPRMGrid 改 ObjectDataSource;dsBPRM_Selected 拆分為 grid/form
2026-09-10 10:43:56 +08:00
27 changed files with 836 additions and 271 deletions
+25 -15
View File
@@ -24,22 +24,22 @@
| 6 | forms/customer/fmBpja.ascx | gvBPJA | dsBPJAGrid | BPJA | 無→BpjaDAC | **完成** | | 6 | forms/customer/fmBpja.ascx | gvBPJA | dsBPJAGrid | BPJA | 無→BpjaDAC | **完成** |
| 7 | forms/customer/fmBpjb.ascx | gvBPJB | dsBPJBGrid | BPJB | 無→BpjbDAC | **完成** | | 7 | forms/customer/fmBpjb.ascx | gvBPJB | dsBPJBGrid | BPJB | 無→BpjbDAC | **完成** |
| 8 | forms/customer/fmBprj.ascx | gvBPRJ | dsBPRJGrid | BPRJ | BprjDAC(+Select) | **完成** | | 8 | forms/customer/fmBprj.ascx | gvBPRJ | dsBPRJGrid | BPRJ | BprjDAC(+Select) | **完成** |
| 9 | forms/customer/fmBprm.ascx | gvBPRM | dsBPRMGrid | BPRM | BprmDAC | 待辦 | | 9 | forms/customer/fmBprm.ascx | gvBPRM | dsBPRMGrid | BPRM | BprmDAC(+Select) | **完成** |
| 10 | forms/customer/fmRasn.ascx | gvRASN_RAENO | dsRASN_RAENO1 | RASN+BPSNView | RasnDAC | 待辦 | | 10 | forms/customer/fmRasn.ascx | gvRASN_RAENO | dsRASN_RAENO1 | RASN+BPSNView | RasnDAC(+Select) | **完成** |
| 11 | forms/customer/fmRasn.ascx | gvRASN_RABRH | dsRASN_RABRH1 | RASN+BCLS | RasnDAC | 待辦 | | 11 | forms/customer/fmRasn.ascx | gvRASN_RABRH | dsRASN_RABRH1 | RASN+BCLS | RasnDAC(+Select) | **完成** |
| 12 | forms/customer/fmRasn.ascx | RASNGrid | dsRASNGrid | RASN/BPJB/BPSNView | RasnDAC | 待辦 | | 12 | forms/customer/fmRasn.ascx | RASNGrid | dsRASNGrid | RASN/BPJB/BPSNView | RasnDAC(+Select) | **完成** |
| 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無 | 待辦 | | 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無→RpfeDAC | **完成** |
| 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC | 待辦 | | 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC(+Select) | **完成** |
| 15 | forms/flow/fmSign.ascx | gvRPAB | dsRPAB | RPAB | RpabDAC | 待辦 | | 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 | 無 | **保留**(使用 WUserControlBase 的 SqlDataSource 框架,需另案) |
| 19 | forms/worker/fmRpar.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC | 待辦 | | 19 | forms/worker/fmRpar.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC(+Select) | **完成** |
| 20 | forms/worker/fmRparWorker.ascx | RPABGrid | dsRPAB | RPAB | RpabDAC | 待辦 | | 20 | forms/worker/fmRparWorker.ascx | RPABGrid | dsRPAB | RPAB | RpabDAC(+Select) | **完成** |
| 21 | forms/worker/fmRparWorker.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC | 待辦 | | 21 | forms/worker/fmRparWorker.ascx | RPARGrid | dsRPARGrid | RPAR | RparDAC(+Select) | **完成** |
| 22 | forms/worker/fmRsaj.ascx | RSAJGrid | dsRSAJGrid | RSAJ | RsajDAC | 待辦 | | 22 | forms/worker/fmRsaj.ascx | RSAJGrid | dsRSAJGrid | RSAJ | RsajDAC(+Select) | **完成** |
| 23 | forms/worker/fmSendSalaryStrip.ascx | gvSSMS | dsSSMS | SSMS | SsmsDAC | 待辦 | | 23 | forms/worker/fmSendSalaryStrip.ascx | gvSSMS | dsSSMS | SSMS | SsmsDAC(+Select) | **完成** |
| 24 | forms/worker/fmSendSalaryStrip.ascx | gvSSMSSum | dsSSMSSum | SSMS | SsmsDAC | 待辦 | | 24 | forms/worker/fmSendSalaryStrip.ascx | gvSSMSSum(已註解) | dsSSMSSum | SSMS | SsmsDAC | **完成**(移除 dsSSMSSumfooter 改用 SsmsDAC |
> 已為 ObjectDataSource(不列入):`fmBPAP`dsBPAP)、`fmRparManager`dsRpad)、`fmSign` 內 dsRPAR未簽/已簽/我的/我的督導、`fmBpsl`、`fmBPSE`、`fmRpir`。 > 已為 ObjectDataSource(不列入):`fmBPAP`dsBPAP)、`fmRparManager`dsRpad)、`fmSign` 內 dsRPAR未簽/已簽/我的/我的督導、`fmBpsl`、`fmBPSE`、`fmRpir`。
@@ -148,3 +148,13 @@
| 2026-09-10 | 轉換 fmBpjaBPJA):新增 BpjaDACSelectPage/SelectCount/SelectBPJAIndex);dsBPJAGrid 改 ObjectDataSource;編譯通過 | | 2026-09-10 | 轉換 fmBpjaBPJA):新增 BpjaDACSelectPage/SelectCount/SelectBPJAIndex);dsBPJAGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmBpjbBPJB):新增 BpjbDACSelectPage/SelectCount);dsBPJBGrid 改 ObjectDataSource;編譯通過 | | 2026-09-10 | 轉換 fmBpjbBPJB):新增 BpjbDACSelectPage/SelectCount);dsBPJBGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmBprjBPRJ):BprjDAC 新增 SelectPage/SelectCount/SelectBPRJIndex(含 LAST_YEAR 排序);dsBPRJGrid 改 ObjectDataSource;編譯通過 | | 2026-09-10 | 轉換 fmBprjBPRJ):BprjDAC 新增 SelectPage/SelectCount/SelectBPRJIndex(含 LAST_YEAR 排序);dsBPRJGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmBprmBPRM):BprmDAC 新增 SelectPage/SelectCountdsBPRMGrid 改 ObjectDataSourcedsBPRM_Selected 拆分為 grid/form 兩個事件;編譯通過 |
| 2026-09-10 | 轉換 fmRasnRASN3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSourceSearch/Selected 調整;編譯通過 |
| 2026-09-10 | 轉換 fmRpfeRPFE):新增 RpfeDACSelectPage/SelectCount);dsRPFEGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmSignRPAB):RpabDAC 新增 SelectRPABdsRPAB2/dsRPAB 改 ObjectDataSourcedsRPAB2_Selecting 改 ODS 事件;編譯通過 |
| 2026-09-10 | 轉換 fmSalaryCalcSACD):新增 SacdDACSelectByProject);dsSACD 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmRparRPAR):RparDAC 新增 SelectPage/SelectCountdsRPARGrid 改 ObjectDataSourceSearch/Selected 調整;編譯通過 |
| 2026-09-10 | 轉換 fmRparWorkerRPAR/RPAB):RparDAC 新增 SelectWorkerPage/SelectWorkerCountRpabDAC 新增 SelectRPABByRPRENdsRPARGrid/dsRPAB 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmRsajRSAJ):RsajDAC 新增 SelectPage/SelectCountdsRSAJGrid 改 ObjectDataSource;編譯通過 |
| 2026-09-10 | 轉換 fmSendSalaryStripSSMS):SsmsDAC 新增 SelectSalaryStrip/SelectSalaryStripSumdsSSMS 改 ObjectDataSource;移除 dsSSMSSumfooter 改用 SsmsDAC);編譯通過 |
| 2026-09-10 | fmRowkROWK)保留未轉換:其 Grid 綁定使用 WUserControlBase 的 Grid_View/GridView_DataSourceSqlDataSource)框架與 override Search,無法直接改用 ObjectDataSource,需另案重構 |
+56
View File
@@ -8,11 +8,14 @@ using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts; using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; using System.Web.UI.HtmlControls;
using System.Data.Common; using System.Data.Common;
using System.ComponentModel;
using System.Text;
using Wellan.Data; using Wellan.Data;
/// <summary> /// <summary>
/// 用來取得專案處理人員資料的類別 /// 用來取得專案處理人員資料的類別
/// </summary> /// </summary>
[DataObject(true)]
public class BprmDAC : Wellan.Data.WDAC public class BprmDAC : Wellan.Data.WDAC
{ {
public BprmDAC() public BprmDAC()
@@ -63,4 +66,57 @@ public class BprmDAC : Wellan.Data.WDAC
cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN)); cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN));
return Query.Select(cmd); return Query.Select(cmd);
} }
/// <summary>
/// 專案處理人員 Grid 分頁查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectPage(int startRowIndex, int maximumRows, string BPPNM)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, BPPNM);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT *, ROW_NUMBER() OVER (ORDER BY BPENO) AS ROWID
FROM BPRM WHERE 1=1 {0}
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID",
filter.ToString());
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 專案處理人員 Grid 查詢筆數
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(string BPPNM)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, BPPNM);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM BPRM WHERE 1=1 {0}", filter.ToString());
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
/// <summary>
/// 組出專案處理人員 Grid 的查詢條件 (與舊 AddSearch 行為一致)
/// </summary>
private void BuildFilter(StringBuilder sb, DbCommand cmd, string BPPNM)
{
if (!string.IsNullOrEmpty(BPPNM))
{
sb.Append(" AND BPPNM LIKE @BPPNM1 ");
cmd.Parameters.Add(Query.NewParameter("BPPNM1", BPPNM + "%"));
}
}
} }
+119
View File
@@ -12,6 +12,7 @@ using Wellan.Data;
/// <summary> /// <summary>
/// 人員派遣資料的資料處理類別 /// 人員派遣資料的資料處理類別
/// </summary> /// </summary>
[DataObject(true)]
public class RasnDAC : Wellan.Data.WDAC public class RasnDAC : Wellan.Data.WDAC
{ {
private DbCommand cmdSelectRasnRapyn = null; private DbCommand cmdSelectRasnRapyn = null;
@@ -582,6 +583,124 @@ public class RasnDAC : Wellan.Data.WDAC
} }
*/ */
/// <summary>
/// 派遣人員清單 (未結束,供挑選人員用)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectRAENO(string RAPYN)
{
DbCommand cmd = Query.NewCommand(
@"SELECT A.RANUM, B.BPNME
FROM RASN AS A
INNER JOIN BPSNView AS B ON A.RANUM = B.BPENO
WHERE (A.RAPYN = @RAPYN) AND A.RAEDT IS NULL");
cmd.Parameters.Add(Query.NewParameter("RAPYN", RAPYN));
return Query.Select(cmd);
}
/// <summary>
/// 站別統計 (未結束,供挑選站別用)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectRABRH(string RAPYN)
{
DbCommand cmd = Query.NewCommand(
@"SELECT A.RABRH, B.BSSCR, COUNT(1) AS RABRH_COUNT
FROM RASN AS A
INNER JOIN BCLS AS B ON A.RABRH = B.BSCLS AND B.BSPAR = 'BPSNBRH'
WHERE (A.RAPYN = @RAPYN) AND A.RAEDT IS NULL
GROUP BY A.RABRH, B.BSSCR");
cmd.Parameters.Add(Query.NewParameter("RAPYN", RAPYN));
return Query.Select(cmd);
}
private static readonly List<string> HQ_RAPYNS = new List<string>() { "103TYB00001", "103JYB00001" };
private string BuildRasnGridSql(string RAPYN, string BPENO, string BPNME, int year, StringBuilder filter, DbCommand cmd)
{
string order1, order2;
if (HQ_RAPYNS.IndexOf(RAPYN) < 0)
{
order1 = "RANUM";
order2 = "RAEDT, RANUM";
}
else
{
order1 = "RAEDT, RANUM";
order2 = "RAEDT, RANUM";
}
if (year > 0 && HQ_RAPYNS.IndexOf(RAPYN) < 0)
{
filter.AppendFormat(
" AND ((RASDT >= '{0}/01/01' AND RASDT <= '{0}/12/31') OR (RAEDT >= '{0}/01/01' AND RAEDT <= '{0}/12/31') OR (RASDT <= '{0}/01/01' AND RAEDT >= '{0}/12/31') ) ",
year);
}
if (!string.IsNullOrEmpty(BPENO))
{
filter.Append(" AND C.BPENO LIKE @BPENO1 ");
cmd.Parameters.Add(Query.NewParameter("BPENO1", BPENO + "%"));
}
if (!string.IsNullOrEmpty(BPNME))
{
filter.Append(" AND C.BPNME LIKE @BPNME1 ");
cmd.Parameters.Add(Query.NewParameter("BPNME1", BPNME + "%"));
}
return String.Format(@"
SELECT A.*, B.BPSRM, B.BPSRD, B.BPP01, B.BPP02, B.BPP03, B.BPP04, B.BPP05
FROM
(
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {0}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NULL) T1
UNION ALL
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {1}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NOT NULL) T2
) A
LEFT OUTER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO
LEFT OUTER JOIN BPSNView C ON A.RANUM=C.BPENO
WHERE 1=1 {2}", order1, order2, filter.ToString());
}
/// <summary>
/// 派遣紀錄 Grid 分頁查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectPage(int startRowIndex, int maximumRows, string RAPYN, string BPENO, string BPNME, int year)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
string inner = BuildRasnGridSql(RAPYN, BPENO, BPNME, year, filter, cmd);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT Q.*, ROW_NUMBER() OVER (ORDER BY CASE WHEN Q.RAEDT IS NULL THEN 0 ELSE 1 END, Q.ROWNUM) AS ROWID
FROM ( {0} ) Q
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID", inner);
cmd.Parameters.Add(Query.NewParameter("RAPYN", RAPYN));
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 派遣紀錄 Grid 查詢筆數
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(string RAPYN, string BPENO, string BPNME, int year)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
string inner = BuildRasnGridSql(RAPYN, BPENO, BPNME, year, filter, cmd);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM ( {0} ) Q", inner);
cmd.Parameters.Add(Query.NewParameter("RAPYN", RAPYN));
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
} }
+29
View File
@@ -12,6 +12,7 @@ using System.ComponentModel;
/// <summary> /// <summary>
/// 人員差勤簽核檔 /// 人員差勤簽核檔
/// </summary> /// </summary>
[DataObject(true)]
public class RpabDAC : Wellan.Data.WDAC public class RpabDAC : Wellan.Data.WDAC
{ {
private string _select = private string _select =
@@ -289,4 +290,32 @@ public class RpabDAC : Wellan.Data.WDAC
AddParam(cmd, "OLD_RPREN", RPREN); AddParam(cmd, "OLD_RPREN", RPREN);
Query.ExecuteNonQuery(tran.Connection, tran, cmd); Query.ExecuteNonQuery(tran.Connection, tran, cmd);
} }
/// <summary>
/// 取得簽核關卡明細 (已簽核)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectRPAB(string RPREN)
{
DbCommand cmd = Query.NewCommand(
@"SELECT RPANO, RPAPN, RPENO, RPDAT, RPAPP, RPDOC
FROM RPAB
WHERE RPREN = @RPREN AND RPDAT IS NOT NULL");
cmd.Parameters.Add(Query.NewParameter("RPREN", RPREN));
return Query.Select(cmd);
}
/// <summary>
/// 取得簽核關卡明細 (全部)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectRPABByRPREN(string RPREN)
{
DbCommand cmd = Query.NewCommand(
@"SELECT RPANO, RPAPN, RPENO, RPDAT, RPAPP, RPDOC
FROM RPAB
WHERE RPREN = @RPREN");
cmd.Parameters.Add(Query.NewParameter("RPREN", RPREN));
return Query.Select(cmd);
}
} }
+181
View File
@@ -8,6 +8,7 @@ using Wellan.Data;
using Wellan.Common; using Wellan.Common;
using System.Transactions; using System.Transactions;
using System.ComponentModel; using System.ComponentModel;
using System.Text;
using System.IO; using System.IO;
using System.Web; using System.Web;
using System.Linq; using System.Linq;
@@ -1856,6 +1857,186 @@ public class RparDAC : Wellan.Data.WDAC
return new Item(); return new Item();
} }
private const string RparGridColumns =
@"TRDAT, TRMOD, TRUSR, RPREN, RPNUM, RAITM, RPCNM, RPPYN, RPRDT, RPEDT, RPTYP, FLOOR(RPTCT / 60) AS RPTCT, RPFTR, RPDOC,
APPNO, RPAPP, RPAPD, RPAPU, RPADT, RPAPN, RPANO, RPAGT, RPRTM, RPETM, RPUST, RPTC1, RPTC2, RPTC3,
RPRSN, RPAGM, ISNULL(RPTCT - FLOOR(RPTCT / 60) * 60, 0) AS RPTMT";
private const string RparGridWhere = " WHERE ((RPAPN IS NULL) OR ((RPAPN<>'D') AND (RPAPN=RPANO))) ";
/// <summary>
/// 差勤紀錄 Grid 分頁查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectPage(int startRowIndex, int maximumRows, string RPPYN, string RPNUM1, string RPNUM2, string RPRDT1, string RPRDT2, string rparType)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildRparGridFilter(filter, cmd, RPPYN, RPNUM1, RPNUM2, RPRDT1, RPRDT2, rparType);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT {0}, ROW_NUMBER() OVER (ORDER BY RPREN) AS ROWID
FROM RPAR {1} {2}
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID",
RparGridColumns, RparGridWhere, filter.ToString());
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 差勤紀錄 Grid 查詢筆數
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(string RPPYN, string RPNUM1, string RPNUM2, string RPRDT1, string RPRDT2, string rparType)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildRparGridFilter(filter, cmd, RPPYN, RPNUM1, RPNUM2, RPRDT1, RPRDT2, rparType);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM RPAR {0} {1}", RparGridWhere, filter.ToString());
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
private void BuildRparGridFilter(StringBuilder sb, DbCommand cmd, string RPPYN, string RPNUM1, string RPNUM2, string RPRDT1, string RPRDT2, string rparType)
{
switch (rparType)
{
case "0":
sb.Append(" AND RPTYP LIKE '0%' ");
break;
case "1":
sb.Append(" AND RPTYP LIKE '1%' ");
break;
case "21":
sb.Append(" AND RPTYP = '21' ");
break;
case "22":
sb.Append(" AND RPTYP = '22' ");
break;
case "3":
sb.Append(" AND RPTYP LIKE '3%' ");
break;
}
if (!string.IsNullOrEmpty(RPPYN))
{
sb.Append(" AND RPPYN = @RPPYN1 ");
cmd.Parameters.Add(Query.NewParameter("RPPYN1", RPPYN));
}
AppendRparRange(sb, cmd, "RPNUM", RPNUM1, RPNUM2, true);
AppendRparRange(sb, cmd, "RPRDT", RPRDT1, RPRDT2, false);
}
private void AppendRparRange(StringBuilder sb, DbCommand cmd, string field, string value1, string value2, bool like)
{
bool has1 = !string.IsNullOrEmpty(value1);
bool has2 = !string.IsNullOrEmpty(value2);
if (has1 && has2)
{
sb.AppendFormat(" AND {0} >= @{0}1 AND {0} <= @{0}2 ", field);
cmd.Parameters.Add(Query.NewParameter(field + "1", value1));
cmd.Parameters.Add(Query.NewParameter(field + "2", value2));
}
else if (has1)
{
if (like)
{
sb.AppendFormat(" AND {0} LIKE @{0}1 ", field);
cmd.Parameters.Add(Query.NewParameter(field + "1", value1 + "%"));
}
else
{
sb.AppendFormat(" AND {0} >= @{0}1 ", field);
cmd.Parameters.Add(Query.NewParameter(field + "1", value1));
}
}
else if (has2)
{
if (like)
{
sb.AppendFormat(" AND {0} LIKE @{0}2 ", field);
cmd.Parameters.Add(Query.NewParameter(field + "2", value2 + "%"));
}
else
{
sb.AppendFormat(" AND {0} <= @{0}2 ", field);
cmd.Parameters.Add(Query.NewParameter(field + "2", value2));
}
}
}
/// <summary>
/// 差勤紀錄 Grid 分頁查詢 (員工本人)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectWorkerPage(int startRowIndex, int maximumRows, string RPNUM_FIXED, string RPRDT1, string RPRDT2, string rparType)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildWorkerGridFilter(filter, cmd, RPNUM_FIXED, RPRDT1, RPRDT2, rparType);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT {0}, ROW_NUMBER() OVER (ORDER BY RPREN) AS ROWID
FROM RPAR {1}
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID",
RparGridColumns, filter.ToString());
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 差勤紀錄 Grid 查詢筆數 (員工本人)
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectWorkerCount(string RPNUM_FIXED, string RPRDT1, string RPRDT2, string rparType)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildWorkerGridFilter(filter, cmd, RPNUM_FIXED, RPRDT1, RPRDT2, rparType);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM RPAR {0}", filter.ToString());
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
private void BuildWorkerGridFilter(StringBuilder sb, DbCommand cmd, string RPNUM_FIXED, string RPRDT1, string RPRDT2, string rparType)
{
sb.Append(" WHERE RPNUM = @RPNUM_FIXED ");
cmd.Parameters.Add(Query.NewParameter("RPNUM_FIXED", RPNUM_FIXED));
switch (rparType)
{
case "0":
sb.Append(" AND RPTYP LIKE '0%' AND RPADT IS NOT NULL ");
break;
case "1":
sb.Append(" AND RPTYP LIKE '1%' AND RPADT IS NOT NULL ");
break;
case "3":
sb.Append(" AND RPTYP LIKE '3%' AND RPADT IS NOT NULL ");
break;
}
AppendRparRange(sb, cmd, "RPRDT", RPRDT1, RPRDT2, false);
}
} }
+82
View File
@@ -0,0 +1,82 @@
using System;
using System.Data;
using System.Data.Common;
using System.Text;
using System.ComponentModel;
using Wellan.Data;
/// <summary>
/// 專案憑證的資料處理類別
/// </summary>
[DataObject(true)]
public class RpfeDAC : Wellan.Data.WDAC
{
public RpfeDAC()
{
}
public RpfeDAC(string connectionConfig, string connectionConfigName)
: this()
{
this._connectionConfig = connectionConfig;
this._connectionConfigName = connectionConfigName;
}
public RpfeDAC(WQuery query)
{
this._query = query;
}
/// <summary>
/// 專案憑證 Grid 分頁查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectPage(int startRowIndex, int maximumRows, string RPPYN)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, RPPYN);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT *, ROW_NUMBER() OVER (ORDER BY RPPYN, RPREN) AS ROWID
FROM RPFE WHERE 1=1 {0}
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID",
filter.ToString());
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 專案憑證 Grid 查詢筆數
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(string RPPYN)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, RPPYN);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM RPFE WHERE 1=1 {0}", filter.ToString());
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
/// <summary>
/// 組出專案憑證 Grid 的查詢條件 (與舊 AddSearch 行為一致)
/// </summary>
private void BuildFilter(StringBuilder sb, DbCommand cmd, string RPPYN)
{
if (!string.IsNullOrEmpty(RPPYN))
{
sb.Append(" AND RPPYN LIKE @RPPYN1 ");
cmd.Parameters.Add(Query.NewParameter("RPPYN1", RPPYN + "%"));
}
}
}
+61
View File
@@ -1,12 +1,15 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.Common; using System.Data.Common;
using System.ComponentModel;
using System.Text;
using Wellan.Data; using Wellan.Data;
using Wellan.Common; using Wellan.Common;
/// <summary> /// <summary>
/// 薪資加減項資料處理類別 /// 薪資加減項資料處理類別
/// </summary> /// </summary>
[DataObject(true)]
public class RsajDAC : Wellan.Data.WDAC public class RsajDAC : Wellan.Data.WDAC
{ {
public RsajDAC() public RsajDAC()
@@ -127,4 +130,62 @@ public class RsajDAC : Wellan.Data.WDAC
cmd.Parameters.Add(Query.NewParameter("RSYMM", yymm)); cmd.Parameters.Add(Query.NewParameter("RSYMM", yymm));
return GetStringValue(Query.ExecuteScalar(cmd)); return GetStringValue(Query.ExecuteScalar(cmd));
} }
/// <summary>
/// 薪資加減項 Grid 分頁查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectPage(int startRowIndex, int maximumRows, string RSENO, string RSPYN)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, RSENO, RSPYN);
cmd.CommandText = String.Format(
@"SELECT * FROM
(
SELECT *, ROW_NUMBER() OVER (ORDER BY RSYMM DESC, RSREN DESC) AS ROWID
FROM RSAJ WHERE 1=1 {0}
) AS TMP
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
ORDER BY ROWID",
filter.ToString());
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
return Query.Select(cmd);
}
/// <summary>
/// 薪資加減項 Grid 查詢筆數
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(string RSENO, string RSPYN)
{
DbCommand cmd = Query.NewCommand();
StringBuilder filter = new StringBuilder();
BuildFilter(filter, cmd, RSENO, RSPYN);
cmd.CommandText = String.Format("SELECT COUNT(*) FROM RSAJ WHERE 1=1 {0}", filter.ToString());
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
}
/// <summary>
/// 組出薪資加減項 Grid 的查詢條件 (與舊 AddSearch 行為一致)
/// </summary>
private void BuildFilter(StringBuilder sb, DbCommand cmd, string RSENO, string RSPYN)
{
if (!string.IsNullOrEmpty(RSENO))
{
sb.Append(" AND RSENO LIKE @RSENO1 ");
cmd.Parameters.Add(Query.NewParameter("RSENO1", RSENO + "%"));
}
if (!string.IsNullOrEmpty(RSPYN))
{
sb.Append(" AND RSPYN LIKE @RSPYN1 ");
cmd.Parameters.Add(Query.NewParameter("RSPYN1", RSPYN + "%"));
}
}
} }
+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);
}
}
+92
View File
@@ -1,10 +1,13 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.Common; using System.Data.Common;
using System.ComponentModel;
using System.Text;
using Wellan.Data; using Wellan.Data;
using Wellan.Common; using Wellan.Common;
using System.Data.SqlClient; using System.Data.SqlClient;
[DataObject(true)]
public class SsmsDAC : Wellan.Data.WDAC public class SsmsDAC : Wellan.Data.WDAC
{ {
private DbCommand cmdSelectSSMS; private DbCommand cmdSelectSSMS;
@@ -629,6 +632,95 @@ public class SsmsDAC : Wellan.Data.WDAC
return result; return result;
} }
private const string SelectSalaryStripSql =
@"SELECT A.*,
SSP06 + SSP07 + SSP08 + SSP13 + SSP14 OVERWORK,
SSP09 + SSP10 + SSP12 OUTGOING,
SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99 SSPLUS,
SSS01 + SSS02 + SSS09 LEAVING,
SST01 + SST02 + SST03 + SST21 + SST22 OVERWORKTIME,
(SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99)
- (SSS01 + SSS02 + SSS03 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 + SSS15 + SSS99) SSTOTAL,
SSS01 + SSS02 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 + SSS15 + SSS99 SSMINUS,
SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99 TOTALPLUS,
SSH01 + SSH02 + SSH03 EMPLOYER,
ISNULL(B.BPNME, '') BPNME,
ISNULL(C.BPPYM, '') BPPYM,
ISNULL(B.BPSWY, '') BPSWY,
ISNULL(D.BCNAM, '') BCNAM,
ISNULL(B.BPACC, '') BPACC,
ISNULL(B.BPEML, '') BPEML,
ISNULL(B.BPEM2, '') BPEM2,
(SELECT SUM(SSS06) FROM {0} E WHERE A.SSENO=E.SSENO AND E.SSYMM <= @SSYMM) SSS06SUM,
(SELECT SUM(SSH06) FROM {0} F WHERE A.SSENO=F.SSENO AND F.SSYMM <= @SSYMM) SSH06SUM,
SSC01, SSC03, SSC03, SSC04, SSC05, SSC06, SSC07, SSC08, SSC09, SSC10
FROM {0} A
LEFT OUTER JOIN BPSNView B ON A.SSENO=B.BPENO
LEFT OUTER JOIN BPAA C ON A.SSPYN=C.BPPYN
LEFT OUTER JOIN BRML D ON B.BPBNK=D.BCNUM";
private const string SelectSalaryStripSumSql =
@"SELECT ISNULL(SUM(SSD01), 0) SSD01, ISNULL(SUM(SSD02), 0) SSD02, ISNULL(SUM(SSSRD), 0) SSSRD, ISNULL(SUM(SSP00), 0) SSP00,
ISNULL(SUM(SSP01), 0) SSP01, ISNULL(SUM(SSP02), 0) SSP02, ISNULL(SUM(SSP03), 0) SSP03, ISNULL(SUM(SSP04), 0) SSP04,
ISNULL(SUM(SSP05), 0) SSP05, ISNULL(SUM(SSP06), 0) SSP06, ISNULL(SUM(SSP07), 0) SSP07, ISNULL(SUM(SSP08), 0) SSP08,
ISNULL(SUM(SSP09), 0) SSP09, ISNULL(SUM(SSP10), 0) SSP10, ISNULL(SUM(SSP11), 0) SSP11, ISNULL(SUM(SSP12), 0) SSP12,
ISNULL(SUM(SSP13), 0) SSP13, ISNULL(SUM(SSP14), 0) SSP14, ISNULL(SUM(SSP15), 0) SSP15, ISNULL(SUM(SSP99), 0) SSP99,
ISNULL(SUM(SSS01), 0) SSS01, ISNULL(SUM(SSS02), 0) SSS02, ISNULL(SUM(SSS03), 0) SSS03, ISNULL(SUM(SSS04), 0) SSS04,
ISNULL(SUM(SSS05), 0) SSS05, ISNULL(SUM(SSS06), 0) SSS06, ISNULL(SUM(SSS07), 0) SSS07, ISNULL(SUM(SSS08), 0) SSS08,
ISNULL(SUM(SSS09), 0) SSS09, ISNULL(SUM(SSS10), 0) SSS10, ISNULL(SUM(SSS11), 0) SSS11, ISNULL(SUM(SSS12), 0) SSS12,
ISNULL(SUM(SSS13), 0) SSS13, ISNULL(SUM(SSS14), 0) SSS14, ISNULL(SUM(SSS15), 0) SSS15, ISNULL(SUM(SSS99), 0) SSS99,
ISNULL(SUM(SSH01), 0) SSH01, ISNULL(SUM(SSH02), 0) SSH02, ISNULL(SUM(SSH03), 0) SSH03, ISNULL(SUM(SSH04), 0) SSH04,
ISNULL(SUM(SSH05), 0) SSH05, ISNULL(SUM(SSH06), 0) SSH06, ISNULL(SUM(SSH07), 0) SSH07, ISNULL(SUM(SSH08), 0) SSH08,
ISNULL(SUM(SSH09), 0) SSH09, ISNULL(SUM(SSH10), 0) SSH10, ISNULL(SUM(SST01), 0) SST01, ISNULL(SUM(SST02), 0) SST02,
ISNULL(SUM(SST03), 0) SST03, ISNULL(SUM(SST04), 0) SST04, ISNULL(SUM(SST05), 0) SST05, ISNULL(SUM(SST06), 0) SST06,
ISNULL(SUM(SST07), 0) SST07, ISNULL(SUM(SST08), 0) SST08, ISNULL(SUM(SST09), 0) SST09, ISNULL(SUM(SST10), 0) SST10,
ISNULL(SUM(SST11), 0) SST11, ISNULL(SUM(SST12), 0) SST12, ISNULL(SUM(SST13), 0) SST13, ISNULL(SUM(SST14), 0) SST14,
ISNULL(SUM(SST15), 0) SST15, ISNULL(SUM(SST16), 0) SST16, ISNULL(SUM(SST17), 0) SST17, ISNULL(SUM(SST18), 0) SST18,
ISNULL(SUM(SST19), 0) SST19, ISNULL(SUM(SST20), 0) SST20, ISNULL(SUM(SST21), 0) SST21, ISNULL(SUM(SST22), 0) SST22,
ISNULL(SUM(SST23), 0) SST23, ISNULL(SUM(SST24), 0) SST24, ISNULL(SUM(SST25), 0) SST25, ISNULL(SUM(SSL01), 0) SSL01,
ISNULL(SUM(SSL02), 0) SSL02, ISNULL(SUM(SSL03), 0) SSL03, ISNULL(SUM(SSL04), 0) SSL04, ISNULL(SUM(SSL05), 0) SSL05,
ISNULL(SUM(SSP06 + SSP07 + SSP08 + SSP13 + SSP14), 0) OVERWORK,
ISNULL(SUM(SSP09 + SSP10 + SSP12), 0) OUTGOING,
ISNULL(SUM(SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
SSP13 + SSP14 + SSP15 + SSP99), 0) SSPLUS,
ISNULL(SUM(SSS01 + SSS02 + SSS09), 0) LEAVING,
ISNULL(SUM(SST01 + SST02 + SST03 + SST21 + SST22), 0) OVERWORKTIME,
ISNULL(SUM((SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
SSP13 + SSP14 + SSP15 + SSP99)
- (SSS01 + SSS02 + SSS03 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 +
SSS14 + SSS15 + SSS99)), 0) SSTOTAL,
ISNULL(SUM(SSS01 + SSS02 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 +
SSS15 + SSS99), 0) SSMINUS,
ISNULL(SUM(SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 +
SSP14 + SSP15 + SSP99), 0) TOTALPLUS,
ISNULL(SUM(SSH01 + SSH02 + SSH03), 0) EMPLOYER
FROM {0} A WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN";
/// <summary>
/// 薪資條發放 Grid 查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectSalaryStrip(string tableName, DateTime SSYMM, string SSPYN)
{
DbCommand cmd = Query.NewCommand(
String.Format(SelectSalaryStripSql, tableName) + " WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN ORDER BY SSENO ");
cmd.Parameters.Add(Query.NewParameter("SSYMM", SSYMM));
cmd.Parameters.Add(Query.NewParameter("SSPYN", SSPYN));
return Query.Select(cmd);
}
/// <summary>
/// 薪資條發放 Grid 合計查詢
/// </summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectSalaryStripSum(string tableName, DateTime SSYMM, string SSPYN)
{
DbCommand cmd = Query.NewCommand(String.Format(SelectSalaryStripSumSql, tableName));
cmd.Parameters.Add(Query.NewParameter("SSYMM", SSYMM));
cmd.Parameters.Add(Query.NewParameter("SSPYN", SSPYN));
return Query.Select(cmd);
}
} }
public class SsmsRecord public class SsmsRecord
+7 -6
View File
@@ -80,12 +80,13 @@
</table> </table>
</asp:View> </asp:View>
<asp:View ID="View3" runat="server"> <asp:View ID="View3" runat="server">
<asp:SqlDataSource ID="dsBPRMGrid" runat="server" <asp:ObjectDataSource ID="dsBPRMGrid" runat="server"
ConflictDetection="CompareAllValues" TypeName="BprmDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" EnablePaging="true" OnSelected="dsBPRMGrid_Selected">
OnSelected="dsBPRM_Selected" <SelectParameters>
ProviderName="System.Data.SqlClient" <asp:Parameter Name="BPPNM" Type="String" />
SelectCommand="SELECT * FROM BPRM"></asp:SqlDataSource> </SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsBPRMForm" runat="server" <asp:SqlDataSource ID="dsBPRMForm" runat="server"
ConflictDetection="CompareAllValues" ConflictDetection="CompareAllValues"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" DeleteCommand="DELETE FROM BPRM ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" DeleteCommand="DELETE FROM BPRM
+9 -12
View File
@@ -19,10 +19,6 @@ using System.Data.Common;
public partial class forms_customer_fmBprm : Wellan.Web.UI.WUserControlBase public partial class forms_customer_fmBprm : Wellan.Web.UI.WUserControlBase
{ {
protected string _BPPNM = ""; protected string _BPPNM = "";
private string select = "SELECT * ";
private string from = " FROM BPRM ";
private string where = " WHERE 1=1 ";
private string order = " ORDER BY BPENO";
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
@@ -181,14 +177,15 @@ public partial class forms_customer_fmBprm : Wellan.Web.UI.WUserControlBase
// 查詢動作 // 查詢動作
private new void Search() private new void Search()
{ {
StringBuilder sql = new StringBuilder(); dsBPRMGrid.SelectParameters["BPPNM"].DefaultValue = _BPPNM;
sql.Append(select); }
sql.Append(from);
sql.Append(where); protected void dsBPRMGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
dsBPRMGrid.SelectParameters.Clear(); {
AddSearch(sql, dsBPRMGrid, "BPPNM", _BPPNM, "", true); if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
sql.Append(order); {
dsBPRMGrid.SelectCommand = sql.ToString(); fvBPRM.ChangeMode(FormViewMode.Insert);
}
} }
protected void dsBPRM_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsBPRM_Selected(object sender, SqlDataSourceStatusEventArgs e)
+18 -28
View File
@@ -53,28 +53,19 @@
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:SqlDataSource>
<asp:SqlDataSource ID="dsRASN_RAENO1" runat="server" <asp:ObjectDataSource ID="dsRASN_RAENO1" runat="server"
ProviderName="System.Data.SqlClient" TypeName="RasnDAC" SelectMethod="SelectRAENO">
SelectCommand="SELECT A.RANUM, B.BPNME
FROM RASN AS A
INNER JOIN BPSNView AS B ON A.RANUM = B.BPENO
WHERE (A.RAPYN = @RAPYN) AND A.RAEDT IS NULL">
<SelectParameters> <SelectParameters>
<asp:Parameter Name="RAPYN" /> <asp:Parameter Name="RAPYN" Type="String" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRASN_RABRH1" runat="server" <asp:ObjectDataSource ID="dsRASN_RABRH1" runat="server"
ProviderName="System.Data.SqlClient" TypeName="RasnDAC" SelectMethod="SelectRABRH">
SelectCommand="SELECT A.RABRH, B.BSSCR, COUNT(1) AS RABRH_COUNT
FROM RASN AS A
INNER JOIN BCLS AS B ON A.RABRH = B.BSCLS AND B.BSPAR = 'BPSNBRH'
WHERE (A.RAPYN = @RAPYN) AND A.RAEDT IS NULL
GROUP BY A.RABRH, B.BSSCR">
<SelectParameters> <SelectParameters>
<asp:Parameter Name="RAPYN" /> <asp:Parameter Name="RAPYN" Type="String" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRASN_RAWTZ" runat="server" <asp:SqlDataSource ID="dsRASN_RAWTZ" runat="server"
ProviderName="System.Data.SqlClient" ProviderName="System.Data.SqlClient"
@@ -282,17 +273,16 @@
</InsertParameters> </InsertParameters>
</asp:SqlDataSource> </asp:SqlDataSource>
<asp:SqlDataSource ID="dsRASNGrid" runat="server" <asp:ObjectDataSource ID="dsRASNGrid" runat="server"
ConflictDetection="CompareAllValues" TypeName="RasnDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
SelectCommand="SELECT A.*, B.BPSRM, B.BPSRD, B.BPP01, B.BPP02, B.BPP03, B.BPP04, B.BPP05 EnablePaging="true" OnSelected="dsRASNGrid_Selected">
FROM RASN A <SelectParameters>
LEFT OUTER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO <asp:Parameter Name="RAPYN" Type="String" />
LEFT OUTER JOIN BPSNView C ON A.RANUM=C.BPENO <asp:Parameter Name="BPENO" Type="String" />
WHERE 1=0" <asp:Parameter Name="BPNME" Type="String" />
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" <asp:Parameter Name="year" Type="Int32" DefaultValue="0" />
ProviderName="System.Data.SqlClient" </SelectParameters>
OnSelected="dsRASNGrid_Selected"> </asp:ObjectDataSource>
</asp:SqlDataSource>
<asp:FormView ID="RASNForm" runat="server" <asp:FormView ID="RASNForm" runat="server"
DataSourceID="dsRASNForm" DataSourceID="dsRASNForm"
+8 -39
View File
@@ -53,13 +53,10 @@ public partial class forms_customer_fmRasn : Wellan.Web.UI.WUserControlBase
{ {
base.OnInit(e); base.OnInit(e);
dsRASNForm.ConnectionString = ConnectionString; dsRASNForm.ConnectionString = ConnectionString;
dsRASNGrid.ConnectionString = ConnectionString;
dsRASN_RABRH.ConnectionString = ConnectionString; dsRASN_RABRH.ConnectionString = ConnectionString;
dsRASN_RANUM.ConnectionString = ConnectionString; dsRASN_RANUM.ConnectionString = ConnectionString;
dsRASN_BPJNO.ConnectionString = ConnectionString; dsRASN_BPJNO.ConnectionString = ConnectionString;
dsRASN_BPCNO.ConnectionString = ConnectionString; dsRASN_BPCNO.ConnectionString = ConnectionString;
dsRASN_RAENO1.ConnectionString = ConnectionString;
dsRASN_RABRH1.ConnectionString = ConnectionString;
dsRASN_RAWTZ.ConnectionString = ConnectionString; dsRASN_RAWTZ.ConnectionString = ConnectionString;
_YY = GetIntParam("YY"); _YY = GetIntParam("YY");
@@ -219,44 +216,16 @@ public partial class forms_customer_fmRasn : Wellan.Web.UI.WUserControlBase
// 查詢動作 // 查詢動作
private new void Search() private new void Search()
{ {
StringBuilder sql = new StringBuilder();
List<string> HQ_RAPYNS = new List<string>() { "103TYB00001", "103JYB00001" }; List<string> HQ_RAPYNS = new List<string>() { "103TYB00001", "103JYB00001" };
String searchOrder1 = String.Empty, searchOrder2 = String.Empty;
if (HQ_RAPYNS.IndexOf(_RAPYN) < 0)
{
searchOrder1 = "RANUM";
searchOrder2 = "RAEDT, RANUM";
}
else
{
searchOrder1 = "RAEDT, RANUM";
searchOrder2 = "RAEDT, RANUM";
}
sql.Append(string.Format(@" int year = 0;
SELECT A.*, B.BPSRM, B.BPSRD, B.BPP01, B.BPP02, B.BPP03, B.BPP04, B.BPP05
FROM
(
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {0}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NULL) T1
UNION ALL
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {1}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NOT NULL) T2
) A
LEFT OUTER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO
LEFT OUTER JOIN BPSNView C ON A.RANUM=C.BPENO
WHERE 1=1
", searchOrder1, searchOrder2));
if (!string.IsNullOrEmpty(txtYY.Text) && HQ_RAPYNS.IndexOf(_RAPYN) < 0) if (!string.IsNullOrEmpty(txtYY.Text) && HQ_RAPYNS.IndexOf(_RAPYN) < 0)
{ year = WQuery.GetInt32Value(txtYY.Text) + WGuard1.CY11;
sql.Append(string.Format(" AND ((RASDT >= '{0}/01/01' AND RASDT <= '{0}/12/31') OR (RAEDT >= '{0}/01/01' AND RAEDT <= '{0}/12/31') OR (RASDT <= '{0}/01/01' AND RAEDT >= '{0}/12/31') ) ", WQuery.GetInt32Value(txtYY.Text) + WGuard1.CY11));
}
dsRASNGrid.SelectParameters.Clear(); dsRASNGrid.SelectParameters["RAPYN"].DefaultValue = _RAPYN;
dsRASNGrid.SelectParameters.Add(new Parameter("RAPYN", DbType.String, _RAPYN)); dsRASNGrid.SelectParameters["BPENO"].DefaultValue = _BPENO;
// AddSearch(sql, dsRASNGrid, "RAPYN", _RAPYN, "", true); dsRASNGrid.SelectParameters["BPNME"].DefaultValue = _BPNME;
AddSearch(sql, dsRASNGrid, "C.BPENO", _BPENO, "", true); dsRASNGrid.SelectParameters["year"].DefaultValue = year.ToString();
AddSearch(sql, dsRASNGrid, "C.BPNME", _BPNME, "", true);
dsRASNGrid.SelectCommand = sql.ToString();
} }
// 存檔前的計算動作 // 存檔前的計算動作
@@ -302,9 +271,9 @@ WHERE 1=1
RASNGrid.DataBind(); RASNGrid.DataBind();
} }
protected void dsRASNGrid_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsRASNGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{ {
if (e.AffectedRows == 0) if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{ {
if (ForwardSource != "") if (ForwardSource != "")
RASNForm.ChangeMode(FormViewMode.Insert); RASNForm.ChangeMode(FormViewMode.Insert);
+7 -5
View File
@@ -6,11 +6,13 @@
TextMessageId="FMRPFE.NAME"></cc1:WLabel> TextMessageId="FMRPFE.NAME"></cc1:WLabel>
<asp:CustomValidator ID="cvMessage" runat="server" <asp:CustomValidator ID="cvMessage" runat="server"
Display="None"></asp:CustomValidator> Display="None"></asp:CustomValidator>
<asp:SqlDataSource ID="dsRPFEGrid" runat="server" <asp:ObjectDataSource ID="dsRPFEGrid" runat="server"
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RPFE WHERE (1 = 0)" TypeName="RpfeDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" EnablePaging="true" OnSelected="dsRPFEGrid_Selected">
ProviderName="System.Data.SqlClient" OnSelected="dsRPFEGrid_Selected"> <SelectParameters>
</asp:SqlDataSource> <asp:Parameter Name="RPPYN" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRPFEForm" runat="server" <asp:SqlDataSource ID="dsRPFEForm" runat="server"
UpdateCommand="UPDATE RPFE SET &#13;&#10; RPENO = @RPENO, &#13;&#10; RPDAT = @RPDAT, &#13;&#10; RPACC = @RPACC, &#13;&#10; RPAMT = @RPAMT, &#13;&#10; RPDOC = @RPDOC, &#13;&#10; APPNO = APPNO + 1, &#13;&#10; TRDAT = GETDATE(),&#13;&#10; TRMOD = 'UPDATE',&#13;&#10; TRUSR = @TRUSR&#13;&#10;WHERE RPREN = @OLD_RPREN&#13;&#10; AND APPNO = @OLD_APPNO" UpdateCommand="UPDATE RPFE SET &#13;&#10; RPENO = @RPENO, &#13;&#10; RPDAT = @RPDAT, &#13;&#10; RPACC = @RPACC, &#13;&#10; RPAMT = @RPAMT, &#13;&#10; RPDOC = @RPDOC, &#13;&#10; APPNO = APPNO + 1, &#13;&#10; TRDAT = GETDATE(),&#13;&#10; TRMOD = 'UPDATE',&#13;&#10; TRUSR = @TRUSR&#13;&#10;WHERE RPREN = @OLD_RPREN&#13;&#10; AND APPNO = @OLD_APPNO"
DeleteCommand="DELETE FROM RPFE&#13;&#10;WHERE RPREN = @OLD_RPREN&#13;&#10; AND APPNO = @OLD_APPNO" DeleteCommand="DELETE FROM RPFE&#13;&#10;WHERE RPREN = @OLD_RPREN&#13;&#10; AND APPNO = @OLD_APPNO"
+3 -15
View File
@@ -23,10 +23,6 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
{ {
private string _RPPYN = ""; private string _RPPYN = "";
private int _YY = 0; private int _YY = 0;
private string select = "SELECT * ";
private string from = " FROM RPFE ";
private string where = " WHERE 1=1 ";
private string order = " ORDER BY RPPYN, RPREN";
private TextBox[] RPDATs = new TextBox[10]; private TextBox[] RPDATs = new TextBox[10];
private DropDownList[] RPACCs = new DropDownList[10]; private DropDownList[] RPACCs = new DropDownList[10];
private TextBox[] RPAMTs = new TextBox[10]; private TextBox[] RPAMTs = new TextBox[10];
@@ -47,7 +43,6 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
{ {
base.OnInit(e); base.OnInit(e);
dsRPFEForm.ConnectionString = ConnectionString; dsRPFEForm.ConnectionString = ConnectionString;
dsRPFEGrid.ConnectionString = ConnectionString;
dsRPFE_RPACC.ConnectionString = ConnectionString; dsRPFE_RPACC.ConnectionString = ConnectionString;
dsRPFE_RPENO.ConnectionString = ConnectionString; dsRPFE_RPENO.ConnectionString = ConnectionString;
@@ -152,14 +147,7 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
// 查詢動作 // 查詢動作
private new void Search() private new void Search()
{ {
StringBuilder sql = new StringBuilder(); dsRPFEGrid.SelectParameters["RPPYN"].DefaultValue = _RPPYN;
sql.Append(select);
sql.Append(from);
sql.Append(where);
dsRPFEGrid.SelectParameters.Clear();
AddSearch(sql, dsRPFEGrid, "RPPYN", _RPPYN, "", true);
sql.Append(order);
dsRPFEGrid.SelectCommand = sql.ToString();
} }
private int CheckInsertInput(int index) private int CheckInsertInput(int index)
@@ -229,9 +217,9 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
RPFEGrid.DataBind(); RPFEGrid.DataBind();
} }
protected void dsRPFEGrid_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsRPFEGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{ {
if (e.AffectedRows == 0) if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{ {
//RPFEForm.ChangeMode(FormViewMode.Insert); //RPFEForm.ChangeMode(FormViewMode.Insert);
//RPFEForm_ModeChanged(sender, e); //RPFEForm_ModeChanged(sender, e);
+6 -6
View File
@@ -690,13 +690,13 @@
</EmptyDataTemplate> </EmptyDataTemplate>
</asp:GridView> </asp:GridView>
<asp:SqlDataSource ID="dsRPAB2" runat="server" ConnectionString="Data Source=SRYANG-X200\SQL2K8;Initial Catalog=THINKYU_WEB_TY;Integrated Security=True" <asp:ObjectDataSource ID="dsRPAB2" runat="server"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [RPANO], [RPAPN], [RPENO], [RPDAT], [RPAPP], [RPDOC] FROM [RPAB] WHERE (([RPREN] = @RPREN) AND ([RPDAT] IS NOT NULL))" TypeName="RpabDAC" SelectMethod="SelectRPAB"
OnSelecting="dsRPAB2_Selecting"> OnSelecting="dsRPAB2_Selecting">
<SelectParameters> <SelectParameters>
<asp:Parameter Name="RPREN" Type="String" /> <asp:Parameter Name="RPREN" Type="String" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
</div> </div>
</asp:View> </asp:View>
<asp:View ID="View5" runat="server"> <asp:View ID="View5" runat="server">
@@ -2589,13 +2589,13 @@
</EmptyDataTemplate> </EmptyDataTemplate>
</asp:GridView> </asp:GridView>
<asp:SqlDataSource ID="dsRPAB" runat="server" ConnectionString="Data Source=SRYANG-X200\SQL2K8;Initial Catalog=THINKYU_WEB_TY;Integrated Security=True" <asp:ObjectDataSource ID="dsRPAB" runat="server"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [RPANO], [RPAPN], [RPENO], [RPDAT], [RPAPP], [RPDOC] FROM [RPAB] WHERE (([RPREN] = @RPREN) AND ([RPDAT] IS NOT NULL))"> TypeName="RpabDAC" SelectMethod="SelectRPAB">
<SelectParameters> <SelectParameters>
<asp:ControlParameter ControlID="RPARGrid" Name="RPREN" PropertyName="SelectedValue" <asp:ControlParameter ControlID="RPARGrid" Name="RPREN" PropertyName="SelectedValue"
Type="String" /> Type="String" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
</td> </td>
</tr> </tr>
</table> </table>
+2 -5
View File
@@ -86,10 +86,8 @@ public partial class forms_flow_fmSign : Wellan.Web.UI.WUserControlBase
protected override void OnInit(EventArgs e) protected override void OnInit(EventArgs e)
{ {
base.OnInit(e); base.OnInit(e);
dsRPAB.ConnectionString = ConnectionString;
dsRPARForm.ConnectionString = ConnectionString; dsRPARForm.ConnectionString = ConnectionString;
dsRPAR_RPTYP.ConnectionString = ConnectionString; dsRPAR_RPTYP.ConnectionString = ConnectionString;
dsRPAB2.ConnectionString = ConnectionString;
rparDao = new RparDAC(Query); rparDao = new RparDAC(Query);
rpabDao = new RpabDAC(Query); rpabDao = new RpabDAC(Query);
bsgpDao = new BsgpDAC(Query); bsgpDao = new BsgpDAC(Query);
@@ -1746,11 +1744,10 @@ public partial class forms_flow_fmSign : Wellan.Web.UI.WUserControlBase
RPARGrid2.DataBind(); RPARGrid2.DataBind();
} }
protected void dsRPAB2_Selecting(object sender, SqlDataSourceSelectingEventArgs e) protected void dsRPAB2_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{ {
if (RPARGrid2.SelectedValue != null) if (RPARGrid2.SelectedValue != null)
e.Command.Parameters["@RPREN"].Value = RPARGrid2.SelectedValue; e.InputParameters["RPREN"] = RPARGrid2.SelectedValue;
//(sender as SqlDataSource).SelectParameters["RPREN"].DefaultValue = WDAC.GetStringValue(RPARGrid2.SelectedValue);
} }
protected string GetAttachLink(string RPREN) protected string GetAttachLink(string RPREN)
+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();
+13 -6
View File
@@ -6,12 +6,19 @@
CssClass="pageTitle"></cc1:WLabel> CssClass="pageTitle"></cc1:WLabel>
<asp:CustomValidator ID="cvMessage" <asp:CustomValidator ID="cvMessage"
runat="server" Display="None"></asp:CustomValidator> runat="server" Display="None"></asp:CustomValidator>
<asp:SqlDataSource ID="dsRPARGrid" <asp:ObjectDataSource ID="dsRPARGrid"
runat="server" ConflictDetection="CompareAllValues" runat="server" TypeName="RparDAC"
SelectCommand="SELECT * FROM RPAR WHERE (1 = 0)" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" EnablePaging="true" OnSelected="dsRPARGrid_Selected">
ProviderName="System.Data.SqlClient" <SelectParameters>
OnSelected="dsRPARGrid_Selected"></asp:SqlDataSource> <asp:Parameter Name="RPPYN" Type="String" />
<asp:Parameter Name="RPNUM1" Type="String" />
<asp:Parameter Name="RPNUM2" Type="String" />
<asp:Parameter Name="RPRDT1" Type="String" />
<asp:Parameter Name="RPRDT2" Type="String" />
<asp:Parameter Name="rparType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRPARForm" <asp:SqlDataSource ID="dsRPARForm"
runat="server" InsertCommand="INSERT INTO RPAR runat="server" InsertCommand="INSERT INTO RPAR
(RPREN, RPNUM, RAITM, RPCNM, RPPYN, RPRDT, RPEDT, RPTYP, RPTCT, (RPREN, RPNUM, RAITM, RPCNM, RPPYN, RPRDT, RPEDT, RPTYP, RPTCT,
+8 -15
View File
@@ -37,7 +37,6 @@ public partial class forms_worker_fmRpar : Wellan.Web.UI.WUserControlBase
RPRSN, RPAGM, ISNULL(RPTCT - FLOOR(RPTCT / 60) * 60, 0) AS RPTMT"; RPRSN, RPAGM, ISNULL(RPTCT - FLOOR(RPTCT / 60) * 60, 0) AS RPTMT";
private string from = " FROM RPAR "; private string from = " FROM RPAR ";
private string where = " WHERE 1=1 "; private string where = " WHERE 1=1 ";
private string order = " ORDER BY RPREN";
private FormView RPARForm; private FormView RPARForm;
private Panel RPARPanel; private Panel RPARPanel;
protected string rparType; protected string rparType;
@@ -71,7 +70,6 @@ public partial class forms_worker_fmRpar : Wellan.Web.UI.WUserControlBase
{ {
base.OnInit(e); base.OnInit(e);
dsRPARForm.ConnectionString = ConnectionString; dsRPARForm.ConnectionString = ConnectionString;
dsRPARGrid.ConnectionString = ConnectionString;
dsRPAR_RPTYP.ConnectionString = ConnectionString; dsRPAR_RPTYP.ConnectionString = ConnectionString;
rparDao = new RparDAC(Query); rparDao = new RparDAC(Query);
@@ -282,21 +280,16 @@ public partial class forms_worker_fmRpar : Wellan.Web.UI.WUserControlBase
// RPARForm.Visible = true; // RPARForm.Visible = true;
} }
StringBuilder sql = new StringBuilder();
sql.Append(select);
sql.Append(from);
sql.Append(where);
dsRPARGrid.SelectParameters.Clear();
DateTime RPRDT1, RPRDT2; DateTime RPRDT1, RPRDT2;
CheckDate(_RPRDT1, out RPRDT1); CheckDate(_RPRDT1, out RPRDT1);
CheckDate(_RPRDT2, out RPRDT2); CheckDate(_RPRDT2, out RPRDT2);
AddSearch(sql, dsRPARGrid, "RPPYN", _RPPYN, "", false); dsRPARGrid.SelectParameters["RPPYN"].DefaultValue = _RPPYN;
AddSearch(sql, dsRPARGrid, "RPNUM", _RPNUM1, _RPNUM2, true); dsRPARGrid.SelectParameters["RPNUM1"].DefaultValue = _RPNUM1;
AddSearch(sql, dsRPARGrid, "RPRDT", RPRDT1, RPRDT2, true); dsRPARGrid.SelectParameters["RPNUM2"].DefaultValue = _RPNUM2;
sql.Append(order); dsRPARGrid.SelectParameters["RPRDT1"].DefaultValue = RPRDT1.Ticks > 0 ? RPRDT1.ToString("yyyy-MM-dd") : "";
dsRPARGrid.SelectCommand = sql.ToString(); dsRPARGrid.SelectParameters["RPRDT2"].DefaultValue = RPRDT2.Ticks > 0 ? RPRDT2.ToString("yyyy-MM-dd") : "";
dsRPARGrid.SelectParameters["rparType"].DefaultValue = rparType;
dsRPARForm.SelectCommand = select + from + " WHERE RPREN=@RPREN "; dsRPARForm.SelectCommand = select + from + " WHERE RPREN=@RPREN ";
} }
@@ -625,9 +618,9 @@ public partial class forms_worker_fmRpar : Wellan.Web.UI.WUserControlBase
RPARGrid.DataBind(); RPARGrid.DataBind();
} }
protected void dsRPARGrid_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsRPARGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{ {
if (e.AffectedRows == 0) if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{ {
switch (MultiView1.ActiveViewIndex) switch (MultiView1.ActiveViewIndex)
{ {
+13 -7
View File
@@ -5,9 +5,16 @@
TagPrefix="uc1" %> TagPrefix="uc1" %>
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"></cc1:WLabel> <cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"></cc1:WLabel>
<asp:CustomValidator ID="cvMessage" runat="server" Display="None"></asp:CustomValidator> <asp:CustomValidator ID="cvMessage" runat="server" Display="None"></asp:CustomValidator>
<asp:SqlDataSource ID="dsRPARGrid" runat="server" ConflictDetection="CompareAllValues" <asp:ObjectDataSource ID="dsRPARGrid" runat="server"
SelectCommand="SELECT * FROM RPAR WHERE (1 = 0)" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" TypeName="RparDAC" SelectMethod="SelectWorkerPage" SelectCountMethod="SelectWorkerCount"
ProviderName="System.Data.SqlClient" OnSelected="dsRPARGrid_Selected"></asp:SqlDataSource> EnablePaging="true" OnSelected="dsRPARGrid_Selected">
<SelectParameters>
<asp:Parameter Name="RPNUM_FIXED" Type="String" />
<asp:Parameter Name="RPRDT1" Type="String" />
<asp:Parameter Name="RPRDT2" Type="String" />
<asp:Parameter Name="rparType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRPARForm" runat="server" <asp:SqlDataSource ID="dsRPARForm" runat="server"
InsertCommand="INSERT INTO RPAR InsertCommand="INSERT INTO RPAR
(RPREN, RPNUM, RAITM, RPCNM, RPPYN, RPRDT, RPEDT, (RPREN, RPNUM, RAITM, RPCNM, RPPYN, RPRDT, RPEDT,
@@ -182,14 +189,13 @@
</SelectParameters> </SelectParameters>
</asp:ObjectDataSource> </asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRPAB" runat="server" ConnectionString="Data Source=SRYANG-X200\SQL2K8;Initial Catalog=THINKYU_WEB_TY;Integrated Security=True" <asp:ObjectDataSource ID="dsRPAB" runat="server"
ProviderName="System.Data.SqlClient" TypeName="RpabDAC" SelectMethod="SelectRPABByRPREN">
SelectCommand="SELECT [RPANO], [RPAPN], [RPENO], [RPDAT], [RPAPP], [RPDOC] FROM [RPAB] WHERE [RPREN] = @RPREN">
<SelectParameters> <SelectParameters>
<asp:ControlParameter ControlID="RPARGrid" Name="RPREN" PropertyName="SelectedValue" <asp:ControlParameter ControlID="RPARGrid" Name="RPREN" PropertyName="SelectedValue"
Type="String" /> Type="String" />
</SelectParameters> </SelectParameters>
</asp:SqlDataSource> </asp:ObjectDataSource>
<asp:ObjectDataSource ID="dsBPSE" runat="server" OldValuesParameterFormatString="original_{0}" <asp:ObjectDataSource ID="dsBPSE" runat="server" OldValuesParameterFormatString="original_{0}"
OnSelecting="dsBPSE_Selecting" SelectMethod="Select片語By類別" OnSelecting="dsBPSE_Selecting" SelectMethod="Select片語By類別"
+6 -14
View File
@@ -49,7 +49,6 @@ public partial class forms_customer_fmRpar : Wellan.Web.UI.WUserControlBase
FLOOR(RPTC5 / 60) AS RPTC5, RPTC5 - FLOOR(RPTC5 / 60) * 60 AS RPTM5"; FLOOR(RPTC5 / 60) AS RPTC5, RPTC5 - FLOOR(RPTC5 / 60) * 60 AS RPTM5";
private string from = " FROM RPAR "; private string from = " FROM RPAR ";
private string where = " WHERE 1=1 "; private string where = " WHERE 1=1 ";
private string order = " ORDER BY RPRDT DESC";
private FormView RPARForm; private FormView RPARForm;
private Panel RPARPanel; private Panel RPARPanel;
protected string rparType; protected string rparType;
@@ -136,9 +135,7 @@ public partial class forms_customer_fmRpar : Wellan.Web.UI.WUserControlBase
{ {
base.OnInit(e); base.OnInit(e);
dsRPARForm.ConnectionString = ConnectionString; dsRPARForm.ConnectionString = ConnectionString;
dsRPARGrid.ConnectionString = ConnectionString;
dsRPAR_RPTYP.ConnectionString = ConnectionString; dsRPAR_RPTYP.ConnectionString = ConnectionString;
dsRPAB.ConnectionString = ConnectionString;
bpsnDao = new BpsnDAC(Query); bpsnDao = new BpsnDAC(Query);
rparDao = new RparDAC(Query); rparDao = new RparDAC(Query);
@@ -354,19 +351,14 @@ public partial class forms_customer_fmRpar : Wellan.Web.UI.WUserControlBase
RPARPanel.Visible = true; RPARPanel.Visible = true;
} }
StringBuilder sql = new StringBuilder();
sql.Append(select);
sql.Append(from);
sql.Append(where);
dsRPARGrid.SelectParameters.Clear();
DateTime RPRDT1, RPRDT2; DateTime RPRDT1, RPRDT2;
CheckDate(_RPRDT1, out RPRDT1); CheckDate(_RPRDT1, out RPRDT1);
CheckDate(_RPRDT2, out RPRDT2); CheckDate(_RPRDT2, out RPRDT2);
AddSearch(sql, dsRPARGrid, "RPRDT", RPRDT1, RPRDT2, true); dsRPARGrid.SelectParameters["RPNUM_FIXED"].DefaultValue = UserId;
sql.Append(order); dsRPARGrid.SelectParameters["RPRDT1"].DefaultValue = RPRDT1.Ticks > 0 ? RPRDT1.ToString("yyyy-MM-dd") : "";
dsRPARGrid.SelectCommand = sql.ToString(); dsRPARGrid.SelectParameters["RPRDT2"].DefaultValue = RPRDT2.Ticks > 0 ? RPRDT2.ToString("yyyy-MM-dd") : "";
dsRPARGrid.SelectParameters["rparType"].DefaultValue = rparType;
dsRPARForm.SelectCommand = select + from + " WHERE RPREN=@RPREN "; dsRPARForm.SelectCommand = select + from + " WHERE RPREN=@RPREN ";
@@ -959,9 +951,9 @@ public partial class forms_customer_fmRpar : Wellan.Web.UI.WUserControlBase
gvRPAD.DataBind(); gvRPAD.DataBind();
} }
protected void dsRPARGrid_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsRPARGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{ {
if (e.AffectedRows == 0) if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{ {
switch (MultiView1.ActiveViewIndex) switch (MultiView1.ActiveViewIndex)
{ {
+8 -4
View File
@@ -6,10 +6,14 @@
TextMessageId="FMRSAJ.NAME"></cc1:WLabel> TextMessageId="FMRSAJ.NAME"></cc1:WLabel>
<asp:CustomValidator ID="cvMessage" runat="server" <asp:CustomValidator ID="cvMessage" runat="server"
Display="None"></asp:CustomValidator> Display="None"></asp:CustomValidator>
<asp:SqlDataSource ID="dsRSAJGrid" runat="server" <asp:ObjectDataSource ID="dsRSAJGrid" runat="server"
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RSAJ WHERE (1 = 0)" TypeName="RsajDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" EnablePaging="true" OnSelected="dsRSAJGrid_Selected">
ProviderName="System.Data.SqlClient" OnSelected="dsRSAJGrid_Selected"></asp:SqlDataSource> <SelectParameters>
<asp:Parameter Name="RSENO" Type="String" />
<asp:Parameter Name="RSPYN" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsRSAJForm" runat="server" <asp:SqlDataSource ID="dsRSAJForm" runat="server"
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RSAJ WHERE RSREN = @RSREN" ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RSAJ WHERE RSREN = @RSREN"
DeleteCommand="DELETE RSAJ WHERE RSREN = @OLD_RSREN AND APPNO = @OLD_APPNO" DeleteCommand="DELETE RSAJ WHERE RSREN = @OLD_RSREN AND APPNO = @OLD_APPNO"
+4 -17
View File
@@ -23,11 +23,6 @@ public partial class forms_worker_fmRsaj : Wellan.Web.UI.WUserControlBase
protected DateTime _YYMM; protected DateTime _YYMM;
protected string _RSENO = ""; protected string _RSENO = "";
protected string _RSPYN = ""; protected string _RSPYN = "";
private string select = "SELECT * ";
private string from = " FROM RSAJ ";
private string where = " WHERE 1=1 ";
// private string order = " ORDER BY RSPYN, RSREN";
private string order = " ORDER BY RSYMM DESC, RSREN DESC";
private TextBox[] RSYMMs = new TextBox[10]; private TextBox[] RSYMMs = new TextBox[10];
private DropDownList[] RSENOs = new DropDownList[10]; private DropDownList[] RSENOs = new DropDownList[10];
private TextBox[] RSAMTs = new TextBox[10]; private TextBox[] RSAMTs = new TextBox[10];
@@ -48,7 +43,6 @@ public partial class forms_worker_fmRsaj : Wellan.Web.UI.WUserControlBase
{ {
base.OnInit(e); base.OnInit(e);
dsRSAJForm.ConnectionString = ConnectionString; dsRSAJForm.ConnectionString = ConnectionString;
dsRSAJGrid.ConnectionString = ConnectionString;
dsRSAJ_RSENO.ConnectionString = ConnectionString; dsRSAJ_RSENO.ConnectionString = ConnectionString;
dsRSAJ_RSENO.SelectCommand = dsRSAJ_RSENO.SelectCommand =
@"IF @RSPYN = '-ALL-' @"IF @RSPYN = '-ALL-'
@@ -201,15 +195,8 @@ public partial class forms_worker_fmRsaj : Wellan.Web.UI.WUserControlBase
// 查詢動作 // 查詢動作
private new void Search() private new void Search()
{ {
StringBuilder sql = new StringBuilder(); dsRSAJGrid.SelectParameters["RSENO"].DefaultValue = _RSENO;
sql.Append(select); dsRSAJGrid.SelectParameters["RSPYN"].DefaultValue = _RSPYN;
sql.Append(from);
sql.Append(where);
dsRSAJGrid.SelectParameters.Clear();
AddSearch(sql, dsRSAJGrid, "RSENO", _RSENO, "", true);
AddSearch(sql, dsRSAJGrid, "RSPYN", _RSPYN, "", true);
sql.Append(order);
dsRSAJGrid.SelectCommand = sql.ToString();
} }
// 存檔前的計算動作 // 存檔前的計算動作
@@ -254,9 +241,9 @@ public partial class forms_worker_fmRsaj : Wellan.Web.UI.WUserControlBase
RSAJGrid.DataBind(); RSAJGrid.DataBind();
} }
protected void dsRSAJGrid_Selected(object sender, SqlDataSourceStatusEventArgs e) protected void dsRSAJGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{ {
if (e.AffectedRows == 0) if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{ {
/* /*
if (ForwardSource != "") if (ForwardSource != "")
+8 -6
View File
@@ -69,12 +69,14 @@
OnClick="btnSSPYN_Click"></cc1:WButton></td> OnClick="btnSSPYN_Click"></cc1:WButton></td>
</tr> </tr>
</table> </table>
<asp:SqlDataSource ID="dsSSMS" runat="server" <asp:ObjectDataSource ID="dsSSMS" runat="server"
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" TypeName="SsmsDAC" SelectMethod="SelectSalaryStrip">
ProviderName="System.Data.SqlClient"></asp:SqlDataSource> <SelectParameters>
<asp:SqlDataSource ID="dsSSMSSum" runat="server" <asp:Parameter Name="tableName" Type="String" />
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" <asp:Parameter Name="SSYMM" Type="DateTime" />
ProviderName="System.Data.SqlClient"></asp:SqlDataSource> <asp:Parameter Name="SSPYN" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:Button ID="btnSend" runat="server" OnClick="btnSend_Click" <asp:Button ID="btnSend" runat="server" OnClick="btnSend_Click"
Text="S.發送" CssClass="button" AccessKey="S" Text="S.發送" CssClass="button" AccessKey="S"
OnClientClick='if (confirm("是否確定發送薪資單郵件?")) {ShowProcessing(2000); return true;} else return false;' /> OnClientClick='if (confirm("是否確定發送薪資單郵件?")) {ShowProcessing(2000); return true;} else return false;' />
+21 -63
View File
@@ -50,42 +50,6 @@ public partial class forms_worker_fmSendSalaryStrip : Wellan.Web.UI.WUserControl
LEFT OUTER JOIN BPSNView B ON A.SSENO=B.BPENO LEFT OUTER JOIN BPSNView B ON A.SSENO=B.BPENO
LEFT OUTER JOIN BPAA C ON A.SSPYN=C.BPPYN LEFT OUTER JOIN BPAA C ON A.SSPYN=C.BPPYN
LEFT OUTER JOIN BRML D ON B.BPBNK=D.BCNUM"; LEFT OUTER JOIN BRML D ON B.BPBNK=D.BCNUM";
private string selectSum =
@"SELECT ISNULL(SUM(SSD01), 0) SSD01, ISNULL(SUM(SSD02), 0) SSD02, ISNULL(SUM(SSSRD), 0) SSSRD, ISNULL(SUM(SSP00), 0) SSP00,
ISNULL(SUM(SSP01), 0) SSP01, ISNULL(SUM(SSP02), 0) SSP02, ISNULL(SUM(SSP03), 0) SSP03, ISNULL(SUM(SSP04), 0) SSP04,
ISNULL(SUM(SSP05), 0) SSP05, ISNULL(SUM(SSP06), 0) SSP06, ISNULL(SUM(SSP07), 0) SSP07, ISNULL(SUM(SSP08), 0) SSP08,
ISNULL(SUM(SSP09), 0) SSP09, ISNULL(SUM(SSP10), 0) SSP10, ISNULL(SUM(SSP11), 0) SSP11, ISNULL(SUM(SSP12), 0) SSP12,
ISNULL(SUM(SSP13), 0) SSP13, ISNULL(SUM(SSP14), 0) SSP14, ISNULL(SUM(SSP15), 0) SSP15, ISNULL(SUM(SSP99), 0) SSP99,
ISNULL(SUM(SSS01), 0) SSS01, ISNULL(SUM(SSS02), 0) SSS02, ISNULL(SUM(SSS03), 0) SSS03, ISNULL(SUM(SSS04), 0) SSS04,
ISNULL(SUM(SSS05), 0) SSS05, ISNULL(SUM(SSS06), 0) SSS06, ISNULL(SUM(SSS07), 0) SSS07, ISNULL(SUM(SSS08), 0) SSS08,
ISNULL(SUM(SSS09), 0) SSS09, ISNULL(SUM(SSS10), 0) SSS10, ISNULL(SUM(SSS11), 0) SSS11, ISNULL(SUM(SSS12), 0) SSS12,
ISNULL(SUM(SSS13), 0) SSS13, ISNULL(SUM(SSS14), 0) SSS14, ISNULL(SUM(SSS15), 0) SSS15, ISNULL(SUM(SSS99), 0) SSS99,
ISNULL(SUM(SSH01), 0) SSH01, ISNULL(SUM(SSH02), 0) SSH02, ISNULL(SUM(SSH03), 0) SSH03, ISNULL(SUM(SSH04), 0) SSH04,
ISNULL(SUM(SSH05), 0) SSH05, ISNULL(SUM(SSH06), 0) SSH06, ISNULL(SUM(SSH07), 0) SSH07, ISNULL(SUM(SSH08), 0) SSH08,
ISNULL(SUM(SSH09), 0) SSH09, ISNULL(SUM(SSH10), 0) SSH10, ISNULL(SUM(SST01), 0) SST01, ISNULL(SUM(SST02), 0) SST02,
ISNULL(SUM(SST03), 0) SST03, ISNULL(SUM(SST04), 0) SST04, ISNULL(SUM(SST05), 0) SST05, ISNULL(SUM(SST06), 0) SST06,
ISNULL(SUM(SST07), 0) SST07, ISNULL(SUM(SST08), 0) SST08, ISNULL(SUM(SST09), 0) SST09, ISNULL(SUM(SST10), 0) SST10,
ISNULL(SUM(SST11), 0) SST11, ISNULL(SUM(SST12), 0) SST12, ISNULL(SUM(SST13), 0) SST13, ISNULL(SUM(SST14), 0) SST14,
ISNULL(SUM(SST15), 0) SST15, ISNULL(SUM(SST16), 0) SST16, ISNULL(SUM(SST17), 0) SST17, ISNULL(SUM(SST18), 0) SST18,
ISNULL(SUM(SST19), 0) SST19, ISNULL(SUM(SST20), 0) SST20, ISNULL(SUM(SST21), 0) SST21, ISNULL(SUM(SST22), 0) SST22,
ISNULL(SUM(SST23), 0) SST23, ISNULL(SUM(SST24), 0) SST24, ISNULL(SUM(SST25), 0) SST25, ISNULL(SUM(SSL01), 0) SSL01,
ISNULL(SUM(SSL02), 0) SSL02, ISNULL(SUM(SSL03), 0) SSL03, ISNULL(SUM(SSL04), 0) SSL04, ISNULL(SUM(SSL05), 0) SSL05,
ISNULL(SUM(SSP06 + SSP07 + SSP08 + SSP13 + SSP14), 0) OVERWORK,
ISNULL(SUM(SSP09 + SSP10 + SSP12), 0) OUTGOING,
ISNULL(SUM(SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
SSP13 + SSP14 + SSP15 + SSP99), 0) SSPLUS,
ISNULL(SUM(SSS01 + SSS02 + SSS09), 0) LEAVING,
ISNULL(SUM(SST01 + SST02 + SST03 + SST21 + SST22), 0) OVERWORKTIME,
ISNULL(SUM((SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
SSP13 + SSP14 + SSP15 + SSP99)
- (SSS01 + SSS02 + SSS03 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 +
SSS14 + SSS15 + SSS99)), 0) SSTOTAL,
ISNULL(SUM(SSS01 + SSS02 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 +
SSS15 + SSS99), 0) SSMINUS,
ISNULL(SUM(SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 +
SSP14 + SSP15 + SSP99), 0) TOTALPLUS,
ISNULL(SUM(SSH01 + SSH02 + SSH03), 0) EMPLOYER
FROM {0} A WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN";
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
@@ -102,11 +66,6 @@ public partial class forms_worker_fmSendSalaryStrip : Wellan.Web.UI.WUserControl
if (_BonusTimes == "") if (_BonusTimes == "")
_BonusTimes = "0"; _BonusTimes = "0";
dsSSMS.ConnectionString = ConnectionString;
dsSSMSSum.ConnectionString = ConnectionString;
dsSSMS.SelectCommand = String.Format(select, _tableName) + " WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN ORDER BY SSENO ";
dsSSMSSum.SelectCommand = String.Format(selectSum, _tableName);
if (ForwardSource != "") if (ForwardSource != "")
{ {
MultiView1.ActiveViewIndex = 1; MultiView1.ActiveViewIndex = 1;
@@ -140,10 +99,9 @@ public partial class forms_worker_fmSendSalaryStrip : Wellan.Web.UI.WUserControl
_SSYMM = _SSYMM.AddDays(i); _SSYMM = _SSYMM.AddDays(i);
s = _SSYMM.ToString(WGuard1.InvariantCulture); s = _SSYMM.ToString(WGuard1.InvariantCulture);
dsSSMS.SelectParameters.Add("SSYMM", s); dsSSMS.SelectParameters["tableName"].DefaultValue = _tableName;
dsSSMS.SelectParameters.Add("SSPYN", ddlSSPYN.SelectedValue); dsSSMS.SelectParameters["SSYMM"].DefaultValue = s;
dsSSMSSum.SelectParameters.Add("SSYMM", s); dsSSMS.SelectParameters["SSPYN"].DefaultValue = ddlSSPYN.SelectedValue;
dsSSMSSum.SelectParameters.Add("SSPYN", ddlSSPYN.SelectedValue);
if (_BonusTimes == "0") if (_BonusTimes == "0")
{ {
@@ -582,42 +540,42 @@ public partial class forms_worker_fmSendSalaryStrip : Wellan.Web.UI.WUserControl
if (e.Row.RowType == DataControlRowType.Footer) if (e.Row.RowType == DataControlRowType.Footer)
{ {
var param = new DataSourceSelectArguments(); DataTable a = new SsmsDAC(Query).SelectSalaryStripSum(_tableName, _SSYMM, ddlSSPYN.SelectedValue);
var a = dsSSMSSum.Select(param) as DataView; DataRow ar = a.Rows[0];
e.Row.Cells[1].Text = "合計"; e.Row.Cells[1].Text = "合計";
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[2].Text = string.Format("{0:###,###,##0}", a[0]["SSP00"]); // 本薪 e.Row.Cells[2].Text = string.Format("{0:###,###,##0}", ar["SSP00"]); // 本薪
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[3].Text = string.Format("{0:###,###,##0}", a[0]["SSP01"]); // 全勤獎金 e.Row.Cells[3].Text = string.Format("{0:###,###,##0}", ar["SSP01"]); // 全勤獎金
e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[4].Text = string.Format("{0:###,###,##0}", a[0]["OVERWORK"]); e.Row.Cells[4].Text = string.Format("{0:###,###,##0}", ar["OVERWORK"]);
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[5].Text = string.Format("{0:###,###,##0}", a[0]["OUTGOING"]); e.Row.Cells[5].Text = string.Format("{0:###,###,##0}", ar["OUTGOING"]);
e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[6].Text = string.Format("{0:###,###,##0}", a[0]["SSP11"]); e.Row.Cells[6].Text = string.Format("{0:###,###,##0}", ar["SSP11"]);
e.Row.Cells[6].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[6].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[7].Text = string.Format("{0:###,###,##0}", a[0]["SSP02"]); e.Row.Cells[7].Text = string.Format("{0:###,###,##0}", ar["SSP02"]);
e.Row.Cells[7].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[7].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[8].Text = string.Format("{0:###,###,##0}", a[0]["SSP99"]); e.Row.Cells[8].Text = string.Format("{0:###,###,##0}", ar["SSP99"]);
e.Row.Cells[8].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[8].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[9].Text = string.Format("{0:###,###,##0}", a[0]["SSP03"]); e.Row.Cells[9].Text = string.Format("{0:###,###,##0}", ar["SSP03"]);
e.Row.Cells[9].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[9].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[10].Text = string.Format("{0:###,###,##0}", a[0]["SSP05"]); e.Row.Cells[10].Text = string.Format("{0:###,###,##0}", ar["SSP05"]);
e.Row.Cells[10].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[10].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[12].Text = string.Format("{0:###,###,##0}", a[0]["SSPLUS"]); e.Row.Cells[12].Text = string.Format("{0:###,###,##0}", ar["SSPLUS"]);
e.Row.Cells[12].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[12].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[13].Text = string.Format("{0:###,###,##0}", a[0]["LEAVING"]); e.Row.Cells[13].Text = string.Format("{0:###,###,##0}", ar["LEAVING"]);
e.Row.Cells[13].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[13].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[14].Text = string.Format("{0:###,###,##0}", a[0]["SSS05"]); e.Row.Cells[14].Text = string.Format("{0:###,###,##0}", ar["SSS05"]);
e.Row.Cells[14].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[14].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[15].Text = string.Format("{0:###,###,##0}", a[0]["SSS04"]); e.Row.Cells[15].Text = string.Format("{0:###,###,##0}", ar["SSS04"]);
e.Row.Cells[15].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[15].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[16].Text = string.Format("{0:###,###,##0}", a[0]["SSS07"]); e.Row.Cells[16].Text = string.Format("{0:###,###,##0}", ar["SSS07"]);
e.Row.Cells[16].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[16].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[17].Text = string.Format("{0:###,###,##0}", a[0]["SSS06"]); e.Row.Cells[17].Text = string.Format("{0:###,###,##0}", ar["SSS06"]);
e.Row.Cells[17].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[17].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[18].Text = string.Format("{0:###,###,##0}", a[0]["SSS99"]); e.Row.Cells[18].Text = string.Format("{0:###,###,##0}", ar["SSS99"]);
e.Row.Cells[18].HorizontalAlign = HorizontalAlign.Center; e.Row.Cells[18].HorizontalAlign = HorizontalAlign.Center;
} }
} }