Module SQL_長照拆帳制計算 Friend Sub SQL_薪資彙總表_仁寶2() ConnOpen() SQL1 = "SELECT 姓名, SUM(BA正常) AS BA正常, SUM(GA正常) AS GA正常, SUM(GA加級) AS GA加級, SUM([申請總額 仁寶BA&SC]) AS [申請總額(仁寶) BA&GA&SC], SUM([申請總額 長照BA&SC]) AS [申請總額(長照) BA&GA&SC], SUM(GA加級) AS [BA&GA& SC拆帳比], SUM(AA正常) AS AA正常, SUM([申請總額 仁寶AA]) AS [申請總額 仁寶AA], SUM([申請總額 長照AA]) AS [申請總額 長照AA], SUM(AA正常) AS [AA 拆帳比], SUM(AA扣除額) AS AA扣除額, SUM(服務津貼) AS 服務津貼, SUM(轉場津貼) AS 轉場津貼, SUM(薪資加項D) AS 薪資加項D, SUM(轉場薪資) AS 轉場薪資, SUM(加班費) AS 加班費, SUM(加項總計) AS 加項總計, SUM(減項總計) AS 減項總計, SUM(轉場薪資) AS [轉場薪資.], SUM([平1.34]) AS [平1.34], SUM([平1.67]) AS [平1.67], SUM([休1.34]) AS [休1.34], SUM([休1.67]) AS [休1.67], SUM([國2.00]) AS [國2.00], SUM(公司負擔總計) AS 公司負擔總計, SUM(實領薪資) AS 薪資總額, SUM([申請總額 仁寶BA&SC]) AS [申請總額(仁寶) BA&GA&SC.], SUM([申請總額 長照BA&SC]) AS [申請總額(長照) BA&GA&SC.], SUM([申請總額 仁寶AA]) AS [申請總額 仁寶AA.], SUM([申請總額 長照AA]) AS [申請總額 長照AA.], SUM(AA扣除額) AS [AA扣除額.], SUM(實領薪資) AS [薪資總額.], SUM(公司負擔總計) AS [公司負擔總計.], SUM(餘額) AS 餘額, SUM(餘額) AS 餘額比, SUM(總服務時數) AS 總服務時數, SUM(總轉場時數) AS 總轉場時數, SUM(總轉場時數) AS 服務轉場比 FROM 人事拆帳制彙總表_仁寶 WHERE " & PA1 & " GROUP BY 姓名 ORDER BY 姓名" 'AVG(BA正常) AS [BA正常(平均)], AVG(GA正常) AS [GA正常(平均)], AVG(GA加級) AS [GA加級(平均)], AVG(AA正常) AS [AA正常(平均)], AVG(服務津貼) AS [服務津貼(平均)], 'AVG(轉場津貼) AS [轉場津貼(平均)], AVG(薪資加項D) AS [薪資加項D(平均)], AVG(加班費) AS [加班費(平均)], AVG(加項總計) AS [加項總計(平均)], AVG(減項總計) AS [減項總計(平均)], 'AVG(轉場薪資) AS [轉場薪資(平均)], AVG([平1.34]) AS [平1.34(平均)], AVG([平1.67]) AS [平1.67(平均)], AVG([休1.34]) AS [休1.34(平均)], AVG([休1.67]) AS [休1.67(平均)], 'AVG([國2.00]) AS [國2.00(平均)], AVG(公司負擔總計) AS [公司負擔總計(平均)], AVG(AA扣除額) AS [AA扣除額(平均)], AVG(實領薪資) AS [實領薪資(平均)], 'AVG([申請總額 仁寶BA&SC]) AS [申請總額 仁寶BA&SC(平均)], AVG([申請總額 仁寶AA]) AS [申請總額 仁寶AA(平均)], AVG([申請總額 長照BA&SC]) AS [申請總額 長照BA&SC(平均)], 'AVG([申請總額 長照AA]) AS [申請總額 長照AA(平均)], AVG(餘額) AS [餘額(平均)], AVG(總服務時數) AS [總服務時數(平均)], AVG(總轉場時數) AS [總轉場時數(平均)] CmdSet_For_DGV() End Sub Friend Sub SQL_薪資彙總表_仁寶1() ConnOpen() SQL1 = "SELECT DISTINCT 人事拆帳制薪資報表明細_仁寶.姓名, Q1.BA比例, Q1.BA比例 AS BA正常, Q1.BA比例 AS GA正常, Q1.BA比例 AS BA, Q1.BA比例 AS GA, Q1.BA比例 AS GA加給, Q1.BA比例 AS 其他, Q1.BA比例 AS 主薪, Q1.BA比例 AS AA比例, Q1.BA比例 AS AA, Q1.BA比例 AS 副薪, Q1.BA比例 AS 總薪, Q1.BA比例 AS 平日工時, Q1.BA比例 AS [平日平均時薪/含平日加班], Q1.BA比例 AS 平日加班扣除額, Q1.BA比例 AS [平日月薪/不含加班], Q1.BA比例 AS 正常班平均時薪, Q1.BA比例 AS 服務津貼, Q1.BA比例 AS 轉場津貼, Q1.BA比例 AS [修正後月薪+A+津貼], Q1.BA比例 AS 加班費計算時薪標準, Q1.BA比例 AS 加班費, Q1.BA比例 AS 總薪資, Q1.BA比例 " & Ao(0) & ", Q1.BA比例 " & Ao(1) & ", Q1.BA比例 " & Ao(2) & ", Q1.BA比例 " & Ao(3) & ", Q1.BA比例 " & Ao(4) & ", Q1.BA比例 " & Ao(5) & ", Q1.BA比例 " & Ao(6) & ", Q1.BA比例 " & Ao(7) & ", Q1.BA比例 " & Ao(8) & ", Q1.BA比例 " & Ao(9) & ", Q1.BA比例 " & Ao(10) & ", Q1.BA比例 " & Ao(11) & ", Q1.BA比例 AS 減項總計, Q1.BA比例 " & Bo(0) & ", Q1.BA比例 " & Bo(1) & ", Q1.BA比例 " & Bo(2) & ", Q1.BA比例 " & Bo(3) & ", Q1.BA比例 " & Bo(4) & ", Q1.BA比例 " & Bo(5) & ", Q1.BA比例 " & Bo(6) & ", Q1.BA比例 " & Bo(7) & ", Q1.BA比例 " & Bo(8) & ", Q1.BA比例 " & Bo(9) & ", Q1.BA比例 " & Bo(10) & ", Q1.BA比例 " & Bo(11) & ", Q1.BA比例 AS 加項總計, Q1.BA比例 " & Co(0) & ", Q1.BA比例 AS 總時數, Q1.BA比例 AS 平均時薪, Q1.BA比例 AS [BA+GA+AA_總額], Q1.BA比例 AS [餘額], Q1.BA比例 AS [餘額比], Q1.BA比例 AS AA03, Q1.BA比例 AS AA04, Q1.BA比例 AS AA05, Q1.BA比例 AS AA06, Q1.BA比例 AS AA08, Q1.BA比例 AS AA10, Q1.BA比例 AS AA11, Q1.BA比例 AS GAM1, Q1.BA比例 AS GAM2, Q1.BA比例 AS 平日轉場, Q1.BA比例 AS 假日轉場, Q1.BA比例 AS [平0-8], Q1.BA比例 AS [平9-10], Q1.BA比例 AS [平11-12], Q1.BA比例 AS [國0-2], Q1.BA比例 AS [國3-8], Q1.BA比例 AS [休0-2], Q1.BA比例 AS [休3-8], Q1.BA比例 AS 總服務時數, Q1.BA比例 AS 總轉場時數, Q1.BA比例 AS 服務轉場比, Q1.BA比例 " & Dq(0) & ", Q1.BA比例 " & Dq(1) & ", Q1.BA比例 " & Dq(2) & ", Q1.BA比例 " & Dq(3) & ", Q1.BA比例 " & Dq(4) & ", Q1.BA比例 " & Dq(5) & ", Q1.BA比例 " & Dq(6) & ", Q1.BA比例 " & Dq(7) & ", Q1.BA比例 " & Dq(8) & ", Q1.BA比例 " & Dq(9) & ", Q1.BA比例 " & Dq(10) & ", Q1.BA比例 " & Dq(11) & ", Q1.BA比例 AS 薪資加項總計, Q1.BA比例 AS GA比, Q1.BA比例 " & Eo(0) & ", Q1.BA比例 " & Eo(1) & ", Q1.BA比例 " & Eo(2) & ", Q1.BA比例 " & Eo(3) & ", Q1.BA比例 " & Eo(4) & ", Q1.BA比例 " & Eo(5) & ", Q1.BA比例 " & Eo(6) & ", Q1.BA比例 " & Eo(7) & ", Q1.BA比例 " & Eo(8) & ", Q1.BA比例 " & Eo(9) & ", Q1.BA比例 " & Eo(10) & ", Q1.BA比例 " & Eo(11) & ", Q1.BA比例 AS 公司負擔總計, Q1.BA比例 AS AA07, Q1.BA比例 AS AA09, Q1.BA比例 AS 正常班轉場, Q1.BA比例 AS [平加班1.34], Q1.BA比例 AS [平加班1.67], Q1.BA比例 AS [休加班1.34], Q1.BA比例 AS [休加班1.67], Q1.BA比例 AS [國加班2.00], Q1.BA比例 AS 轉場薪資, Q1.BA比例 AS [平薪資1.34], Q1.BA比例 AS [平薪資1.67], Q1.BA比例 AS [休薪資1.34], Q1.BA比例 AS [休薪資1.67], Q1.BA比例 AS [國薪資2.00], Q1.BA比例 AS BAORSC, Q1.BA比例 AS AA長短, Q1.BA比例 AS BAORSC仁, Q1.BA比例 AS AA長短仁, Q1.BA比例 AS 實際總薪資 FROM 人事拆帳制薪資報表明細_仁寶 LEFT OUTER JOIN (SELECT 姓名, 姓名 AS BA比例 FROM 人事拆帳制明細_仁寶 WHERE (姓名 NOT LIKE '') AND " & PA1 & " GROUP BY 姓名, 姓名) AS Q1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q1.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 全額)) AS BA FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_1 WHERE (姓名 NOT LIKE '') AND " & PA1 & " AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'BA%') GROUP BY 姓名) AS Q2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q2.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 全額)) AS GA FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_2 WHERE (姓名 NOT LIKE '') AND " & PA1 & " AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'GA%') GROUP BY 姓名) AS Q3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q3.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 次數)) AS GAM1 FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_3 WHERE (姓名 NOT LIKE '') AND " & PA1 & " AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'GA%') GROUP BY 姓名) AS M1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M1.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 次數)) AS GAM2 FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_4 WHERE (姓名 NOT LIKE '') AND " & PA1 & " AND (編號 LIKE 'GA%') GROUP BY 姓名) AS M2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M2.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA03 FROM " & SQL2 & " WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA03%') GROUP BY 服務人員) AS A1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A1.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA04 FROM " & SQL2 & " AS " & SQL2 & "_6 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA04%') GROUP BY 服務人員) AS A2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A2.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA05 FROM " & SQL2 & " AS " & SQL2 & "_5 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA05%') GROUP BY 服務人員) AS A3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A3.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA06 FROM " & SQL2 & " AS " & SQL2 & "_4 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA06%') GROUP BY 服務人員) AS A4 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A4.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA08 FROM " & SQL2 & " AS " & SQL2 & "_3 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA08%') GROUP BY 服務人員) AS A5 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A5.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA10 FROM " & SQL2 & " AS " & SQL2 & "_2 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA10%') GROUP BY 服務人員) AS A6 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A6.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA11 FROM " & SQL2 & " AS " & SQL2 & "_1 WHERE (服務人員 NOT LIKE '') AND " & PA1 & " AND (服務代碼 LIKE 'AA11%') GROUP BY 服務人員) AS A7 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A7.姓名 LEFT OUTER JOIN (SELECT TOP (100) PERCENT 姓名, CONVERT(DECIMAL(18, 2), 平日排班轉場時間_分) / 60 AS 平日轉場, CONVERT(DECIMAL(18, 2), 假日排班轉場時間_分) / 60 AS 假日轉場, CONVERT(DECIMAL(18, 2), 平日班時數_分) / 60 AS [平0-8], CONVERT(DECIMAL(18, 2), B平日9_10小時) / 60 + CONVERT(DECIMAL(18, 2), GS平日9_10小時) / 60 AS [平9-10], CONVERT(DECIMAL(18, 2), B平日11_12小時) / 60 + CONVERT(DECIMAL(18, 2), GS平日11_12小時) / 60 AS [平11-12], CONVERT(DECIMAL(18, 2), B國假0_2小時) / 60 + CONVERT(DECIMAL(18, 2), GS國假0_2小時) / 60 AS [國0-2], CONVERT(DECIMAL(18, 2), B國假3_8小時) / 60 + CONVERT(DECIMAL(18, 2), GS國假3_8小時) / 60 AS [國3-8], CONVERT(DECIMAL(18, 2), B休假0_2小時) / 60 + CONVERT(DECIMAL(18, 2), GS休假0_2小時) / 60 AS [休0-2], CONVERT(DECIMAL(18, 2), B休假3_8小時) / 60 + CONVERT(DECIMAL(18, 2), GS休假3_8小時) / 60 AS [休3-8] FROM 人事拆帳制薪資報表明細_仁寶 AS 人事拆帳制薪資報表明細_仁寶_1 WHERE (姓名 NOT LIKE '') AND " & PA1 & " ORDER BY 姓名) AS M3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M3.姓名 LEFT OUTER JOIN (SELECT 姓名, A01, A02, A03, A04, A05, A06, A07, A08, A09, A10, A11, A12, B01, B02, B03, B04, B05, B06, B07, B08, B09, B10, B11, B12, C01, 其他, D01, D02, D03, D04, D05, D06, D07, D08, D09, D10, D11, D12, GA比, E01, E02, E03, E04, E05, E06, E07, E08, E09, E10, E11, E12 FROM 人事拆帳制其他應收付表 WHERE " & PA1 & ") AS Q4 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q4.姓名 WHERE (人事拆帳制薪資報表明細_仁寶.姓名 NOT LIKE '') AND " & PA2 & " ORDER BY 人事拆帳制薪資報表明細_仁寶.姓名" CmdSet_For_DGV() End Sub Friend Sub SQL_薪資彙總表_仁寶() ConnOpen() SQL1 = "SELECT 人事拆帳制薪資報表明細_仁寶.姓名, Q1.BA比例, Q1.BA比例 AS BA正常, Q1.BA比例 AS GA正常, Q2.BA, Q3.GA, Q3.GA AS GA加給, Q4.其他, Q1.BA比例 AS 主薪, Q1.BA比例 AS AA比例, Q1.BA比例 AS AA, Q1.BA比例 AS 副薪, Q1.BA比例 AS 總薪, M3.平日轉場 + M3.[平0-8] AS 平日工時, Q1.BA比例 AS [平日平均時薪/含平日加班], Q1.BA比例 AS 平日加班扣除額, Q1.BA比例 AS [平日月薪/不含加班], Q1.BA比例 AS 正常班平均時薪, Q1.BA比例 AS 服務津貼, Q1.BA比例 AS 轉場津貼, Q1.BA比例 AS [修正後月薪+A+津貼], Q1.BA比例 AS 加班費計算時薪標準, Q1.BA比例 AS 加班費, Q1.BA比例 AS 總薪資, Q4.A01 " & Ao(0) & ", Q4.A02 " & Ao(1) & ", Q4.A03 " & Ao(2) & ", Q4.A04 " & Ao(3) & ", Q4.A05 " & Ao(4) & ", Q4.A06 " & Ao(5) & ", Q4.A07 " & Ao(6) & ", Q4.A08 " & Ao(7) & ", Q4.A09 " & Ao(8) & ", Q4.A10 " & Ao(9) & ", Q4.A11 " & Ao(10) & ", Q4.A12 " & Ao(11) & ", Q4.A12 AS 減項總計, Q4.B01 " & Bo(0) & ", Q4.B02 " & Bo(1) & ", Q4.B03 " & Bo(2) & ", Q4.B04 " & Bo(3) & ", Q4.B05 " & Bo(4) & ", Q4.B06 " & Bo(5) & ", Q4.B07 " & Bo(6) & ", Q4.B08 " & Bo(7) & ", Q4.B09 " & Bo(8) & ", Q4.B10 " & Bo(9) & ", Q4.B11 " & Bo(10) & ", Q4.B12 " & Bo(11) & ", Q4.A12 AS 加項總計, Q4.C01 " & Co(0) & ", Q1.BA比例 AS 總時數, Q1.BA比例 AS 平均時薪, Q1.BA比例 AS [BA+GA+AA_總額], Q1.BA比例 AS [餘額], Q1.BA比例 AS [餘額比], A1.AA03, A2.AA04, A3.AA05, A4.AA06, A5.AA08, A6.AA10, A7.AA11, M1.GAM1, M2.GAM2, M3.平日轉場, M3.假日轉場, M3.[平0-8], M3.[平9-10], M3.[平11-12], M3.[國0-2], M3.[國3-8], M3.[休0-2], M3.[休3-8], M3.平日轉場 AS 總服務時數, M3.平日轉場 AS 總轉場時數, Q1.BA比例 AS 服務轉場比, Q4.D01 " & Dq(0) & ", Q4.D02 " & Dq(1) & ", Q4.D03 " & Dq(2) & ", Q4.D04 " & Dq(3) & ", Q4.D05 " & Dq(4) & ", Q4.D06 " & Dq(5) & ", Q4.D07 " & Dq(6) & ", Q4.D08 " & Dq(7) & ", Q4.D09 " & Dq(8) & ", Q4.D10 " & Dq(9) & ", Q4.D11 " & Dq(10) & ", Q4.D12 " & Dq(11) & ", Q4.D12 AS 薪資加項總計, Q4.GA比, Q4.E01 " & Eo(0) & ", Q4.E02 " & Eo(1) & ", Q4.E03 " & Eo(2) & ", Q4.E04 " & Eo(3) & ", Q4.E05 " & Eo(4) & ", Q4.E06 " & Eo(5) & ", Q4.E07 " & Eo(6) & ", Q4.E08 " & Eo(7) & ", Q4.E09 " & Eo(8) & ", Q4.E10 " & Eo(9) & ", Q4.E11 " & Eo(10) & ", Q4.E12 " & Eo(11) & ", Q4.E12 AS 公司負擔總計, A8.AA07, A9.AA09, Q4.D01 AS 正常班轉場, Q4.D01 AS [平加班1.34], Q4.D01 AS [平加班1.67], Q4.D01 AS [休加班1.34], Q4.D01 AS [休加班1.67], Q4.D01 AS [國加班2.00], Q4.D01 AS 轉場薪資, Q4.D01 AS [平薪資1.34], Q4.D01 AS [平薪資1.67], Q4.D01 AS [休薪資1.34], Q4.D01 AS [休薪資1.67], Q4.D01 AS [國薪資2.00], Q5.金額 AS BAORSC, Q6.金額 AS AA長短, Q7.BAORSC仁, Q8.AA長短仁, Q4.D01 AS 實際總薪資, Q4.D01 AS AA剃除 FROM 人事拆帳制薪資報表明細_仁寶 LEFT OUTER JOIN (SELECT 姓名, 姓名 AS BA比例 FROM 人事拆帳制明細_仁寶 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') GROUP BY 姓名) AS Q1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q1.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 全額)) AS BA FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_1 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'BA%' OR 編號 LIKE 'SC%') GROUP BY 姓名) AS Q2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q2.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 全額)) AS GA FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_2 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'GA%') GROUP BY 姓名) AS Q3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q3.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 次數)) AS GAM1 FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_3 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (加班類型 LIKE N'正常班') AND (編號 LIKE 'GA%') GROUP BY 姓名) AS M1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M1.姓名 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 次數)) AS GAM2 FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_4 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (編號 LIKE 'GA%') GROUP BY 姓名) AS M2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M2.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA03 FROM " & SQL2 & " WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA03%') GROUP BY 服務人員) AS A1 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A1.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA04 FROM " & SQL2 & " AS " & SQL2 & "_8 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA04%') GROUP BY 服務人員) AS A2 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A2.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA05 FROM " & SQL2 & " AS " & SQL2 & "_7 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA05%') GROUP BY 服務人員) AS A3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A3.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA06 FROM " & SQL2 & " AS " & SQL2 & "_6 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA06%') GROUP BY 服務人員) AS A4 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A4.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA08 FROM " & SQL2 & " AS " & SQL2 & "_5 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA08%') GROUP BY 服務人員) AS A5 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A5.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA10 FROM " & SQL2 & " AS " & SQL2 & "_4 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA10%') GROUP BY 服務人員) AS A6 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A6.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA11 FROM " & SQL2 & " AS " & SQL2 & "_3 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA11%') GROUP BY 服務人員) AS A7 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A7.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA07 FROM " & SQL2 & " AS " & SQL2 & "_2 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA07%') GROUP BY 服務人員) AS A8 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A8.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA09 FROM " & SQL2 & " AS " & SQL2 & "_1 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (服務代碼 LIKE 'AA09%') GROUP BY 服務人員) AS A9 ON 人事拆帳制薪資報表明細_仁寶.姓名 = A9.姓名 LEFT OUTER JOIN (SELECT TOP (100) PERCENT 姓名, CONVERT(DECIMAL(18, 2), 平日排班轉場時間_分) / 60 AS 平日轉場, CONVERT(DECIMAL(18, 2), 假日排班轉場時間_分) / 60 AS 假日轉場, CONVERT(DECIMAL(18, 2), 平日班時數_分) / 60 AS [平0-8], CONVERT(DECIMAL(18, 2), B平日9_10小時) / 60 + CONVERT(DECIMAL(18, 2), GS平日9_10小時) / 60 AS [平9-10], CONVERT(DECIMAL(18, 2), B平日11_12小時) / 60 + CONVERT(DECIMAL(18, 2), GS平日11_12小時) / 60 AS [平11-12], CONVERT(DECIMAL(18, 2), B國假0_2小時) / 60 + CONVERT(DECIMAL(18, 2), GS國假0_2小時) / 60 AS [國0-2], CONVERT(DECIMAL(18, 2), B國假3_8小時) / 60 + CONVERT(DECIMAL(18, 2), GS國假3_8小時) / 60 AS [國3-8], CONVERT(DECIMAL(18, 2), B休假0_2小時) / 60 + CONVERT(DECIMAL(18, 2), GS休假0_2小時) / 60 AS [休0-2], CONVERT(DECIMAL(18, 2), B休假3_8小時) / 60 + CONVERT(DECIMAL(18, 2), GS休假3_8小時) / 60 AS [休3-8] FROM 人事拆帳制薪資報表明細_仁寶 AS 人事拆帳制薪資報表明細_仁寶_1 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') ORDER BY 姓名) AS M3 ON 人事拆帳制薪資報表明細_仁寶.姓名 = M3.姓名 LEFT OUTER JOIN (SELECT 姓名, A01, A02, A03, A04, A05, A06, A07, A08, A09, A10, A11, A12, B01, B02, B03, B04, B05, B06, B07, B08, B09, B10, B11, B12, C01, 其他, D01, D02, D03, D04, D05, D06, D07, D08, D09, D10, D11, D12, GA比, E01, E02, E03, E04, E05, E06, E07, E08, E09, E10, E11, E12 FROM 人事拆帳制其他應收付表 WHERE (流水號 LIKE '" & PA1 & "')) AS Q4 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q4.姓名 LEFT OUTER JOIN (SELECT 服務人員, SUM(CONVERT(DECIMAL(18, 2), 次數) * CONVERT(DECIMAL(18, 2), 價格)) AS 金額 FROM 人事拆帳制BA碼項目長照所 WHERE (流水號 LIKE '" & PA1 & "') AND (服務人員 NOT LIKE '') GROUP BY 服務人員) AS Q5 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q5.服務人員 LEFT OUTER JOIN (SELECT 服務人員, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS 金額 FROM 人事拆帳制A碼項目長照所 WHERE (流水號 LIKE '" & PA1 & "') AND (服務人員 NOT LIKE '') GROUP BY 服務人員) AS Q6 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q6.服務人員 LEFT OUTER JOIN (SELECT 姓名, SUM(CONVERT(DECIMAL(18, 2), 全額)) AS BAORSC仁 FROM 人事拆帳制明細_仁寶 AS 人事拆帳制明細_仁寶_5 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (編號 LIKE 'BA%' OR 編號 LIKE 'SC%') GROUP BY 姓名) AS Q7 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q7.姓名 LEFT OUTER JOIN (SELECT 服務人員 AS 姓名, SUM(CONVERT(DECIMAL(18, 2), 小計)) AS AA長短仁 FROM 人事拆帳制A碼項目清冊 WHERE (服務人員 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') GROUP BY 服務人員) AS Q8 ON 人事拆帳制薪資報表明細_仁寶.姓名 = Q8.姓名 WHERE (人事拆帳制薪資報表明細_仁寶.姓名 NOT LIKE '') AND (人事拆帳制薪資報表明細_仁寶.流水號 LIKE '" & PA1 & "%') ORDER BY 人事拆帳制薪資報表明細_仁寶.姓名" CmdSet_For_DGV() End Sub Friend Sub SQL_加班計算_仁寶() ConnOpen() SQL1 = "SELECT 人事拆帳制每日明細_仁寶.日期, DATENAME(WEEKDAY, CONVERT(DATE, 人事拆帳制每日明細_仁寶.日期)) AS 星期, 人事拆帳制每日明細_仁寶.姓名, 人事拆帳制每日明細_仁寶.服務個案, 人事拆帳制每日明細_仁寶.排班轉場時間_分, 人事拆帳制每日明細_仁寶.服務時間_分, 人事拆帳制每日明細_仁寶.加班類型 AS [上班時間累加/分], 人事拆帳制每日明細_仁寶.加班類型 AS 開始加班, 人事拆帳制每日明細_仁寶.加班類型 AS 第一段, 人事拆帳制每日明細_仁寶.加班類型 AS 第二段, 人事拆帳制每日明細_仁寶.加班類型 AS A10, 人事拆帳制每日明細_仁寶.加班類型 AS A11, 人事拆帳制每日明細_仁寶.加班類型 AS A12, 人事拆帳制每日明細_仁寶.加班類型 AS A20, 人事拆帳制每日明細_仁寶.加班類型 AS A21, 人事拆帳制每日明細_仁寶.加班類型 AS A22, 人事拆帳制每日明細_仁寶.加班類型 AS A30, 人事拆帳制每日明細_仁寶.加班類型 AS A31, 人事拆帳制每日明細_仁寶.加班類型 AS A32, 人事拆帳制每日明細_仁寶.加班類型 AS A40, 人事拆帳制每日明細_仁寶.加班類型 AS A41, 人事拆帳制每日明細_仁寶.加班類型 AS A42, 人事拆帳制每日明細_仁寶.加班類型 AS A50, 人事拆帳制每日明細_仁寶.加班類型 AS A51, 人事拆帳制每日明細_仁寶.加班類型 AS A52, 人事拆帳制每日明細_仁寶.加班類型 AS A60, 人事拆帳制每日明細_仁寶.加班類型 AS A61, 人事拆帳制每日明細_仁寶.加班類型 AS A62, 人事拆帳制每日明細_仁寶.加班類型 AS 驗1, 人事拆帳制每日明細_仁寶.加班類型 AS 驗2, 人事拆帳制每日明細_仁寶.加班類型 AS 驗3, 人事拆帳制每日明細_仁寶.加班類型 AS 驗4, 人事拆帳制每日明細_仁寶.加班類型 AS 驗5, 人事拆帳制每日明細_仁寶.加班類型 AS 驗6, Q1.BA比例, 人事拆帳制每日明細_仁寶.加班類型 AS 退1, 人事拆帳制每日明細_仁寶.加班類型 AS 退2, 人事拆帳制每日明細_仁寶.加班類型 AS 退3, 人事拆帳制每日明細_仁寶.加班類型 AS 退4, 人事拆帳制每日明細_仁寶.加班類型 AS 退5, 人事拆帳制每日明細_仁寶.加班類型 AS 退6, 人事拆帳制每日明細_仁寶.加班類型 AS 合退 FROM 人事拆帳制每日明細_仁寶 LEFT OUTER JOIN (SELECT 姓名, 員工拆帳比 AS BA比例 FROM 人事拆帳制明細_仁寶 WHERE (姓名 NOT LIKE '') AND (流水號 LIKE '" & PA1 & "%') AND (員工拆帳比 NOT LIKE '') GROUP BY 姓名, 員工拆帳比) AS Q1 ON 人事拆帳制每日明細_仁寶.姓名 = Q1.姓名 WHERE (人事拆帳制每日明細_仁寶.流水號 LIKE '" & PA1 & "%') AND (人事拆帳制每日明細_仁寶.姓名 IS NOT NULL) ORDER BY 人事拆帳制每日明細_仁寶.姓名, 人事拆帳制每日明細_仁寶.日期, CONVERT(DECIMAL(18, 2), 人事拆帳制每日明細_仁寶.序)" CmdSet_For_DGV() End Sub Friend Sub SQL_服務資料_仁寶() ConnOpen() '-----注意轉移計算分水嶺---------------------------------------------- SQL1 = "SELECT 服務日期, 排班時間, 居服員姓名, 姓名, 排班時間長度, LEFT(服務項目代碼, 5) AS 代碼, 姓名 AS 已使用 FROM 人事拆帳制服務紀錄_仁寶 WHERE (流水號 LIKE '" & PA1 & "%') AND (服務項目代碼 NOT LIKE '') AND (服務項目代碼 NOT LIKE 'AA%') ORDER BY 居服員姓名, 服務日期, 排班時間 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_碼別() ConnOpen() : SQL1 = "SELECT 碼別, 每小時_錢 FROM 人事拆帳制碼別" : CmdSet_For_DGV() End Sub Friend Sub SQL_碼別_新增() ConnOpen() : SQL1 = "INSERT INTO 人事拆帳制碼別 (碼別, 每小時_錢) VALUES (N'" & PA20 & "', N'" & PA21 & "')" : CmdSet_For_dr() End Sub Friend Sub SQL_碼別_修改() ConnOpen() : SQL1 = "UPDATE 人事拆帳制碼別 SET 每小時_錢 = N'" & PA21 & "' WHERE 碼別 LIKE N'" & PA20 & "'" : CmdSet_For_dr() End Sub Friend Sub SQL_碼別_查詢() ConnOpen() : SQL1 = "SELECT 碼別, 每小時_錢 FROM 人事拆帳制碼別 WHERE 碼別 LIKE N'" & PA20 & "'" : CmdSet_For_dr() End Sub Friend Sub SQL_表頭() ConnOpen() : SQL1 = "SELECT 對應, 欄位名稱 FROM 人事拆帳制其他表抬頭 ORDER BY 對應" : CmdSet_For_DGV() End Sub Friend Sub SQL_轉場計算() ConnOpen() SQL1 = "SELECT 姓名, 日期, 排班轉場時間_分, 服務時間_分, 加班類型 AS 累計時間, 加班類型 AS 加班時段, 加班類型, 加班類型 AS 星期, 加班類型 AS 正常轉場, 加班類型 AS 累計轉場, 加班類型 AS 轉場取出 FROM 人事拆帳制每日明細_仁寶 WHERE (流水號 LIKE N'" & PA1 & "%') AND (轉場時薪 NOT LIKE '') ORDER BY CAST(序 AS INT)" CmdSet_For_DGV() End Sub Friend Sub SQL_AA剔除計算() ConnOpen() SQL1 = "SELECT 服務日期, 居服員姓名, LEFT(服務項目代碼, 2) AS 代碼, 申報費用, 加班類型, 排班時間, 排班時間長度, 排班時間長度 AS 正常班轉場, 排班時間長度 AS 累計時間, 排班時間長度 AS 剃除金額 FROM 人事拆帳制服務紀錄_仁寶 WHERE (流水號 LIKE '" & PA1 & "%') AND (服務項目代碼 NOT LIKE '') AND (服務項目代碼 NOT LIKE 'AA07%') AND (服務項目代碼 NOT LIKE 'AA09') ORDER BY 居服員姓名, 服務日期, 排班時間, LEFT(服務項目代碼, 2) DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_放差額() ConnOpen() SQL1 = "SELECT 流水號, 姓名, 流水號 AS 差額 FROM 人事拆帳制薪資報表明細_仁寶 WHERE (流水號 LIKE '" & PA1 & "%') AND (姓名 NOT LIKE '') GROUP BY 姓名, 流水號 ORDER BY 姓名" CmdSet_For_DGV() End Sub Friend Sub SQL_讀差額() ConnOpen() : SQL1 = "SELECT 流水號, 姓名, 差額 FROM 人事拆帳制A碼差額 WHERE (流水號 LIKE '" & PA10 & "%') ORDER BY 姓名" : CmdSet_For_DGV() End Sub Friend Sub SQL_查差額() ConnOpen() : SQL1 = "SELECT TOP(1) 流水號, 姓名, 差額 FROM 人事拆帳制A碼差額 WHERE (流水號 LIKE '" & PA10 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_查最低薪資() ConnOpen() : SQL1 = "SELECT 最低薪資, AA扣除 FROM 人事拆帳制最低工資 WHERE (日期 LIKE '" & PA1 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_最低薪資新增() ConnOpen() SQL1 = "INSERT INTO 人事拆帳制最低工資 (日期, 最低薪資, AA扣除) VALUES (N'" & PA1 & "', N'" & 拆帳制薪資試算表.最低薪資_lb.Text & "', N'" & 拆帳制薪資試算表.扣除狀態_ch.Checked & "')" CmdSet_For_dr() End Sub Friend Sub SQL_最低薪資修改(日期 As String, 最低薪資 As String, AA扣除 As String) ConnOpen() SQL1 = "UPDATE 人事拆帳制最低工資 SET 最低薪資 = N'" & 最低薪資 & "', AA扣除 = N'" & AA扣除 & "' WHERE 日期 LIKE N'" & 日期 & "'" CmdSet_For_dr() End Sub Friend Sub SQL_差額刪除() ConnOpen() : SQL1 = "DELETE 人事拆帳制A碼差額 WHERE (流水號 LIKE '" & PA1 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_差額新增() ConnOpen() : SQL1 = "INSERT INTO 人事拆帳制A碼差額 (流水號, 姓名, 差額) VALUES " & SQL2 : CmdSet_For_dr() End Sub Friend Sub SQL_確認A碼長照() ConnOpen() : SQL1 = "SELECT TOP (1) 流水號 FROM 人事拆帳制A碼項目長照所 WHERE (流水號 LIKE '" & PA1 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_確認BA碼長照() ConnOpen() : SQL1 = "SELECT TOP (1) 流水號 FROM 人事拆帳制BA碼項目長照所 WHERE (流水號 LIKE '" & PA1 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_表頭_修改() ConnOpen() : SQL1 = "UPDATE 人事拆帳制其他表抬頭 SET 欄位名稱 = N'" & PA3 & "' WHERE 對應 LIKE N'" & PA2 & "'" : CmdSet_For_dr() End Sub Friend Sub SQL_BA比() ConnOpen() : SQL1 = "SELECT 流水號, 姓名, BA FROM 人事拆帳制BA比 WHERE 流水號 LIKE ''" : CmdSet_For_DGV() End Sub Friend Sub SQL_BA比_當月() ConnOpen() : SQL1 = "SELECT 流水號, 姓名, BA FROM 人事拆帳制BA比 WHERE 流水號 LIKE '" & PA1 & "%'" : CmdSet_For_DGV() End Sub Friend Sub SQL_BA比_新增() ConnOpen() : SQL1 = "INSERT INTO 人事拆帳制BA比 (流水號, 姓名, BA) VALUES" & SQL2 : CmdSet_For_dr() End Sub Friend Sub SQL_BA比_修改() ConnOpen() : SQL1 = "UPDATE 人事拆帳制BA比 SET BA = N'" & PA3 & "' WHERE 流水號 LIKE N'" & PA1 & "' AND 姓名 LIKE N'" & PA2 & "'" : CmdSet_For_dr() End Sub Friend Sub SQL_階級加給() ConnOpen() SQL1 = "SELECT 流水號, 內容, 級數, 加給, 級數 AS 級數1 FROM 人事拆帳制階級津貼設定 WHERE 流水號 LIKE N'" & PA1 & "%' ORDER BY 內容, 級數 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_階級加給_預設() ConnOpen() : SQL1 = "SELECT 流水號, 內容, 級數, 加給 FROM 人事拆帳制階級津貼設定 WHERE 流水號 LIKE N''" : CmdSet_For_DGV() End Sub Friend Sub SQL_階級加給_新增() ConnOpen() : SQL1 = "INSERT INTO 人事拆帳制階級津貼設定 (流水號, 內容, 級數, 加給) VALUES " & SQL2 : CmdSet_For_dr() End Sub Friend Sub SQL_階級加給_修改() ConnOpen() SQL1 = "UPDATE 人事拆帳制階級津貼設定 SET 級數 = N'" & PA10 & "', 加給 = N'" & PA20 & "' WHERE 流水號 LIKE N'" & PA1 & "' AND 內容 LIKE N'" & PA30 & "' AND 級數 = N'" & PA11 & "'" CmdSet_For_dr() End Sub Friend Sub SQL_資料日期01() ConnOpen() : SQL1 = "SELECT 流水號 FROM 人事拆帳制薪資報表明細_仁寶 GROUP BY 流水號 ORDER BY 流水號 DESC" : CmdSet_For_dr() End Sub Friend Sub SQL_其他表查詢() ConnOpen() : SQL1 = "SELECT 流水號 FROM 人事拆帳制其他應收付表 WHERE (流水號 LIKE N'" & PA1 & "%')" : CmdSet_For_dr() End Sub Friend Sub SQL_其他表_新增() ConnOpen() SQL1 = "INSERT INTO 人事拆帳制其他應收付表 (流水號, 姓名, A01, A02, A03, A04, A05, A06, A07, A08, A09, A10, A11, A12, B01, B02, B03, B04, B05, B06, B07, B08, B09, B10, B11, B12, C01, 其他, D01, D02, D03, D04, D05, D06, D07, D08, D09, D10, D11, D12, GA比, E01, E02, E03, E04, E05, E06, E07, E08, E09, E10, E11, E12) VALUES " & SQL2 CmdSet_For_dr() End Sub Friend Sub SQL_彙總表_新增() ConnOpen() SQL1 = "INSERT INTO 人事拆帳制彙總表_仁寶 (日期, 姓名, BA正常, GA正常, GA加級, AA正常, 服務津貼, 轉場津貼, 薪資加項D, 加班費, 加項總計, 減項總計, 轉場薪資, [平1.34], [平1.67], [休1.34], [休1.67], [國2.00], 公司負擔總計, AA扣除額, 實領薪資, [申請總額 仁寶BA&SC], [申請總額 仁寶AA], [申請總額 長照BA&SC], [申請總額 長照AA], 餘額, 總服務時數, 總轉場時數) VALUES " & SQL2 CmdSet_For_dr() End Sub Friend Sub SQL_彙總表_刪除() ConnOpen() : SQL1 = "DELETE 人事拆帳制彙總表_仁寶 WHERE 日期 LIKE N'" & PA1 & "'" : CmdSet_For_dr() End Sub Friend Sub SQL_其他表_修改() ConnOpen() : SQL1 = "UPDATE 人事拆帳制其他應收付表 SET " & SQL2 : CmdSet_For_dr() End Sub Friend Sub SQL_津貼權限() ConnOpen() SQL1 = "UPDATE 使用者權限管理表 SET CC15 = N'" & 拆帳制薪資試算表.服務津貼_cb.Checked & "', CC16 = N'" & 拆帳制薪資試算表.轉場津貼_cb.Checked & "'" CmdSet_For_dr() End Sub End Module