123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- Module SQL_排班系統
- Friend Sub SQL_排班系統_月份()
- ConnOpen()
- SQL1 = "SELECT 萬年曆.日期, 萬年曆.星期, AQAQ.請假類別 AS 休假
- FROM 萬年曆 LEFT OUTER JOIN
- (SELECT 日期 AS 日, 請假類別 FROM 人事請假單
- WHERE (請假類別 NOT LIKE N'特休') AND (請假類別 NOT LIKE N'%假') AND (請假類別 NOT LIKE N'未到') AND (請假類別 NOT LIKE N'離職')
- GROUP BY 日期, 請假類別) AS AQAQ ON 萬年曆.日期 = AQAQ.日
- WHERE (萬年曆.日期 LIKE N'" & PA1 & "/" & PA2 & "%')"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_人員排班()
- ConnOpen()
- SQL1 = "SELECT 排班資料表.姓名, COUNT(排班資料表.姓名) AS 天數, SUM(排班資料表.排時) AS 本月應上時數,
- SUM(CASE WHEN AA.請假類別 IS NULL THEN 排班資料表.排時 ELSE 0 END) AS 已排班時數,
- SUM(CASE WHEN AA.請假類別 IS NULL THEN 0 ELSE 排班資料表.排時 END) AS 未排班時數,
- SUM(CASE WHEN AA.請假類別 = '國定假日' OR
- 萬年曆.星期 = '星期六' THEN 1 ELSE 0 END) AS 假日出勤, SUM(排班資料表.後段) AS 後段
- FROM 排班資料表 LEFT OUTER JOIN
- 萬年曆 ON 排班資料表.日期 = 萬年曆.日期 LEFT OUTER JOIN
- (SELECT 日期, 請假類別
- FROM 人事請假單
- WHERE (請假類別 LIKE '國定假日') AND (日期 LIKE N'" & PA & "%')
- GROUP BY 日期, 請假類別) AS AA ON 排班資料表.日期 = AA.日期
- WHERE (排班資料表.日期 LIKE N'" & PA & "%') AND (排班資料表.姓名 NOT LIKE '') AND (排班資料表.班別 NOT LIKE N'休%')
- GROUP BY 排班資料表.姓名
- ORDER BY 排班資料表.姓名"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_當天排班()
- ConnOpen()
- If 排班資料.職員_ch.Checked = True Then
- SQL1 = "SELECT 班別, STRING_AGG(姓名, N'、') AS 人員 FROM 排班資料表
- WHERE (日期 LIKE N'" & PA & "') AND (姓名 NOT LIKE N'') AND (排班資料表.班別 NOT LIKE N'休%')
- GROUP BY 班別 ORDER BY 班別"
- ElseIf 排班資料.請休假_ch.Checked = True Then
- SQL1 = "SELECT 人事請假單.請假類別 AS 班別, STRING_AGG(ras_Users.UserName, N'、') AS 人員
- FROM 人事請假單 INNER JOIN ras_Users ON 人事請假單.員工編號 = ras_Users.DIN
- WHERE (人事請假單.請假類別 NOT LIKE '未到') AND (人事請假單.請假類別 NOT LIKE '國定假日') AND
- (人事請假單.請假類別 NOT LIKE '離職') AND (人事請假單.日期 LIKE N'" & PA & "')
- GROUP BY 人事請假單.請假類別 ORDER BY 人事請假單.請假類別"
- ElseIf 排班資料.醫生_ch.Checked = True Then
- SQL1 = "SELECT 班別, 人員
- FROM (SELECT 診別 + '-' + '早' AS 班別, 早 AS 人員 FROM 門診資料 WHERE (日期 LIKE N'" & PA & "')
- UNION
- SELECT 診別 + '-' + '中' AS 班別, 中 AS 人員 FROM 門診資料 AS 門診資料_2 WHERE (日期 LIKE N'" & PA & "')
- UNION
- SELECT 診別 + '-' + '晚' AS 班別, 晚 AS 人員 FROM 門診資料 AS 門診資料_1 WHERE (日期 LIKE N'" & PA & "')) AS SubQuery
- ORDER BY CASE WHEN 班別 LIKE '%早' THEN 1 WHEN 班別 LIKE '%中' THEN 2 WHEN 班別 LIKE '%晚' THEN 3 END"
- End If
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_班別_下拉()
- ConnOpen() : SQL1 = "SELECT 時段 FROM 時段設定 ORDER BY ID" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班系統_職務_下拉()
- ConnOpen() : SQL1 = "SELECT 職務 FROM 工作職務 ORDER BY 職務" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班系統_班別_人員()
- ConnOpen()
- SQL1 = "SELECT DIN AS [No.], DIN AS 編號, UserName AS 姓名
- FROM ras_Users
- WHERE (IsLockedOut = 0) AND (DIN <> 18) AND (DIN <> 19) AND (DIN <> 21)
- ORDER BY CAST(Password AS int)"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_班別_人員_全()
- ConnOpen()
- SQL1 = "SELECT DIN AS [No.], DIN AS 編號, UserName AS 姓名
- FROM ras_Users
- WHERE (DIN <> 18) AND (DIN <> 19) AND (DIN <> 21)
- ORDER BY CAST(Password AS int)"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_班別_排班()
- ConnOpen()
- SQL1 = "SELECT 排班資料表.姓名, 排班資料表.班別, 排班資料表.上班時段, 排班資料表.時數, 排班資料表.半天, 排班資料表.休息,
- 排班資料表.一段, 排班資料表.二段, 排班資料表.顏色1, 排班資料表.顏色2, 排班資料表.項次,
- CAST(排班資料表.項次 AS INT) AS 項, AA.請假類別, 排班資料表.後段
- FROM (SELECT 人事請假單.請假類別, ras_Users.UserName, 人事請假單.是否生效
- FROM 人事請假單 INNER JOIN ras_Users ON 人事請假單.員工編號 = ras_Users.DIN
- WHERE (人事請假單.請假類別 NOT LIKE '未到') AND (人事請假單.請假類別 NOT LIKE '國定假日') AND
- (人事請假單.請假類別 NOT LIKE '離職') AND (人事請假單.是否生效 NOT LIKE N'未核准') AND (人事請假單.日期 LIKE N'" & PA & "'))
- AS AA RIGHT OUTER JOIN 排班資料表 ON AA.UserName = 排班資料表.姓名
- WHERE (排班資料表.日期 LIKE N'" & PA & "')
- ORDER BY 項"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_個人整月排班()
- ConnOpen()
- SQL1 = "SELECT RIGHT(日期, 2) AS 項次, 姓名, 班別, 上班時段, 時數, 半天, 休息, 一段, 二段, 顏色1, 顏色2, 後段
- FROM 排班資料表
- WHERE (日期 LIKE N'" & PA & "%') AND (姓名 LIKE N'" & PA2 & "')
- ORDER BY 日期"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班系統_個人整月星期()
- ConnOpen()
- SQL1 = "SELECT 星期, 班表簽認 FROM 萬年曆 WHERE (日期 LIKE N'" & PA & "%') ORDER BY 日期"
- CmdSet_For_DGV()
- End Sub
- Friend Sub SQL_排班明細_判斷是否有資料()
- ConnOpen() : SQL1 = "SELECT 日期 FROM 排班資料表 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班明細_刪除當天()
- ConnOpen() : SQL1 = "DELETE 排班資料表 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班明細_新增當天()
- ConnOpen()
- SQL1 = "INSERT INTO 排班資料表 (日期, 項次, 姓名, 班別, 上班時段, 時數, 半天, 休息, 一段, 二段, 排時, 顏色1, 顏色2, 後段)
- VALUES (N'" & PA & "', N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "', N'" & Do2 & "', N'" & BL1 & "', " & Do1 & ", N'" & PA5 & "', N'" & PA6 & "', N'" & Do3 & "',
- N'" & PA7 & "', N'" & PA8 & "', N'" & PA9 & "')"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班簽核讀取()
- ConnOpen() : SQL1 = "SELECT 班表簽認, 值日生1, 值日生2 FROM 萬年曆 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班簽核()
- ConnOpen() : SQL1 = "UPDATE 萬年曆 SET 班表簽認 = N'Y' WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_值日生存檔()
- ConnOpen() : SQL1 = "UPDATE 萬年曆 SET 值日生1 = N'" & PA13 & "', 值日生2 = N'" & PA14 & "' WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班明細_上午上班()
- ConnOpen() : SQL1 = "SELECT 上午上班 FROM 時段設定 WHERE 時段 like N'" & PA3 & "'" : CmdSet_For_dr()
- End Sub
- Friend Sub SQL_排班系統_星期()
- ConnOpen()
- SQL1 = "SELECT 星期 FROM 萬年曆 WHERE (萬年曆.日期 LIKE N'" & PA & "%')"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_門診_健保()
- ConnOpen()
- SQL1 = "SELECT 星期, 診別, 早, 中, 晚 FROM 門診資料 WHERE 日期 LIKE N'" & PA & "' AND 診別 LIKE N'健保'"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_門診_美容()
- ConnOpen()
- SQL1 = "SELECT 星期, 診別, 早, 中, 晚 FROM 門診資料 WHERE 日期 LIKE N'" & PA & "' AND 診別 LIKE N'醫美'"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_人員備註()
- ConnOpen()
- SQL1 = "SELECT 人員備註, 職位, 性質, 早班, 晚班, 崗位01, 崗位02, 崗位03, 崗位04, 崗位05, 崗位06, 崗位07, 崗位08, 穩定 FROM 使用者權限管理表 WHERE (DIN LIKE N'" & PA & "')"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_人員備註修改()
- ConnOpen()
- SQL1 = "UPDATE 使用者權限管理表 SET 人員備註 = N'" & PA10 & "', 職位 = N'" & PA11 & "', 性質 = N'" & PA12 & "', 早班 = N'" & PA13 & "', 晚班 = N'" & PA14 & "', 崗位01 = N'" & PA9 & "',
- 崗位02 = N'" & PA8 & "', 崗位03 = N'" & PA7 & "', 崗位04 = N'" & PA6 & "', 崗位05 = N'" & PA5 & "', 崗位06 = N'" & PA4 & "', 崗位07 = N'" & PA3 & "',
- 崗位08 = N'" & PA2 & "', 穩定 = N'" & PA1 & "'
- WHERE (DIN LIKE N'" & PA & "')"
- CmdSet_For_dr()
- End Sub
- Friend Sub SQL_人員備註清單()
- ConnOpen()
- SQL1 = "SELECT ras_Users.DIN AS [No.], ras_Users.DIN AS 編號, ras_Users.UserName AS 姓名, 使用者權限管理表.職位,
- 使用者權限管理表.性質, 使用者權限管理表.早班, 使用者權限管理表.晚班, 使用者權限管理表.崗位01 AS [1F掛號],
- 使用者權限管理表.崗位02 AS [1F掛號(實)], 使用者權限管理表.崗位03 AS [1F跟診], 使用者權限管理表.崗位04 AS [1F治療],
- 使用者權限管理表.崗位05 AS [1F治療(實)], 使用者權限管理表.崗位06 AS [2F櫃台], 使用者權限管理表.崗位07 AS [2F醫美],
- 使用者權限管理表.崗位08 AS [行政], 使用者權限管理表.穩定, 使用者權限管理表.人員備註
- FROM ras_Users INNER JOIN 使用者權限管理表 ON ras_Users.DIN = 使用者權限管理表.DIN
- WHERE (ras_Users.IsLockedOut = 0) AND (ras_Users.DIN <> 18) AND (ras_Users.DIN <> 19) AND (ras_Users.DIN <> 21)
- ORDER BY CAST(ras_Users.Password AS int)"
- CmdSet_For_DGV()
- End Sub
- End Module
|