Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001
  1. Module SQL_人事系統管理
  2. '---------------------考勤明細表-----------------------------------------------------------------------------------------------------------------
  3. Friend Sub SQL_考勤級別讀取()
  4. ConnOpen() : SQL1 = "SELECT 級別 FROM 使用者權限管理表 WHERE (姓名 LIKE N'" & PA47 & "')" : CmdSet_For_dr()
  5. If BL = False Then
  6. ConnOpen()
  7. If PA = "" Then
  8. If 在職 = True Then : SQL2 = " WHERE (CC63 = 0)" : Else : SQL2 = " WHERE (CC63 = 1)" : End If
  9. SQL1 = "SELECT 級別 FROM 使用者權限管理表 " & SQL2 & " GROUP BY 級別 ORDER BY 級別"
  10. Else
  11. If 登入人級別 = "00" Then : SQL2 = "" : Else : If 在職 = True Then : SQL2 = " AND (CC63 = 0)" : Else : SQL2 = " AND (CC63 = 1)" : End If : End If
  12. SQL1 = "SELECT 級別 FROM 使用者權限管理表
  13. WHERE ((姓名 LIKE N'%" & PA & "%') OR (帳號 LIKE N'%" & PA & "%') OR (密碼 LIKE N'%" & PA & "%') OR
  14. (部門 LIKE N'%" & PA & "%') OR (職稱 LIKE N'%" & PA & "%')) " & SQL2 & "
  15. GROUP BY 級別 ORDER BY 級別"
  16. End If
  17. CmdSet_For_dr()
  18. Else
  19. ConnOpen()
  20. If PA = "" Then
  21. If 在職 = True Then : SQL2 = " AND (CC63 = 0)" : Else : SQL2 = " AND (CC63 = 1)" : End If
  22. SQL1 = "SELECT 級別 FROM 使用者權限管理表
  23. WHERE (級別 LIKE '05' OR 級別 LIKE '06' OR 級別 LIKE '07' OR 級別 LIKE '08' OR 級別 LIKE '09') " & SQL2 & " GROUP BY 級別 ORDER BY 級別"
  24. Else
  25. SQL1 = "SELECT 級別 FROM 使用者權限管理表
  26. WHERE ((姓名 LIKE N'%" & PA & "%') OR (帳號 LIKE N'%" & PA & "%') OR (密碼 LIKE N'%" & PA & "%') OR (部門 LIKE N'%" & PA & "%') OR (職稱 LIKE N'%" & PA & "%') AND
  27. (級別 LIKE '05' OR 級別 LIKE '06' OR 級別 LIKE '07' OR 級別 LIKE '08' OR 級別 LIKE '09')) " & SQL2 & "
  28. GROUP BY 級別 ORDER BY 級別"
  29. End If
  30. CmdSet_For_dr()
  31. End If
  32. End Sub
  33. Friend Sub SQL_人事考勤明細表查詢()
  34. ConnOpen_管理SQL() : SQL1 = "SELECT 日期 FROM 人事考勤明細表 WHERE 日期 LIKE N'" & PA15 & "' AND ID卡號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  35. End Sub
  36. Friend Sub SQL_人事考勤明細表修改()
  37. ConnOpen_管理SQL()
  38. SQL1 = "UPDATE 人事考勤明細表 SET 加班 = '" & BL1 & "', 假別 = N'" & PA17 & "', 備註 = N'" & PA18 & "' WHERE 日期 LIKE N'" & PA15 & "' AND ID卡號 LIKE N'" & PA1 & "'"
  39. CmdSet_For_dr()
  40. End Sub
  41. Friend Sub SQL_人事考勤明細表修改1()
  42. ConnOpen_管理SQL()
  43. SQL1 = "UPDATE 人事考勤明細表 SET " & SQL2 & " = N'" & PA45 & "' WHERE 日期 LIKE N'" & PA15 & "' AND ID卡號 LIKE N'" & PA1 & "'"
  44. CmdSet_For_dr()
  45. End Sub
  46. Friend Sub SQL_人事考勤明細表新增1()
  47. ConnOpen_管理SQL()
  48. SQL1 = "INSERT INTO 人事考勤明細表 (ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六)
  49. VALUES (N'" & PA1 & "',N'" & PA15 & "',N'" & PA9 & "',N'" & PA10 & "',N'" & PA11 & "',N'" & PA12 & "',N'" & PA13 & "',N'" & PA14 & "')"
  50. CmdSet_For_dr()
  51. End Sub
  52. Friend Sub SQL_人事考勤明細表新增()
  53. ConnOpen_管理SQL()
  54. SQL1 = "INSERT INTO 人事考勤明細表 (ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班, 假別, 備註)
  55. VALUES (N'" & PA1 & "',N'" & PA15 & "',N'',N'',N'',N'',N'',N'','" & BL1 & "', N'" & PA17 & "', N'" & PA18 & "')"
  56. CmdSet_For_dr()
  57. End Sub
  58. Friend Sub SQL_虛擬考勤明細表新增()
  59. ConnOpen_管理SQL()
  60. SQL1 = "INSERT INTO 虛擬考勤明細表 (帳號, 一上, 一下, 二上, 二下, 三上, 三下, 四上, 四下, 五上, 五下, 六上, 六下, 日上, 日下, 日期) VALUES " & SQL2
  61. CmdSet_For_dr()
  62. End Sub
  63. Friend Sub SQL_虛擬考勤明細表刪除()
  64. ConnOpen_管理SQL()
  65. SQL1 = "DELETE 虛擬考勤明細表 WHERE 日期 LIKE '" & PA45 & "'"
  66. CmdSet_For_dr()
  67. End Sub
  68. Friend Sub SQL_萬年曆_休假標註()
  69. ConnOpen_管理SQL() : SQL1 = "UPDATE 萬年曆 SET 假日 = '" & BL1 & "' WHERE 日期 LIKE N'" & PA15 & "'" : CmdSet_For_dr()
  70. End Sub
  71. Friend Sub SQL_考勤查詢清單()
  72. If 登入人級別 = "02" Then : SQL4 = "使用者權限管理表.級別 LIKE '02' OR 使用者權限管理表.級別 LIKE '03' OR 使用者權限管理表.級別 LIKE '04' OR "
  73. ElseIf 登入人級別 = "03" Then : SQL4 = "使用者權限管理表.級別 LIKE '03' OR 使用者權限管理表.級別 LIKE '04' OR "
  74. ElseIf 登入人級別 = "04" Then : SQL4 = "使用者權限管理表.級別 LIKE '04' OR " : Else : SQL4 = "" : End If
  75. If PA25 = "-1" Or PA25 = "0" Or 工人 = True Then : SQL3 = ""
  76. ElseIf PA25 = "1" Then : SQL3 = " AND 使用者權限管理表.部門 NOT LIKE '3%' "
  77. ElseIf PA25 = "2" Then : SQL3 = " AND 使用者權限管理表.部門 LIKE '3%' " : End If
  78. If BL = False Then
  79. ConnOpen()
  80. If 在職 = True Then
  81. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  82. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  83. Else
  84. SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  85. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  86. End If
  87. Else
  88. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  89. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  90. Else
  91. SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  92. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  93. End If
  94. End If
  95. SQL1 = "SELECT 使用者權限管理表.姓名, 使用者權限管理表.ID卡號, DD.MGB, 使用者權限管理表.部門 AS [" & 表頭(19) & "], 使用者權限管理表.級別 AS [" & 表頭(1) & "],
  96. DD.[" & 表頭(2) & "], DD.[" & 表頭(3) & "], DD.第一, DD.第二, DD.第三,
  97. DD.第四, DD.第五, DD.第六, DD.[" & 表頭(4) & "], DD.[" & 表頭(5) & "], DD.[" & 表頭(6) & "], DD.[" & 表頭(7) & "], DD.[" & 表頭(8) & "],
  98. DD.[" & 表頭(9) & "], DD.[" & 表頭(10) & "], DD.[" & 表頭(11) & "], DD.[" & 表頭(12) & "], DD.[" & 表頭(13) & "], DD.[" & 表頭(14) & "],
  99. DD.[" & 表頭(15) & "], DD.[" & 表頭(16) & "], DD.[" & 表頭(17) & "], DD.[" & 表頭(18) & "], DD.[" & 表頭(26) & "], DD.[" & 表頭(27) & "],
  100. DD.假別編號
  101. FROM 使用者權限管理表 LEFT OUTER JOIN
  102. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號 LEFT OUTER JOIN
  103. (SELECT QQ.ID卡號, [HX-PGS-MSN].dbo.萬年曆.星期 AS MGB, [HX-PGS-MSN].dbo.萬年曆.星期 AS [" & 表頭(2) & "],
  104. [HX-PGS-MSN].dbo.萬年曆.日期 AS [" & 表頭(3) & "], QQ.第一,
  105. QQ.第二, QQ.第三, QQ.第四, QQ.第五, QQ.第六, QQ.第一 AS [" & 表頭(4) & "], QQ.第一 AS [" & 表頭(5) & "],
  106. QQ.第一 AS [" & 表頭(6) & "], QQ.第一 AS [" & 表頭(7) & "], QQ.第一 AS [" & 表頭(8) & "], QQ.第一 AS [" & 表頭(9) & "],
  107. QQ.第一 AS [" & 表頭(10) & "], QQ.第一 AS [" & 表頭(11) & "], QQ.第一 AS [" & 表頭(12) & "], QQ.第一 AS [" & 表頭(13) & "],
  108. QQ.第一 AS [" & 表頭(14) & "], QQ.第一 AS [" & 表頭(15) & "], QQ.第一 AS [" & 表頭(16) & "], QQ.加班 AS [" & 表頭(17) & "],
  109. [HX-PGS-MSN].dbo.萬年曆.假日 AS [" & 表頭(18) & "], QQ.假別 AS [" & 表頭(26) & "], QQ.備註 AS [" & 表頭(27) & "], QQ.假別 AS 假別編號
  110. FROM [HX-PGS-MSN].dbo.萬年曆 LEFT OUTER JOIN
  111. (SELECT ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班, 假別, 備註 FROM [HX-PGS-MSN].dbo.人事考勤明細表) AS QQ ON
  112. [HX-PGS-MSN].dbo.萬年曆.日期 = QQ.日期 WHERE ([HX-PGS-MSN].dbo.萬年曆.日期 LIKE '" & PA15 & "')) AS DD ON 使用者權限管理表.ID卡號 = DD.ID卡號 " & SQL2 & "
  113. ORDER BY 使用者權限管理表.部門, 使用者權限管理表.職稱, 使用者權限管理表.課別, 使用者權限管理表.組別, 使用者權限管理表.姓名"
  114. CmdSet_For_DGV()
  115. Else
  116. ConnOpen()
  117. If 在職 = True Then
  118. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%'
  119. AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  120. Else
  121. SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  122. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  123. End If
  124. Else
  125. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 1) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%'
  126. AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  127. Else
  128. SQL2 = " AND (使用者權限管理表.CC63 = 1) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  129. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  130. End If
  131. End If
  132. SQL1 = "SELECT 使用者權限管理表.姓名, 使用者權限管理表.ID卡號, DD.MGB, 使用者權限管理表.部門 AS [" & 表頭(19) & "], 使用者權限管理表.級別 AS [" & 表頭(1) & "],
  133. DD.[" & 表頭(2) & "], DD.[" & 表頭(3) & "], DD.第一, DD.第二, DD.第三,
  134. DD.第四, DD.第五, DD.第六, DD.[" & 表頭(4) & "], DD.[" & 表頭(5) & "], DD.[" & 表頭(6) & "], DD.[" & 表頭(7) & "], DD.[" & 表頭(8) & "],
  135. DD.[" & 表頭(9) & "], DD.[" & 表頭(10) & "], DD.[" & 表頭(11) & "], DD.[" & 表頭(12) & "], DD.[" & 表頭(13) & "], DD.[" & 表頭(14) & "],
  136. DD.[" & 表頭(15) & "], DD.[" & 表頭(16) & "], DD.[" & 表頭(17) & "], DD.[" & 表頭(18) & "], DD.[" & 表頭(26) & "], DD.[" & 表頭(27) & "],
  137. DD.假別編號
  138. FROM 使用者權限管理表 LEFT OUTER JOIN
  139. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號 LEFT OUTER JOIN
  140. (SELECT QQ.ID卡號, [HX-PGS-MSN].dbo.萬年曆.星期 AS MGB, [HX-PGS-MSN].dbo.萬年曆.星期 AS [" & 表頭(2) & "],
  141. [HX-PGS-MSN].dbo.萬年曆.日期 AS [" & 表頭(3) & "], QQ.第一,
  142. QQ.第二, QQ.第三, QQ.第四, QQ.第五, QQ.第六, QQ.第一 AS [" & 表頭(4) & "], QQ.第一 AS [" & 表頭(5) & "],
  143. QQ.第一 AS [" & 表頭(6) & "], QQ.第一 AS [" & 表頭(7) & "], QQ.第一 AS [" & 表頭(8) & "], QQ.第一 AS [" & 表頭(9) & "],
  144. QQ.第一 AS [" & 表頭(10) & "], QQ.第一 AS [" & 表頭(11) & "], QQ.第一 AS [" & 表頭(12) & "], QQ.第一 AS [" & 表頭(13) & "],
  145. QQ.第一 AS [" & 表頭(14) & "], QQ.第一 AS [" & 表頭(15) & "], QQ.第一 AS [" & 表頭(16) & "], QQ.加班 AS [" & 表頭(17) & "],
  146. [HX-PGS-MSN].dbo.萬年曆.假日 AS [" & 表頭(18) & "], QQ.假別 AS [" & 表頭(26) & "], QQ.備註 AS [" & 表頭(27) & "], QQ.假別 AS 假別編號
  147. FROM [HX-PGS-MSN].dbo.萬年曆 LEFT OUTER JOIN
  148. (SELECT ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班, 假別, 備註 FROM [HX-PGS-MSN].dbo.人事考勤明細表) AS QQ ON
  149. [HX-PGS-MSN].dbo.萬年曆.日期 = QQ.日期 WHERE ([HX-PGS-MSN].dbo.萬年曆.日期 LIKE '" & PA15 & "')) AS DD ON 使用者權限管理表.ID卡號 = DD.ID卡號
  150. WHERE (" & SQL4 & "使用者權限管理表.級別 LIKE '05' OR 使用者權限管理表.級別 LIKE '06' OR 使用者權限管理表.級別 LIKE '07' OR 使用者權限管理表.級別 LIKE '08' OR
  151. 使用者權限管理表.級別 LIKE '09') " & SQL2 & "
  152. ORDER BY 使用者權限管理表.部門, 使用者權限管理表.職稱, 使用者權限管理表.課別, 使用者權限管理表.組別, 使用者權限管理表.姓名"
  153. CmdSet_For_DGV()
  154. End If
  155. End Sub
  156. Friend Sub SQL_萬年曆()
  157. ConnOpen_管理SQL()
  158. SQL1 = "SELECT 星期 AS MGB, 星期 AS [" & 表頭(2) & "], 日期 AS [" & 表頭(3) & "], 假日 AS [" & 表頭(18) & "] FROM 萬年曆
  159. WHERE (LEFT(日期, 7) LIKE '" & PA2 & "/" & PA3 & "') ORDER BY 日期"
  160. CmdSet_For_DGV()
  161. End Sub
  162. Friend Sub SQL_年分清單()
  163. ConnOpen_管理SQL() : SQL1 = "SELECT LEFT(日期, 4) AS 日期 FROM 人事考勤明細表 GROUP BY LEFT(日期, 4) ORDER BY 日期 DESC" : CmdSet_For_dr()
  164. End Sub
  165. Friend Sub SQL_考勤虛擬表()
  166. ConnOpen_管理SQL()
  167. SQL1 = "SELECT 帳號, 一上, 一下, 二上, 二下, 三上, 三下, 四上, 四下, 五上, 五下, 六上, 六下, 日上, 日下, 日期
  168. FROM 虛擬考勤明細表 WHERE (日期 LIKE '" & PA25 & "')"
  169. CmdSet_For_DGV()
  170. End Sub
  171. Friend Sub SQL_考勤總明細()
  172. ConnOpen_管理SQL()
  173. SQL1 = "SELECT QQ.ID卡號, 萬年曆.星期 AS MGB, 萬年曆.星期 AS [" & 表頭(2) & "], 萬年曆.日期 AS [" & 表頭(3) & "], QQ.第一, QQ.第二, QQ.第三, QQ.第四, QQ.第五, QQ.第六,
  174. QQ.第一 AS [" & 表頭(4) & "], QQ.第一 AS [" & 表頭(5) & "], QQ.第一 AS [" & 表頭(6) & "], QQ.第一 AS [" & 表頭(7) & "], QQ.第一 AS [" & 表頭(8) & "],
  175. QQ.第一 AS [" & 表頭(9) & "], QQ.第一 AS [" & 表頭(10) & "], QQ.第一 AS [" & 表頭(11) & "], QQ.第一 AS [" & 表頭(12) & "], QQ.第一 AS [" & 表頭(13) & "],
  176. QQ.第一 AS [" & 表頭(14) & "], QQ.第一 AS [" & 表頭(15) & "], QQ.第一 AS [" & 表頭(16) & "], QQ.加班 AS [" & 表頭(17) & "], 萬年曆.假日 AS [" & 表頭(18) & "]
  177. FROM 萬年曆 LEFT OUTER JOIN (SELECT ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班
  178. FROM 人事考勤明細表) AS QQ ON 萬年曆.日期 = QQ.日期
  179. WHERE (LEFT(萬年曆.日期, 7) LIKE '" & PA2 & "/" & PA3 & "')
  180. ORDER BY LEFT(萬年曆.日期, 7), 萬年曆.日期"
  181. CmdSet_For_DGV()
  182. End Sub
  183. Friend Sub SQL_考勤明細()
  184. ConnOpen_管理SQL()
  185. SQL1 = "SELECT 萬年曆.星期 AS MGB, 萬年曆.星期 AS [" & 表頭(2) & "], 萬年曆.日期 AS [" & 表頭(3) & "], QQ.第一, QQ.第二, QQ.第三, QQ.第四, QQ.第五, QQ.第六,
  186. QQ.第一 AS [" & 表頭(4) & "], QQ.第一 AS [" & 表頭(5) & "], QQ.第一 AS [" & 表頭(6) & "], QQ.第一 AS [" & 表頭(7) & "], QQ.第一 AS [" & 表頭(8) & "],
  187. QQ.第一 AS [" & 表頭(9) & "], QQ.第一 AS [" & 表頭(10) & "], QQ.第一 AS [" & 表頭(11) & "], QQ.第一 AS [" & 表頭(12) & "], QQ.第一 AS [" & 表頭(13) & "],
  188. QQ.第一 AS [" & 表頭(14) & "], QQ.第一 AS [" & 表頭(15) & "], QQ.第一 AS [" & 表頭(16) & "], QQ.加班 AS [" & 表頭(17) & "], 萬年曆.假日 AS [" & 表頭(18) & "],
  189. QQ.假別 AS [" & 表頭(26) & "], QQ.備註 AS [" & 表頭(27) & "], QQ.假別 AS 假別編號, QQ.假別 AS C_No
  190. FROM 萬年曆 LEFT OUTER JOIN (SELECT ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班, 假別, 備註
  191. FROM 人事考勤明細表 WHERE (ID卡號 LIKE N'" & PA1 & "')) AS QQ ON 萬年曆.日期 = QQ.日期
  192. WHERE (LEFT(萬年曆.日期, 7) LIKE '" & PA2 & "/" & PA3 & "')
  193. ORDER BY LEFT(萬年曆.日期, 7), 萬年曆.日期"
  194. CmdSet_For_DGV()
  195. End Sub
  196. Friend Sub SQL_人員薪資表_群組()
  197. ConnOpen_管理SQL() : SQL1 = "SELECT 部門名稱 FROM 人員資料表 WHERE 部門名稱 IS NOT NULL AND 部門名稱 NOT LIKE '' GROUP BY 部門名稱 ORDER BY 部門名稱" : CmdSet_For_dr()
  198. End Sub
  199. Friend Sub SQL_工人薪資彙總報表_查詢()
  200. ConnOpen_管理SQL()
  201. SQL1 = "SELECT 金額 FROM 工人薪資彙總報表 WHERE 年 LIKE N'" & PA25 & "' AND 月 LIKE N'" & PA26 & "' AND 周 LIKE N'" & PA27 & "' AND 特殊 = N'" & PA30 & "'"
  202. CmdSet_For_dr()
  203. End Sub
  204. Friend Sub SQL_工人薪資彙總報表_新增()
  205. ConnOpen_管理SQL()
  206. SQL1 = "INSERT INTO 工人薪資彙總報表 (年, 月, 周, 人數, 金額, 特殊)
  207. VALUES (N'" & PA25 & "',N'" & PA26 & "',N'" & PA27 & "',N'" & PA28 & "',N'" & PA29 & "',N'" & PA30 & "')"
  208. CmdSet_For_dr()
  209. End Sub
  210. Friend Sub SQL_工人薪資彙總報表_修改()
  211. ConnOpen_管理SQL()
  212. SQL1 = "UPDATE 工人薪資彙總報表 SET 人數 = N'" & PA28 & "', 金額 = N'" & PA29 & "'
  213. WHERE 年 LIKE N'" & PA25 & "' AND 月 LIKE N'" & PA26 & "' AND 周 LIKE N'" & PA27 & "' AND 特殊 = N'" & PA30 & "'"
  214. CmdSet_For_dr()
  215. End Sub
  216. Friend Sub SQL_人員薪資表_修改()
  217. ConnOpen_管理SQL()
  218. SQL1 = "UPDATE 人員資料表 SET 部門名稱 = N'" & PA30 & "', 群組 = N'" & PA31 & "', 薪資 = N'" & PA32 & "' WHERE 帳號 LIKE N'" & PA33 & "'"
  219. CmdSet_For_dr()
  220. End Sub
  221. Friend Sub SQL_工人薪資表_新增()
  222. ConnOpen_管理SQL()
  223. SQL1 = "INSERT INTO 工人薪資表 (開始日期, 結束日期, ID卡號, 工資, 調整)
  224. VALUES (N'" & Strings.Format(人員薪資.開始日期_dtp.Value, "yyyy/MM/dd") & "',N'" & Strings.Format(人員薪資.結束日期_dtp.Value, "yyyy/MM/dd") & "',
  225. N'" & PA34 & "',N'" & PA32 & "',N'" & PA35 & "')"
  226. CmdSet_For_dr()
  227. End Sub
  228. Friend Sub SQL_工人薪資表_修改()
  229. ConnOpen_管理SQL()
  230. SQL1 = "UPDATE 工人薪資表 SET 工資 = N'" & PA32 & "', 調整 = N'" & PA35 & "' WHERE ID卡號 LIKE N'" & PA34 & "' AND
  231. 開始日期 LIKE N'" & Strings.Format(人員薪資.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND 結束日期 LIKE N'" & Strings.Format(人員薪資.結束日期_dtp.Value, "yyyy/MM/dd") & "'"
  232. CmdSet_For_dr()
  233. End Sub
  234. Friend Sub SQL_工人薪資表_查詢()
  235. ConnOpen_管理SQL()
  236. SQL1 = "SELECT 調整 FROM 工人薪資表 WHERE ID卡號 LIKE N'" & PA34 & "' AND
  237. 開始日期 LIKE N'" & Strings.Format(人員薪資.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND 結束日期 LIKE N'" & Strings.Format(人員薪資.結束日期_dtp.Value, "yyyy/MM/dd") & "'"
  238. CmdSet_For_dr()
  239. End Sub
  240. Friend Sub SQL_人員薪資表1()
  241. If PA25 = "-1" Or PA25 = "0" Or 工人 = True Then : SQL3 = "" & SQL5
  242. ElseIf PA25 = "1" Then : SQL3 = " AND 使用者權限管理表.部門 NOT LIKE '3%' " & SQL5
  243. ElseIf PA25 = "2" Then : SQL3 = " AND 使用者權限管理表.部門 LIKE '3%' " & SQL5 : End If
  244. If BL = False Then
  245. ConnOpen()
  246. If 在職 = True Then
  247. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  248. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  249. Else
  250. SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  251. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  252. End If
  253. Else
  254. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  255. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%'" & SQL3
  256. Else
  257. SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  258. 姓名 NOT LIKE 'TEST%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  259. End If
  260. End If
  261. SQL1 = "SELECT [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "],使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "],
  262. 使用者權限管理表.ID卡號, [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [STT], QQ.工資, QQ.調整 AS [" & 表頭(64) & "],
  263. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "],
  264. [HX-PGS-MSN].dbo.人員資料表.群組 AS [" & 表頭(30) & "], [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS [" & 表頭(26) & "],
  265. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(27) & "], [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(28) & "],
  266. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [總數], 使用者權限管理表.級別 AS [" & 表頭(64) & "], 使用者權限管理表.級別 AS [" & 表頭(31) & "],
  267. 使用者權限管理表.級別 AS [" & 表頭(32) & "], 使用者權限管理表.級別 AS [" & 表頭(33) & "], 使用者權限管理表.級別 AS [" & 表頭(34) & "],
  268. 使用者權限管理表.級別 AS [" & 表頭(35) & "], 使用者權限管理表.級別 AS [" & 表頭(36) & "], 使用者權限管理表.級別 AS [" & 表頭(37) & "],
  269. 使用者權限管理表.級別 AS [" & 表頭(38) & "], 使用者權限管理表.級別 AS [" & 表頭(39) & "], 使用者權限管理表.級別 AS [" & 表頭(40) & "],
  270. 使用者權限管理表.級別 AS [" & 表頭(41) & "], 使用者權限管理表.級別 AS [" & 表頭(42) & "], 使用者權限管理表.級別 AS [" & 表頭(43) & "],
  271. 使用者權限管理表.級別 AS [" & 表頭(58) & "], 使用者權限管理表.級別 AS [" & 表頭(59) & "], 使用者權限管理表.級別 AS [" & 表頭(60) & "],
  272. 使用者權限管理表.級別 AS [" & 表頭(61) & "], 使用者權限管理表.級別 AS [" & 表頭(62) & "], 使用者權限管理表.級別 AS [" & 表頭(63) & "],
  273. 使用者權限管理表.級別 AS [" & 表頭(44) & "], 使用者權限管理表.級別 AS [" & 表頭(45) & "], 使用者權限管理表.級別 AS [" & 表頭(46) & "],
  274. 使用者權限管理表.級別 AS [" & 表頭(47) & "], 使用者權限管理表.級別 AS [" & 表頭(48) & "], 使用者權限管理表.級別 AS [" & 表頭(49) & "],
  275. 使用者權限管理表.級別 AS [" & 表頭(50) & "], 使用者權限管理表.級別 AS [" & 表頭(51) & "], 使用者權限管理表.級別 AS [" & 表頭(52) & "],
  276. 使用者權限管理表.級別 AS [" & 表頭(53) & "], 使用者權限管理表.級別 AS [" & 表頭(54) & "], 使用者權限管理表.級別 AS [" & 表頭(55) & "],
  277. 使用者權限管理表.級別 AS [" & 表頭(56) & "], 使用者權限管理表.級別 AS [" & 表頭(57) & "], HX空白圖片.圖片 AS [Save.], 使用者權限管理表.帳號
  278. FROM 使用者權限管理表 LEFT OUTER JOIN
  279. (SELECT ID卡號, 工資, 調整 FROM [HX-PGS-MSN].dbo.工人薪資表
  280. WHERE (開始日期 LIKE N'" & Strings.Format(人員薪資.開始日期_dtp.Value, "yyyy/MM/dd") & "') AND
  281. (結束日期 LIKE N'" & Strings.Format(人員薪資.結束日期_dtp.Value, "yyyy/MM/dd") & "')) AS QQ ON 使用者權限管理表.ID卡號 = QQ.ID卡號 LEFT OUTER JOIN
  282. HX空白圖片 ON 使用者權限管理表.姓名 = HX空白圖片.選擇 LEFT OUTER JOIN
  283. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號 " & SQL2 & "
  284. ORDER BY " & SQL4
  285. CmdSet_For_DGV() ', [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "] [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "]
  286. Else
  287. ConnOpen()
  288. If 在職 = True Then
  289. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  290. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  291. Else : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  292. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3 : End If
  293. Else
  294. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  295. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  296. Else
  297. SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  298. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  299. End If
  300. End If
  301. SQL1 = "SELECT [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "], 使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "],
  302. 使用者權限管理表.ID卡號, [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [STT], [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "],
  303. [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "],
  304. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "],
  305. [HX-PGS-MSN].dbo.人員資料表.群組 AS [" & 表頭(30) & "], [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS [" & 表頭(26) & "],
  306. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(27) & "], [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(28) & "],
  307. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [總數], 使用者權限管理表.級別 AS [" & 表頭(64) & "], 使用者權限管理表.級別 AS [" & 表頭(31) & "],
  308. 使用者權限管理表.級別 AS [" & 表頭(32) & "], 使用者權限管理表.級別 AS [" & 表頭(33) & "], 使用者權限管理表.級別 AS [" & 表頭(34) & "],
  309. 使用者權限管理表.級別 AS [" & 表頭(35) & "], 使用者權限管理表.級別 AS [" & 表頭(36) & "], 使用者權限管理表.級別 AS [" & 表頭(37) & "],
  310. 使用者權限管理表.級別 AS [" & 表頭(38) & "], 使用者權限管理表.級別 AS [" & 表頭(39) & "], 使用者權限管理表.級別 AS [" & 表頭(40) & "],
  311. 使用者權限管理表.級別 AS [" & 表頭(41) & "], 使用者權限管理表.級別 AS [" & 表頭(42) & "], 使用者權限管理表.級別 AS [" & 表頭(43) & "],
  312. 使用者權限管理表.級別 AS [" & 表頭(58) & "], 使用者權限管理表.級別 AS [" & 表頭(59) & "], 使用者權限管理表.級別 AS [" & 表頭(60) & "],
  313. 使用者權限管理表.級別 AS [" & 表頭(61) & "], 使用者權限管理表.級別 AS [" & 表頭(62) & "], 使用者權限管理表.級別 AS [" & 表頭(63) & "],
  314. 使用者權限管理表.級別 AS [" & 表頭(44) & "], 使用者權限管理表.級別 AS [" & 表頭(45) & "], 使用者權限管理表.級別 AS [" & 表頭(46) & "],
  315. 使用者權限管理表.級別 AS [" & 表頭(47) & "], 使用者權限管理表.級別 AS [" & 表頭(48) & "], 使用者權限管理表.級別 AS [" & 表頭(49) & "],
  316. 使用者權限管理表.級別 AS [" & 表頭(50) & "], 使用者權限管理表.級別 AS [" & 表頭(51) & "], 使用者權限管理表.級別 AS [" & 表頭(52) & "],
  317. 使用者權限管理表.級別 AS [" & 表頭(53) & "], 使用者權限管理表.級別 AS [" & 表頭(54) & "], 使用者權限管理表.級別 AS [" & 表頭(55) & "],
  318. 使用者權限管理表.級別 AS [" & 表頭(56) & "], 使用者權限管理表.級別 AS [" & 表頭(57) & "], HX空白圖片.圖片 AS [Save.], 使用者權限管理表.帳號
  319. FROM 使用者權限管理表 LEFT OUTER JOIN
  320. HX空白圖片 ON 使用者權限管理表.姓名 = HX空白圖片.選擇 LEFT OUTER JOIN
  321. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號
  322. WHERE (使用者權限管理表.級別 LIKE '05' OR 使用者權限管理表.級別 LIKE '06' OR 使用者權限管理表.級別 LIKE '07' OR 使用者權限管理表.級別 LIKE '08' OR
  323. 使用者權限管理表.級別 LIKE '09') " & SQL2 & "
  324. ORDER BY " & SQL4
  325. CmdSet_For_DGV()
  326. End If
  327. End Sub
  328. Friend Sub SQL_人員薪資表2()
  329. If PA25 = "-1" Or PA25 = "0" Or 工人 = True Then : SQL3 = "" & SQL5
  330. ElseIf PA25 = "1" Then : SQL3 = " AND 使用者權限管理表.部門 NOT LIKE '3%' " & SQL5
  331. ElseIf PA25 = "2" Then : SQL3 = " AND 使用者權限管理表.部門 LIKE '3%' " & SQL5 : End If
  332. If BL = False Then
  333. ConnOpen()
  334. If 在職 = True Then
  335. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  336. AND AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  337. Else
  338. SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  339. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  340. End If
  341. Else
  342. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  343. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%'" & SQL3
  344. Else
  345. SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  346. 姓名 NOT LIKE 'TEST%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  347. End If
  348. End If
  349. SQL1 = "SELECT TOP(1) [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "],使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "],
  350. 使用者權限管理表.ID卡號, [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [STT], [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "],
  351. [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "],
  352. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "],
  353. [HX-PGS-MSN].dbo.人員資料表.群組 AS [" & 表頭(30) & "], [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS [" & 表頭(26) & "],
  354. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(27) & "], [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(28) & "],
  355. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [總數], 使用者權限管理表.級別 AS [" & 表頭(64) & "], 使用者權限管理表.級別 AS [" & 表頭(31) & "],
  356. 使用者權限管理表.級別 AS [" & 表頭(32) & "], 使用者權限管理表.級別 AS [" & 表頭(33) & "], 使用者權限管理表.級別 AS [" & 表頭(34) & "],
  357. 使用者權限管理表.級別 AS [" & 表頭(35) & "], 使用者權限管理表.級別 AS [" & 表頭(36) & "], 使用者權限管理表.級別 AS [" & 表頭(37) & "],
  358. 使用者權限管理表.級別 AS [" & 表頭(38) & "], 使用者權限管理表.級別 AS [" & 表頭(39) & "], 使用者權限管理表.級別 AS [" & 表頭(40) & "],
  359. 使用者權限管理表.級別 AS [" & 表頭(41) & "], 使用者權限管理表.級別 AS [" & 表頭(42) & "], 使用者權限管理表.級別 AS [" & 表頭(43) & "],
  360. 使用者權限管理表.級別 AS [" & 表頭(58) & "], 使用者權限管理表.級別 AS [" & 表頭(59) & "], 使用者權限管理表.級別 AS [" & 表頭(60) & "],
  361. 使用者權限管理表.級別 AS [" & 表頭(61) & "], 使用者權限管理表.級別 AS [" & 表頭(62) & "], 使用者權限管理表.級別 AS [" & 表頭(63) & "],
  362. 使用者權限管理表.級別 AS [" & 表頭(44) & "], 使用者權限管理表.級別 AS [" & 表頭(45) & "], 使用者權限管理表.級別 AS [" & 表頭(46) & "],
  363. 使用者權限管理表.級別 AS [" & 表頭(47) & "], 使用者權限管理表.級別 AS [" & 表頭(48) & "], 使用者權限管理表.級別 AS [" & 表頭(49) & "],
  364. 使用者權限管理表.級別 AS [" & 表頭(50) & "], 使用者權限管理表.級別 AS [" & 表頭(51) & "], 使用者權限管理表.級別 AS [" & 表頭(52) & "],
  365. 使用者權限管理表.級別 AS [" & 表頭(53) & "], 使用者權限管理表.級別 AS [" & 表頭(54) & "], 使用者權限管理表.級別 AS [" & 表頭(55) & "],
  366. 使用者權限管理表.級別 AS [" & 表頭(56) & "], 使用者權限管理表.級別 AS [" & 表頭(57) & "], HX空白圖片.圖片 AS [Save.], 使用者權限管理表.帳號
  367. FROM 使用者權限管理表 LEFT OUTER JOIN
  368. HX空白圖片 ON 使用者權限管理表.姓名 = HX空白圖片.選擇 LEFT OUTER JOIN
  369. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號 " & SQL2 & "
  370. ORDER BY " & SQL4
  371. CmdSet_For_DGV()
  372. Else
  373. ConnOpen()
  374. If 在職 = True Then
  375. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  376. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  377. Else : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  378. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3 : End If
  379. Else
  380. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%'
  381. AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  382. Else
  383. SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  384. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE '%" & PA19 & "%'" & SQL3
  385. End If
  386. End If
  387. SQL1 = "SELECT TOP(1) [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "], 使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "],
  388. 使用者權限管理表.ID卡號, [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [STT], [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "],
  389. [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "],
  390. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "],
  391. [HX-PGS-MSN].dbo.人員資料表.群組 AS [" & 表頭(30) & "], [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS [" & 表頭(26) & "],
  392. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(27) & "], [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(28) & "],
  393. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [總數], 使用者權限管理表.級別 AS [" & 表頭(64) & "], 使用者權限管理表.級別 AS [" & 表頭(31) & "],
  394. 使用者權限管理表.級別 AS [" & 表頭(32) & "], 使用者權限管理表.級別 AS [" & 表頭(33) & "], 使用者權限管理表.級別 AS [" & 表頭(34) & "],
  395. 使用者權限管理表.級別 AS [" & 表頭(35) & "], 使用者權限管理表.級別 AS [" & 表頭(36) & "], 使用者權限管理表.級別 AS [" & 表頭(37) & "],
  396. 使用者權限管理表.級別 AS [" & 表頭(38) & "], 使用者權限管理表.級別 AS [" & 表頭(39) & "], 使用者權限管理表.級別 AS [" & 表頭(40) & "],
  397. 使用者權限管理表.級別 AS [" & 表頭(41) & "], 使用者權限管理表.級別 AS [" & 表頭(42) & "], 使用者權限管理表.級別 AS [" & 表頭(43) & "],
  398. 使用者權限管理表.級別 AS [" & 表頭(58) & "], 使用者權限管理表.級別 AS [" & 表頭(59) & "], 使用者權限管理表.級別 AS [" & 表頭(60) & "],
  399. 使用者權限管理表.級別 AS [" & 表頭(61) & "], 使用者權限管理表.級別 AS [" & 表頭(62) & "], 使用者權限管理表.級別 AS [" & 表頭(63) & "],
  400. 使用者權限管理表.級別 AS [" & 表頭(44) & "], 使用者權限管理表.級別 AS [" & 表頭(45) & "], 使用者權限管理表.級別 AS [" & 表頭(46) & "],
  401. 使用者權限管理表.級別 AS [" & 表頭(47) & "], 使用者權限管理表.級別 AS [" & 表頭(48) & "], 使用者權限管理表.級別 AS [" & 表頭(49) & "],
  402. 使用者權限管理表.級別 AS [" & 表頭(50) & "], 使用者權限管理表.級別 AS [" & 表頭(51) & "], 使用者權限管理表.級別 AS [" & 表頭(52) & "],
  403. 使用者權限管理表.級別 AS [" & 表頭(53) & "], 使用者權限管理表.級別 AS [" & 表頭(54) & "], 使用者權限管理表.級別 AS [" & 表頭(55) & "],
  404. 使用者權限管理表.級別 AS [" & 表頭(56) & "], 使用者權限管理表.級別 AS [" & 表頭(57) & "], HX空白圖片.圖片 AS [Save.], 使用者權限管理表.帳號
  405. FROM 使用者權限管理表 LEFT OUTER JOIN
  406. HX空白圖片 ON 使用者權限管理表.姓名 = HX空白圖片.選擇 LEFT OUTER JOIN
  407. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號
  408. WHERE (使用者權限管理表.級別 LIKE '05' OR 使用者權限管理表.級別 LIKE '06' OR 使用者權限管理表.級別 LIKE '07' OR 使用者權限管理表.級別 LIKE '08' OR
  409. 使用者權限管理表.級別 LIKE '09') " & SQL2 & "
  410. ORDER BY " & SQL4
  411. CmdSet_For_DGV()
  412. End If
  413. End Sub
  414. Friend Sub SQL_考勤明細表清單()
  415. If 登入人級別 = "02" Then : SQL4 = "使用者權限管理表.級別 LIKE '02' OR 使用者權限管理表.級別 LIKE '03' OR 使用者權限管理表.級別 LIKE '04' OR "
  416. ElseIf 登入人級別 = "03" Then : SQL4 = "使用者權限管理表.級別 LIKE '03' OR 使用者權限管理表.級別 LIKE '04' OR "
  417. ElseIf 登入人級別 = "04" Then : SQL4 = "使用者權限管理表.級別 LIKE '04' OR " : Else : SQL4 = "" : End If
  418. If PA25 = "-1" Or PA25 = "0" Or 工人 = True Then : SQL3 = ""
  419. ElseIf PA25 = "1" Then : SQL3 = " AND 使用者權限管理表.部門 NOT LIKE '3%' "
  420. ElseIf PA25 = "2" Then : SQL3 = " AND 使用者權限管理表.部門 LIKE '3%' " : End If
  421. If BL = False Then
  422. ConnOpen()
  423. If 在職 = True Then
  424. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  425. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  426. Else
  427. SQL2 = " WHERE (使用者權限管理表.CC63 = 0) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  428. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  429. End If
  430. Else
  431. If 工人 = False Then : SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  432. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  433. Else
  434. SQL2 = " WHERE (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  435. 姓名 NOT LIKE 'TEST%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  436. End If
  437. End If
  438. SQL1 = "SELECT 使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "], 使用者權限管理表.ID卡號,
  439. [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [" & 表頭(23) & "],
  440. [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "], [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "],
  441. [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "],
  442. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "]
  443. FROM 使用者權限管理表 LEFT OUTER JOIN [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號 " & SQL2 & "
  444. ORDER BY 使用者權限管理表.部門, 使用者權限管理表.職稱, 使用者權限管理表.課別, 使用者權限管理表.組別, 使用者權限管理表.姓名"
  445. CmdSet_For_DGV()
  446. Else
  447. ConnOpen()
  448. If 在職 = True Then
  449. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 NOT LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  450. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  451. Else : SQL2 = " AND (使用者權限管理表.CC63 = 0) AND (使用者權限管理表.部門 LIKE '9%') AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  452. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3 : End If
  453. Else
  454. If 工人 = False Then : SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 NOT LIKE N'9%' AND 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND
  455. [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  456. Else
  457. SQL2 = " AND (使用者權限管理表.CC63 = 1) AND 使用者權限管理表.部門 LIKE N'9%' AND 使用者權限管理表.姓名 NOT LIKE '未啟用%' AND
  458. 使用者權限管理表.級別 LIKE N'%" & PA14 & "%' AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'" & SQL3
  459. End If
  460. End If
  461. SQL1 = "SELECT 使用者權限管理表.姓名 AS [" & 表頭(0) & "], 使用者權限管理表.部門 AS [" & 表頭(19) & "], 使用者權限管理表.ID卡號,
  462. [HX-PGS-MSN].dbo.人員資料表.員工代碼 AS [" & 表頭(23) & "],
  463. [HX-PGS-MSN].dbo.人員資料表.員工崗位 AS [" & 表頭(24) & "], [HX-PGS-MSN].dbo.人員資料表.部門名稱 AS [" & 表頭(25) & "],
  464. [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(22) & "],
  465. 使用者權限管理表.級別 AS [" & 表頭(1) & "], 使用者權限管理表.級別 AS [" & 表頭(20) & "], 使用者權限管理表.級別 AS [" & 表頭(21) & "]
  466. FROM 使用者權限管理表 LEFT OUTER JOIN
  467. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號
  468. WHERE (" & SQL4 & "使用者權限管理表.級別 LIKE '05' OR 使用者權限管理表.級別 LIKE '06' OR 使用者權限管理表.級別 LIKE '07' OR
  469. 使用者權限管理表.級別 LIKE '08' OR 使用者權限管理表.級別 LIKE '09') " & SQL2 & "
  470. ORDER BY 使用者權限管理表.部門, 使用者權限管理表.職稱, 使用者權限管理表.課別, 使用者權限管理表.組別, 使用者權限管理表.姓名"
  471. CmdSet_For_DGV()
  472. End If
  473. End Sub
  474. '---------------------考勤打卡-----------------------------------------------------------------------------------------------------------------
  475. Friend Sub SQL_打卡人員資料讀取()
  476. ConnOpen()
  477. SQL1 = "SELECT 姓名, 職稱, 帳號 FROM 使用者權限管理表 WHERE (ID卡號 = '" & 考勤打卡.打卡啟動_tb.Text & "') AND CC63 = 0 AND 姓名 NOT LIKE N'未啟用/Not Enabled'"
  478. CmdSet_For_dr()
  479. End Sub
  480. Friend Sub SQL_打卡人員明細讀取()
  481. ConnOpen_管理SQL()
  482. SQL1 = "SELECT 第一, 第二, 第三, 第四, 第五, 第六 FROM 人事考勤明細表 WHERE ID卡號 LIKE '" & 考勤打卡.打卡啟動_tb.Text & "' AND 日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "'"
  483. CmdSet_For_dr()
  484. End Sub
  485. Friend Sub SQL_打卡第一格()
  486. ConnOpen_管理SQL()
  487. SQL1 = "INSERT INTO 人事考勤明細表 (ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六)
  488. VALUES (N'" & 考勤打卡.打卡啟動_tb.Text & "',N'" & DTP & "',N'" & PA45 & "',N'',N'',N'',N'',N'')"
  489. CmdSet_For_dr()
  490. End Sub
  491. Friend Sub SQL_打卡紀錄寫入()
  492. ConnOpen_管理SQL()
  493. SQL1 = "UPDATE 人事考勤明細表 SET " & SQL2 & " = N'" & PA45 & "' WHERE ID卡號 LIKE N'" & 考勤打卡.打卡啟動_tb.Text & "' AND 日期 LIKE N'" & DTP & "'"
  494. CmdSet_For_dr()
  495. End Sub
  496. Friend Sub SQL_人員資料讀取5()
  497. ConnOpen_管理SQL() : SQL1 = "SELECT 照片位置 FROM 人員資料表 WHERE (帳號 LIKE '" & PA5 & "')" : CmdSet_For_dr()
  498. End Sub
  499. Friend Sub SQL_人員資料讀取0()
  500. ConnOpen_工程圖庫SQL() : SQL1 = "SELECT 圖片, 身分證 FROM 人事圖片 WHERE (帳號 LIKE '" & PA5 & "')" : CmdSet_For_dr()
  501. End Sub
  502. '---------------------人員ID卡系統配置設定-----------------------------------------------------------------------------------------------------------------
  503. Friend Sub SQL_人員ID卡系統配置設定_清單()
  504. ConnOpen()
  505. If Val(登入人級別) <= 1 Then
  506. SQL1 = "SELECT 姓名 AS [" & 表頭(4) & "], 帳號 AS [" & 表頭(5) & "], 部門 AS [" & 表頭(6) & "], 課別 AS [" & 表頭(7) & "], 組別 AS [" & 表頭(8) & "],
  507. 職稱 AS [" & 表頭(9) & "], ID卡號 AS [" & 表頭(10) & "] FROM 使用者權限管理表 WHERE CC63 = 0 ORDER BY 職稱"
  508. Else
  509. SQL1 = "SELECT 姓名 AS [" & 表頭(4) & "], 帳號 AS [" & 表頭(5) & "], 部門 AS [" & 表頭(6) & "], 課別 AS [" & 表頭(7) & "], 組別 AS [" & 表頭(8) & "],
  510. 職稱 AS [" & 表頭(9) & "], ID卡號 AS [" & 表頭(10) & "] FROM 使用者權限管理表 WHERE CC24 = 0 AND CC63 = 0 ORDER BY 職稱"
  511. End If
  512. CmdSet_For_DGV()
  513. End Sub
  514. Friend Sub SQL_人員ID卡系統配置設定_配卡()
  515. ConnOpen()
  516. SQL1 = "UPDATE 使用者權限管理表 SET ID卡號 = N'" & PA42 & "' WHERE (帳號 = N'" & PA43 & "') AND (姓名 = N'" & PA44 & "')"
  517. CmdSet_For_dr()
  518. End Sub
  519. Friend Sub SQL_ID卡號修改()
  520. ConnOpen_管理SQL()
  521. SQL1 = "UPDATE 工人薪資表 SET ID卡號 = N'" & PA42 & "' WHERE (ID卡號 LIKE N'" & 人員基本資料.ID卡號2_tb.Text & "')"
  522. CmdSet_For_dr()
  523. ConnOpen_管理SQL()
  524. SQL1 = "UPDATE 人事考勤明細表 SET ID卡號 = N'" & PA42 & "' WHERE (ID卡號 LIKE N'" & 人員基本資料.ID卡號2_tb.Text & "')"
  525. CmdSet_For_dr()
  526. ConnOpen_管理SQL()
  527. SQL1 = "UPDATE 門禁時間紀錄表 SET 卡號 = N'" & PA42 & "' WHERE (卡號 LIKE N'" & 人員基本資料.ID卡號2_tb.Text & "')"
  528. CmdSet_For_dr()
  529. End Sub
  530. Friend Sub SQL_人員ID卡系統配置設定_驗證()
  531. ConnOpen() : SQL1 = "SELECT ID卡號 FROM 使用者權限管理表 WHERE (ID卡號 LIKE N'" & PA42 & "')" : CmdSet_For_dr()
  532. End Sub
  533. Friend Sub SQL_系統帳號確認()
  534. ConnOpen() : SQL1 = "SELECT 帳號 FROM 使用者權限管理表 WHERE (帳號 LIKE N'" & PA32 & "')" : CmdSet_For_dr()
  535. End Sub
  536. '---------------------系統組織結構圖-----------------------------------------------------------------------------------------------------------------
  537. Friend Sub SQL_系統組織結_級別讀取()
  538. ConnOpen() : SQL1 = "SELECT 級別 FROM 使用者權限管理表 WHERE (姓名 LIKE N'" & PA47 & "')" : CmdSet_For_dr()
  539. End Sub
  540. Friend Sub SQL_系統組織結構圖_單位主管1()
  541. SQL_系統組織結_級別讀取()
  542. If dr.Read Then : PA46 = dr("級別") : End If
  543. ConnOpen()
  544. SQL1 = "SELECT QQ.姓名 AS Lead, QQ.級別 as Level, QQ.職稱 AS Jobtitle
  545. FROM 使用者權限管理表 INNER JOIN 系統跨部門權限表 ON 使用者權限管理表.職稱 = 系統跨部門權限表.職稱 INNER JOIN
  546. (SELECT 姓名, 級別, 職稱 FROM 使用者權限管理表 AS 使用者權限管理表_1 WHERE (CAST(級別 AS int) < " & PA46 & ") AND (級別 NOT LIKE '00')) AS QQ ON
  547. 系統跨部門權限表.姓名 = QQ.姓名
  548. WHERE (使用者權限管理表.姓名 LIKE N'" & PA47 & "') AND (系統跨部門權限表.授權 = 1) AND (系統跨部門權限表.姓名 NOT LIKE N'" & PA47 & "') AND 使用者權限管理表.CC63 = 0
  549. ORDER BY QQ.級別"
  550. CmdSet_For_DGV()
  551. End Sub
  552. Friend Sub SQL_系統組織結構圖_部門()
  553. ConnOpen() : SQL1 = "SELECT 部門 FROM HX部門清單 WHERE (部門 NOT LIKE N'%NA') AND (部門 NOT LIKE N'9%') ORDER BY 部門" : CmdSet_For_dr()
  554. End Sub
  555. Friend Sub SQL_系統組織結構圖_部門_人員()
  556. ConnOpen()
  557. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (部門 LIKE N'" & PA & "') AND (處別 LIKE N'00.NA') AND (課別 LIKE N'000.NA') AND (組別 LIKE N'0000.NA') AND CC63 = 0"
  558. CmdSet_For_dr()
  559. End Sub
  560. Friend Sub SQL_系統組織結構圖_處別()
  561. ConnOpen()
  562. SQL1 = "SELECT 處 FROM HX職稱清單 WHERE (部 LIKE N'" & PA & "') AND (處 NOT LIKE N'%NA') AND (處 NOT LIKE N'9%') GROUP BY 處 ORDER BY 處"
  563. CmdSet_For_dr()
  564. End Sub
  565. Friend Sub SQL_系統組織結構圖_處別1()
  566. ConnOpen()
  567. SQL1 = "SELECT 處 FROM HX職稱清單 WHERE (處 NOT LIKE N'%NA') AND (處 NOT LIKE N'9%') GROUP BY 處 ORDER BY 處"
  568. CmdSet_For_dr()
  569. End Sub
  570. Friend Sub SQL_系統組織結構圖_處別_人員()
  571. ConnOpen()
  572. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (處別 LIKE N'" & PA & "') AND (課別 LIKE N'000.NA') AND (組別 LIKE N'0000.NA') AND CC63 = 0"
  573. CmdSet_For_dr()
  574. End Sub
  575. Friend Sub SQL_系統組織結構圖_課別()
  576. ConnOpen()
  577. SQL1 = "SELECT 課 FROM HX職稱清單 WHERE (部 LIKE N'" & PA & "') AND (處 LIKE N'" & PA1 & "') AND (課 NOT LIKE N'%NA') AND (課 NOT LIKE N'9%') GROUP BY 課 ORDER BY 課"
  578. CmdSet_For_dr()
  579. End Sub
  580. Friend Sub SQL_系統組織結構圖_課別1()
  581. ConnOpen()
  582. SQL1 = "SELECT 課 FROM HX職稱清單 WHERE (課 NOT LIKE N'%NA') AND (課 NOT LIKE N'9%') GROUP BY 課 ORDER BY 課"
  583. CmdSet_For_dr()
  584. End Sub
  585. Friend Sub SQL_系統組織結構圖_課別_人員()
  586. ConnOpen()
  587. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (課別 LIKE N'" & PA & "') AND (組別 LIKE N'0000.NA') AND CC63 = 0"
  588. CmdSet_For_dr()
  589. End Sub
  590. Friend Sub SQL_系統組織結構圖_組別()
  591. ConnOpen()
  592. SQL1 = "SELECT 組 FROM HX職稱清單
  593. WHERE (部 LIKE N'" & PA & "') AND (處 LIKE N'" & PA1 & "') AND (課 LIKE N'" & PA2 & "') AND (組 NOT LIKE N'%NA') AND (組 NOT LIKE N'9%') GROUP BY 組 ORDER BY 組"
  594. CmdSet_For_dr()
  595. End Sub
  596. Friend Sub SQL_系統組織結構圖_組別1()
  597. ConnOpen()
  598. SQL1 = "SELECT 組 FROM HX職稱清單 WHERE (組 NOT LIKE N'%NA') AND (組 NOT LIKE N'9%') GROUP BY 組 ORDER BY 組"
  599. CmdSet_For_dr()
  600. End Sub
  601. Friend Sub SQL_系統組織結構圖_組別_人員()
  602. ConnOpen()
  603. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (組別 LIKE N'" & PA & "') AND CC63 = 0"
  604. CmdSet_For_dr()
  605. End Sub
  606. Friend Sub SQL_系統組織結構圖_人員()
  607. ConnOpen()
  608. SQL1 = "SELECT 使用者權限管理表.姓名 AS [" & 表頭(4) & "], 使用者權限管理表.職稱 AS [" & 表頭(9) & "], 使用者權限管理表.級別 AS [" & 表頭(138) & "], 使用者權限管理表.部門,
  609. 使用者權限管理表.處別, 使用者權限管理表.課別, 使用者權限管理表.組別,
  610. 使用者權限管理表.帳號
  611. FROM 使用者權限管理表 INNER JOIN
  612. (SELECT 系統跨部門權限表.姓名
  613. FROM 系統跨部門權限表 INNER JOIN
  614. HX職稱清單 ON 系統跨部門權限表.職稱 = HX職稱清單.職稱
  615. WHERE (系統跨部門權限表.授權 = 1) AND (系統跨部門權限表.姓名 NOT LIKE N'NA') AND
  616. (系統跨部門權限表.姓名 NOT LIKE N'李協叡') AND
  617. (系統跨部門權限表.姓名 NOT LIKE N'LIN HSING HAO') AND
  618. (系統跨部門權限表.姓名 NOT LIKE N'%test%') AND
  619. (系統跨部門權限表.姓名 NOT LIKE N'%測試%') AND
  620. (HX職稱清單.部 LIKE N'" & PA & "') OR
  621. (系統跨部門權限表.授權 = 1) AND (系統跨部門權限表.姓名 NOT LIKE N'NA') AND
  622. (系統跨部門權限表.姓名 NOT LIKE N'李協叡') AND
  623. (系統跨部門權限表.姓名 NOT LIKE N'LIN HSING HAO') AND
  624. (系統跨部門權限表.姓名 NOT LIKE N'%test%') AND
  625. (系統跨部門權限表.姓名 NOT LIKE N'%測試%') AND
  626. (HX職稱清單.處 LIKE N'" & PA & "') OR
  627. (系統跨部門權限表.授權 = 1) AND (系統跨部門權限表.姓名 NOT LIKE N'NA') AND
  628. (系統跨部門權限表.姓名 NOT LIKE N'李協叡') AND
  629. (系統跨部門權限表.姓名 NOT LIKE N'LIN HSING HAO') AND
  630. (系統跨部門權限表.姓名 NOT LIKE N'%test%') AND
  631. (系統跨部門權限表.姓名 NOT LIKE N'%測試%') AND
  632. (HX職稱清單.課 LIKE N'" & PA & "') OR
  633. (系統跨部門權限表.授權 = 1) AND (系統跨部門權限表.姓名 NOT LIKE N'NA') AND
  634. (系統跨部門權限表.姓名 NOT LIKE N'李協叡') AND
  635. (系統跨部門權限表.姓名 NOT LIKE N'LIN HSING HAO') AND
  636. (系統跨部門權限表.姓名 NOT LIKE N'%test%') AND
  637. (系統跨部門權限表.姓名 NOT LIKE N'%測試%') AND
  638. (HX職稱清單.組 LIKE N'" & PA & "')
  639. GROUP BY 系統跨部門權限表.姓名) AS QQQ ON 使用者權限管理表.姓名 = QQQ.姓名
  640. WHERE 使用者權限管理表.CC63 = 0
  641. ORDER BY 使用者權限管理表.級別"
  642. CmdSet_For_DGV()
  643. End Sub
  644. '---------------------門禁系統設定-----------------------------------------------------------------------------------------------------------------
  645. Friend Sub SQL_門禁清單()
  646. ConnOpen_管理SQL() : SQL1 = "SELECT 編號, 位置 AS [位置(中)], 名稱_英文 AS [位置(英)], 名稱_印尼文 AS [位置(印)], IP位置 FROM 門禁控制表 ORDER BY 編號" : CmdSet_For_DGV()
  647. End Sub
  648. Friend Sub SQL_門禁清單_修改()
  649. ConnOpen_管理SQL()
  650. SQL1 = "UPDATE 門禁控制表 SET 位置 = N'" & PA1 & "', 名稱_英文 = N'" & PA2 & "', 名稱_印尼文 = N'" & PA3 & "', IP位置 = N'" & PA4 & "' WHERE (編號 LIKE N'" & PA & "')"
  651. CmdSet_For_dr()
  652. End Sub
  653. Friend Sub SQL_門禁權限清單()
  654. ConnOpen_管理SQL()
  655. SQL1 = "SELECT [HX-GPS-ERP-SYS].dbo.HX處級清單.處, 門禁權限預設.DC01 AS [" & 表頭(0) & "], 門禁權限預設.DC02 AS [" & 表頭(1) & "], 門禁權限預設.DC03 AS [" & 表頭(2) & "],
  656. 門禁權限預設.DC04 AS [" & 表頭(3) & "], 門禁權限預設.DC05 AS [" & 表頭(4) & "], 門禁權限預設.DC06 AS [" & 表頭(5) & "], 門禁權限預設.DC07 AS [" & 表頭(6) & "],
  657. 門禁權限預設.DC08 AS [" & 表頭(7) & "], 門禁權限預設.DC09 AS [" & 表頭(8) & "], 門禁權限預設.DC10 AS [" & 表頭(9) & "], 門禁權限預設.DC11 AS [" & 表頭(10) & "],
  658. 門禁權限預設.DC12 AS [" & 表頭(11) & "]
  659. FROM 門禁權限預設 RIGHT OUTER JOIN [HX-GPS-ERP-SYS].dbo.HX處級清單 ON 門禁權限預設.處別 = [HX-GPS-ERP-SYS].dbo.HX處級清單.處 ORDER BY [HX-GPS-ERP-SYS].dbo.HX處級清單.處"
  660. CmdSet_For_DGV()
  661. End Sub
  662. Friend Sub SQL_門禁權限清單_修改()
  663. ConnOpen_管理SQL()
  664. SQL1 = "UPDATE 門禁權限預設 SET DC01 = N'" & PA1 & "', DC02 = N'" & PA2 & "', DC03 = N'" & PA3 & "', DC04 = N'" & PA4 & "', DC05 = N'" & PA5 & "', DC06 = N'" & PA6 & "' ,
  665. DC07 = N'" & PA7 & "', DC08 = N'" & PA8 & "', DC09 = N'" & PA9 & "', DC10 = N'" & PA10 & "', DC11 = N'" & PA11 & "', DC12 = N'" & PA12 & "'
  666. WHERE (處別 LIKE N'" & PA & "')"
  667. CmdSet_For_dr()
  668. End Sub
  669. Friend Sub SQL_人員門禁權限()
  670. ConnOpen()
  671. If 登入人級別 = "00" Then : SQL2 = "WHERE (處別 NOT LIKE '9%') AND (CC63 <> 1)"
  672. Else : SQL2 = "WHERE (級別 NOT LIKE '09') AND (級別 NOT LIKE '00') AND (級別 NOT LIKE '01') AND (級別 NOT LIKE '02') AND (級別 NOT LIKE '03') AND (CC63 <> 1)"
  673. End If
  674. SQL1 = "SELECT 姓名 AS [Name], 處別 AS [Office], ID卡號 AS [IDNo.], 級別, DC01 AS [" & 表頭(0) & "], DC02 AS [" & 表頭(1) & "], DC03 AS [" & 表頭(2) & "], DC04 AS [" & 表頭(3) & "],
  675. DC05 AS [" & 表頭(4) & "], DC06 AS [" & 表頭(5) & "], DC07 AS [" & 表頭(6) & "], DC08 AS [" & 表頭(7) & "], DC09 AS [" & 表頭(8) & "], DC10 AS [" & 表頭(9) & "],
  676. DC11 AS [" & 表頭(10) & "], DC12 AS [" & 表頭(11) & "]
  677. FROM 使用者權限管理表 " & SQL2 & " ORDER BY 部門, 職稱, 課別, 組別, 姓名"
  678. CmdSet_For_DGV()
  679. End Sub
  680. Friend Sub SQL_人員門禁權限_修改()
  681. ConnOpen()
  682. SQL1 = "UPDATE 使用者權限管理表 SET DC01 = N'" & PA1 & "', DC02 = N'" & PA2 & "', DC03 = N'" & PA3 & "', DC04 = N'" & PA4 & "', DC05 = N'" & PA5 & "', DC06 = N'" & PA6 & "' ,
  683. DC07 = N'" & PA7 & "', DC08 = N'" & PA8 & "', DC09 = N'" & PA9 & "', DC10 = N'" & PA10 & "', DC11 = N'" & PA11 & "', DC12 = N'" & PA12 & "'
  684. WHERE (ID卡號 LIKE N'" & PA & "')"
  685. CmdSet_For_dr()
  686. End Sub
  687. Friend Sub SQL_請假資料寫入()
  688. ConnOpen_管理SQL()
  689. SQL1 = "INSERT INTO 人員請假紀錄 (單號, 人員, 開始日期, 結束日期, 天數, 代理人)
  690. VALUES (N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "', N'" & PA5 & "', N'" & PA6 & "')"
  691. CmdSet_For_dr()
  692. End Sub
  693. Friend Sub SQL_請假資料查詢()
  694. ConnOpen_管理SQL()
  695. SQL1 = "SELECT 部門聯絡函.聯絡函單號, 部門聯絡函.申請部門 AS [" & 表頭(6) & "], 部門聯絡函.申請人 AS [" & 表頭(19) & "],
  696. 部門聯絡函.申請日期 AS [" & 表頭(20) & "], 部門聯絡函.聯絡事項, 部門聯絡函.聯絡人, 部門聯絡函.主題,
  697. 人員請假紀錄.開始日期, 人員請假紀錄.結束日期, [HX-GPS-ERP-SYS].dbo.使用者權限管理表.ID卡號
  698. FROM 部門聯絡函 INNER JOIN 人員請假紀錄 ON 部門聯絡函.聯絡函單號 = 人員請假紀錄.單號 INNER JOIN
  699. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON 人員請假紀錄.人員 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名
  700. WHERE (部門聯絡函.主題 NOT LIKE N'') AND (部門聯絡函.聯絡事項 NOT LIKE N'') AND (部門聯絡函.審核人 NOT LIKE N'') AND
  701. (部門聯絡函.審核人 NOT LIKE N'作廢%') AND (部門聯絡函.接收核准 LIKE N'') AND
  702. (部門聯絡函.接收核准 NOT LIKE N'作廢%')
  703. ORDER BY 部門聯絡函.聯絡函單號 DESC"
  704. CmdSet_For_DGV()
  705. End Sub
  706. Friend Sub SQL_門禁查詢1()
  707. ConnOpen_管理SQL()
  708. SQL1 = "SELECT [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名 AS Name, 門禁時間紀錄表.時間 AS Time, 門禁時間紀錄表.使用者 AS State
  709. FROM 門禁時間紀錄表 LEFT OUTER JOIN [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON 門禁時間紀錄表.卡號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.ID卡號
  710. WHERE (門禁時間紀錄表.名稱 LIKE '" & PA30 & "') ORDER BY Time DESC"
  711. CmdSet_For_DGV()
  712. End Sub
  713. Friend Sub SQL_門禁查詢2()
  714. ConnOpen()
  715. SQL1 = "SELECT [HX-PGS-MSN].dbo.門禁控制表." & SQL2 & " AS Door, [HX-PGS-MSN].dbo.門禁時間紀錄表.時間 AS Time, [HX-PGS-MSN].dbo.門禁時間紀錄表.使用者 AS State
  716. FROM 使用者權限管理表 INNER JOIN [HX-PGS-MSN].dbo.門禁時間紀錄表 ON 使用者權限管理表.ID卡號 = [HX-PGS-MSN].dbo.門禁時間紀錄表.卡號 INNER JOIN
  717. [HX-PGS-MSN].dbo.門禁控制表 ON [HX-PGS-MSN].dbo.門禁時間紀錄表.名稱 = [HX-PGS-MSN].dbo.門禁控制表.編號
  718. WHERE (使用者權限管理表.姓名 LIKE '" & PA30 & "')
  719. ORDER BY [HX-PGS-MSN].dbo.門禁時間紀錄表.時間 DESC"
  720. CmdSet_For_DGV()
  721. End Sub
  722. Friend Sub SQL_考勤查詢1()
  723. ConnOpen_管理SQL()
  724. SQL1 = "SELECT ID卡號 FROM 人事考勤明細表 WHERE (ID卡號 LIKE '" & PA1 & "') AND (日期 LIKE '" & PA15 & "')"
  725. CmdSet_For_dr()
  726. End Sub
  727. Friend Sub SQL_排班系統_月份()
  728. ConnOpen_管理SQL()
  729. SQL1 = "SELECT 日期, 星期, 星期 AS 休假 FROM 萬年曆 WHERE (日期 LIKE N'" & PA1 & "/" & PA2 & "%') ORDER BY 日期"
  730. CmdSet_For_DGV()
  731. End Sub
  732. Friend Sub SQL_排班系統_當天排班()
  733. ConnOpen_管理SQL()
  734. SQL1 = "SELECT 人事考勤明細表.假別 AS [" & 表頭(0) & "], STRING_AGG([HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名, N'、') AS [" & 表頭(1) & "]
  735. FROM 人事考勤明細表 INNER JOIN [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON
  736. 人事考勤明細表.ID卡號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.ID卡號
  737. WHERE (人事考勤明細表.假別 NOT LIKE '') AND (人事考勤明細表.假別 IS NOT NULL) AND (人事考勤明細表.日期 LIKE N'" & PA & "')
  738. GROUP BY 人事考勤明細表.假別 ORDER BY 人事考勤明細表.假別"
  739. CmdSet_For_DGV()
  740. End Sub
  741. '------車輛管理------
  742. Friend Sub SQL_車輛管理_品牌下拉()
  743. ConnOpen_管理SQL()
  744. SQL1 = "SELECT DISTINCT 車輛品牌 FROM 車輛明細表"
  745. CmdSet_For_dr()
  746. End Sub
  747. Friend Sub SQL_車輛管理_位置下拉()
  748. ConnOpen_管理SQL()
  749. SQL1 = "SELECT DISTINCT 車輛位置 FROM 車輛明細表"
  750. CmdSet_For_dr()
  751. End Sub
  752. Friend Sub SQL_車輛管理_人員下拉()
  753. ConnOpen()
  754. SQL1 = "SELECT DISTINCT 姓名 FROM 使用者權限管理表 WHERE (級別 <= 05) AND (姓名 NOT LIKE N'未啟用%') AND (CC63 LIKE N'0')"
  755. CmdSet_For_dr()
  756. End Sub
  757. Friend Sub SQL_車輛管理_清單()
  758. '車輛編號, 車輛品牌, 車牌號碼, 車輛位置, 固定指派, 使用人員
  759. '170 171 172 173 174 175
  760. ConnOpen_管理SQL()
  761. SQL1 = "SELECT 車輛編號 AS [" & 表頭(170) & "], 車輛品牌 AS [" & 表頭(171) & "], 車牌號碼 AS [" & 表頭(172) & "], 車輛位置 AS [" & 表頭(173) & "],
  762. 固定指派 AS [" & 表頭(174) & "], 使用人員 AS [" & 表頭(175) & "]
  763. FROM 車輛明細表 ORDER BY 車輛編號 "
  764. CmdSet_For_DGV()
  765. End Sub
  766. Friend Sub SQL_車輛管理_最後一筆資料()
  767. ConnOpen_管理SQL()
  768. SQL1 = "SELECT TOP(1) 車輛編號 FROM 車輛明細表 ORDER BY 車輛編號 DESC"
  769. CmdSet_For_dr()
  770. End Sub
  771. Friend Sub SQL_車輛管理_修改(車輛編號 As String, 車輛品牌 As String, 車牌號碼 As String, 車輛位置 As String, 固定指派 As String, 使用人員 As String)
  772. ConnOpen_管理SQL()
  773. SQL1 = "UPDATE 車輛明細表 SET 車輛品牌=N'" & 車輛品牌 & "',車牌號碼=N'" & 車牌號碼 & "',車輛位置=N'" & 車輛位置 & "',固定指派=N'" & 固定指派 & "',使用人員=N'" & 使用人員 & "' WHERE 車輛編號 LIKE N'" & 車輛編號 & "' "
  774. CmdSet_For_dr()
  775. End Sub
  776. Friend Sub SQL_車輛管理_刪除(車輛編號 As String)
  777. ConnOpen_管理SQL()
  778. SQL1 = "DELETE 車輛明細表 WHERE 車輛編號 LIKE N'" & 車輛編號 & "'"
  779. CmdSet_For_dr()
  780. End Sub
  781. Friend Sub SQL_車輛管理_新增(車輛編號 As String)
  782. ConnOpen_管理SQL()
  783. SQL1 = "INSERT INTO 車輛明細表(車輛編號) VALUES (N'" & 車輛編號 & "')"
  784. CmdSet_For_dr()
  785. End Sub
  786. Friend Sub SQL_車輛動態_日曆(車輛編號 As String, 日期 As String)
  787. ConnOpen_管理SQL()
  788. SQL1 = "SELECT DISTINCT 車輛明細表.車牌號碼, 部門聯絡函.申請人, 車輛外出明細表.外出地點
  789. FROM 車輛外出明細表 INNER JOIN
  790. 部門聯絡函 ON 車輛外出明細表.聯絡函單號 = 部門聯絡函.聯絡函單號 LEFT OUTER JOIN
  791. 車輛明細表 ON 車輛外出明細表.車輛編號 = 車輛明細表.車輛編號
  792. WHERE (車輛外出明細表.核准 LIKE N'1') AND ('" & 日期 & "' BETWEEN LEFT(車輛外出明細表.借車時間, 8) AND
  793. LEFT(車輛外出明細表.還車時間, 8))"
  794. CmdSet_For_DGV()
  795. End Sub
  796. Friend Sub SQL_人員動態_日曆(日期 As String)
  797. ConnOpen_管理SQL()
  798. SQL1 = "SELECT DISTINCT [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名, 人員外出明細表.人員狀態, 人員外出明細表.外出地點
  799. FROM 人員外出明細表 LEFT OUTER JOIN
  800. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON
  801. 人員外出明細表.姓名 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號
  802. WHERE (人員外出明細表.核准 LIKE N'1') AND ('" & 日期 & "' BETWEEN LEFT(人員外出明細表.開始時間, 8) AND
  803. LEFT(人員外出明細表.結束時間, 8))"
  804. CmdSet_For_DGV()
  805. End Sub
  806. Friend Sub SQL_載入請假資料(聯絡函單號 As String)
  807. ConnOpen_管理SQL()
  808. SQL1 = "SELECT 部門聯絡函.聯絡函單號, 部門聯絡函.申請部門 , 部門聯絡函.申請人,
  809. 部門聯絡函.申請日期 , 部門聯絡函.聯絡事項, 部門聯絡函.聯絡人, 部門聯絡函.主題,
  810. 人員請假紀錄.開始日期, 人員請假紀錄.結束日期, [HX-GPS-ERP-SYS].dbo.使用者權限管理表.ID卡號
  811. FROM 部門聯絡函 INNER JOIN 人員請假紀錄 ON 部門聯絡函.聯絡函單號 = 人員請假紀錄.單號 INNER JOIN
  812. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON 人員請假紀錄.人員 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名
  813. WHERE 部門聯絡函.聯絡函單號 LIKE N'" & 聯絡函單號 & "'
  814. ORDER BY 部門聯絡函.聯絡函單號 DESC"
  815. CmdSet_For_dr()
  816. End Sub
  817. Friend Sub SQL_部門聯絡函人事明細表修改(加班 As Boolean, 假別 As String, 備註 As String, 日期 As String, ID卡號 As String)
  818. ConnOpen_管理SQL()
  819. SQL1 = "UPDATE 人事考勤明細表 SET 加班 = N'" & 加班 & "', 假別 = N'" & 假別 & "', 備註 = N'" & 備註 & "' WHERE 日期 LIKE N'" & 日期 & "' AND ID卡號 LIKE N'" & ID卡號 & "'"
  820. CmdSet_For_dr()
  821. End Sub
  822. Friend Sub SQL_部門聯絡函人事考勤明細表新增(ID卡號 As String, 日期 As String, 加班 As Boolean, 假別 As String, 備註 As String)
  823. ConnOpen_管理SQL()
  824. SQL1 = "INSERT INTO 人事考勤明細表 (ID卡號, 日期, 第一, 第二, 第三, 第四, 第五, 第六, 加班, 假別, 備註)
  825. VALUES (N'" & ID卡號 & "',N'" & 日期 & "',N'',N'',N'',N'',N'',N'','" & 加班 & "', N'" & 假別 & "', N'" & 備註 & "')"
  826. CmdSet_For_dr()
  827. End Sub
  828. Friend Sub SQL_考勤系統手機綁定清單()
  829. ConnOpen_管理SQL()
  830. SQL1 = "SELECT [HX-GPS-ERP-SYS].dbo.使用者權限管理表.職稱 AS [" & 表頭(0) & "], [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名 AS [" & 表頭(1) & "],
  831. [HX-GPS-ERP-SYS].dbo.使用者權限管理表.級別, 手機打卡驗證管理.機碼 AS [" & 表頭(2) & "], [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號,
  832. 手機打卡驗證管理.獨立打卡 AS [" & 表頭(3) & "], 手機打卡驗證管理.不鎖定 AS [" & 表頭(4) & "], [HX-GPS-ERP-SYS].dbo.使用者權限管理表.CC63 AS [" & 表頭(5) & "]
  833. FROM 手機打卡驗證管理 LEFT OUTER JOIN
  834. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON
  835. 手機打卡驗證管理.帳號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號
  836. ORDER BY [HX-GPS-ERP-SYS].dbo.使用者權限管理表.職稱"
  837. CmdSet_For_DGV()
  838. End Sub
  839. Friend Sub SQL_考勤系統手機綁定資料重複確認()
  840. ConnOpen_管理SQL() : SQL1 = "SELECT * FROM 手機打卡驗證管理 WHERE (帳號 LIKE N'" & PA1 & "')" : CmdSet_For_dr()
  841. End Sub
  842. Friend Sub SQL_考勤系統手機綁定資料新增()
  843. ConnOpen_管理SQL() : SQL1 = "INSERT INTO 手機打卡驗證管理 (帳號, 機碼, 獨立打卡, 不鎖定) VALUES (N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "')" : CmdSet_For_dr()
  844. End Sub
  845. Friend Sub SQL_考勤系統手機綁定資料修改()
  846. ConnOpen_管理SQL() : SQL1 = "UPDATE 手機打卡驗證管理 SET 機碼 = N'" & PA2 & "', 獨立打卡 = N'" & PA3 & "', 不鎖定 = N'" & PA4 & "' WHERE 帳號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  847. End Sub
  848. Friend Sub SQL_考勤系統手機綁定資料刪除()
  849. ConnOpen_管理SQL() : SQL1 = "DELETE 手機打卡驗證管理 WHERE 帳號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  850. End Sub
  851. Friend Sub SQL_考勤地點()
  852. ConnOpen_管理SQL()
  853. SQL1 = "SELECT 地點 AS [" & 表頭(0) & "], 經度 AS [" & 表頭(1) & "], 緯度 AS [" & 表頭(2) & "], 容許誤差 AS [" & 表頭(3) & "] FROM 考勤位置設定"
  854. CmdSet_For_DGV()
  855. End Sub
  856. Friend Sub SQL_考勤地點新增()
  857. ConnOpen_管理SQL() : SQL1 = "INSERT INTO 考勤位置設定 (地點, 經度, 緯度, 容許誤差) VALUES (N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "')" : CmdSet_For_dr()
  858. End Sub
  859. Friend Sub SQL_考勤地點修改()
  860. ConnOpen_管理SQL() : SQL1 = "UPDATE 考勤位置設定 SET 經度 = N'" & PA2 & "', 緯度 = N'" & PA3 & "', 容許誤差 = N'" & PA4 & "' WHERE 地點 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  861. End Sub
  862. Friend Sub SQL_考勤地點刪除()
  863. ConnOpen_管理SQL() : SQL1 = "DELETE 考勤位置設定 WHERE 地點 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  864. End Sub
  865. Friend Sub SQL_考勤位置異常清單()
  866. ConnOpen_管理SQL()
  867. SQL1 = "SELECT 使用者權限管理表_1.姓名 AS [" & 表頭(0) & "], 手機打卡考勤表.打卡時間 AS [" & 表頭(8) & "], QQ.姓名 AS [" & 表頭(1) & "], 手機打卡考勤表.經度 AS [" & 表頭(2) & "],
  868. 手機打卡考勤表.緯度 AS [" & 表頭(3) & "], 手機打卡考勤表.狀態, 手機打卡考勤表.機碼, 手機打卡考勤表.狀態 AS [" & 表頭(4) & "]
  869. FROM 手機打卡考勤表 INNER JOIN
  870. (SELECT 手機打卡驗證管理.機碼, [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名,
  871. [HX-GPS-ERP-SYS].dbo.使用者權限管理表.職稱
  872. FROM 手機打卡驗證管理 LEFT OUTER JOIN
  873. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON
  874. 手機打卡驗證管理.帳號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號) AS QQ ON
  875. 手機打卡考勤表.機碼 = QQ.機碼 LEFT OUTER JOIN
  876. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 AS 使用者權限管理表_1 ON
  877. 手機打卡考勤表.主管機台 = 使用者權限管理表_1.帳號 " & SQL2 & "
  878. ORDER BY 手機打卡考勤表.打卡時間, QQ.姓名"
  879. CmdSet_For_DGV()
  880. End Sub
  881. Friend Sub SQL_考勤位置清單()
  882. ConnOpen_管理SQL()
  883. SQL1 = "SELECT 地點 AS [" & 表頭(5) & "], 經度 AS [" & 表頭(2) & "], 緯度 AS [" & 表頭(3) & "], 容許誤差 AS [" & 表頭(6) & "], 地點 AS [" & 表頭(9) & "], 地點 AS [" & 表頭(7) & "]
  884. FROM 考勤位置設定"
  885. CmdSet_For_DGV()
  886. End Sub
  887. Friend Sub SQL_考勤地點異常修改()
  888. ConnOpen_管理SQL() : SQL1 = "UPDATE 手機打卡考勤表 SET 狀態 = N'" & PA3 & "' WHERE 機碼 LIKE N'" & PA1 & "' AND 打卡時間 = N'" & PA2 & "'" : CmdSet_For_dr()
  889. End Sub
  890. Friend Sub SQL_使用者資料讀取_中()
  891. ConnOpen()
  892. SQL1 = "SELECT 帳號, CASE WHEN CHARINDEX('.', 部門) > 0 AND CHARINDEX(' ', 部門) > 0 THEN SUBSTRING(部門, CHARINDEX('.',
  893. 部門) + 1, CHARINDEX(' ', 部門) - CHARINDEX('.', 部門) - 1) WHEN CHARINDEX('.', 部門) > 0 THEN SUBSTRING(部門,
  894. CHARINDEX('.', 部門) + 1, LEN(部門) - CHARINDEX('.', 部門)) ELSE 部門 END AS 部門, CASE WHEN CHARINDEX('.',
  895. 職稱) > 0 AND CHARINDEX('/', 職稱) > 0 THEN SUBSTRING(職稱, CHARINDEX('.', 職稱) + 1, CHARINDEX('/', 職稱)
  896. - CHARINDEX('.', 職稱) - 1) WHEN CHARINDEX('.', 職稱) > 0 THEN SUBSTRING(職稱, CHARINDEX('.', 職稱) + 1,
  897. LEN(職稱) - CHARINDEX('.', 職稱)) ELSE 職稱 END AS 職稱
  898. FROM 使用者權限管理表
  899. WHERE (姓名 LIKE N'" & PA & "')"
  900. CmdSet_For_dr()
  901. End Sub
  902. Friend Sub SQL_使用者資料讀取_英()
  903. ConnOpen()
  904. SQL1 = "SELECT 帳號, CASE WHEN 部門 LIKE '0.NA' THEN 'NA' WHEN CHARINDEX(' ', 部門) > 0 THEN SUBSTRING(部門,
  905. CHARINDEX(' ', 部門) + 1, LEN(部門) - CHARINDEX(' ', 部門)) ELSE 部門 END AS 部門,
  906. CASE WHEN 職稱 LIKE '%.NA' THEN 'NA' WHEN CHARINDEX('/', 職稱) > 0 AND LEN(SUBSTRING(職稱,
  907. CHARINDEX('/', 職稱) + 1, LEN(職稱))) > 0 THEN SUBSTRING(職稱, CHARINDEX('/', 職稱) + 1, LEN(職稱)
  908. - CHARINDEX('/', 職稱)) ELSE 職稱 END AS 職稱
  909. FROM 使用者權限管理表
  910. WHERE (姓名 LIKE N'" & PA & "')"
  911. CmdSet_For_dr()
  912. End Sub
  913. Friend Sub SQL_使用者資料讀取1()
  914. ConnOpen()
  915. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (級別 NOT LIKE N'00') AND (級別 NOT LIKE N'01') AND (級別 NOT LIKE N'02') AND (姓名 NOT LIKE N'%未啟用%') AND (CC63 <> 1)
  916. ORDER BY 部門, 級別, 姓名"
  917. CmdSet_For_dr()
  918. End Sub
  919. Friend Sub SQL_加班單號查詢()
  920. ConnOpen_管理SQL() : SQL1 = "SELECT TOP (1) 聯絡函單號 FROM 人員加班紀錄 WHERE (聯絡函單號 LIKE '" & PA1 & "')" : CmdSet_For_dr()
  921. End Sub
  922. Friend Sub SQL_加班單()
  923. ConnOpen_管理SQL()
  924. SQL1 = "SELECT 人員加班紀錄.聯絡函單號, 人員加班紀錄.加班日期 AS [" & 表頭(0) & "], [HX-GPS-ERP-SYS].dbo.使用者權限管理表.姓名 AS [" & 表頭(1) & "],
  925. 人員加班紀錄.帳號, 人員加班紀錄.理由, 人員加班紀錄.加班地點, 人員加班紀錄.開始日期, 人員加班紀錄.開時時間,
  926. 人員加班紀錄.結束日期, 人員加班紀錄.結束時間, 人員加班紀錄.加班時數, 人員加班紀錄.簽核時數,
  927. 人員加班紀錄.申請人 AS [" & 表頭(2) & "], 人員加班紀錄.申請日期, 人員加班紀錄.單位主管 AS [" & 表頭(3) & "], 人員加班紀錄.簽核日期1,
  928. 人員加班紀錄.部門主管 AS [" & 表頭(4) & "], 人員加班紀錄.簽核日期2, 人員加班紀錄.管理部, 人員加班紀錄.簽核日期3
  929. FROM 人員加班紀錄 INNER JOIN
  930. [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON
  931. 人員加班紀錄.帳號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號 " & SQL2 & "
  932. ORDER BY 人員加班紀錄.加班日期 DESC"
  933. CmdSet_For_DGV()
  934. End Sub
  935. Friend Sub SQL_加班申請()
  936. ConnOpen_管理SQL()
  937. SQL1 = "INSERT INTO 人員加班紀錄 (聯絡函單號, 加班日期, 帳號, 理由, 加班地點, 開始日期, 開時時間, 結束日期, 結束時間, 加班時數, 簽核時數, 申請人, 申請日期,
  938. 單位主管, 簽核日期1, 部門主管, 簽核日期2, 管理部, 簽核日期3)
  939. VALUES (N'" & PA1 & "', N'" & PA2 & "', N'" & PA3 & "', N'" & PA4 & "', N'" & PA5 & "', N'" & PA6 & "', N'" & PA7 & "', N'" & PA8 & "', N'" & PA9 & "',
  940. N'" & PA10 & "', N'" & PA11 & "', N'" & PA12 & "', N'" & PA13 & "', '', '', '', '', '', '')"
  941. CmdSet_For_dr()
  942. End Sub
  943. Friend Sub SQL_加班申請簽核()
  944. ConnOpen_管理SQL() : SQL1 = "UPDATE 人員加班紀錄 SET " & SQL2 & " WHERE 聯絡函單號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  945. End Sub
  946. Friend Sub SQL_加班申請修改()
  947. ConnOpen_管理SQL()
  948. SQL1 = "UPDATE 人員加班紀錄 SET 理由 = N'" & PA4 & "', 加班地點 = N'" & PA5 & "', 開始日期 = N'" & PA6 & "', 開時時間 = N'" & PA7 & "', 結束日期 = N'" & PA8 & "',
  949. 結束時間 = N'" & PA9 & "', 加班時數 = N'" & PA10 & "', 簽核時數 = N'" & PA11 & "', 申請日期 = N'" & PA13 & "'
  950. WHERE 聯絡函單號 LIKE N'" & PA1 & "'"
  951. CmdSet_For_dr()
  952. End Sub
  953. Friend Sub SQL_加班申請刪除()
  954. ConnOpen_管理SQL() : SQL1 = "DELETE 人員加班紀錄 WHERE 聯絡函單號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
  955. End Sub
  956. Friend Sub SQL_加班地點讀取()
  957. ConnOpen_管理SQL()
  958. SQL1 = "SELECT 加班地點 FROM 人員加班紀錄 WHERE (帳號 IS NOT NULL) GROUP BY 加班地點 ORDER BY 加班地點"
  959. CmdSet_For_dr()
  960. End Sub
  961. Friend Sub SQL_加班單查詢(聯絡函單號 As String)
  962. ConnOpen_管理SQL()
  963. SQL1 = "SELECT [HX-GPS-ERP-SYS].dbo.使用者權限管理表.ID卡號, 人員加班紀錄.開始日期
  964. FROM 人員加班紀錄 INNER JOIN [HX-GPS-ERP-SYS].dbo.使用者權限管理表 ON 人員加班紀錄.帳號 = [HX-GPS-ERP-SYS].dbo.使用者權限管理表.帳號
  965. WHERE 人員加班紀錄.聯絡函單號 LIKE N'" & 聯絡函單號 & "'
  966. ORDER BY 人員加班紀錄.加班日期 DESC"
  967. CmdSet_For_dr()
  968. End Sub
  969. Friend Sub SQL_調薪紀錄表()
  970. ConnOpen()
  971. If 系統語言 = "繁體中文" Then
  972. SQL2 = "CASE WHEN CHARINDEX('.', 職稱) > 0 AND CHARINDEX('/', 職稱) > 0 THEN SUBSTRING(職稱, CHARINDEX('.', 職稱) + 1, CHARINDEX('/', 職稱)
  973. - CHARINDEX('.', 職稱) - 1) WHEN CHARINDEX('.', 職稱) > 0 THEN SUBSTRING(職稱, CHARINDEX('.', 職稱) + 1,
  974. LEN(職稱) - CHARINDEX('.', 職稱)) ELSE 職稱 END AS [" & 表頭(1) & "]"
  975. Else
  976. SQL2 = "CASE WHEN 職稱 LIKE '%.NA' THEN 'NA' WHEN CHARINDEX('/', 職稱) > 0 AND LEN(SUBSTRING(職稱,
  977. CHARINDEX('/', 職稱) + 1, LEN(職稱))) > 0 THEN SUBSTRING(職稱, CHARINDEX('/', 職稱) + 1, LEN(職稱)
  978. - CHARINDEX('/', 職稱)) ELSE 職稱 END AS [" & 表頭(1) & "]"
  979. End If
  980. SQL1 = "SELECT 使用者權限管理表.密碼 AS [No.], 使用者權限管理表.帳號 AS STT, [HX-PGS-MSN].dbo.人員資料表.群組 AS [" & 表頭(0) & "], " & SQL2 & ",
  981. 使用者權限管理表.級別 AS [" & 表頭(3) & "], 使用者權限管理表.姓名 AS [" & 表頭(4) & "], [HX-PGS-MSN].dbo.人員資料表.入職日 AS [" & 表頭(5) & "],
  982. [HX-PGS-MSN].dbo.人員資料表.薪資 AS [" & 表頭(6) & "], [HX-PGS-MSN].dbo.人員資料表.津貼 AS [" & 表頭(7) & "],
  983. [HX-PGS-MSN].dbo.人員資料表.備註 AS [" & 表頭(8) & "], [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS [" & 表頭(9) & "],
  984. [HX-PGS-MSN].dbo.人員資料表.薪資狀態 AS 薪資編號, [HX-PGS-MSN].dbo.人員資料表.群組 AS 群組編碼,
  985. [HX-PGS-MSN].dbo.人員資料表.群組 AS 存檔, 使用者權限管理表.部門, [HX-PGS-MSN].dbo.人員資料表.公司 AS [" & 表頭(10) & "]
  986. FROM 使用者權限管理表 INNER JOIN
  987. [HX-PGS-MSN].dbo.人員資料表 ON 使用者權限管理表.帳號 = [HX-PGS-MSN].dbo.人員資料表.帳號
  988. WHERE (使用者權限管理表.CC63 <> 1) " & SQL3 & " AND (使用者權限管理表.部門 NOT LIKE N'0.NA') AND
  989. (使用者權限管理表.姓名 NOT LIKE N'未啟用%')
  990. ORDER BY 使用者權限管理表.部門, 使用者權限管理表.級別"
  991. CmdSet_For_DGV()
  992. End Sub
  993. Friend Sub SQL_人員資料表編輯(部門名稱 As String, 群組 As String, 薪資狀態 As String, 薪資 As String, 津貼 As String, 備註 As String, 帳號 As String, 公司 As String)
  994. ConnOpen_管理SQL()
  995. SQL1 = "UPDATE 人員資料表 SET 部門名稱 = N'" & 部門名稱 & "', 群組 = N'" & 群組 & "', 薪資狀態 = N'" & 薪資狀態 & "', 薪資 = N'" & 薪資 & "',
  996. 津貼 = N'" & 津貼 & "', 備註 = N'" & 備註 & "', 公司 = N'" & 公司 & "' WHERE 帳號 LIKE N'" & 帳號 & "'"
  997. CmdSet_For_dr()
  998. End Sub
  999. End Module