暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

SQL_排班系統.vb 8.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. Module SQL_排班系統
  2. Friend Sub SQL_排班系統_月份()
  3. ConnOpen()
  4. SQL1 = "SELECT 萬年曆.日期, 萬年曆.星期, AQAQ.請假類別 AS 休假
  5. FROM 萬年曆 LEFT OUTER JOIN
  6. (SELECT 日期 AS 日, 請假類別 FROM 人事請假單
  7. WHERE (請假類別 NOT LIKE N'特休') AND (請假類別 NOT LIKE N'%假')
  8. GROUP BY 日期, 請假類別) AS AQAQ ON 萬年曆.日期 = AQAQ.日
  9. WHERE (萬年曆.日期 LIKE N'" & PA1 & "/" & PA2 & "%')"
  10. CmdSet_For_DGV()
  11. End Sub
  12. Friend Sub SQL_排班系統_人員排班()
  13. ConnOpen()
  14. SQL1 = "SELECT 姓名, COUNT(姓名) AS 天數, SUM(排時) AS 本月應上時數, SUM(排時) AS 已排班時數, SUM(排時) AS 未排班時數
  15. FROM 排班資料表
  16. WHERE (日期 LIKE N'" & PA & "%') AND (姓名 NOT LIKE N'') AND (班別 NOT LIKE N'休%')
  17. GROUP BY 姓名 ORDER BY 姓名"
  18. CmdSet_For_DGV()
  19. End Sub
  20. Friend Sub SQL_排班系統_當天排班()
  21. ConnOpen()
  22. If 排班資料.職員_ch.Checked = True Then
  23. SQL1 = "SELECT 班別, STRING_AGG(姓名, N'、') AS 人員 FROM 排班資料表
  24. WHERE (日期 LIKE N'" & PA & "') AND (姓名 NOT LIKE N'')
  25. GROUP BY 班別 ORDER BY 班別"
  26. Else
  27. SQL1 = "SELECT 班別, 人員
  28. FROM (SELECT 診別 + '-' + '早' AS 班別, 早 AS 人員 FROM 門診資料 WHERE (日期 LIKE N'" & PA & "')
  29. UNION
  30. SELECT 診別 + '-' + '中' AS 班別, 中 AS 人員 FROM 門診資料 AS 門診資料_2 WHERE (日期 LIKE N'" & PA & "')
  31. UNION
  32. SELECT 診別 + '-' + '晚' AS 班別, 晚 AS 人員 FROM 門診資料 AS 門診資料_1 WHERE (日期 LIKE N'" & PA & "')) AS SubQuery
  33. ORDER BY CASE WHEN 班別 LIKE '%早' THEN 1 WHEN 班別 LIKE '%中' THEN 2 WHEN 班別 LIKE '%晚' THEN 3 END"
  34. End If
  35. CmdSet_For_DGV()
  36. End Sub
  37. Friend Sub SQL_排班系統_班別_下拉()
  38. ConnOpen() : SQL1 = "SELECT 時段 FROM 時段設定 ORDER BY ID" : CmdSet_For_dr()
  39. End Sub
  40. Friend Sub SQL_排班系統_職務_下拉()
  41. ConnOpen() : SQL1 = "SELECT 職務 FROM 工作職務 ORDER BY 職務" : CmdSet_For_dr()
  42. End Sub
  43. Friend Sub SQL_排班系統_班別_人員()
  44. ConnOpen()
  45. SQL1 = "SELECT DIN AS [No.], DIN AS 編號, UserName AS 姓名
  46. FROM ras_Users
  47. WHERE (IsLockedOut = 0) AND (DIN <> 18) AND (DIN <> 19) AND (DIN <> 21)
  48. ORDER BY CAST(Password AS int)"
  49. CmdSet_For_DGV()
  50. End Sub
  51. Friend Sub SQL_排班系統_班別_人員_全()
  52. ConnOpen()
  53. SQL1 = "SELECT DIN AS [No.], DIN AS 編號, UserName AS 姓名
  54. FROM ras_Users
  55. WHERE (DIN <> 18) AND (DIN <> 19) AND (DIN <> 21)
  56. ORDER BY CAST(Password AS int)"
  57. CmdSet_For_DGV()
  58. End Sub
  59. Friend Sub SQL_排班系統_班別_排班()
  60. ConnOpen()
  61. SQL1 = "SELECT 姓名, 班別, 上班時段, 時數, 半天, 休息, 一段, 二段, 顏色1, 顏色2, 項次, CAST(項次 AS INT) AS 項
  62. FROM 排班資料表
  63. WHERE (日期 LIKE N'" & PA & "')
  64. ORDER BY CAST(項次 AS INT)"
  65. CmdSet_For_DGV()
  66. End Sub
  67. Friend Sub SQL_排班系統_個人整月排班()
  68. ConnOpen()
  69. SQL1 = "SELECT RIGHT(日期, 2) AS 項次, 姓名, 班別, 上班時段, 時數, 半天, 休息, 一段, 二段, 顏色1, 顏色2
  70. FROM 排班資料表
  71. WHERE (日期 LIKE N'" & PA & "%') AND (姓名 LIKE N'" & PA2 & "')
  72. ORDER BY 日期"
  73. CmdSet_For_DGV()
  74. End Sub
  75. Friend Sub SQL_排班系統_個人整月星期()
  76. ConnOpen()
  77. SQL1 = "SELECT 星期, 班表簽認 FROM 萬年曆 WHERE (日期 LIKE N'" & PA & "%') ORDER BY 日期"
  78. CmdSet_For_DGV()
  79. End Sub
  80. Friend Sub SQL_排班明細_判斷是否有資料()
  81. ConnOpen() : SQL1 = "SELECT 日期 FROM 排班資料表 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
  82. End Sub
  83. Friend Sub SQL_排班明細_刪除當天()
  84. ConnOpen() : SQL1 = "DELETE 排班資料表 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
  85. End Sub
  86. Friend Sub SQL_排班明細_新增當天()
  87. ConnOpen()
  88. SQL1 = "INSERT INTO 排班資料表 (日期, 項次, 姓名, 班別, 上班時段, 時數, 半天, 休息, 一段, 二段, 排時, 顏色1, 顏色2)
  89. VALUES (N'" & PA & "', N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "', N'" & Do2 & "', N'" & BL1 & "', " & Do1 & ", N'" & PA5 & "', N'" & PA6 & "', N'" & Do3 & "',
  90. N'" & PA7 & "', N'" & PA8 & "')"
  91. CmdSet_For_dr()
  92. End Sub
  93. Friend Sub SQL_排班簽核讀取()
  94. ConnOpen() : SQL1 = "SELECT 班表簽認, 值日生1, 值日生2 FROM 萬年曆 WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
  95. End Sub
  96. Friend Sub SQL_排班簽核()
  97. ConnOpen() : SQL1 = "UPDATE 萬年曆 SET 班表簽認 = N'Y' WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
  98. End Sub
  99. Friend Sub SQL_值日生存檔()
  100. ConnOpen() : SQL1 = "UPDATE 萬年曆 SET 值日生1 = N'" & PA13 & "', 值日生2 = N'" & PA14 & "' WHERE 日期 LIKE N'" & PA & "'" : CmdSet_For_dr()
  101. End Sub
  102. Friend Sub SQL_排班明細_上午上班()
  103. ConnOpen() : SQL1 = "SELECT 上午上班 FROM 時段設定 WHERE 時段 like N'" & PA3 & "'" : CmdSet_For_dr()
  104. End Sub
  105. Friend Sub SQL_排班系統_星期()
  106. ConnOpen()
  107. SQL1 = "SELECT 星期 FROM 萬年曆 WHERE (萬年曆.日期 LIKE N'" & PA & "%')"
  108. CmdSet_For_dr()
  109. End Sub
  110. Friend Sub SQL_門診_健保()
  111. ConnOpen()
  112. SQL1 = "SELECT 星期, 診別, 早, 中, 晚 FROM 門診資料 WHERE 日期 LIKE N'" & PA & "' AND 診別 LIKE N'健保'"
  113. CmdSet_For_dr()
  114. End Sub
  115. Friend Sub SQL_門診_美容()
  116. ConnOpen()
  117. SQL1 = "SELECT 星期, 診別, 早, 中, 晚 FROM 門診資料 WHERE 日期 LIKE N'" & PA & "' AND 診別 LIKE N'醫美'"
  118. CmdSet_For_dr()
  119. End Sub
  120. Friend Sub SQL_人員備註()
  121. ConnOpen()
  122. SQL1 = "SELECT 人員備註, 職位, 性質, 早班, 晚班, 崗位01, 崗位02, 崗位03, 崗位04, 崗位05, 崗位06, 崗位07, 崗位08, 穩定 FROM 使用者權限管理表 WHERE (DIN LIKE N'" & PA & "')"
  123. CmdSet_For_dr()
  124. End Sub
  125. Friend Sub SQL_人員備註修改()
  126. ConnOpen()
  127. SQL1 = "UPDATE 使用者權限管理表 SET 人員備註 = N'" & PA10 & "', 職位 = N'" & PA11 & "', 性質 = N'" & PA12 & "', 早班 = N'" & PA13 & "', 晚班 = N'" & PA14 & "', 崗位01 = N'" & PA9 & "',
  128. 崗位02 = N'" & PA8 & "', 崗位03 = N'" & PA7 & "', 崗位04 = N'" & PA6 & "', 崗位05 = N'" & PA5 & "', 崗位06 = N'" & PA4 & "', 崗位07 = N'" & PA3 & "',
  129. 崗位08 = N'" & PA2 & "', 穩定 = N'" & PA1 & "'
  130. WHERE (DIN LIKE N'" & PA & "')"
  131. CmdSet_For_dr()
  132. End Sub
  133. Friend Sub SQL_人員備註清單()
  134. ConnOpen()
  135. SQL1 = "SELECT ras_Users.DIN AS [No.], ras_Users.DIN AS 編號, ras_Users.UserName AS 姓名, 使用者權限管理表.職位,
  136. 使用者權限管理表.性質, 使用者權限管理表.早班, 使用者權限管理表.晚班, 使用者權限管理表.崗位01 AS [1F掛號],
  137. 使用者權限管理表.崗位02 AS [1F掛號(實)], 使用者權限管理表.崗位03 AS [1F跟診], 使用者權限管理表.崗位04 AS [1F治療],
  138. 使用者權限管理表.崗位05 AS [1F治療(實)], 使用者權限管理表.崗位06 AS [2F櫃台], 使用者權限管理表.崗位07 AS [2F醫美],
  139. 使用者權限管理表.崗位08 AS [行政], 使用者權限管理表.穩定, 使用者權限管理表.人員備註
  140. FROM ras_Users INNER JOIN 使用者權限管理表 ON ras_Users.DIN = 使用者權限管理表.DIN
  141. WHERE (ras_Users.IsLockedOut = 0) AND (ras_Users.DIN <> 18) AND (ras_Users.DIN <> 19) AND (ras_Users.DIN <> 21)
  142. ORDER BY CAST(ras_Users.Password AS int)"
  143. CmdSet_For_DGV()
  144. End Sub
  145. End Module