No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

每月零用金設定.vb 373KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460
  1. Imports System.Globalization
  2. Public Class 每月零用金設定
  3. Dim 間隔1, Hours, Hours舊, Xours, Xours舊, Qours, Qours舊, HMD As Integer
  4. Dim 計算(6), X1, AUTO時, AUTO舊1, AUTO舊2 As String : Private ReadOnly 對話框(7) As String
  5. Private Sub 語言轉換讀取()
  6. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  7. Me.Text = 系統語言字典("G000-238-" & 語言)
  8. Label11.Text = 系統語言字典("G000-239-" & 語言) : Label20.Text = 系統語言字典("G000-239-" & 語言) : Label23.Text = 系統語言字典("G000-239-" & 語言)
  9. 薪資計算_ch.Text = 系統語言字典("G000-240-" & 語言) : 採購計算_ch.Text = 系統語言字典("G000-241-" & 語言) : 物料採購_g.Text = 系統語言字典("G000-242-" & 語言)
  10. GroupBox3.Text = 系統語言字典("G000-242-" & 語言) : GroupBox2.Text = 系統語言字典("G000-243-" & 語言) : GroupBox1.Text = 系統語言字典("G000-243-" & 語言)
  11. DA1_bt.Text = 系統語言字典("H611-111-" & 語言) : DA2_bt.Text = 系統語言字典("H611-112-" & 語言) : DA3_bt.Text = 系統語言字典("H611-113-" & 語言)
  12. 考勤表_bt.Text = 系統語言字典("H611-116-" & 語言) : 薪資表_bt.Text = 系統語言字典("H611-117-" & 語言) : Label22.Text = 系統語言字典("H609-145-" & 語言)
  13. Label1.Text = 系統語言字典("H611-119-" & 語言) : Label12.Text = 系統語言字典("H611-119-" & 語言) : Label19.Text = 系統語言字典("H611-120-" & 語言)
  14. Label7.Text = 系統語言字典("H609-124-" & 語言) : Label17.Text = 系統語言字典("H609-144-" & 語言) : Label8.Text = 系統語言字典("H611-120-" & 語言)
  15. 設定_g.Text = 系統語言字典("G000-244-" & 語言) : Label9.Text = 系統語言字典("G000-245-" & 語言) : Label10.Text = 系統語言字典("G000-246-" & 語言)
  16. Label3.Text = 系統語言字典("G000-247-" & 語言) : Label6.Text = 系統語言字典("G000-248-" & 語言) : Label15.Text = 系統語言字典("G000-249-" & 語言)
  17. Label16.Text = 系統語言字典("G000-250-" & 語言) : 對話框(0) = 系統語言字典("G000-251-" & 語言) : 對話框(1) = 系統語言字典("G000-252-" & 語言)
  18. 對話框(2) = 系統語言字典("G000-253-" & 語言) : 對話框(3) = 系統語言字典("H204-133-" & 語言)
  19. 表頭(0) = 系統語言字典("H601-103-" & 語言) : 表頭(1) = 系統語言字典("H602-104-" & 語言) : 表頭(2) = 系統語言字典("H609-107-" & 語言) : 表頭(3) = 系統語言字典("H609-108-" & 語言)
  20. 表頭(4) = 系統語言字典("H609-109-" & 語言) : 表頭(5) = 系統語言字典("H609-110-" & 語言) : 表頭(6) = 系統語言字典("H609-111-" & 語言) : 表頭(7) = 系統語言字典("H609-112-" & 語言)
  21. 表頭(8) = 系統語言字典("H609-113-" & 語言) : 表頭(9) = 系統語言字典("H609-114-" & 語言) : 表頭(10) = 系統語言字典("H609-115-" & 語言) : 表頭(11) = 系統語言字典("H609-116-" & 語言)
  22. 表頭(12) = 系統語言字典("H609-117-" & 語言) : 表頭(13) = 系統語言字典("H609-118-" & 語言) : 表頭(14) = 系統語言字典("H609-119-" & 語言) : 表頭(15) = 系統語言字典("H609-120-" & 語言)
  23. 表頭(16) = 系統語言字典("H609-123-" & 語言) : 表頭(17) = 系統語言字典("H609-124-" & 語言) : 表頭(18) = 系統語言字典("H609-128-" & 語言) : 表頭(19) = 系統語言字典("H601-108-" & 語言)
  24. 表頭(20) = 系統語言字典("H609-129-" & 語言) : 表頭(21) = 系統語言字典("H609-125-" & 語言) : 表頭(22) = 系統語言字典("H607-103-" & 語言) : 表頭(23) = 系統語言字典("H609-130-" & 語言)
  25. 表頭(24) = 系統語言字典("H609-131-" & 語言) : 表頭(25) = 系統語言字典("H609-132-" & 語言) : 表頭(26) = 系統語言字典("H611-105-" & 語言) : 表頭(27) = 系統語言字典("H611-106-" & 語言)
  26. 表頭(28) = 系統語言字典("H611-107-" & 語言) : 表頭(29) = 系統語言字典("H611-108-" & 語言) : 表頭(30) = 系統語言字典("H611-109-" & 語言) : 表頭(64) = 系統語言字典("H611-122-" & 語言)
  27. 表頭(31) = 系統語言字典("H611-123-" & 語言) : 表頭(32) = 系統語言字典("H611-124-" & 語言) : 表頭(33) = 系統語言字典("H611-125-" & 語言) : 表頭(34) = 系統語言字典("H611-126-" & 語言)
  28. 表頭(35) = 系統語言字典("H611-127-" & 語言) : 表頭(36) = 系統語言字典("H611-128-" & 語言) : 表頭(37) = 系統語言字典("H611-129-" & 語言) : 表頭(38) = 系統語言字典("H611-130-" & 語言)
  29. 表頭(39) = 系統語言字典("H611-131-" & 語言) : 表頭(40) = 系統語言字典("H611-132-" & 語言) : 表頭(41) = 系統語言字典("H611-133-" & 語言) : 表頭(42) = 系統語言字典("H611-134-" & 語言)
  30. 表頭(43) = 系統語言字典("H611-135-" & 語言) : 表頭(44) = 系統語言字典("H611-136-" & 語言) : 表頭(45) = 系統語言字典("H611-137-" & 語言) : 表頭(46) = 系統語言字典("H611-138-" & 語言)
  31. 表頭(47) = 系統語言字典("H611-139-" & 語言) : 表頭(48) = 系統語言字典("H611-140-" & 語言) : 表頭(49) = 系統語言字典("H611-141-" & 語言) : 表頭(50) = 系統語言字典("H611-142-" & 語言)
  32. 表頭(51) = 系統語言字典("H611-143-" & 語言) : 表頭(52) = 系統語言字典("H611-144-" & 語言) : 表頭(53) = 系統語言字典("H611-145-" & 語言) : 表頭(54) = 系統語言字典("H611-146-" & 語言)
  33. 表頭(55) = 系統語言字典("H611-147-" & 語言) : 表頭(56) = 系統語言字典("H611-148-" & 語言) : 表頭(57) = 系統語言字典("H611-149-" & 語言) : 表頭(58) = 系統語言字典("H611-150-" & 語言)
  34. 表頭(59) = 系統語言字典("H611-151-" & 語言) : 表頭(60) = 系統語言字典("H611-152-" & 語言) : 表頭(61) = 系統語言字典("H611-153-" & 語言) : 表頭(62) = 系統語言字典("H611-154-" & 語言)
  35. 表頭(63) = 系統語言字典("H611-155-" & 語言)
  36. End Sub
  37. Private Sub Set_虛擬表()
  38. Dim ds1 As New DataSet
  39. 虛擬表_dgv.DataSource = Nothing : ds1.Clear()
  40. 虛擬表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  41. 虛擬表_dgv.ColumnHeadersHeight = 25 : 虛擬表_dgv.AllowUserToAddRows = False : 虛擬表_dgv.RowTemplate.Height = 25
  42. SQL_考勤虛擬表() : PA25 = ""
  43. da.Fill(ds1) : 虛擬表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  44. End Sub
  45. Private Sub Set_供應商()
  46. Dim ds1 As New DataSet
  47. 供應商_dgv.DataSource = Nothing : ds1.Clear()
  48. 供應商_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  49. 供應商_dgv.ColumnHeadersHeight = 25 : 供應商_dgv.AllowUserToAddRows = False : 供應商_dgv.RowTemplate.Height = 25
  50. SQL_特殊供應商()
  51. da.Fill(ds1) : 供應商_dgv.DataSource = ds1.Tables(0) : conn.Close()
  52. End Sub
  53. Private Sub Set_使用地點()
  54. Dim ds1 As New DataSet
  55. 使用地點_dgv.DataSource = Nothing : ds1.Clear()
  56. 使用地點_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. 使用地點_dgv.ColumnHeadersHeight = 25 : 使用地點_dgv.AllowUserToAddRows = False : 使用地點_dgv.RowTemplate.Height = 25
  58. SQL_使用地點()
  59. da.Fill(ds1) : 使用地點_dgv.DataSource = ds1.Tables(0) : conn.Close()
  60. End Sub
  61. Private Sub Set_詢價人員()
  62. Dim ds1 As New DataSet
  63. 核對與詢價_dgv.DataSource = Nothing : ds1.Clear()
  64. 核對與詢價_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  65. 核對與詢價_dgv.ColumnHeadersHeight = 25 : 核對與詢價_dgv.AllowUserToAddRows = False : 核對與詢價_dgv.RowTemplate.Height = 25
  66. SQL_詢價人員()
  67. da.Fill(ds1) : 核對與詢價_dgv.DataSource = ds1.Tables(0) : conn.Close()
  68. End Sub
  69. Private Sub Set_可用物料()
  70. Dim ds1 As New DataSet
  71. 可用物料_dgv.DataSource = Nothing : ds1.Clear()
  72. 可用物料_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  73. 可用物料_dgv.ColumnHeadersHeight = 25 : 可用物料_dgv.AllowUserToAddRows = False : 可用物料_dgv.RowTemplate.Height = 25
  74. SQL_可用物料()
  75. da.Fill(ds1) : 可用物料_dgv.DataSource = ds1.Tables(0) : conn.Close()
  76. End Sub
  77. Private Sub Set_申請人()
  78. Dim ds1 As New DataSet
  79. 申請人_dgv.DataSource = Nothing : ds1.Clear()
  80. 申請人_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  81. 申請人_dgv.ColumnHeadersHeight = 25 : 申請人_dgv.AllowUserToAddRows = False : 申請人_dgv.RowTemplate.Height = 25
  82. SQL_申請人()
  83. da.Fill(ds1) : 申請人_dgv.DataSource = ds1.Tables(0) : conn.Close()
  84. End Sub
  85. Private Sub Set_採購單號()
  86. Dim ds1 As New DataSet
  87. 該月單號_dgv.DataSource = Nothing : ds1.Clear()
  88. 該月單號_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  89. 該月單號_dgv.ColumnHeadersHeight = 25 : 該月單號_dgv.AllowUserToAddRows = False : 該月單號_dgv.RowTemplate.Height = 25
  90. SQL_該月單號()
  91. da.Fill(ds1) : 該月單號_dgv.DataSource = ds1.Tables(0) : conn.Close()
  92. End Sub
  93. Private Sub Set_合約號()
  94. Dim ds1 As New DataSet
  95. 合約號_dgv.DataSource = Nothing : ds1.Clear()
  96. 合約號_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  97. 合約號_dgv.ColumnHeadersHeight = 25 : 合約號_dgv.AllowUserToAddRows = False : 合約號_dgv.RowTemplate.Height = 25
  98. SQL_合約號()
  99. da.Fill(ds1) : 合約號_dgv.DataSource = ds1.Tables(0) : conn.Close()
  100. End Sub
  101. Private Sub Set_使用者清單()
  102. Set_使用者清單1() : Set_使用者清單2() : Set_使用者清單3() : Set_使用者清單4() : Set_使用者清單5() : Set_使用者清單6() : 極限設定()
  103. End Sub
  104. Private Sub Set_使用者清單1()
  105. PA25 = 星1_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  106. 清單1_dgv.DataSource = Nothing : ds1.Clear()
  107. 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  108. 清單1_dgv.ColumnHeadersHeight = 45 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 35
  109. If 群組1_cb.Text = "HARIAN GROUP" Then
  110. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  111. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  112. Else
  113. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  114. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  115. End If
  116. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  117. SQL_人員薪資表1() : da.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  118. 清單1_dgv.Columns("Save.").FillWeight = 40 : 清單1_dgv.Columns(12).Visible = True : 清單1_dgv.Columns(50).Visible = False : 清單1_dgv.Columns(0).FillWeight = 120
  119. 清單1_dgv.Columns(4).FillWeight = 25
  120. For i As Integer = 2 To 14 : 清單1_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單1_dgv.Columns(i).Visible = False : Next
  121. For i As Integer = 15 To 28 : 清單1_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單1_dgv.Columns(i).FillWeight = 60 : Next
  122. For i As Integer = 35 To 48 : 清單1_dgv.Columns(i).FillWeight = 40 : Next : 清單1_dgv.Columns(12).Visible = True : 清單1_dgv.Columns(4).Visible = True
  123. For i As Integer = 1 To 50 : 清單1_dgv.Columns(i).ReadOnly = True : Next
  124. 清單1_dgv.Columns(12).ReadOnly = False
  125. 清單1_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單1_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  126. For i As Integer = 4 To 11
  127. 清單1_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  128. 清單1_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  129. Next
  130. For i As Integer = 12 To 48
  131. 清單1_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  132. 清單1_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  133. Next
  134. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  135. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  136. If 清單1_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單1_dgv.Rows(i).Cells(0).Value = 清單1_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  137. If 清單1_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單1_dgv.Rows(i).Cells(1).Value = 清單1_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  138. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  139. For FF As Integer = 15 To 48 : 清單1_dgv.Rows(i).Cells(FF).Value = "" : Next
  140. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  141. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  142. If 清單1_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  143. If 月份2_cb.Text = Strings.Mid(星1_bt.Text, 6, 2) Then
  144. 清單1_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單1_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  145. End If
  146. If 月份2_cb.Text = Strings.Mid(星2_bt.Text, 6, 2) Then
  147. 清單1_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單1_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  148. End If
  149. If 月份2_cb.Text = Strings.Mid(星3_bt.Text, 6, 2) Then
  150. 清單1_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單1_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  151. End If
  152. If 月份2_cb.Text = Strings.Mid(星4_bt.Text, 6, 2) Then
  153. 清單1_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單1_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  154. End If
  155. If 月份2_cb.Text = Strings.Mid(星5_bt.Text, 6, 2) Then
  156. 清單1_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單1_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  157. End If
  158. If 月份2_cb.Text = Strings.Mid(星6_bt.Text, 6, 2) Then
  159. 清單1_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單1_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  160. End If
  161. If 月份2_cb.Text = Strings.Mid(星7_bt.Text, 6, 2) Then
  162. 清單1_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單1_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  163. End If
  164. End If
  165. Next
  166. Next : AUTO第1周()
  167. End Sub
  168. Private Sub AUTO第1周()
  169. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  170. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  171. If 清單1_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  172. X1 = 清單1_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  173. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  174. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  175. 清單1_dgv.Rows(i).Cells(35).Value = 時間 : 清單1_dgv.Rows(i).Cells(36).Value = 加班1
  176. Else : 清單1_dgv.Rows(i).Cells(35).Value = "" : 清單1_dgv.Rows(i).Cells(36).Value = "" : End If
  177. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  178. If 清單1_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  179. X1 = 清單1_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  180. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  181. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  182. 清單1_dgv.Rows(i).Cells(37).Value = 時間 : 清單1_dgv.Rows(i).Cells(38).Value = 加班1
  183. Else : 清單1_dgv.Rows(i).Cells(37).Value = "" : 清單1_dgv.Rows(i).Cells(38).Value = "" : End If
  184. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  185. If 清單1_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  186. X1 = 清單1_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  187. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  188. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  189. 清單1_dgv.Rows(i).Cells(39).Value = 時間 : 清單1_dgv.Rows(i).Cells(40).Value = 加班1
  190. Else : 清單1_dgv.Rows(i).Cells(39).Value = "" : 清單1_dgv.Rows(i).Cells(40).Value = "" : End If
  191. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  192. If 清單1_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  193. X1 = 清單1_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  194. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  195. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  196. 清單1_dgv.Rows(i).Cells(41).Value = 時間 : 清單1_dgv.Rows(i).Cells(42).Value = 加班1
  197. Else : 清單1_dgv.Rows(i).Cells(41).Value = "" : 清單1_dgv.Rows(i).Cells(42).Value = "" : End If
  198. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  199. If 清單1_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  200. X1 = 清單1_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  201. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  202. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  203. 清單1_dgv.Rows(i).Cells(43).Value = 時間 : 清單1_dgv.Rows(i).Cells(44).Value = 加班1
  204. Else : 清單1_dgv.Rows(i).Cells(43).Value = "" : 清單1_dgv.Rows(i).Cells(44).Value = "" : End If
  205. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  206. If 清單1_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  207. X1 = 清單1_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  208. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  209. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  210. 清單1_dgv.Rows(i).Cells(45).Value = 時間 : 清單1_dgv.Rows(i).Cells(46).Value = 加班1
  211. Else : 清單1_dgv.Rows(i).Cells(45).Value = "" : 清單1_dgv.Rows(i).Cells(46).Value = "" : End If
  212. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  213. If 清單1_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單1_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  214. X1 = 清單1_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單1_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  215. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  216. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  217. 清單1_dgv.Rows(i).Cells(47).Value = 時間 : 清單1_dgv.Rows(i).Cells(48).Value = 加班1
  218. Else : 清單1_dgv.Rows(i).Cells(47).Value = "" : 清單1_dgv.Rows(i).Cells(48).Value = "" : End If
  219. Dim 正常(6), 加班(6) As Integer
  220. If 清單1_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單1_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  221. If 清單1_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單1_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  222. If 清單1_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單1_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  223. If 清單1_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單1_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  224. If 清單1_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單1_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  225. If 清單1_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單1_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  226. If 清單1_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單1_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  227. If 清單1_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單1_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  228. If 清單1_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單1_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  229. If 清單1_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單1_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  230. If 清單1_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單1_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  231. If 清單1_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單1_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  232. If 清單1_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單1_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  233. If 清單1_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單1_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  234. 清單1_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  235. 清單1_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  236. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  237. If IsDBNull(清單1_dgv.Rows(i).Cells(12).Value) Then : Else
  238. If 清單1_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  239. 清單1_dgv.Rows(i).Cells(31).Value = Strings.Format(清單1_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  240. 清單1_dgv.Rows(i).Cells(32).Value = Strings.Format(清單1_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  241. 清單1_dgv.Rows(i).Cells(29).Value = Strings.Format((清單1_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單1_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  242. 清單1_dgv.Rows(i).Cells(30).Value = Strings.Format((清單1_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單1_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  243. 清單1_dgv.Rows(i).Cells(13).Value = CLng(清單1_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單1_dgv.Rows(i).Cells(30).Value.ToString)
  244. End If
  245. End If
  246. 清單1_dgv.Rows(i).Cells(4).Value = i + 1
  247. Next
  248. End Sub
  249. Private Sub Set_使用者清單2()
  250. PA25 = 星8_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  251. 清單2_dgv.DataSource = Nothing : ds1.Clear()
  252. 清單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  253. 清單2_dgv.ColumnHeadersHeight = 45 : 清單2_dgv.AllowUserToAddRows = False : 清單2_dgv.RowTemplate.Height = 35
  254. If 群組1_cb.Text = "HARIAN GROUP" Then
  255. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  256. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  257. Else
  258. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  259. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  260. End If
  261. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  262. SQL_人員薪資表1() : da.Fill(ds1) : 清單2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  263. 清單2_dgv.Columns("Save.").FillWeight = 40 : 清單2_dgv.Columns(12).Visible = True : 清單2_dgv.Columns(50).Visible = False : 清單2_dgv.Columns(0).FillWeight = 120
  264. 清單2_dgv.Columns(4).FillWeight = 25
  265. For i As Integer = 2 To 14 : 清單2_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單2_dgv.Columns(i).Visible = False : Next
  266. For i As Integer = 15 To 28 : 清單2_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單2_dgv.Columns(i).FillWeight = 60 : Next
  267. For i As Integer = 35 To 48 : 清單2_dgv.Columns(i).FillWeight = 40 : Next : 清單2_dgv.Columns(12).Visible = True : 清單2_dgv.Columns(4).Visible = True
  268. For i As Integer = 1 To 50 : 清單2_dgv.Columns(i).ReadOnly = True : Next
  269. 清單2_dgv.Columns(12).ReadOnly = False
  270. 清單2_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單2_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  271. For i As Integer = 4 To 11
  272. 清單2_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  273. 清單2_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  274. Next
  275. For i As Integer = 12 To 48
  276. 清單2_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  277. 清單2_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  278. Next
  279. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  280. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  281. If 清單2_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單2_dgv.Rows(i).Cells(0).Value = 清單2_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  282. If 清單2_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單2_dgv.Rows(i).Cells(1).Value = 清單2_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  283. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  284. For FF As Integer = 15 To 48 : 清單2_dgv.Rows(i).Cells(FF).Value = "" : Next
  285. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  286. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  287. If 清單2_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  288. If 月份2_cb.Text = Strings.Mid(星8_bt.Text, 6, 2) Then
  289. 清單2_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單2_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  290. End If
  291. If 月份2_cb.Text = Strings.Mid(星9_bt.Text, 6, 2) Then
  292. 清單2_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單2_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  293. End If
  294. If 月份2_cb.Text = Strings.Mid(星10_bt.Text, 6, 2) Then
  295. 清單2_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單2_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  296. End If
  297. If 月份2_cb.Text = Strings.Mid(星11_bt.Text, 6, 2) Then
  298. 清單2_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單2_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  299. End If
  300. If 月份2_cb.Text = Strings.Mid(星12_bt.Text, 6, 2) Then
  301. 清單2_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單2_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  302. End If
  303. If 月份2_cb.Text = Strings.Mid(星13_bt.Text, 6, 2) Then
  304. 清單2_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單2_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  305. End If
  306. If 月份2_cb.Text = Strings.Mid(星14_bt.Text, 6, 2) Then
  307. 清單2_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單2_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  308. End If
  309. End If
  310. Next
  311. Next : AUTO第2周()
  312. End Sub
  313. Private Sub AUTO第2周()
  314. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  315. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  316. If 清單2_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  317. X1 = 清單2_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  318. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  319. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  320. 清單2_dgv.Rows(i).Cells(35).Value = 時間 : 清單2_dgv.Rows(i).Cells(36).Value = 加班1
  321. Else : 清單2_dgv.Rows(i).Cells(35).Value = "" : 清單2_dgv.Rows(i).Cells(36).Value = "" : End If
  322. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  323. If 清單2_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  324. X1 = 清單2_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  325. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  326. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  327. 清單2_dgv.Rows(i).Cells(37).Value = 時間 : 清單2_dgv.Rows(i).Cells(38).Value = 加班1
  328. Else : 清單2_dgv.Rows(i).Cells(37).Value = "" : 清單2_dgv.Rows(i).Cells(38).Value = "" : End If
  329. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  330. If 清單2_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  331. X1 = 清單2_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  332. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  333. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  334. 清單2_dgv.Rows(i).Cells(39).Value = 時間 : 清單2_dgv.Rows(i).Cells(40).Value = 加班1
  335. Else : 清單2_dgv.Rows(i).Cells(39).Value = "" : 清單2_dgv.Rows(i).Cells(40).Value = "" : End If
  336. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  337. If 清單2_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  338. X1 = 清單2_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  339. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  340. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  341. 清單2_dgv.Rows(i).Cells(41).Value = 時間 : 清單2_dgv.Rows(i).Cells(42).Value = 加班1
  342. Else : 清單2_dgv.Rows(i).Cells(41).Value = "" : 清單2_dgv.Rows(i).Cells(42).Value = "" : End If
  343. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  344. If 清單2_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  345. X1 = 清單2_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  346. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  347. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  348. 清單2_dgv.Rows(i).Cells(43).Value = 時間 : 清單2_dgv.Rows(i).Cells(44).Value = 加班1
  349. Else : 清單2_dgv.Rows(i).Cells(43).Value = "" : 清單2_dgv.Rows(i).Cells(44).Value = "" : End If
  350. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  351. If 清單2_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  352. X1 = 清單2_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  353. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  354. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  355. 清單2_dgv.Rows(i).Cells(45).Value = 時間 : 清單2_dgv.Rows(i).Cells(46).Value = 加班1
  356. Else : 清單2_dgv.Rows(i).Cells(45).Value = "" : 清單2_dgv.Rows(i).Cells(46).Value = "" : End If
  357. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  358. If 清單2_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單2_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  359. X1 = 清單2_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單2_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  360. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  361. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  362. 清單2_dgv.Rows(i).Cells(47).Value = 時間 : 清單2_dgv.Rows(i).Cells(48).Value = 加班1
  363. Else : 清單2_dgv.Rows(i).Cells(47).Value = "" : 清單2_dgv.Rows(i).Cells(48).Value = "" : End If
  364. Dim 正常(6), 加班(6) As Integer
  365. If 清單2_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單2_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  366. If 清單2_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單2_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  367. If 清單2_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單2_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  368. If 清單2_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單2_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  369. If 清單2_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單2_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  370. If 清單2_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單2_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  371. If 清單2_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單2_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  372. If 清單2_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單2_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  373. If 清單2_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單2_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  374. If 清單2_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單2_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  375. If 清單2_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單2_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  376. If 清單2_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單2_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  377. If 清單2_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單2_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  378. If 清單2_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單2_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  379. 清單2_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  380. 清單2_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  381. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  382. If IsDBNull(清單2_dgv.Rows(i).Cells(12).Value) Then : Else
  383. If 清單2_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  384. 清單2_dgv.Rows(i).Cells(31).Value = Strings.Format(清單2_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  385. 清單2_dgv.Rows(i).Cells(32).Value = Strings.Format(清單2_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  386. 清單2_dgv.Rows(i).Cells(29).Value = Strings.Format((清單2_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單2_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  387. 清單2_dgv.Rows(i).Cells(30).Value = Strings.Format((清單2_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單2_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  388. 清單2_dgv.Rows(i).Cells(13).Value = CLng(清單2_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單2_dgv.Rows(i).Cells(30).Value.ToString)
  389. End If
  390. End If
  391. 清單2_dgv.Rows(i).Cells(4).Value = i + 1
  392. Next
  393. End Sub
  394. Private Sub Set_使用者清單3()
  395. PA25 = 星15_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  396. 清單3_dgv.DataSource = Nothing : ds1.Clear()
  397. 清單3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  398. 清單3_dgv.ColumnHeadersHeight = 45 : 清單3_dgv.AllowUserToAddRows = False : 清單3_dgv.RowTemplate.Height = 35
  399. If 群組1_cb.Text = "HARIAN GROUP" Then
  400. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  401. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  402. Else
  403. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  404. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  405. End If
  406. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  407. SQL_人員薪資表1() : da.Fill(ds1) : 清單3_dgv.DataSource = ds1.Tables(0) : conn.Close()
  408. 清單3_dgv.Columns("Save.").FillWeight = 40 : 清單3_dgv.Columns(12).Visible = True : 清單3_dgv.Columns(50).Visible = False : 清單3_dgv.Columns(0).FillWeight = 120
  409. 清單3_dgv.Columns(4).FillWeight = 25
  410. For i As Integer = 2 To 14 : 清單3_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單3_dgv.Columns(i).Visible = False : Next
  411. For i As Integer = 15 To 28 : 清單3_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單3_dgv.Columns(i).FillWeight = 60 : Next
  412. For i As Integer = 35 To 48 : 清單3_dgv.Columns(i).FillWeight = 40 : Next : 清單3_dgv.Columns(12).Visible = True : 清單3_dgv.Columns(4).Visible = True
  413. For i As Integer = 1 To 50 : 清單3_dgv.Columns(i).ReadOnly = True : Next
  414. 清單3_dgv.Columns(12).ReadOnly = False
  415. 清單3_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單3_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  416. For i As Integer = 4 To 11
  417. 清單3_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  418. 清單3_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  419. Next
  420. For i As Integer = 12 To 48
  421. 清單3_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  422. 清單3_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  423. Next
  424. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  425. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  426. If 清單3_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單3_dgv.Rows(i).Cells(0).Value = 清單3_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  427. If 清單3_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單3_dgv.Rows(i).Cells(1).Value = 清單3_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  428. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  429. For FF As Integer = 15 To 48 : 清單3_dgv.Rows(i).Cells(FF).Value = "" : Next
  430. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  431. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  432. If 清單3_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  433. If 月份2_cb.Text = Strings.Mid(星15_bt.Text, 6, 2) Then
  434. 清單3_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單3_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  435. End If
  436. If 月份2_cb.Text = Strings.Mid(星16_bt.Text, 6, 2) Then
  437. 清單3_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單3_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  438. End If
  439. If 月份2_cb.Text = Strings.Mid(星17_bt.Text, 6, 2) Then
  440. 清單3_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單3_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  441. End If
  442. If 月份2_cb.Text = Strings.Mid(星18_bt.Text, 6, 2) Then
  443. 清單3_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單3_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  444. End If
  445. If 月份2_cb.Text = Strings.Mid(星19_bt.Text, 6, 2) Then
  446. 清單3_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單3_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  447. End If
  448. If 月份2_cb.Text = Strings.Mid(星20_bt.Text, 6, 2) Then
  449. 清單3_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單3_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  450. End If
  451. If 月份2_cb.Text = Strings.Mid(星21_bt.Text, 6, 2) Then
  452. 清單3_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單3_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  453. End If
  454. End If
  455. Next
  456. Next : AUTO第3周()
  457. End Sub
  458. Private Sub AUTO第3周()
  459. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  460. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  461. If 清單3_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  462. X1 = 清單3_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  463. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  464. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  465. 清單3_dgv.Rows(i).Cells(35).Value = 時間 : 清單3_dgv.Rows(i).Cells(36).Value = 加班1
  466. Else : 清單3_dgv.Rows(i).Cells(35).Value = "" : 清單3_dgv.Rows(i).Cells(36).Value = "" : End If
  467. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  468. If 清單3_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  469. X1 = 清單3_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  470. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  471. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  472. 清單3_dgv.Rows(i).Cells(37).Value = 時間 : 清單3_dgv.Rows(i).Cells(38).Value = 加班1
  473. Else : 清單3_dgv.Rows(i).Cells(37).Value = "" : 清單3_dgv.Rows(i).Cells(38).Value = "" : End If
  474. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  475. If 清單3_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  476. X1 = 清單3_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  477. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  478. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  479. 清單3_dgv.Rows(i).Cells(39).Value = 時間 : 清單3_dgv.Rows(i).Cells(40).Value = 加班1
  480. Else : 清單3_dgv.Rows(i).Cells(39).Value = "" : 清單3_dgv.Rows(i).Cells(40).Value = "" : End If
  481. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  482. If 清單3_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  483. X1 = 清單3_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  484. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  485. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  486. 清單3_dgv.Rows(i).Cells(41).Value = 時間 : 清單3_dgv.Rows(i).Cells(42).Value = 加班1
  487. Else : 清單3_dgv.Rows(i).Cells(41).Value = "" : 清單3_dgv.Rows(i).Cells(42).Value = "" : End If
  488. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  489. If 清單3_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  490. X1 = 清單3_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  491. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  492. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  493. 清單3_dgv.Rows(i).Cells(43).Value = 時間 : 清單3_dgv.Rows(i).Cells(44).Value = 加班1
  494. Else : 清單3_dgv.Rows(i).Cells(43).Value = "" : 清單3_dgv.Rows(i).Cells(44).Value = "" : End If
  495. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  496. If 清單3_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  497. X1 = 清單3_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  498. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  499. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  500. 清單3_dgv.Rows(i).Cells(45).Value = 時間 : 清單3_dgv.Rows(i).Cells(46).Value = 加班1
  501. Else : 清單3_dgv.Rows(i).Cells(45).Value = "" : 清單3_dgv.Rows(i).Cells(46).Value = "" : End If
  502. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  503. If 清單3_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單3_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  504. X1 = 清單3_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單3_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  505. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  506. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  507. 清單3_dgv.Rows(i).Cells(47).Value = 時間 : 清單3_dgv.Rows(i).Cells(48).Value = 加班1
  508. Else : 清單3_dgv.Rows(i).Cells(47).Value = "" : 清單3_dgv.Rows(i).Cells(48).Value = "" : End If
  509. Dim 正常(6), 加班(6) As Integer
  510. If 清單3_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單3_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  511. If 清單3_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單3_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  512. If 清單3_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單3_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  513. If 清單3_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單3_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  514. If 清單3_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單3_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  515. If 清單3_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單3_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  516. If 清單3_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單3_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  517. If 清單3_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單3_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  518. If 清單3_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單3_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  519. If 清單3_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單3_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  520. If 清單3_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單3_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  521. If 清單3_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單3_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  522. If 清單3_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單3_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  523. If 清單3_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單3_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  524. 清單3_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  525. 清單3_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  526. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  527. If IsDBNull(清單3_dgv.Rows(i).Cells(12).Value) Then : Else
  528. If 清單3_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  529. 清單3_dgv.Rows(i).Cells(31).Value = Strings.Format(清單3_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  530. 清單3_dgv.Rows(i).Cells(32).Value = Strings.Format(清單3_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  531. 清單3_dgv.Rows(i).Cells(29).Value = Strings.Format((清單3_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單3_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  532. 清單3_dgv.Rows(i).Cells(30).Value = Strings.Format((清單3_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單3_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  533. 清單3_dgv.Rows(i).Cells(13).Value = CLng(清單3_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單3_dgv.Rows(i).Cells(30).Value.ToString)
  534. End If
  535. End If
  536. 清單3_dgv.Rows(i).Cells(4).Value = i + 1
  537. Next
  538. End Sub
  539. Private Sub Set_使用者清單4()
  540. PA25 = 星22_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  541. 清單4_dgv.DataSource = Nothing : ds1.Clear()
  542. 清單4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  543. 清單4_dgv.ColumnHeadersHeight = 45 : 清單4_dgv.AllowUserToAddRows = False : 清單4_dgv.RowTemplate.Height = 35
  544. If 群組1_cb.Text = "HARIAN GROUP" Then
  545. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  546. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  547. Else
  548. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  549. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  550. End If
  551. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  552. SQL_人員薪資表1() : da.Fill(ds1) : 清單4_dgv.DataSource = ds1.Tables(0) : conn.Close()
  553. 清單4_dgv.Columns("Save.").FillWeight = 40 : 清單4_dgv.Columns(12).Visible = True : 清單4_dgv.Columns(50).Visible = False : 清單4_dgv.Columns(0).FillWeight = 120
  554. 清單4_dgv.Columns(4).FillWeight = 25
  555. For i As Integer = 2 To 14 : 清單4_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單4_dgv.Columns(i).Visible = False : Next
  556. For i As Integer = 15 To 28 : 清單4_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單4_dgv.Columns(i).FillWeight = 60 : Next
  557. For i As Integer = 35 To 48 : 清單4_dgv.Columns(i).FillWeight = 40 : Next : 清單4_dgv.Columns(12).Visible = True : 清單4_dgv.Columns(4).Visible = True
  558. For i As Integer = 1 To 50 : 清單4_dgv.Columns(i).ReadOnly = True : Next
  559. 清單4_dgv.Columns(12).ReadOnly = False
  560. 清單4_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單4_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  561. For i As Integer = 4 To 11
  562. 清單4_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  563. 清單4_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  564. Next
  565. For i As Integer = 12 To 48
  566. 清單4_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  567. 清單4_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  568. Next
  569. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  570. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  571. If 清單4_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單4_dgv.Rows(i).Cells(0).Value = 清單4_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  572. If 清單4_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單4_dgv.Rows(i).Cells(1).Value = 清單4_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  573. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  574. For FF As Integer = 15 To 48 : 清單4_dgv.Rows(i).Cells(FF).Value = "" : Next
  575. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  576. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  577. If 清單4_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  578. If 月份2_cb.Text = Strings.Mid(星22_bt.Text, 6, 2) Then
  579. 清單4_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單4_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  580. End If
  581. If 月份2_cb.Text = Strings.Mid(星23_bt.Text, 6, 2) Then
  582. 清單4_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單4_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  583. End If
  584. If 月份2_cb.Text = Strings.Mid(星24_bt.Text, 6, 2) Then
  585. 清單4_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單4_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  586. End If
  587. If 月份2_cb.Text = Strings.Mid(星25_bt.Text, 6, 2) Then
  588. 清單4_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單4_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  589. End If
  590. If 月份2_cb.Text = Strings.Mid(星26_bt.Text, 6, 2) Then
  591. 清單4_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單4_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  592. End If
  593. If 月份2_cb.Text = Strings.Mid(星27_bt.Text, 6, 2) Then
  594. 清單4_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單4_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  595. End If
  596. If 月份2_cb.Text = Strings.Mid(星28_bt.Text, 6, 2) Then
  597. 清單4_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單4_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  598. End If
  599. End If
  600. Next
  601. Next : AUTO第4周()
  602. End Sub
  603. Private Sub AUTO第4周()
  604. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  605. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  606. If 清單4_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  607. X1 = 清單4_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  608. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  609. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  610. 清單4_dgv.Rows(i).Cells(35).Value = 時間 : 清單4_dgv.Rows(i).Cells(36).Value = 加班1
  611. Else : 清單4_dgv.Rows(i).Cells(35).Value = "" : 清單4_dgv.Rows(i).Cells(36).Value = "" : End If
  612. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  613. If 清單4_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  614. X1 = 清單4_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  615. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  616. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  617. 清單4_dgv.Rows(i).Cells(37).Value = 時間 : 清單4_dgv.Rows(i).Cells(38).Value = 加班1
  618. Else : 清單4_dgv.Rows(i).Cells(37).Value = "" : 清單4_dgv.Rows(i).Cells(38).Value = "" : End If
  619. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  620. If 清單4_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  621. X1 = 清單4_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  622. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  623. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  624. 清單4_dgv.Rows(i).Cells(39).Value = 時間 : 清單4_dgv.Rows(i).Cells(40).Value = 加班1
  625. Else : 清單4_dgv.Rows(i).Cells(39).Value = "" : 清單4_dgv.Rows(i).Cells(40).Value = "" : End If
  626. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  627. If 清單4_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  628. X1 = 清單4_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  629. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  630. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  631. 清單4_dgv.Rows(i).Cells(41).Value = 時間 : 清單4_dgv.Rows(i).Cells(42).Value = 加班1
  632. Else : 清單4_dgv.Rows(i).Cells(41).Value = "" : 清單4_dgv.Rows(i).Cells(42).Value = "" : End If
  633. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  634. If 清單4_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  635. X1 = 清單4_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  636. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  637. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  638. 清單4_dgv.Rows(i).Cells(43).Value = 時間 : 清單4_dgv.Rows(i).Cells(44).Value = 加班1
  639. Else : 清單4_dgv.Rows(i).Cells(43).Value = "" : 清單4_dgv.Rows(i).Cells(44).Value = "" : End If
  640. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  641. If 清單4_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  642. X1 = 清單4_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  643. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  644. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  645. 清單4_dgv.Rows(i).Cells(45).Value = 時間 : 清單4_dgv.Rows(i).Cells(46).Value = 加班1
  646. Else : 清單4_dgv.Rows(i).Cells(45).Value = "" : 清單4_dgv.Rows(i).Cells(46).Value = "" : End If
  647. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  648. If 清單4_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單4_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  649. X1 = 清單4_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單4_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  650. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  651. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  652. 清單4_dgv.Rows(i).Cells(47).Value = 時間 : 清單4_dgv.Rows(i).Cells(48).Value = 加班1
  653. Else : 清單4_dgv.Rows(i).Cells(47).Value = "" : 清單4_dgv.Rows(i).Cells(48).Value = "" : End If
  654. Dim 正常(6), 加班(6) As Integer
  655. If 清單4_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單4_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  656. If 清單4_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單4_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  657. If 清單4_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單4_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  658. If 清單4_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單4_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  659. If 清單4_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單4_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  660. If 清單4_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單4_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  661. If 清單4_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單4_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  662. If 清單4_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單4_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  663. If 清單4_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單4_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  664. If 清單4_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單4_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  665. If 清單4_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單4_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  666. If 清單4_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單4_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  667. If 清單4_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單4_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  668. If 清單4_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單4_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  669. 清單4_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  670. 清單4_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  671. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  672. If IsDBNull(清單4_dgv.Rows(i).Cells(12).Value) Then : Else
  673. If 清單4_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  674. 清單4_dgv.Rows(i).Cells(31).Value = Strings.Format(清單4_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  675. 清單4_dgv.Rows(i).Cells(32).Value = Strings.Format(清單4_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  676. 清單4_dgv.Rows(i).Cells(29).Value = Strings.Format((清單4_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單4_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  677. 清單4_dgv.Rows(i).Cells(30).Value = Strings.Format((清單4_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單4_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  678. 清單4_dgv.Rows(i).Cells(13).Value = CLng(清單4_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單4_dgv.Rows(i).Cells(30).Value.ToString)
  679. End If
  680. End If
  681. 清單4_dgv.Rows(i).Cells(4).Value = i + 1
  682. Next
  683. End Sub
  684. Private Sub Set_使用者清單5()
  685. PA25 = 星29_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  686. 清單5_dgv.DataSource = Nothing : ds1.Clear()
  687. 清單5_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  688. 清單5_dgv.ColumnHeadersHeight = 45 : 清單5_dgv.AllowUserToAddRows = False : 清單5_dgv.RowTemplate.Height = 35
  689. If 群組1_cb.Text = "HARIAN GROUP" Then
  690. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  691. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  692. Else
  693. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  694. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  695. End If
  696. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  697. SQL_人員薪資表1() : da.Fill(ds1) : 清單5_dgv.DataSource = ds1.Tables(0) : conn.Close()
  698. 清單5_dgv.Columns("Save.").FillWeight = 40 : 清單5_dgv.Columns(12).Visible = True : 清單5_dgv.Columns(50).Visible = False : 清單5_dgv.Columns(0).FillWeight = 120
  699. 清單5_dgv.Columns(4).FillWeight = 25
  700. For i As Integer = 2 To 14 : 清單5_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單5_dgv.Columns(i).Visible = False : Next
  701. For i As Integer = 15 To 28 : 清單5_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單5_dgv.Columns(i).FillWeight = 60 : Next
  702. For i As Integer = 35 To 48 : 清單5_dgv.Columns(i).FillWeight = 40 : Next : 清單5_dgv.Columns(12).Visible = True : 清單5_dgv.Columns(4).Visible = True
  703. For i As Integer = 1 To 50 : 清單5_dgv.Columns(i).ReadOnly = True : Next
  704. 清單5_dgv.Columns(12).ReadOnly = False
  705. 清單5_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單5_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  706. For i As Integer = 4 To 11
  707. 清單5_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  708. 清單5_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  709. Next
  710. For i As Integer = 12 To 48
  711. 清單5_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  712. 清單5_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  713. Next
  714. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  715. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  716. If 清單5_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單5_dgv.Rows(i).Cells(0).Value = 清單5_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  717. If 清單5_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單5_dgv.Rows(i).Cells(1).Value = 清單5_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  718. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  719. For FF As Integer = 15 To 48 : 清單5_dgv.Rows(i).Cells(FF).Value = "" : Next
  720. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  721. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  722. If 清單5_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  723. If 月份2_cb.Text = Strings.Mid(星29_bt.Text, 6, 2) Then
  724. 清單5_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單5_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  725. End If
  726. If 月份2_cb.Text = Strings.Mid(星30_bt.Text, 6, 2) Then
  727. 清單5_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單5_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  728. End If
  729. If 月份2_cb.Text = Strings.Mid(星31_bt.Text, 6, 2) Then
  730. 清單5_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單5_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  731. End If
  732. If 月份2_cb.Text = Strings.Mid(星32_bt.Text, 6, 2) Then
  733. 清單5_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單5_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  734. End If
  735. If 月份2_cb.Text = Strings.Mid(星33_bt.Text, 6, 2) Then
  736. 清單5_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單5_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  737. End If
  738. If 月份2_cb.Text = Strings.Mid(星34_bt.Text, 6, 2) Then
  739. 清單5_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單5_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  740. End If
  741. If 月份2_cb.Text = Strings.Mid(星35_bt.Text, 6, 2) Then
  742. 清單5_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單5_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  743. End If
  744. End If
  745. Next
  746. Next : AUTO第5周()
  747. End Sub
  748. Private Sub AUTO第5周()
  749. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  750. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  751. If 清單5_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  752. X1 = 清單5_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  753. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  754. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  755. 清單5_dgv.Rows(i).Cells(35).Value = 時間 : 清單5_dgv.Rows(i).Cells(36).Value = 加班1
  756. Else : 清單5_dgv.Rows(i).Cells(35).Value = "" : 清單5_dgv.Rows(i).Cells(36).Value = "" : End If
  757. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  758. If 清單5_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  759. X1 = 清單5_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  760. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  761. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  762. 清單5_dgv.Rows(i).Cells(37).Value = 時間 : 清單5_dgv.Rows(i).Cells(38).Value = 加班1
  763. Else : 清單5_dgv.Rows(i).Cells(37).Value = "" : 清單5_dgv.Rows(i).Cells(38).Value = "" : End If
  764. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  765. If 清單5_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  766. X1 = 清單5_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  767. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  768. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  769. 清單5_dgv.Rows(i).Cells(39).Value = 時間 : 清單5_dgv.Rows(i).Cells(40).Value = 加班1
  770. Else : 清單5_dgv.Rows(i).Cells(39).Value = "" : 清單5_dgv.Rows(i).Cells(40).Value = "" : End If
  771. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  772. If 清單5_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  773. X1 = 清單5_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  774. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  775. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  776. 清單5_dgv.Rows(i).Cells(41).Value = 時間 : 清單5_dgv.Rows(i).Cells(42).Value = 加班1
  777. Else : 清單5_dgv.Rows(i).Cells(41).Value = "" : 清單5_dgv.Rows(i).Cells(42).Value = "" : End If
  778. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  779. If 清單5_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  780. X1 = 清單5_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  781. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  782. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  783. 清單5_dgv.Rows(i).Cells(43).Value = 時間 : 清單5_dgv.Rows(i).Cells(44).Value = 加班1
  784. Else : 清單5_dgv.Rows(i).Cells(43).Value = "" : 清單5_dgv.Rows(i).Cells(44).Value = "" : End If
  785. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  786. If 清單5_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  787. X1 = 清單5_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  788. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  789. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  790. 清單5_dgv.Rows(i).Cells(45).Value = 時間 : 清單5_dgv.Rows(i).Cells(46).Value = 加班1
  791. Else : 清單5_dgv.Rows(i).Cells(45).Value = "" : 清單5_dgv.Rows(i).Cells(46).Value = "" : End If
  792. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  793. If 清單5_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單5_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  794. X1 = 清單5_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單5_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  795. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  796. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  797. 清單5_dgv.Rows(i).Cells(47).Value = 時間 : 清單5_dgv.Rows(i).Cells(48).Value = 加班1
  798. Else : 清單5_dgv.Rows(i).Cells(47).Value = "" : 清單5_dgv.Rows(i).Cells(48).Value = "" : End If
  799. Dim 正常(6), 加班(6) As Integer
  800. If 清單5_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單5_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  801. If 清單5_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單5_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  802. If 清單5_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單5_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  803. If 清單5_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單5_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  804. If 清單5_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單5_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  805. If 清單5_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單5_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  806. If 清單5_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單5_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  807. If 清單5_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單5_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  808. If 清單5_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單5_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  809. If 清單5_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單5_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  810. If 清單5_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單5_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  811. If 清單5_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單5_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  812. If 清單5_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單5_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  813. If 清單5_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單5_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  814. 清單5_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  815. 清單5_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  816. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  817. If IsDBNull(清單5_dgv.Rows(i).Cells(12).Value) Then : Else
  818. If 清單5_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  819. 清單5_dgv.Rows(i).Cells(31).Value = Strings.Format(清單5_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  820. 清單5_dgv.Rows(i).Cells(32).Value = Strings.Format(清單5_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  821. 清單5_dgv.Rows(i).Cells(29).Value = Strings.Format((清單5_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單5_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  822. 清單5_dgv.Rows(i).Cells(30).Value = Strings.Format((清單5_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單5_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  823. 清單5_dgv.Rows(i).Cells(13).Value = CLng(清單5_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單5_dgv.Rows(i).Cells(30).Value.ToString)
  824. End If
  825. End If
  826. 清單5_dgv.Rows(i).Cells(4).Value = i + 1
  827. Next
  828. End Sub
  829. Private Sub Set_使用者清單6()
  830. PA25 = 星36_bt.Text : Set_虛擬表() : Dim ds1, ds2 As New DataSet
  831. 清單6_dgv.DataSource = Nothing : ds1.Clear()
  832. 清單6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  833. 清單6_dgv.ColumnHeadersHeight = 45 : 清單6_dgv.AllowUserToAddRows = False : 清單6_dgv.RowTemplate.Height = 35
  834. If 群組1_cb.Text = "HARIAN GROUP" Then
  835. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 LIKE 'HARIAN GROUP'"
  836. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.員工代碼"
  837. Else
  838. SQL5 = " AND [HX-PGS-MSN].dbo.人員資料表.部門名稱 NOT LIKE 'HARIAN GROUP'"
  839. SQL4 = "[HX-PGS-MSN].dbo.人員資料表.部門名稱,使用者權限管理表.姓名"
  840. End If
  841. PA25 = "" : SQL3 = "" : PA14 = "" : PA19 = "" : 工人 = True : 在職 = True
  842. SQL_人員薪資表1() : da.Fill(ds1) : 清單6_dgv.DataSource = ds1.Tables(0) : conn.Close()
  843. 清單6_dgv.Columns("Save.").FillWeight = 40 : 清單6_dgv.Columns(12).Visible = True : 清單6_dgv.Columns(50).Visible = False : 清單6_dgv.Columns(0).FillWeight = 120
  844. 清單6_dgv.Columns(4).FillWeight = 25
  845. For i As Integer = 2 To 14 : 清單6_dgv.Columns(i).Visible = False : Next : For i As Integer = 29 To 48 : 清單6_dgv.Columns(i).Visible = False : Next
  846. For i As Integer = 15 To 28 : 清單6_dgv.Columns(i).FillWeight = 60 : Next : For i As Integer = 29 To 34 : 清單6_dgv.Columns(i).FillWeight = 60 : Next
  847. For i As Integer = 35 To 48 : 清單6_dgv.Columns(i).FillWeight = 40 : Next : 清單6_dgv.Columns(12).Visible = True : 清單6_dgv.Columns(4).Visible = True
  848. For i As Integer = 1 To 50 : 清單6_dgv.Columns(i).ReadOnly = True : Next
  849. 清單6_dgv.Columns(12).ReadOnly = False
  850. 清單6_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 清單6_dgv.Columns(13).DefaultCellStyle.Format = "#,##0"
  851. For i As Integer = 4 To 11
  852. 清單6_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  853. 清單6_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  854. Next
  855. For i As Integer = 12 To 48
  856. 清單6_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  857. 清單6_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  858. Next
  859. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  860. '-------------------------實際考勤--------------------------------------------------------------------------------------------------------------------
  861. If 清單6_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : 清單6_dgv.Rows(i).Cells(0).Value = 清單6_dgv.Rows(i).Cells(0).Value.ToString.ToUpper : End If
  862. If 清單6_dgv.Rows(i).Cells(1).Value.ToString <> "" Then : 清單6_dgv.Rows(i).Cells(1).Value = 清單6_dgv.Rows(i).Cells(1).Value.ToString.ToUpper : End If
  863. '-------------------------清空資料取得預設值--------------------------------------------------------------------------------------------------------------------
  864. For FF As Integer = 15 To 48 : 清單6_dgv.Rows(i).Cells(FF).Value = "" : Next
  865. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  866. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  867. If 清單6_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  868. If 月份2_cb.Text = Strings.Mid(星36_bt.Text, 6, 2) Then
  869. 清單6_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單6_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  870. End If
  871. If 月份2_cb.Text = Strings.Mid(星37_bt.Text, 6, 2) Then
  872. 清單6_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單6_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  873. End If
  874. If 月份2_cb.Text = Strings.Mid(星38_bt.Text, 6, 2) Then
  875. 清單6_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單6_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  876. End If
  877. If 月份2_cb.Text = Strings.Mid(星39_bt.Text, 6, 2) Then
  878. 清單6_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單6_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  879. End If
  880. If 月份2_cb.Text = Strings.Mid(星40_bt.Text, 6, 2) Then
  881. 清單6_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單6_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  882. End If
  883. If 月份2_cb.Text = Strings.Mid(星41_bt.Text, 6, 2) Then
  884. 清單6_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單6_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  885. End If
  886. If 月份2_cb.Text = Strings.Mid(星42_bt.Text, 6, 2) Then
  887. 清單6_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單6_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  888. End If
  889. End If
  890. Next
  891. Next : AUTO第6周()
  892. End Sub
  893. Private Sub AUTO第6周()
  894. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  895. '-------------------------計算星期一--------------------------------------------------------------------------------------------------------------------
  896. If 清單6_dgv.Rows(i).Cells(15).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(16).Value.ToString <> "" Then
  897. X1 = 清單6_dgv.Rows(i).Cells(15).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(16).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  898. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= -120 : End If
  899. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  900. 清單6_dgv.Rows(i).Cells(35).Value = 時間 : 清單6_dgv.Rows(i).Cells(36).Value = 加班1
  901. Else : 清單6_dgv.Rows(i).Cells(35).Value = "" : 清單6_dgv.Rows(i).Cells(36).Value = "" : End If
  902. '-------------------------計算星期二--------------------------------------------------------------------------------------------------------------------
  903. If 清單6_dgv.Rows(i).Cells(17).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(18).Value.ToString <> "" Then
  904. X1 = 清單6_dgv.Rows(i).Cells(17).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(18).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  905. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  906. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  907. 清單6_dgv.Rows(i).Cells(37).Value = 時間 : 清單6_dgv.Rows(i).Cells(38).Value = 加班1
  908. Else : 清單6_dgv.Rows(i).Cells(37).Value = "" : 清單6_dgv.Rows(i).Cells(38).Value = "" : End If
  909. '-------------------------計算星期三--------------------------------------------------------------------------------------------------------------------
  910. If 清單6_dgv.Rows(i).Cells(19).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(20).Value.ToString <> "" Then
  911. X1 = 清單6_dgv.Rows(i).Cells(19).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(20).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  912. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  913. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  914. 清單6_dgv.Rows(i).Cells(39).Value = 時間 : 清單6_dgv.Rows(i).Cells(40).Value = 加班1
  915. Else : 清單6_dgv.Rows(i).Cells(39).Value = "" : 清單6_dgv.Rows(i).Cells(40).Value = "" : End If
  916. '-------------------------計算星期四--------------------------------------------------------------------------------------------------------------------
  917. If 清單6_dgv.Rows(i).Cells(21).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(22).Value.ToString <> "" Then
  918. X1 = 清單6_dgv.Rows(i).Cells(21).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(22).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  919. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  920. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  921. 清單6_dgv.Rows(i).Cells(41).Value = 時間 : 清單6_dgv.Rows(i).Cells(42).Value = 加班1
  922. Else : 清單6_dgv.Rows(i).Cells(41).Value = "" : 清單6_dgv.Rows(i).Cells(42).Value = "" : End If
  923. '-------------------------計算星期五--------------------------------------------------------------------------------------------------------------------
  924. If 清單6_dgv.Rows(i).Cells(23).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(24).Value.ToString <> "" Then
  925. X1 = 清單6_dgv.Rows(i).Cells(23).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(24).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  926. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  927. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  928. 清單6_dgv.Rows(i).Cells(43).Value = 時間 : 清單6_dgv.Rows(i).Cells(44).Value = 加班1
  929. Else : 清單6_dgv.Rows(i).Cells(43).Value = "" : 清單6_dgv.Rows(i).Cells(44).Value = "" : End If
  930. '-------------------------計算星期六--------------------------------------------------------------------------------------------------------------------
  931. If 清單6_dgv.Rows(i).Cells(25).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(26).Value.ToString <> "" Then
  932. X1 = 清單6_dgv.Rows(i).Cells(25).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(26).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  933. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  934. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  935. 清單6_dgv.Rows(i).Cells(45).Value = 時間 : 清單6_dgv.Rows(i).Cells(46).Value = 加班1
  936. Else : 清單6_dgv.Rows(i).Cells(45).Value = "" : 清單6_dgv.Rows(i).Cells(46).Value = "" : End If
  937. '-------------------------計算星期日--------------------------------------------------------------------------------------------------------------------
  938. If 清單6_dgv.Rows(i).Cells(27).Value.ToString <> "" And 清單6_dgv.Rows(i).Cells(28).Value.ToString <> "" Then
  939. X1 = 清單6_dgv.Rows(i).Cells(27).Value.ToString : Set_時段定點() : 計算(0) = X1 : X1 = 清單6_dgv.Rows(i).Cells(28).Value.ToString : Set_時段定點() : 計算(1) = X1 : 時間比對()
  940. If 間隔1 >= 240 And 間隔1 < 660 Then : 間隔1 -= 60 : ElseIf 間隔1 >= 660 Then : 間隔1 -= 120 : End If
  941. Dim 加班1 As Integer = 0 : Dim 時間 As Integer = 間隔1 / 60 : If 時間 <= 8 Then : Else : 加班1 = 時間 - 8 : 時間 = 8 : End If
  942. 清單6_dgv.Rows(i).Cells(47).Value = 時間 : 清單6_dgv.Rows(i).Cells(48).Value = 加班1
  943. Else : 清單6_dgv.Rows(i).Cells(47).Value = "" : 清單6_dgv.Rows(i).Cells(48).Value = "" : End If
  944. Dim 正常(6), 加班(6) As Integer
  945. If 清單6_dgv.Rows(i).Cells(35).Value <> "" Then : 正常(0) = 清單6_dgv.Rows(i).Cells(35).Value.ToString : Else : 正常(0) = 0 : End If
  946. If 清單6_dgv.Rows(i).Cells(37).Value <> "" Then : 正常(1) = 清單6_dgv.Rows(i).Cells(37).Value.ToString : Else : 正常(1) = 0 : End If
  947. If 清單6_dgv.Rows(i).Cells(39).Value <> "" Then : 正常(2) = 清單6_dgv.Rows(i).Cells(39).Value.ToString : Else : 正常(2) = 0 : End If
  948. If 清單6_dgv.Rows(i).Cells(41).Value <> "" Then : 正常(3) = 清單6_dgv.Rows(i).Cells(41).Value.ToString : Else : 正常(3) = 0 : End If
  949. If 清單6_dgv.Rows(i).Cells(43).Value <> "" Then : 正常(4) = 清單6_dgv.Rows(i).Cells(43).Value.ToString : Else : 正常(4) = 0 : End If
  950. If 清單6_dgv.Rows(i).Cells(45).Value <> "" Then : 正常(5) = 清單6_dgv.Rows(i).Cells(45).Value.ToString : Else : 正常(5) = 0 : End If
  951. If 清單6_dgv.Rows(i).Cells(47).Value <> "" Then : 正常(6) = 清單6_dgv.Rows(i).Cells(47).Value.ToString : Else : 正常(6) = 0 : End If
  952. If 清單6_dgv.Rows(i).Cells(36).Value <> "" Then : 加班(0) = 清單6_dgv.Rows(i).Cells(36).Value.ToString : Else : 加班(0) = 0 : End If
  953. If 清單6_dgv.Rows(i).Cells(38).Value <> "" Then : 加班(1) = 清單6_dgv.Rows(i).Cells(38).Value.ToString : Else : 加班(1) = 0 : End If
  954. If 清單6_dgv.Rows(i).Cells(40).Value <> "" Then : 加班(2) = 清單6_dgv.Rows(i).Cells(40).Value.ToString : Else : 加班(2) = 0 : End If
  955. If 清單6_dgv.Rows(i).Cells(42).Value <> "" Then : 加班(3) = 清單6_dgv.Rows(i).Cells(42).Value.ToString : Else : 加班(3) = 0 : End If
  956. If 清單6_dgv.Rows(i).Cells(44).Value <> "" Then : 加班(4) = 清單6_dgv.Rows(i).Cells(44).Value.ToString : Else : 加班(4) = 0 : End If
  957. If 清單6_dgv.Rows(i).Cells(46).Value <> "" Then : 加班(5) = 清單6_dgv.Rows(i).Cells(46).Value.ToString : Else : 加班(5) = 0 : End If
  958. If 清單6_dgv.Rows(i).Cells(48).Value <> "" Then : 加班(6) = 清單6_dgv.Rows(i).Cells(48).Value.ToString : Else : 加班(6) = 0 : End If
  959. 清單6_dgv.Rows(i).Cells(33).Value = 正常(0) + 正常(1) + 正常(2) + 正常(3) + 正常(4) + 正常(5) + 正常(6)
  960. 清單6_dgv.Rows(i).Cells(34).Value = 加班(0) + 加班(1) + 加班(2) + 加班(3) + 加班(4) + 加班(5) + 加班(6)
  961. '-------------------------計算工資單價--------------------------------------------------------------------------------------------------------------------
  962. If IsDBNull(清單6_dgv.Rows(i).Cells(12).Value) Then : Else
  963. If 清單6_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  964. 清單6_dgv.Rows(i).Cells(31).Value = Strings.Format(清單6_dgv.Rows(i).Cells(12).Value / 8, "#,##0")
  965. 清單6_dgv.Rows(i).Cells(32).Value = Strings.Format(清單6_dgv.Rows(i).Cells(12).Value / 6, "#,##0")
  966. 清單6_dgv.Rows(i).Cells(29).Value = Strings.Format((清單6_dgv.Rows(i).Cells(12).Value / 8) * CLng(清單6_dgv.Rows(i).Cells(33).Value.ToString), "#,##0")
  967. 清單6_dgv.Rows(i).Cells(30).Value = Strings.Format((清單6_dgv.Rows(i).Cells(12).Value / 6) * CLng(清單6_dgv.Rows(i).Cells(34).Value.ToString), "#,##0")
  968. 清單6_dgv.Rows(i).Cells(13).Value = CLng(清單6_dgv.Rows(i).Cells(29).Value.ToString) + CLng(清單6_dgv.Rows(i).Cells(30).Value.ToString)
  969. End If
  970. End If
  971. 清單6_dgv.Rows(i).Cells(4).Value = i + 1
  972. Next
  973. End Sub
  974. Private Sub Set_時段定點()
  975. Dim 時 As String = Strings.Left(X1, 2) : Dim 分 As String = Strings.Mid(X1, 4, 2)
  976. If (時 = "23" And CInt(分) >= 30) Or (時 = "00" And CInt(分) < 0) Then : X1 = "23:59:59" : ElseIf (時 = "00" And CInt(分) >= 30) Or (時 = "01" And CInt(分) < 30) Then : X1 = "01:00:00"
  977. ElseIf (時 = "01" And CInt(分) >= 30) Or (時 = "02" And CInt(分) < 30) Then : X1 = "02:00:00" : ElseIf (時 = "02" And CInt(分) >= 30) Or (時 = "03" And CInt(分) < 30) Then : X1 = "03:00:00"
  978. ElseIf (時 = "03" And CInt(分) >= 30) Or (時 = "04" And CInt(分) < 30) Then : X1 = "04:00:00" : ElseIf (時 = "04" And CInt(分) >= 30) Or (時 = "05" And CInt(分) < 30) Then : X1 = "05:00:00"
  979. ElseIf (時 = "05" And CInt(分) >= 30) Or (時 = "06" And CInt(分) < 30) Then : X1 = "06:00:00" : ElseIf (時 = "06" And CInt(分) >= 30) Or (時 = "07" And CInt(分) < 30) Then : X1 = "07:00:00"
  980. ElseIf (時 = "07" And CInt(分) >= 30) Or (時 = "08" And CInt(分) < 30) Then : X1 = "08:00:00" : ElseIf (時 = "08" And CInt(分) >= 30) Or (時 = "09" And CInt(分) < 30) Then : X1 = "09:00:00"
  981. ElseIf (時 = "09" And CInt(分) >= 30) Or (時 = "10" And CInt(分) < 30) Then : X1 = "10:00:00" : ElseIf (時 = "10" And CInt(分) >= 30) Or (時 = "11" And CInt(分) < 30) Then : X1 = "11:00:00"
  982. ElseIf (時 = "11" And CInt(分) >= 30) Or (時 = "12" And CInt(分) < 30) Then : X1 = "12:00:00" : ElseIf (時 = "12" And CInt(分) >= 30) Or (時 = "13" And CInt(分) < 30) Then : X1 = "13:00:00"
  983. ElseIf (時 = "13" And CInt(分) >= 30) Or (時 = "14" And CInt(分) < 30) Then : X1 = "14:00:00" : ElseIf (時 = "14" And CInt(分) >= 30) Or (時 = "15" And CInt(分) < 30) Then : X1 = "15:00:00"
  984. ElseIf (時 = "15" And CInt(分) >= 30) Or (時 = "16" And CInt(分) < 30) Then : X1 = "16:00:00" : ElseIf (時 = "16" And CInt(分) >= 30) Or (時 = "17" And CInt(分) < 30) Then : X1 = "17:00:00"
  985. ElseIf (時 = "17" And CInt(分) >= 30) Or (時 = "18" And CInt(分) < 30) Then : X1 = "18:00:00" : ElseIf (時 = "18" And CInt(分) >= 30) Or (時 = "19" And CInt(分) < 30) Then : X1 = "19:00:00"
  986. ElseIf (時 = "19" And CInt(分) >= 30) Or (時 = "20" And CInt(分) < 30) Then : X1 = "20:00:00" : ElseIf (時 = "20" And CInt(分) >= 30) Or (時 = "21" And CInt(分) < 30) Then : X1 = "21:00:00"
  987. ElseIf (時 = "21" And CInt(分) >= 30) Or (時 = "22" And CInt(分) < 30) Then : X1 = "22:00:00" : ElseIf (時 = "22" And CInt(分) >= 30) Or (時 = "23" And CInt(分) < 30) Then : X1 = "23:00:00"
  988. End If
  989. End Sub
  990. Private Sub 星期設定()
  991. 星1_bt.Text = Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd") : 星2_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(1), "yyyy/MM/dd")
  992. 星3_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(2), "yyyy/MM/dd") : 星4_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(3), "yyyy/MM/dd")
  993. 星5_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(4), "yyyy/MM/dd") : 星6_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(5), "yyyy/MM/dd")
  994. 星7_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(6), "yyyy/MM/dd") : 星8_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(7), "yyyy/MM/dd")
  995. 星9_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(8), "yyyy/MM/dd") : 星10_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(9), "yyyy/MM/dd")
  996. 星11_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(10), "yyyy/MM/dd") : 星12_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(11), "yyyy/MM/dd")
  997. 星13_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(12), "yyyy/MM/dd") : 星14_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(13), "yyyy/MM/dd")
  998. 星15_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(14), "yyyy/MM/dd") : 星16_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(15), "yyyy/MM/dd")
  999. 星17_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(16), "yyyy/MM/dd") : 星18_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(17), "yyyy/MM/dd")
  1000. 星19_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(18), "yyyy/MM/dd") : 星20_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(19), "yyyy/MM/dd")
  1001. 星21_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(20), "yyyy/MM/dd") : 星22_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(21), "yyyy/MM/dd")
  1002. 星23_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(22), "yyyy/MM/dd") : 星24_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(23), "yyyy/MM/dd")
  1003. 星25_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(24), "yyyy/MM/dd") : 星26_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(25), "yyyy/MM/dd")
  1004. 星27_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(26), "yyyy/MM/dd") : 星28_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(27), "yyyy/MM/dd")
  1005. 星29_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(28), "yyyy/MM/dd") : 星30_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(29), "yyyy/MM/dd")
  1006. 星31_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(30), "yyyy/MM/dd") : 星32_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(31), "yyyy/MM/dd")
  1007. 星33_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(32), "yyyy/MM/dd") : 星34_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(33), "yyyy/MM/dd")
  1008. 星35_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(34), "yyyy/MM/dd") : 星36_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(35), "yyyy/MM/dd")
  1009. 星37_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(36), "yyyy/MM/dd") : 星38_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(37), "yyyy/MM/dd")
  1010. 星39_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(38), "yyyy/MM/dd") : 星40_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(39), "yyyy/MM/dd")
  1011. 星41_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(40), "yyyy/MM/dd") : 星42_bt.Text = Strings.Format(開始日期_dtp.Value.AddDays(41), "yyyy/MM/dd")
  1012. End Sub
  1013. Private Sub 時間比對()
  1014. Dim dateA As Date = Date.ParseExact("[" & 計算(0) & "]", "[HH:mm:ss]", Nothing)
  1015. Dim dateB As Date = Date.ParseExact("[" & 計算(1) & "]", "[HH:mm:ss]", Nothing)
  1016. Dim hoursDiff As Integer = DateDiff(DateInterval.Minute, dateA, dateB)
  1017. 間隔1 = Math.Abs(hoursDiff)
  1018. End Sub
  1019. Private Sub 年分清單()
  1020. SQL_年分清單() : 年份2_cb.Items.Clear()
  1021. While (dr.Read()) : 年份2_cb.Items.Add(dr("日期")) : End While : conn.Close()
  1022. End Sub
  1023. Private Sub 極限設定()
  1024. Dim 總次數 As Integer = 0 : 總數_nud.Value = 0
  1025. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  1026. If 清單1_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1027. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1028. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1029. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1030. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1031. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1032. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1033. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1034. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1035. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1036. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1037. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1038. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1039. If Strings.Mid(星7_bt.Text, 6, 2) = 月份2_cb.Text Then
  1040. 總數_nud.Value += (清單1_dgv.Rows(i).Cells(12).Value + ((清單1_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1041. End If
  1042. Next
  1043. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  1044. If 清單2_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1045. If Strings.Mid(星8_bt.Text, 6, 2) = 月份2_cb.Text Then
  1046. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1047. If Strings.Mid(星9_bt.Text, 6, 2) = 月份2_cb.Text Then
  1048. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1049. If Strings.Mid(星10_bt.Text, 6, 2) = 月份2_cb.Text Then
  1050. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1051. If Strings.Mid(星11_bt.Text, 6, 2) = 月份2_cb.Text Then
  1052. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1053. If Strings.Mid(星12_bt.Text, 6, 2) = 月份2_cb.Text Then
  1054. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1055. If Strings.Mid(星13_bt.Text, 6, 2) = 月份2_cb.Text Then
  1056. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1057. If Strings.Mid(星14_bt.Text, 6, 2) = 月份2_cb.Text Then
  1058. 總數_nud.Value += (清單2_dgv.Rows(i).Cells(12).Value + ((清單2_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1059. End If
  1060. Next
  1061. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  1062. If 清單3_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1063. If Strings.Mid(星15_bt.Text, 6, 2) = 月份2_cb.Text Then
  1064. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1065. If Strings.Mid(星16_bt.Text, 6, 2) = 月份2_cb.Text Then
  1066. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1067. If Strings.Mid(星17_bt.Text, 6, 2) = 月份2_cb.Text Then
  1068. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1069. If Strings.Mid(星18_bt.Text, 6, 2) = 月份2_cb.Text Then
  1070. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1071. If Strings.Mid(星19_bt.Text, 6, 2) = 月份2_cb.Text Then
  1072. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1073. If Strings.Mid(星20_bt.Text, 6, 2) = 月份2_cb.Text Then
  1074. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1075. If Strings.Mid(星21_bt.Text, 6, 2) = 月份2_cb.Text Then
  1076. 總數_nud.Value += (清單3_dgv.Rows(i).Cells(12).Value + ((清單3_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1077. End If
  1078. Next
  1079. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  1080. If 清單4_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1081. If Strings.Mid(星22_bt.Text, 6, 2) = 月份2_cb.Text Then
  1082. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1083. If Strings.Mid(星23_bt.Text, 6, 2) = 月份2_cb.Text Then
  1084. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1085. If Strings.Mid(星24_bt.Text, 6, 2) = 月份2_cb.Text Then
  1086. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1087. If Strings.Mid(星25_bt.Text, 6, 2) = 月份2_cb.Text Then
  1088. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1089. If Strings.Mid(星26_bt.Text, 6, 2) = 月份2_cb.Text Then
  1090. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1091. If Strings.Mid(星27_bt.Text, 6, 2) = 月份2_cb.Text Then
  1092. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1093. If Strings.Mid(星28_bt.Text, 6, 2) = 月份2_cb.Text Then
  1094. 總數_nud.Value += (清單4_dgv.Rows(i).Cells(12).Value + ((清單4_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1095. End If
  1096. Next
  1097. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  1098. If 清單5_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1099. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  1100. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1101. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  1102. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1103. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  1104. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1105. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  1106. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1107. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  1108. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1109. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  1110. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1111. If Strings.Mid(星35_bt.Text, 6, 2) = 月份2_cb.Text Then
  1112. 總數_nud.Value += (清單5_dgv.Rows(i).Cells(12).Value + ((清單5_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1113. End If
  1114. Next
  1115. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  1116. If 清單6_dgv.Rows(i).Cells(12).Value.ToString <> "" Then
  1117. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  1118. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1119. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  1120. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1121. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  1122. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1123. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  1124. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1125. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  1126. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1127. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  1128. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1129. If Strings.Mid(星42_bt.Text, 6, 2) = 月份2_cb.Text Then
  1130. 總數_nud.Value += (清單6_dgv.Rows(i).Cells(12).Value + ((清單6_dgv.Rows(i).Cells(12).Value / 6) * 加班_nud.Value)) : 總次數 += 1 : End If
  1131. End If
  1132. Next
  1133. If 總次數 = 0 Then : Else : 可沖天數_nud.Value = 總次數 : End If
  1134. If 可沖天數_nud.Value = 0 Then : Else
  1135. 平均每天_nud.Value = 總數_nud.Value / 可沖天數_nud.Value
  1136. 沖帳金額_nud.Maximum = 總數_nud.Value : 沖帳金額_nud.Minimum = 0 : 沖帳金額_nud.Value = 平均每天_nud.Value * 7
  1137. If 總數_nud.Value = 0 Then : Else
  1138. 休假比例_nud.Value = 100 - (沖帳金額_nud.Value / 總數_nud.Value * 100)
  1139. End If
  1140. If 總數_nud.Value = 0 Then : Else
  1141. 休假天數_nud.Value = 可沖天數_nud.Value - (沖帳金額_nud.Value / 平均每天_nud.Value)
  1142. End If
  1143. End If
  1144. End Sub
  1145. Private Sub 採購單極限數量()
  1146. 總數1_nud.Value = (上班日_nud.Value * 每日單量_nud.Value * 每單最高_nud.Value) / 100 * 折數_nud.Value
  1147. 可開單數_nud.Value = 總數1_nud.Value / 每單最高_nud.Value
  1148. If 沖帳金額1_nud.Value > 0 Then
  1149. 開單數_nud.Value = 沖帳金額1_nud.Value / 每單最高_nud.Value
  1150. End If
  1151. End Sub
  1152. Private Sub 加總1()
  1153. 取得總數_nud.Value = 0
  1154. For I As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單1_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1155. For I As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單2_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1156. For I As Integer = 0 To 清單3_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單3_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1157. For I As Integer = 0 To 清單4_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單4_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1158. For I As Integer = 0 To 清單5_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單5_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1159. For I As Integer = 0 To 清單6_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單6_dgv.Rows(I).Cells(13).Value.ToString) : Next
  1160. If 取得總數_nud.Value > 0 Then : 沖帳金額_nud.Value = 取得總數_nud.Value : End If
  1161. End Sub
  1162. Private Sub 考勤調整_bt_MouseEnter(sender As Object, e As EventArgs) Handles 考勤調整_bt.MouseEnter
  1163. ToolTip1.SetToolTip(Me.考勤調整_bt, "進行自動計算")
  1164. End Sub
  1165. Private Sub 虛擬存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 虛擬存檔_bt.MouseEnter
  1166. ToolTip1.SetToolTip(Me.虛擬存檔_bt, "計算結果存檔")
  1167. End Sub
  1168. Private Sub 重新讀取_bt_MouseEnter(sender As Object, e As EventArgs) Handles 重新讀取_bt.MouseEnter
  1169. ToolTip1.SetToolTip(Me.重新讀取_bt, "重新讀取時間參數")
  1170. End Sub
  1171. Private Sub 清除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 清除_bt.MouseEnter
  1172. ToolTip1.SetToolTip(Me.清除_bt, "清除自動計算取得的數值")
  1173. End Sub
  1174. Private Sub 存檔_tb_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_tb.MouseEnter
  1175. ToolTip1.SetToolTip(Me.存檔_tb, "基本設定與參數存檔")
  1176. End Sub
  1177. Private Sub 每月零用金設定_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  1178. If 登入人級別 = "00" Then
  1179. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  1180. 年份2_cb.DropDownStyle = ComboBoxStyle.DropDown : 月份2_cb.DropDownStyle = ComboBoxStyle.DropDown
  1181. 結束日期_dtp.Enabled = True
  1182. Else : Me.WindowState = 0 : Me.AutoScroll = False : Me.Size = New System.Drawing.Point(665, 274)
  1183. 縮放1_bt.Visible = False : 縮放2_bt.Visible = False
  1184. End If
  1185. H(612) = True : 介面 = "H612" : 語言轉換讀取() : 首次開啟 = True
  1186. Panel2.BringToFront() : Panel3.BringToFront() : 取得總數_nud.Value = 0
  1187. SQL_零用金基本設定()
  1188. If dr.Read Then : 加班_nud.Value = dr("內帳加班") : 折數_nud.Value = dr("內帳折數") : 每日單量_nud.Value = dr("內帳單量") : 每單最高_nud.Value = dr("內帳採購最高") : End If
  1189. 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  1190. Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate)
  1191. If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1)
  1192. ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2)
  1193. ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3)
  1194. ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4)
  1195. ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5)
  1196. ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6)
  1197. End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+6)
  1198. 星期設定()
  1199. For i As Integer = 1 To 7
  1200. If Strings.Right(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 2) = "01" Then : Exit For : End If
  1201. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 7) = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 7) Then
  1202. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7) : 星期設定()
  1203. Else : Exit For : End If
  1204. Next
  1205. Dim selectedDate As Date = MonthCalendar1.SelectionStart
  1206. Dim daysInMonth As Integer = DateTime.DaysInMonth(selectedDate.Year, selectedDate.Month)
  1207. Dim x1 As Integer = 0 : Dim x2 As Integer = 0 ' 週一到週五的天數 週六和週日的天數
  1208. For day As Integer = 1 To daysInMonth
  1209. Dim currentDate As New Date(selectedDate.Year, selectedDate.Month, day) : Dim dayOfWeek As DayOfWeek = currentDate.DayOfWeek
  1210. If dayOfWeek >= DayOfWeek.Monday AndAlso dayOfWeek <= DayOfWeek.Friday Then : x1 += 1
  1211. ElseIf dayOfWeek = DayOfWeek.Saturday OrElse dayOfWeek = DayOfWeek.Sunday Then : x2 += 1 : End If
  1212. Next : 上班日_nud.Value = x1 : 放假日_nud.Value = x2 : 採購單極限數量()
  1213. End Sub
  1214. Private Sub 每月零用金設定_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  1215. If 登入人級別 = "00" Then : Else
  1216. Dim screenRectangle As Rectangle = Screen.PrimaryScreen.WorkingArea : Dim formSize As Size = Me.Size
  1217. Me.Location = New Point((screenRectangle.Width - formSize.Width) \ 2, (screenRectangle.Height - formSize.Height) \ 2)
  1218. End If
  1219. 年分清單() : 年份2_cb.Text = Year(Today) : 月份2_cb.SelectedIndex = Month(Today) - 1
  1220. 群組1_cb.Text = "HARIAN GROUP" : Set_使用者清單() : Set_供應商() : Set_使用地點()
  1221. Set_詢價人員() : Set_可用物料() : Set_申請人() : Set_採購單號() : Set_合約號() : 採購當案牘取()
  1222. 加總1() : 沖帳金額1_nud.Value = 每單最高_nud.Value * 3 : 首次開啟 = False
  1223. End Sub
  1224. Private Sub 人員薪資_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  1225. MyMod.清單字體大小調整()
  1226. 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1227. 清單2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1228. 清單3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1229. 清單4_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1230. 清單5_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1231. 清單6_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  1232. End Sub
  1233. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  1234. H(611) = True : 介面 = "H611" : 語言轉換讀取() : 首次開啟 = False
  1235. End Sub
  1236. Private Sub 人員薪資_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  1237. HX_PGS_ERP_SYS.WindowState = 0 : HX_PGS_ERP_SYS.MaximizeBox = True : HX_PGS_ERP_SYS.MinimizeBox = True
  1238. H(611) = False : MyMod.虛擬桌面開啟()
  1239. End Sub
  1240. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  1241. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  1242. End Sub
  1243. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  1244. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  1245. End Sub
  1246. Private Sub 加班_nud_ValueChanged(sender As Object, e As EventArgs) Handles 加班_nud.ValueChanged
  1247. If 首次開啟 = False Then : 極限設定() : End If
  1248. End Sub
  1249. Private Sub 沖帳金額_nud_ValueChanged(sender As Object, e As EventArgs) Handles 沖帳金額_nud.ValueChanged
  1250. If 總數_nud.Value = 0 Then : Else
  1251. 休假比例_nud.Value = (沖帳金額_nud.Value / 總數_nud.Value * 100) : 沖帳金額2_nud.Value = 沖帳金額1_nud.Value + 沖帳金額_nud.Value
  1252. 休假天數_nud.Value = 可沖天數_nud.Value - (沖帳金額_nud.Value / 平均每天_nud.Value)
  1253. End If
  1254. End Sub
  1255. Private Sub 每單最高_nud_ValueChanged(sender As Object, e As EventArgs) Handles 每單最高_nud.ValueChanged
  1256. If 首次開啟 = False Then : 採購單極限數量() : End If
  1257. End Sub
  1258. Private Sub 每日單量_nud_ValueChanged(sender As Object, e As EventArgs) Handles 每日單量_nud.ValueChanged
  1259. If 首次開啟 = False Then : 採購單極限數量() : End If
  1260. End Sub
  1261. Private Sub 折數_nud_ValueChanged(sender As Object, e As EventArgs) Handles 折數_nud.ValueChanged
  1262. If 首次開啟 = False Then : 採購單極限數量() : End If
  1263. End Sub
  1264. Private Sub 沖帳金額1_nud_ValueChanged(sender As Object, e As EventArgs) Handles 沖帳金額1_nud.ValueChanged
  1265. If 首次開啟 = False Then : 採購單極限數量() : End If : 沖帳金額2_nud.Value = 沖帳金額1_nud.Value + 沖帳金額_nud.Value
  1266. End Sub
  1267. Private Sub 取得總數_nud_ValueChanged(sender As Object, e As EventArgs) Handles 取得總數_nud.ValueChanged
  1268. 取得總數2_nud.Value = 取得總數_nud.Value + 取得總數1_nud.Value
  1269. End Sub
  1270. Private Sub 取得總數1_nud_ValueChanged(sender As Object, e As EventArgs) Handles 取得總數1_nud.ValueChanged
  1271. 取得總數2_nud.Value = 取得總數_nud.Value + 取得總數1_nud.Value
  1272. End Sub
  1273. Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click
  1274. Panel2.BringToFront() : Panel3.BringToFront()
  1275. End Sub
  1276. Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
  1277. Panel4.BringToFront() : Panel3.BringToFront()
  1278. End Sub
  1279. Private Sub ChangeMonth()
  1280. MonthCalendar1.SetDate(New Date(Today.Year, 月份2_cb.Text, 1))
  1281. End Sub
  1282. Private Sub 採購當案牘取()
  1283. Dim ds1 As New DataSet : 取得總數1_nud.Value = 0
  1284. 控制表_dgv.DataSource = Nothing : ds1.Clear()
  1285. 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  1286. 控制表_dgv.ColumnHeadersHeight = 25 : 控制表_dgv.AllowUserToAddRows = False : 控制表_dgv.RowTemplate.Height = 25
  1287. SQL_採購控制表1()
  1288. da.Fill(ds1) : 控制表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  1289. SQL2 = ""
  1290. For I As Integer = 0 To 控制表_dgv.Rows.Count - 1
  1291. If I = 0 Then : SQL2 = "WHERE (採購單號 LIKE '" & 控制表_dgv.Rows(I).Cells(0).Value.ToString & "')"
  1292. Else : SQL2 &= " OR (採購單號 LIKE '" & 控制表_dgv.Rows(I).Cells(0).Value.ToString & "')" : End If
  1293. Next
  1294. 明細表_dgv.DataSource = Nothing
  1295. If 控制表_dgv.Rows.Count > 0 Then
  1296. Dim ds2 As New DataSet : ds2.Clear()
  1297. 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  1298. 明細表_dgv.ColumnHeadersHeight = 25 : 明細表_dgv.AllowUserToAddRows = False : 明細表_dgv.RowTemplate.Height = 25
  1299. SQL_採購明細表1()
  1300. da.Fill(ds2) : 明細表_dgv.DataSource = ds2.Tables(0) : conn.Close()
  1301. End If
  1302. For I As Integer = 0 To 明細表_dgv.Rows.Count - 1
  1303. 取得總數1_nud.Value += (明細表_dgv.Rows(I).Cells(6).Value * 明細表_dgv.Rows(I).Cells(4).Value)
  1304. Next
  1305. End Sub
  1306. Private Sub DA1_bt_Click(sender As Object, e As EventArgs) Handles DA1_bt.Click
  1307. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7)
  1308. For i As Integer = 1 To 7
  1309. If Strings.Right(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 2) = "01" Then : Exit For : End If
  1310. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 7) = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 7) Then
  1311. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7)
  1312. 星期設定()
  1313. Else : Exit For : End If
  1314. Next : 日期判斷() : 星期設定() : Set_使用者清單() : 加總1() : Set_採購單號() : ChangeMonth() : 採購當案牘取()
  1315. End Sub
  1316. Private Sub DA2_bt_Click(sender As Object, e As EventArgs) Handles DA2_bt.Click
  1317. 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  1318. Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate)
  1319. If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1) : ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2)
  1320. ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3) : ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4)
  1321. ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5) : ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6)
  1322. End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+6)
  1323. For i As Integer = 1 To 7
  1324. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 7) = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 7) Then
  1325. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7) : 星期設定()
  1326. Else : Exit For : End If
  1327. Next : 日期判斷() : 星期設定() : Set_使用者清單() : 加總1() : Set_採購單號() : ChangeMonth() : 採購當案牘取()
  1328. End Sub
  1329. Private Sub DA3_bt_Click(sender As Object, e As EventArgs) Handles DA3_bt.Click
  1330. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+13) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(+7)
  1331. For i As Integer = 1 To 7
  1332. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 7) = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 7) Then
  1333. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7) : 星期設定()
  1334. Else : Exit For : End If
  1335. Next : 日期判斷() : 星期設定() : Set_使用者清單() : 加總1() : Set_採購單號() : ChangeMonth() : 採購當案牘取()
  1336. End Sub
  1337. Private Sub 重新讀取_bt_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click
  1338. 日期判斷() : 星期設定() : Set_使用者清單() : 加總1()
  1339. End Sub
  1340. Private Sub 日期判斷()
  1341. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) <> Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 4) Then
  1342. PA17 = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) : PA18 = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 4)
  1343. 選擇考勤月份.ShowDialog() : 年份2_cb.Text = PA19
  1344. Else
  1345. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) <> 年份2_cb.Text Then : 年份2_cb.Text = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) : End If
  1346. End If
  1347. If Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) <> Strings.Mid(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 6, 2) Then
  1348. PA17 = Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : PA18 = Strings.Mid(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 6, 2)
  1349. 選擇考勤月份.ShowDialog() : 月份2_cb.Text = PA19
  1350. Else
  1351. If Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) <> 月份2_cb.Text Then : 月份2_cb.Text = Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : End If
  1352. End If
  1353. End Sub
  1354. Private Sub 考勤調整_bt_Click(sender As Object, e As EventArgs) Handles 考勤調整_bt.Click
  1355. If 薪資計算_ch.Checked = False And 採購計算_ch.Checked = False Then : MGB(對話框(0), 1) : 首次開啟 = False : Exit Sub : End If
  1356. If 薪資計算_ch.Checked = True Then
  1357. '------------------------------薪資----------------------------------------------------------------------------------------------------------------------------------------------------
  1358. Dim 設定1 As Integer = 8 : Dim 設定2 As Integer = 10 : Dim 設定3 As Integer = 12 : Dim 設定4 As Integer = 10 : Dim 設定5 As Integer = 5
  1359. Dim random1 As New Random() : Dim random2 As New Random() : Dim random3 As New Random() : Dim random4 As New Random() : Dim random5 As New Random()
  1360. Dim random6 As New Random() : Dim random7 As New Random() : Dim hours As Integer : 取得總數_nud.Value = 0
  1361. If 群組1_cb.Text <> "HARIAN GROUP" Then : MGB(系統語言字典("H611-110-" & 語言), 1) : 首次開啟 = False : Else
  1362. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  1363. 清單1_dgv.Rows(i).Cells(15).Value = "" : 清單1_dgv.Rows(i).Cells(16).Value = "" : 清單1_dgv.Rows(i).Cells(17).Value = "" : 清單1_dgv.Rows(i).Cells(18).Value = ""
  1364. 清單1_dgv.Rows(i).Cells(19).Value = "" : 清單1_dgv.Rows(i).Cells(20).Value = "" : 清單1_dgv.Rows(i).Cells(21).Value = "" : 清單1_dgv.Rows(i).Cells(22).Value = ""
  1365. 清單1_dgv.Rows(i).Cells(23).Value = "" : 清單1_dgv.Rows(i).Cells(24).Value = "" : 清單1_dgv.Rows(i).Cells(25).Value = "" : 清單1_dgv.Rows(i).Cells(26).Value = ""
  1366. 清單1_dgv.Rows(i).Cells(27).Value = "" : 清單1_dgv.Rows(i).Cells(28).Value = ""
  1367. Next : AUTO第1周()
  1368. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  1369. 清單2_dgv.Rows(i).Cells(15).Value = "" : 清單2_dgv.Rows(i).Cells(16).Value = "" : 清單2_dgv.Rows(i).Cells(17).Value = "" : 清單2_dgv.Rows(i).Cells(18).Value = ""
  1370. 清單2_dgv.Rows(i).Cells(19).Value = "" : 清單2_dgv.Rows(i).Cells(20).Value = "" : 清單2_dgv.Rows(i).Cells(21).Value = "" : 清單2_dgv.Rows(i).Cells(22).Value = ""
  1371. 清單2_dgv.Rows(i).Cells(23).Value = "" : 清單2_dgv.Rows(i).Cells(24).Value = "" : 清單2_dgv.Rows(i).Cells(25).Value = "" : 清單2_dgv.Rows(i).Cells(26).Value = ""
  1372. 清單2_dgv.Rows(i).Cells(27).Value = "" : 清單2_dgv.Rows(i).Cells(28).Value = ""
  1373. Next : AUTO第2周()
  1374. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  1375. 清單3_dgv.Rows(i).Cells(15).Value = "" : 清單3_dgv.Rows(i).Cells(16).Value = "" : 清單3_dgv.Rows(i).Cells(17).Value = "" : 清單3_dgv.Rows(i).Cells(18).Value = ""
  1376. 清單3_dgv.Rows(i).Cells(19).Value = "" : 清單3_dgv.Rows(i).Cells(20).Value = "" : 清單3_dgv.Rows(i).Cells(21).Value = "" : 清單3_dgv.Rows(i).Cells(22).Value = ""
  1377. 清單3_dgv.Rows(i).Cells(23).Value = "" : 清單3_dgv.Rows(i).Cells(24).Value = "" : 清單3_dgv.Rows(i).Cells(25).Value = "" : 清單3_dgv.Rows(i).Cells(26).Value = ""
  1378. 清單3_dgv.Rows(i).Cells(27).Value = "" : 清單3_dgv.Rows(i).Cells(28).Value = ""
  1379. Next : AUTO第3周()
  1380. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  1381. 清單4_dgv.Rows(i).Cells(15).Value = "" : 清單4_dgv.Rows(i).Cells(16).Value = "" : 清單4_dgv.Rows(i).Cells(17).Value = "" : 清單4_dgv.Rows(i).Cells(18).Value = ""
  1382. 清單4_dgv.Rows(i).Cells(19).Value = "" : 清單4_dgv.Rows(i).Cells(20).Value = "" : 清單4_dgv.Rows(i).Cells(21).Value = "" : 清單4_dgv.Rows(i).Cells(22).Value = ""
  1383. 清單4_dgv.Rows(i).Cells(23).Value = "" : 清單4_dgv.Rows(i).Cells(24).Value = "" : 清單4_dgv.Rows(i).Cells(25).Value = "" : 清單4_dgv.Rows(i).Cells(26).Value = ""
  1384. 清單4_dgv.Rows(i).Cells(27).Value = "" : 清單4_dgv.Rows(i).Cells(28).Value = ""
  1385. Next : AUTO第4周()
  1386. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  1387. 清單5_dgv.Rows(i).Cells(15).Value = "" : 清單5_dgv.Rows(i).Cells(16).Value = "" : 清單5_dgv.Rows(i).Cells(17).Value = "" : 清單5_dgv.Rows(i).Cells(18).Value = ""
  1388. 清單5_dgv.Rows(i).Cells(19).Value = "" : 清單5_dgv.Rows(i).Cells(20).Value = "" : 清單5_dgv.Rows(i).Cells(21).Value = "" : 清單5_dgv.Rows(i).Cells(22).Value = ""
  1389. 清單5_dgv.Rows(i).Cells(23).Value = "" : 清單5_dgv.Rows(i).Cells(24).Value = "" : 清單5_dgv.Rows(i).Cells(25).Value = "" : 清單5_dgv.Rows(i).Cells(26).Value = ""
  1390. 清單5_dgv.Rows(i).Cells(27).Value = "" : 清單5_dgv.Rows(i).Cells(28).Value = ""
  1391. Next : AUTO第5周()
  1392. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  1393. 清單6_dgv.Rows(i).Cells(15).Value = "" : 清單6_dgv.Rows(i).Cells(16).Value = "" : 清單6_dgv.Rows(i).Cells(17).Value = "" : 清單6_dgv.Rows(i).Cells(18).Value = ""
  1394. 清單6_dgv.Rows(i).Cells(19).Value = "" : 清單6_dgv.Rows(i).Cells(20).Value = "" : 清單6_dgv.Rows(i).Cells(21).Value = "" : 清單6_dgv.Rows(i).Cells(22).Value = ""
  1395. 清單6_dgv.Rows(i).Cells(23).Value = "" : 清單6_dgv.Rows(i).Cells(24).Value = "" : 清單6_dgv.Rows(i).Cells(25).Value = "" : 清單6_dgv.Rows(i).Cells(26).Value = ""
  1396. 清單6_dgv.Rows(i).Cells(27).Value = "" : 清單6_dgv.Rows(i).Cells(28).Value = ""
  1397. Next : AUTO第6周() : 取得總數_nud.Value = 0
  1398. '---------------第1周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  1399. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  1400. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  1401. Dim 計數 As Integer
  1402. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1403. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1404. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1405. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1406. End If
  1407. End If
  1408. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1409. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1410. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1411. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1412. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1413. End If
  1414. End If
  1415. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1416. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1417. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1418. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1419. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1420. End If
  1421. End If
  1422. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1423. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1424. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1425. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1426. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1427. End If
  1428. End If
  1429. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1430. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1431. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1432. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1433. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1434. End If
  1435. End If
  1436. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1437. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1438. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1439. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1440. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1441. End If
  1442. End If
  1443. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1444. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  1445. Dim 計數 As Integer
  1446. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1447. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1448. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1449. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1450. End If
  1451. End If
  1452. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1453. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1454. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1455. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1456. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1457. End If
  1458. End If
  1459. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1460. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1461. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1462. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1463. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1464. End If
  1465. End If
  1466. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1467. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1468. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1469. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1470. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1471. End If
  1472. End If
  1473. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1474. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1475. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1476. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1477. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1478. End If
  1479. End If
  1480. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1481. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1482. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1483. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1484. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1485. End If
  1486. End If
  1487. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1488. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  1489. Dim 計數 As Integer
  1490. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1491. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1492. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1493. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1494. End If
  1495. End If
  1496. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1497. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1498. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1499. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1500. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1501. End If
  1502. End If
  1503. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1504. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1505. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1506. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1507. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1508. End If
  1509. End If
  1510. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1511. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1512. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1513. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1514. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1515. End If
  1516. End If
  1517. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1518. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1519. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1520. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1521. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1522. End If
  1523. End If
  1524. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1525. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1526. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1527. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1528. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1529. End If
  1530. End If
  1531. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1532. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  1533. Dim 計數 As Integer
  1534. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1535. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1536. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1537. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1538. End If
  1539. End If
  1540. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1541. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1542. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1543. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1544. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1545. End If
  1546. End If
  1547. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1548. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1549. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1550. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1551. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1552. End If
  1553. End If
  1554. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1555. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1556. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1557. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1558. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1559. End If
  1560. End If
  1561. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1562. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1563. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1564. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1565. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1566. End If
  1567. End If
  1568. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1569. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1570. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1571. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1572. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1573. End If
  1574. End If
  1575. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1576. If Strings.Mid(星7_bt.Text, 6, 2) = 月份2_cb.Text Then
  1577. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  1578. If 清單1_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1579. If 清單1_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1580. End If
  1581. End If
  1582. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1583. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  1584. Dim 計數 As Integer
  1585. If Strings.Mid(星1_bt.Text, 6, 2) = 月份2_cb.Text Then
  1586. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1587. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1588. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1589. End If
  1590. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1591. If Strings.Mid(星2_bt.Text, 6, 2) = 月份2_cb.Text Then
  1592. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1593. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1594. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1595. End If
  1596. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1597. If Strings.Mid(星3_bt.Text, 6, 2) = 月份2_cb.Text Then
  1598. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1599. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1600. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1601. End If
  1602. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1603. If Strings.Mid(星4_bt.Text, 6, 2) = 月份2_cb.Text Then
  1604. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1605. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1606. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1607. End If
  1608. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1609. If Strings.Mid(星5_bt.Text, 6, 2) = 月份2_cb.Text Then
  1610. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1611. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1612. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1613. End If
  1614. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1615. If Strings.Mid(星6_bt.Text, 6, 2) = 月份2_cb.Text Then
  1616. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1617. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1618. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1619. End If
  1620. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1621. If Strings.Mid(星7_bt.Text, 6, 2) = 月份2_cb.Text Then
  1622. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  1623. If 清單1_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1624. If 清單1_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1625. End If
  1626. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1627. ElseIf 休假比例_nud.Value = 100 Then
  1628. If 清單1_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1629. If 清單1_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1630. If 清單1_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1631. If 清單1_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1632. If 清單1_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1633. If 清單1_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1634. If 清單1_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1635. If 清單1_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1636. If 清單1_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1637. If 清單1_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1638. If 清單1_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1639. If 清單1_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1640. If 清單1_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單1_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1641. If 清單1_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單1_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1642. End If
  1643. Next : AUTO第1周()
  1644. '---------------第2周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  1645. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  1646. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  1647. Dim 計數 As Integer
  1648. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1649. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1650. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1651. End If
  1652. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1653. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1654. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1655. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1656. End If
  1657. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1658. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1659. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1660. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1661. End If
  1662. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1663. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1664. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1665. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1666. End If
  1667. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1668. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1669. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1670. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1671. End If
  1672. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1673. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1674. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1675. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1676. End If
  1677. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1678. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  1679. Dim 計數 As Integer
  1680. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1681. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1682. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1683. End If
  1684. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1685. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1686. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1687. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1688. End If
  1689. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1690. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1691. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1692. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1693. End If
  1694. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1695. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1696. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1697. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1698. End If
  1699. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1700. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1701. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1702. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1703. End If
  1704. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1705. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1706. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1707. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1708. End If
  1709. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1710. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  1711. Dim 計數 As Integer
  1712. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1713. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1714. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1715. End If
  1716. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1717. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1718. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1719. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1720. End If
  1721. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1722. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1723. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1724. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1725. End If
  1726. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1727. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1728. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1729. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1730. End If
  1731. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1732. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1733. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1734. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1735. End If
  1736. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1737. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1738. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1739. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1740. End If
  1741. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1742. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  1743. Dim 計數 As Integer
  1744. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1745. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1746. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1747. End If
  1748. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1749. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1750. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1751. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1752. End If
  1753. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1754. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1755. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1756. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1757. End If
  1758. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1759. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1760. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1761. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1762. End If
  1763. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1764. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1765. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1766. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1767. End If
  1768. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1769. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1770. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1771. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1772. End If
  1773. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1774. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  1775. If 清單2_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1776. If 清單2_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1777. End If
  1778. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1779. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  1780. Dim 計數 As Integer
  1781. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1782. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1783. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1784. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1785. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1786. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1787. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1788. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1789. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1790. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1791. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1792. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1793. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1794. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1795. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1796. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1797. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1798. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1799. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1800. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1801. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1802. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1803. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1804. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1805. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  1806. If 清單2_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1807. If 清單2_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1808. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1809. ElseIf 休假比例_nud.Value = 100 Then
  1810. If 清單2_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1811. If 清單2_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1812. If 清單2_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1813. If 清單2_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1814. If 清單2_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1815. If 清單2_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1816. If 清單2_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1817. If 清單2_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1818. If 清單2_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1819. If 清單2_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1820. If 清單2_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1821. If 清單2_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1822. If 清單2_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單2_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1823. If 清單2_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單2_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1824. End If
  1825. Next : AUTO第2周()
  1826. '---------------第3周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  1827. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  1828. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  1829. Dim 計數 As Integer
  1830. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1831. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1832. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1833. End If
  1834. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1835. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1836. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1837. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1838. End If
  1839. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1840. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1841. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1842. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1843. End If
  1844. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1845. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1846. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1847. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1848. End If
  1849. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1850. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1851. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1852. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1853. End If
  1854. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1855. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  1856. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1857. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1858. End If
  1859. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  1860. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  1861. Dim 計數 As Integer
  1862. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1863. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1864. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1865. End If
  1866. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1867. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1868. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1869. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1870. End If
  1871. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1872. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1873. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1874. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1875. End If
  1876. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1877. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1878. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1879. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1880. End If
  1881. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1882. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1883. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1884. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1885. End If
  1886. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1887. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  1888. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1889. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1890. End If
  1891. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  1892. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  1893. Dim 計數 As Integer
  1894. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1895. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1896. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1897. End If
  1898. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1899. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1900. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1901. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1902. End If
  1903. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1904. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1905. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1906. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1907. End If
  1908. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1909. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1910. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1911. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1912. End If
  1913. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1914. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1915. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1916. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1917. End If
  1918. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1919. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  1920. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1921. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1922. End If
  1923. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  1924. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  1925. Dim 計數 As Integer
  1926. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1927. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1928. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1929. End If
  1930. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1931. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1932. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1933. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1934. End If
  1935. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1936. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1937. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1938. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1939. End If
  1940. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1941. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1942. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1943. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1944. End If
  1945. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1946. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1947. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1948. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1949. End If
  1950. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1951. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  1952. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1953. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1954. End If
  1955. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1956. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  1957. If 清單3_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1958. If 清單3_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1959. End If
  1960. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  1961. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  1962. Dim 計數 As Integer
  1963. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1964. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1965. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1966. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1967. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1968. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1969. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1970. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1971. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1972. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1973. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1974. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1975. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1976. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1977. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1978. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1979. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1980. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1981. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1982. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1983. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  1984. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1985. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1986. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1987. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  1988. If 清單3_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1989. If 清單3_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  1990. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  1991. ElseIf 休假比例_nud.Value = 100 Then
  1992. If 清單3_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1993. If 清單3_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1994. If 清單3_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1995. If 清單3_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1996. If 清單3_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1997. If 清單3_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  1998. If 清單3_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  1999. If 清單3_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2000. If 清單3_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2001. If 清單3_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2002. If 清單3_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2003. If 清單3_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2004. If 清單3_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單3_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2005. If 清單3_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單3_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2006. End If
  2007. Next : AUTO第3周()
  2008. '---------------第4周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  2009. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  2010. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  2011. Dim 計數 As Integer
  2012. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2013. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2014. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2015. End If
  2016. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2017. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2018. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2019. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2020. End If
  2021. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2022. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2023. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2024. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2025. End If
  2026. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2027. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2028. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2029. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2030. End If
  2031. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2032. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2033. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2034. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2035. End If
  2036. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2037. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2038. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2039. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2040. End If
  2041. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2042. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  2043. Dim 計數 As Integer
  2044. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2045. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2046. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2047. End If
  2048. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2049. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2050. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2051. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2052. End If
  2053. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2054. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2055. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2056. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2057. End If
  2058. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2059. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2060. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2061. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2062. End If
  2063. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2064. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2065. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2066. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2067. End If
  2068. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2069. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2070. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2071. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2072. End If
  2073. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2074. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  2075. Dim 計數 As Integer
  2076. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2077. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2078. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2079. End If
  2080. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2081. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2082. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2083. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2084. End If
  2085. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2086. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2087. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2088. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2089. End If
  2090. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2091. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2092. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2093. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2094. End If
  2095. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2096. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2097. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2098. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2099. End If
  2100. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2101. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2102. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2103. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2104. End If
  2105. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2106. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  2107. Dim 計數 As Integer
  2108. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2109. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2110. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2111. End If
  2112. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2113. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2114. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2115. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2116. End If
  2117. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2118. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2119. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2120. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2121. End If
  2122. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2123. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2124. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2125. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2126. End If
  2127. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2128. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2129. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2130. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2131. End If
  2132. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2133. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2134. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2135. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2136. End If
  2137. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2138. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  2139. If 清單4_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2140. If 清單4_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2141. End If
  2142. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2143. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  2144. Dim 計數 As Integer
  2145. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2146. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2147. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2148. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2149. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2150. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2151. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2152. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2153. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2154. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2155. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2156. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2157. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2158. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2159. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2160. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2161. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2162. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2163. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2164. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2165. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2166. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2167. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2168. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2169. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  2170. If 清單4_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2171. If 清單4_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2172. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2173. ElseIf 休假比例_nud.Value = 100 Then
  2174. If 清單4_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2175. If 清單4_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2176. If 清單4_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2177. If 清單4_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2178. If 清單4_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2179. If 清單4_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2180. If 清單4_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2181. If 清單4_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2182. If 清單4_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2183. If 清單4_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2184. If 清單4_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2185. If 清單4_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2186. If 清單4_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單4_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2187. If 清單4_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單4_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2188. End If
  2189. Next : AUTO第4周()
  2190. '---------------第5周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  2191. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  2192. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  2193. Dim 計數 As Integer
  2194. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  2195. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2196. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2197. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2198. End If
  2199. End If
  2200. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2201. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  2202. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2203. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2204. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2205. End If
  2206. End If
  2207. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2208. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  2209. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2210. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2211. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2212. End If
  2213. End If
  2214. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2215. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  2216. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2217. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2218. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2219. End If
  2220. End If
  2221. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2222. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  2223. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2224. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2225. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2226. End If
  2227. End If
  2228. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2229. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  2230. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2231. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2232. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2233. End If
  2234. End If
  2235. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2236. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  2237. Dim 計數 As Integer
  2238. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  2239. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2240. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2241. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2242. End If
  2243. End If
  2244. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2245. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  2246. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2247. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2248. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2249. End If
  2250. End If
  2251. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2252. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  2253. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2254. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2255. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2256. End If
  2257. End If
  2258. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2259. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  2260. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2261. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2262. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2263. End If
  2264. End If
  2265. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2266. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  2267. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2268. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2269. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2270. End If
  2271. End If
  2272. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2273. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  2274. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2275. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2276. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2277. End If
  2278. End If
  2279. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2280. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  2281. Dim 計數 As Integer
  2282. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  2283. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2284. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2285. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2286. End If
  2287. End If
  2288. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2289. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  2290. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2291. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2292. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2293. End If
  2294. End If
  2295. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2296. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  2297. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2298. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2299. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2300. End If
  2301. End If
  2302. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2303. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  2304. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2305. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2306. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2307. End If
  2308. End If
  2309. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2310. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  2311. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2312. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2313. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2314. End If
  2315. End If
  2316. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2317. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  2318. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2319. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2320. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2321. End If
  2322. End If
  2323. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2324. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  2325. Dim 計數 As Integer
  2326. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  2327. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2328. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2329. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2330. End If
  2331. End If
  2332. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2333. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  2334. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2335. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2336. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2337. End If
  2338. End If
  2339. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2340. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  2341. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2342. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2343. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2344. End If
  2345. End If
  2346. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2347. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  2348. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2349. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2350. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2351. End If
  2352. End If
  2353. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2354. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  2355. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2356. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2357. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2358. End If
  2359. End If
  2360. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2361. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  2362. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2363. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2364. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2365. End If
  2366. End If
  2367. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2368. If Strings.Mid(星35_bt.Text, 6, 2) = 月份2_cb.Text Then
  2369. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  2370. If 清單5_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2371. If 清單5_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2372. End If
  2373. End If
  2374. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2375. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  2376. Dim 計數 As Integer
  2377. If Strings.Mid(星29_bt.Text, 6, 2) = 月份2_cb.Text Then
  2378. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2379. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2380. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2381. End If
  2382. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2383. If Strings.Mid(星30_bt.Text, 6, 2) = 月份2_cb.Text Then
  2384. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2385. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2386. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2387. End If
  2388. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2389. If Strings.Mid(星31_bt.Text, 6, 2) = 月份2_cb.Text Then
  2390. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2391. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2392. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2393. End If
  2394. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2395. If Strings.Mid(星32_bt.Text, 6, 2) = 月份2_cb.Text Then
  2396. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2397. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2398. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2399. End If
  2400. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2401. If Strings.Mid(星33_bt.Text, 6, 2) = 月份2_cb.Text Then
  2402. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2403. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2404. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2405. End If
  2406. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2407. If Strings.Mid(星34_bt.Text, 6, 2) = 月份2_cb.Text Then
  2408. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2409. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2410. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2411. End If
  2412. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2413. If Strings.Mid(星35_bt.Text, 6, 2) = 月份2_cb.Text Then
  2414. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  2415. If 清單5_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2416. If 清單5_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2417. End If
  2418. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2419. ElseIf 休假比例_nud.Value = 100 Then
  2420. If 清單5_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2421. If 清單5_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2422. If 清單5_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2423. If 清單5_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2424. If 清單5_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2425. If 清單5_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2426. If 清單5_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2427. If 清單5_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2428. If 清單5_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2429. If 清單5_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2430. If 清單5_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2431. If 清單5_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2432. If 清單5_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單5_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2433. If 清單5_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單5_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2434. End If
  2435. Next : AUTO第5周()
  2436. '---------------第6周--------------------------------------------------------------------------------------------------------------------------------------------------------------
  2437. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  2438. If 休假比例_nud.Value > 0 And 休假比例_nud.Value < 20 Then
  2439. Dim 計數 As Integer
  2440. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  2441. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2442. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2443. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2444. End If
  2445. End If
  2446. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2447. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  2448. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2449. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2450. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2451. End If
  2452. End If
  2453. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2454. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  2455. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2456. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2457. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2458. End If
  2459. End If
  2460. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2461. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  2462. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2463. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2464. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2465. End If
  2466. End If
  2467. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2468. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  2469. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2470. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2471. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2472. End If
  2473. End If
  2474. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2475. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  2476. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定1 Then
  2477. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2478. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2479. End If
  2480. End If
  2481. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 10 Then : Exit For : End If
  2482. ElseIf 休假比例_nud.Value >= 20 And 休假比例_nud.Value < 40 Then
  2483. Dim 計數 As Integer
  2484. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  2485. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2486. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2487. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2488. End If
  2489. End If
  2490. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2491. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  2492. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2493. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2494. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2495. End If
  2496. End If
  2497. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2498. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  2499. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2500. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2501. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2502. End If
  2503. End If
  2504. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2505. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  2506. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2507. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2508. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2509. End If
  2510. End If
  2511. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2512. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  2513. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2514. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2515. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2516. End If
  2517. End If
  2518. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2519. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  2520. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定2 Then
  2521. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2522. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2523. End If
  2524. End If
  2525. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 7 Then : Exit For : End If
  2526. ElseIf 休假比例_nud.Value >= 40 And 休假比例_nud.Value < 60 Then
  2527. Dim 計數 As Integer
  2528. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  2529. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2530. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2531. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2532. End If
  2533. End If
  2534. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2535. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  2536. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2537. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2538. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2539. End If
  2540. End If
  2541. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2542. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  2543. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2544. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2545. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2546. End If
  2547. End If
  2548. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2549. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  2550. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2551. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2552. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2553. End If
  2554. End If
  2555. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2556. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  2557. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2558. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2559. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2560. End If
  2561. End If
  2562. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2563. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  2564. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定3 Then
  2565. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2566. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2567. End If
  2568. End If
  2569. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 5 Then : Exit For : End If
  2570. ElseIf 休假比例_nud.Value >= 60 And 休假比例_nud.Value < 80 Then
  2571. Dim 計數 As Integer
  2572. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  2573. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2574. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2575. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2576. End If
  2577. End If
  2578. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2579. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  2580. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2581. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2582. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2583. End If
  2584. End If
  2585. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2586. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  2587. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2588. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2589. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2590. End If
  2591. End If
  2592. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2593. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  2594. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2595. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2596. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2597. End If
  2598. End If
  2599. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2600. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  2601. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2602. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2603. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2604. End If
  2605. End If
  2606. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2607. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  2608. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定4 Then
  2609. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2610. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2611. End If
  2612. End If
  2613. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2614. If Strings.Mid(星42_bt.Text, 6, 2) = 月份2_cb.Text Then
  2615. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 48 Then
  2616. If 清單6_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2617. If 清單6_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2618. End If
  2619. End If
  2620. If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 3 Then : Exit For : End If
  2621. ElseIf 休假比例_nud.Value >= 80 And 休假比例_nud.Value < 100 Then
  2622. Dim 計數 As Integer
  2623. If Strings.Mid(星36_bt.Text, 6, 2) = 月份2_cb.Text Then
  2624. Randomize() : hours = random1.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2625. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2626. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2627. End If
  2628. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2629. If Strings.Mid(星37_bt.Text, 6, 2) = 月份2_cb.Text Then
  2630. Randomize() : hours = random2.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2631. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2632. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2633. End If
  2634. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2635. If Strings.Mid(星38_bt.Text, 6, 2) = 月份2_cb.Text Then
  2636. Randomize() : hours = random3.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2637. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2638. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2639. End If
  2640. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2641. If Strings.Mid(星39_bt.Text, 6, 2) = 月份2_cb.Text Then
  2642. Randomize() : hours = random4.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2643. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2644. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2645. End If
  2646. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2647. If Strings.Mid(星40_bt.Text, 6, 2) = 月份2_cb.Text Then
  2648. Randomize() : hours = random5.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2649. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2650. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2651. End If
  2652. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2653. If Strings.Mid(星41_bt.Text, 6, 2) = 月份2_cb.Text Then
  2654. Randomize() : hours = random6.Next(1, 100) : If hours < 休假比例_nud.Value + 設定5 Then
  2655. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2656. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2657. End If
  2658. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2659. If Strings.Mid(星42_bt.Text, 6, 2) = 月份2_cb.Text Then
  2660. Randomize() : hours = random7.Next(1, 100) : If hours < 休假比例_nud.Value - 30 Then
  2661. If 清單6_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2662. If 清單6_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If : 計數 += 1
  2663. End If
  2664. End If : If 計數 > 可沖天數_nud.Value - 休假天數_nud.Value + 1 Then : Exit For : End If
  2665. ElseIf 休假比例_nud.Value = 100 Then
  2666. If 清單6_dgv.Rows(i).Cells(15).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(15).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2667. If 清單6_dgv.Rows(i).Cells(16).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(16).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2668. If 清單6_dgv.Rows(i).Cells(17).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(17).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2669. If 清單6_dgv.Rows(i).Cells(18).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(18).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2670. If 清單6_dgv.Rows(i).Cells(19).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(19).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2671. If 清單6_dgv.Rows(i).Cells(20).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(20).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2672. If 清單6_dgv.Rows(i).Cells(21).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(21).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2673. If 清單6_dgv.Rows(i).Cells(22).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(22).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2674. If 清單6_dgv.Rows(i).Cells(23).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(23).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2675. If 清單6_dgv.Rows(i).Cells(24).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(24).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2676. If 清單6_dgv.Rows(i).Cells(25).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(25).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2677. If 清單6_dgv.Rows(i).Cells(26).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(26).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2678. If 清單6_dgv.Rows(i).Cells(27).Value = "" Then : AUTO時段1() : 清單6_dgv.Rows(i).Cells(27).Value = AUTO時 : AUTO舊1 = AUTO時 : End If
  2679. If 清單6_dgv.Rows(i).Cells(28).Value = "" Then : AUTO時段2() : 清單6_dgv.Rows(i).Cells(28).Value = AUTO時 : AUTO舊2 = AUTO時 : End If
  2680. End If
  2681. Next : AUTO第6周()
  2682. For I As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單1_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2683. For I As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單2_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2684. For I As Integer = 0 To 清單3_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單3_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2685. For I As Integer = 0 To 清單4_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單4_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2686. For I As Integer = 0 To 清單5_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單5_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2687. For I As Integer = 0 To 清單6_dgv.Rows.Count - 1 : 取得總數_nud.Value += CLng(清單6_dgv.Rows(I).Cells(13).Value.ToString) : Next
  2688. End If
  2689. End If
  2690. If 採購計算_ch.Checked = True Then
  2691. If 控制表_dgv.Rows.Count > 0 Then : MGB(對話框(1), 2) : If 訊息回應 = "YES" Then : Else : Exit Sub : End If : End If
  2692. 取得總數1_nud.Value = 0
  2693. '------------------------------採購----------------------------------------------------------------------------------------------------------------------------------------------------
  2694. Dim ds1 As New DataSet
  2695. 控制表_dgv.DataSource = Nothing : ds1.Clear()
  2696. 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2697. 控制表_dgv.ColumnHeadersHeight = 25 : 控制表_dgv.AllowUserToAddRows = False : 控制表_dgv.RowTemplate.Height = 25
  2698. SQL_採購控制表()
  2699. da.Fill(ds1) : 控制表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  2700. For I As Integer = 0 To 控制表_dgv.Rows.Count - 1
  2701. 控制表_dgv.Rows(I).Cells(0).Value = "" : 控制表_dgv.Rows(I).Cells(1).Value = "" : 控制表_dgv.Rows(I).Cells(2).Value = "" : 控制表_dgv.Rows(I).Cells(3).Value = ""
  2702. 控制表_dgv.Rows(I).Cells(4).Value = "" : 控制表_dgv.Rows(I).Cells(5).Value = "" : 控制表_dgv.Rows(I).Cells(6).Value = "" : 控制表_dgv.Rows(I).Cells(7).Value = ""
  2703. 控制表_dgv.Rows(I).Cells(8).Value = "" : 控制表_dgv.Rows(I).Cells(9).Value = "" : 控制表_dgv.Rows(I).Cells(10).Value = "" : 控制表_dgv.Rows(I).Cells(11).Value = ""
  2704. 控制表_dgv.Rows(I).Cells(12).Value = "" : 控制表_dgv.Rows(I).Cells(13).Value = "0" : 控制表_dgv.Rows(I).Cells(14).Value = False : 控制表_dgv.Rows(I).Cells(15).Value = "0"
  2705. 控制表_dgv.Rows(I).Cells(16).Value = "" : 控制表_dgv.Rows(I).Cells(17).Value = "" : 控制表_dgv.Rows(I).Cells(18).Value = False : 控制表_dgv.Rows(I).Cells(19).Value = False
  2706. 控制表_dgv.Rows(I).Cells(20).Value = False : 控制表_dgv.Rows(I).Cells(21).Value = False : 控制表_dgv.Rows(I).Cells(22).Value = False : 控制表_dgv.Rows(I).Cells(23).Value = ""
  2707. 控制表_dgv.Rows(I).Cells(24).Value = "" : 控制表_dgv.Rows(I).Cells(25).Value = "" : 控制表_dgv.Rows(I).Cells(26).Value = ""
  2708. Next
  2709. Dim ds2 As New DataSet
  2710. 明細表_dgv.DataSource = Nothing : ds2.Clear()
  2711. 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2712. 明細表_dgv.ColumnHeadersHeight = 25 : 明細表_dgv.AllowUserToAddRows = False : 明細表_dgv.RowTemplate.Height = 25
  2713. SQL_採購明細表()
  2714. da.Fill(ds2) : 明細表_dgv.DataSource = ds2.Tables(0) : conn.Close()
  2715. For I As Integer = 0 To 明細表_dgv.Rows.Count - 1
  2716. 明細表_dgv.Rows(I).Cells(0).Value = "" : 明細表_dgv.Rows(I).Cells(1).Value = "" : 明細表_dgv.Rows(I).Cells(2).Value = "" : 明細表_dgv.Rows(I).Cells(3).Value = ""
  2717. 明細表_dgv.Rows(I).Cells(4).Value = "0" : 明細表_dgv.Rows(I).Cells(5).Value = "" : 明細表_dgv.Rows(I).Cells(6).Value = "0" : 明細表_dgv.Rows(I).Cells(7).Value = ""
  2718. 明細表_dgv.Rows(I).Cells(8).Value = False : 明細表_dgv.Rows(I).Cells(9).Value = "" : 明細表_dgv.Rows(I).Cells(10).Value = "" : 明細表_dgv.Rows(I).Cells(11).Value = ""
  2719. 明細表_dgv.Rows(I).Cells(12).Value = False : 明細表_dgv.Rows(I).Cells(13).Value = False : 明細表_dgv.Rows(I).Cells(14).Value = "" : 明細表_dgv.Rows(I).Cells(15).Value = ""
  2720. 明細表_dgv.Rows(I).Cells(16).Value = "" : 明細表_dgv.Rows(I).Cells(17).Value = "0"
  2721. Next
  2722. Dim random As New Random()
  2723. Dim dgv As DataGridView = 控制表_dgv
  2724. Dim startDate As New Date(年份2_cb.Text, 月份2_cb.Text, 1)
  2725. Dim endDate As New Date(年份2_cb.Text, 月份2_cb.Text, DateTime.DaysInMonth(年份2_cb.Text, 月份2_cb.Text))
  2726. Dim 上班日(31), 上班日1(31) As String : Dim NS As Integer
  2727. For dayOfMonth As Integer = 1 To DateTime.DaysInMonth(年份2_cb.Text, 月份2_cb.Text)
  2728. Dim currentDate As New Date(年份2_cb.Text, 月份2_cb.Text, dayOfMonth)
  2729. If currentDate.DayOfWeek >= DayOfWeek.Monday AndAlso currentDate.DayOfWeek <= DayOfWeek.Friday Then
  2730. 上班日1(NS) = Strings.Format(currentDate, "yyyyMMdd")
  2731. 上班日(NS) = Strings.Format(currentDate, "yyyy/MM/dd") : NS += 1
  2732. End If
  2733. Next
  2734. Dim ND As Integer = 0 : Dim NUM1, 明細第幾個, 物料第幾個, 物料O, 物料數量, 物料數O, 驗證, 合約第幾個 As Integer
  2735. For i As Integer = 0 To NS : 資料數 = NS : MyMod.進度條()
  2736. 日期數量() : Hours舊 = Hours
  2737. For ii As Integer = 0 To Hours
  2738. '--------------計算出採購單號--------------------------------------------------------------------------------------------------------------------------------------
  2739. DTP1 = 上班日1(i)
  2740. For j As Integer = 1 To 999 : NUM1 = 0 + j
  2741. If NUM1 < 10 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-00" & NUM1
  2742. ElseIf NUM1 > 9 And NUM1 < 100 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-0" & NUM1
  2743. ElseIf NUM1 > 99 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-" & NUM1 : End If
  2744. Dim found As Boolean = False : PA1 = 控制表_dgv.Rows(ND).Cells(0).Value ' 是否找到相同資料的標誌
  2745. For Each row As DataGridViewRow In 該月單號_dgv.Rows
  2746. Dim cellValue As String = row.Cells(0).Value.ToString()
  2747. If cellValue = PA1 Then : found = True : Exit For : End If ' 找到相同資料就跳出迴圈
  2748. Next
  2749. If found Then : Else : j = 999 : conn.Close() : End If : conn.Close()
  2750. Next
  2751. If ND = 0 Then : Else
  2752. If Strings.Mid(控制表_dgv.Rows(ND - 1).Cells(0).Value.ToString, 7, 8) = Strings.Mid(控制表_dgv.Rows(ND).Cells(0).Value.ToString, 7, 8) Then
  2753. If 控制表_dgv.Rows(ND - 1).Cells(0).Value.ToString = 控制表_dgv.Rows(ND).Cells(0).Value.ToString Then
  2754. NUM1 = Strings.Right(控制表_dgv.Rows(ND).Cells(0).Value.ToString, 3) : NUM1 += 1
  2755. If NUM1 < 10 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-00" & NUM1
  2756. ElseIf NUM1 > 9 And NUM1 < 100 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-0" & NUM1
  2757. ElseIf NUM1 > 99 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-" & NUM1 : End If
  2758. ElseIf CInt(Strings.Right(控制表_dgv.Rows(ND - 1).Cells(0).Value.ToString, 3)) > CInt(Strings.Right(控制表_dgv.Rows(ND).Cells(0).Value.ToString, 3)) Then
  2759. NUM1 = Strings.Right(控制表_dgv.Rows(ND - 1).Cells(0).Value.ToString, 3) : NUM1 += 1
  2760. If NUM1 < 10 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-00" & NUM1
  2761. ElseIf NUM1 > 9 And NUM1 < 100 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-0" & NUM1
  2762. ElseIf NUM1 > 99 Then : 控制表_dgv.Rows(ND).Cells(0).Value = "HXI-C-" & DTP1 & "-" & NUM1 : End If
  2763. End If
  2764. End If
  2765. End If
  2766. '--------------完成採購控制表資料亂數生成--------------------------------------------------------------------------------------------------------------------------------------
  2767. 供應商亂數() : Xours舊 = Xours : 控制表_dgv.Rows(ND).Cells(1).Value = 供應商_dgv.Rows(Xours).Cells(0).Value.ToString
  2768. 使用地區亂數() : 控制表_dgv.Rows(ND).Cells(3).Value = 使用地點_dgv.Rows(Qours).Cells(0).Value.ToString
  2769. 人員亂數() : 控制表_dgv.Rows(ND).Cells(4).Value = 核對與詢價_dgv.Rows(Qours舊).Cells(0).Value.ToString
  2770. Dim originalDate As Date = Date.ParseExact(上班日(i), "yyyy/MM/dd", System.Globalization.CultureInfo.InvariantCulture)
  2771. 日期亂數() : 控制表_dgv.Rows(ND).Cells(5).Value = Strings.Format(originalDate.AddDays(HMD), "yyyy/MM/dd")
  2772. 控制表_dgv.Rows(ND).Cells(7).Value = Strings.Format(originalDate.AddDays(HMD + 1), "yyyy/MM/dd")
  2773. 人員亂數() : 控制表_dgv.Rows(ND).Cells(6).Value = 核對與詢價_dgv.Rows(Qours舊).Cells(0).Value.ToString
  2774. 控制表_dgv.Rows(ND).Cells(2).Value = 上班日(i)
  2775. '--------------使用供應商計算對應物料位置--------------------------------------------------------------------------------------------------------------------------------------
  2776. Dim XC1 As Integer = -1 : Dim XC2 As Integer = -1 : Dim XP1 As Integer = 合約號_dgv.Rows.Count
  2777. For k As Integer = 0 To 可用物料_dgv.Rows.Count - 1
  2778. If 可用物料_dgv.Rows(k).Cells(0).Value.ToString() = 控制表_dgv.Rows(ND).Cells(1).Value Then : If XC1 = -1 Then : XC1 = k : End If : XC2 = k : End If
  2779. Next
  2780. 驗證 = 0 : 人員亂數1() : Randomize() : 合約第幾個 = random.Next(0, 合約號_dgv.Rows.Count - 1)
  2781. For g As Integer = 0 To 99
  2782. If g < 10 Then : 明細表_dgv.Rows(明細第幾個).Cells(7).Value = "0" & g + 1 : Else : 明細表_dgv.Rows(明細第幾個).Cells(7).Value = g + 1 : End If
  2783. 明細表_dgv.Rows(明細第幾個).Cells(7).Value = True : 明細表_dgv.Rows(明細第幾個).Cells(12).Value = True : 明細表_dgv.Rows(明細第幾個).Cells(13).Value = True
  2784. 明細表_dgv.Rows(明細第幾個).Cells(15).Value = 合約號_dgv.Rows(合約第幾個).Cells(0).Value.ToString
  2785. 明細表_dgv.Rows(明細第幾個).Cells(16).Value = 申請人_dgv.Rows(Qours舊).Cells(0).Value.ToString
  2786. For m As Integer = 1 To 1000 : Randomize() : 物料第幾個 = random.Next(XC1, XC2) : If 物料第幾個 <> 物料O Then : Exit For : End If : Next
  2787. 物料O = 物料第幾個
  2788. 明細表_dgv.Rows(明細第幾個).Cells(0).Value = 控制表_dgv.Rows(ND).Cells(0).Value.ToString
  2789. 明細表_dgv.Rows(明細第幾個).Cells(1).Value = 可用物料_dgv.Rows(物料第幾個).Cells(3).Value.ToString
  2790. 明細表_dgv.Rows(明細第幾個).Cells(5).Value = 可用物料_dgv.Rows(物料第幾個).Cells("單位").Value.ToString
  2791. 明細表_dgv.Rows(明細第幾個).Cells(6).Value = 可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString
  2792. 明細表_dgv.Rows(明細第幾個).Cells(9).Value = 可用物料_dgv.Rows(物料第幾個).Cells("群組碼").Value.ToString
  2793. 明細表_dgv.Rows(明細第幾個).Cells(10).Value = 可用物料_dgv.Rows(物料第幾個).Cells("料號原則").Value.ToString
  2794. 明細表_dgv.Rows(明細第幾個).Cells(11).Value = 可用物料_dgv.Rows(物料第幾個).Cells("料號").Value.ToString
  2795. Dim 規格 As String = ""
  2796. If 可用物料_dgv.Rows(物料第幾個).Cells("A1").Value.ToString <> "" Then : 規格 &= 可用物料_dgv.Rows(物料第幾個).Cells("A1").Value.ToString
  2797. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A2").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A2").Value.ToString
  2798. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A3").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A3").Value.ToString
  2799. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A4").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A4").Value.ToString
  2800. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A5").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A5").Value.ToString
  2801. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A6").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A6").Value.ToString
  2802. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A7").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A7").Value.ToString
  2803. ElseIf 可用物料_dgv.Rows(物料第幾個).Cells("A8").Value.ToString <> "" Then : 規格 &= "、" & 可用物料_dgv.Rows(物料第幾個).Cells("A8").Value.ToString : End If
  2804. 明細表_dgv.Rows(明細第幾個).Cells(2).Value = 規格
  2805. If CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 10000 Then
  2806. For m As Integer = 1 To 1000 : Randomize() : 物料數量 = random.Next(100, 500) : If 物料數量 <> 物料數O Then : Exit For : End If : Next
  2807. 物料數O = 物料數量 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2808. ElseIf CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) >= 10000 And CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 50000 Then
  2809. For m As Integer = 1 To 1000 : Randomize() : 物料數量 = random.Next(50, 100) : If 物料數量 <> 物料數O Then : Exit For : End If : Next
  2810. 物料數O = 物料數量 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2811. ElseIf CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) >= 50000 And CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 100000 Then
  2812. For m As Integer = 1 To 1000 : Randomize() : 物料數量 = random.Next(10, 50) : If 物料數量 <> 物料數O Then : Exit For : End If : Next
  2813. 物料數O = 物料數量 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2814. ElseIf CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) >= 100000 And CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 500000 Then
  2815. For m As Integer = 1 To 1000 : Randomize() : 物料數量 = random.Next(5, 10) : If 物料數量 <> 物料數O Then : Exit For : End If : Next
  2816. 物料數O = 物料數量 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2817. ElseIf CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) >= 500000 And CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 1000000 Then
  2818. For m As Integer = 1 To 1000 : Randomize() : 物料數量 = random.Next(1, 5) : If 物料數量 <> 物料數O Then : Exit For : End If : Next
  2819. 物料數O = 物料數量 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2820. ElseIf CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) >= 1000000 And CInt(可用物料_dgv.Rows(物料第幾個).Cells(1).Value.ToString) < 10000000 Then
  2821. 物料數O = 1 : 物料數量 = 1 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2822. Else
  2823. 物料數O = 1 : 物料數量 = 1 : 明細表_dgv.Rows(明細第幾個).Cells(4).Value = 物料數量
  2824. End If
  2825. 驗證 += (明細表_dgv.Rows(明細第幾個).Cells(6).Value * 明細表_dgv.Rows(明細第幾個).Cells(4).Value) : 明細第幾個 += 1
  2826. If 驗證 > 每單最高_nud.Value / 100 * 85 Then : 取得總數1_nud.Value += 驗證 : Exit For : End If
  2827. Next
  2828. ND += 1
  2829. If ND = CInt(開單數_nud.Value) Then
  2830. Exit For
  2831. End If
  2832. Next
  2833. If ND = CInt(開單數_nud.Value) Then
  2834. Exit For
  2835. End If
  2836. Next : HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 0
  2837. End If
  2838. End Sub
  2839. Private Sub 存檔_tb_Click(sender As Object, e As EventArgs) Handles 存檔_tb.Click
  2840. SQL_零用金基本設定存檔() : MGB(對話框(3), 1) : 首次開啟 = False
  2841. End Sub
  2842. Private Sub 日期數量()
  2843. Dim random As New Random()
  2844. For i As Integer = 1 To 1000 : Randomize() : Hours = random.Next(1, 每日單量_nud.Value) : If Hours舊 <> Hours Then : Exit For : End If : Next
  2845. End Sub
  2846. Private Sub 供應商亂數()
  2847. Dim random As New Random()
  2848. For i As Integer = 1 To 1000
  2849. Randomize() : Xours = random.Next(0, 12365478)
  2850. For k As Integer = 0 To 100000000
  2851. Xours -= 供應商_dgv.Rows.Count : If Xours < 供應商_dgv.Rows.Count Then : Exit For : End If
  2852. Next
  2853. If Xours舊 <> Xours Then : Exit For : End If
  2854. Next
  2855. End Sub
  2856. Private Sub 使用地區亂數()
  2857. Dim random As New Random() : Randomize() : Qours = random.Next(0, 10000000)
  2858. For i As Integer = 1 To 10000000 : Qours -= 使用地點_dgv.Rows.Count : If Qours <= 使用地點_dgv.Rows.Count - 1 Then : Exit For : End If : Next
  2859. End Sub
  2860. Private Sub 人員亂數()
  2861. Dim random As New Random() : Randomize() : Qours舊 = random.Next(0, 10000000)
  2862. For i As Integer = 1 To 10000000 : Qours舊 -= 核對與詢價_dgv.Rows.Count : If Qours舊 <= 核對與詢價_dgv.Rows.Count - 1 Then : Exit For : End If : Next
  2863. End Sub
  2864. Private Sub 人員亂數1()
  2865. Dim random As New Random() : Randomize() : Qours舊 = random.Next(0, 10000000)
  2866. For i As Integer = 1 To 10000000 : Qours舊 -= 申請人_dgv.Rows.Count : If Qours舊 <= 申請人_dgv.Rows.Count - 1 Then : Exit For : End If : Next
  2867. End Sub
  2868. Private Sub 日期亂數()
  2869. Dim random As New Random() : Randomize() : HMD = random.Next(0, 10000000)
  2870. For i As Integer = 1 To 10000000 : HMD -= 7 : If HMD <= 7 Then : Exit For : End If : Next
  2871. End Sub
  2872. Private Sub 年份2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份2_cb.SelectedIndexChanged
  2873. If 首次開啟 = False Then
  2874. 群組1_cb.Text = "HARIAN GROUP" : Set_使用者清單() : Set_供應商() : Set_使用地點()
  2875. Set_詢價人員() : Set_可用物料() : Set_申請人() : Set_採購單號() : Set_合約號() : 採購當案牘取()
  2876. 加總1() : 沖帳金額1_nud.Value = 每單最高_nud.Value * 3
  2877. End If
  2878. End Sub
  2879. Private Sub 月份2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份2_cb.SelectedIndexChanged
  2880. If 首次開啟 = False Then
  2881. 群組1_cb.Text = "HARIAN GROUP" : Set_使用者清單() : Set_供應商() : Set_使用地點()
  2882. Set_詢價人員() : Set_可用物料() : Set_申請人() : Set_採購單號() : Set_合約號() : 採購當案牘取()
  2883. 加總1() : 沖帳金額1_nud.Value = 每單最高_nud.Value * 3
  2884. End If
  2885. End Sub
  2886. Private Sub 結束日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged
  2887. If 首次開啟 = False Then
  2888. 開始日期_dtp.Value = 結束日期_dtp.Value
  2889. Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate)
  2890. If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1)
  2891. ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2)
  2892. ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3)
  2893. ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4)
  2894. ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5)
  2895. ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6)
  2896. End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+6)
  2897. 星期設定()
  2898. For i As Integer = 1 To 7
  2899. If Strings.Right(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 2) = "01" Then : Exit For : End If
  2900. If Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 7) = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 7) Then
  2901. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7) : 星期設定()
  2902. Else : Exit For : End If
  2903. Next
  2904. Dim selectedDate As Date = MonthCalendar1.SelectionStart
  2905. Dim daysInMonth As Integer = DateTime.DaysInMonth(selectedDate.Year, selectedDate.Month)
  2906. Dim x1 As Integer = 0 : Dim x2 As Integer = 0 ' 週一到週五的天數 週六和週日的天數
  2907. For day As Integer = 1 To daysInMonth
  2908. Dim currentDate As New Date(selectedDate.Year, selectedDate.Month, day) : Dim dayOfWeek As DayOfWeek = currentDate.DayOfWeek
  2909. If dayOfWeek >= DayOfWeek.Monday AndAlso dayOfWeek <= DayOfWeek.Friday Then : x1 += 1
  2910. ElseIf dayOfWeek = DayOfWeek.Saturday OrElse dayOfWeek = DayOfWeek.Sunday Then : x2 += 1 : End If
  2911. Next : 上班日_nud.Value = x1 : 放假日_nud.Value = x2 : 採購單極限數量()
  2912. End If
  2913. End Sub
  2914. Private Sub AUTO時段1()
  2915. Dim random As New Random()
  2916. For i As Integer = 1 To 1000
  2917. Randomize() : Dim hours As Integer = random.Next(6, 7) : Dim minutes As Integer
  2918. If hours = 6 Then : Randomize() : minutes = random.Next(45, 59) : Else : Randomize() : minutes = random.Next(0, 3) : End If
  2919. Randomize() : Dim seconds As Integer = random.Next(0, 60) : AUTO時 = $"{hours:00}:{minutes:00}:{seconds:00}"
  2920. If AUTO舊1 <> AUTO時 Then : Exit For : End If
  2921. Next
  2922. End Sub
  2923. Private Sub AUTO時段2()
  2924. Dim random As New Random()
  2925. For i As Integer = 1 To 1000
  2926. Dim hours As Integer
  2927. If 加班_nud.Value = 1 Then : Randomize() : hours = random.Next(16, 17)
  2928. ElseIf 加班_nud.Value = 2 Then : Randomize() : hours = random.Next(18, 19)
  2929. ElseIf 加班_nud.Value = 3 Then : Randomize() : hours = random.Next(19, 20) : End If
  2930. Dim minutes As Integer
  2931. If 加班_nud.Value = 1 Then : If hours = 16 Then : Randomize() : minutes = random.Next(55, 59) : Else : Randomize() : minutes = random.Next(0, 15) : End If
  2932. ElseIf 加班_nud.Value = 2 Then : If hours = 18 Then : Randomize() : minutes = random.Next(55, 59) : Else : Randomize() : minutes = random.Next(0, 15) : End If
  2933. ElseIf 加班_nud.Value = 3 Then : If hours = 19 Then : Randomize() : minutes = random.Next(55, 59) : Else : Randomize() : minutes = random.Next(0, 15) : End If : End If
  2934. Randomize() : Dim seconds As Integer = random.Next(0, 60) : AUTO時 = $"{hours:00}:{minutes:00}:{seconds:00}"
  2935. If AUTO舊2 <> AUTO時 Then : Exit For : End If
  2936. Next
  2937. End Sub
  2938. Private verificationCode As String
  2939. Private verificationStartTime As DateTime
  2940. Dim currentTime As DateTime
  2941. Dim elapsedTime As TimeSpan
  2942. Private Sub 清除_bt_Click(sender As Object, e As EventArgs) Handles 清除_bt.Click
  2943. Dim random As New Random()
  2944. verificationCode = random.Next(10000000, 99999999).ToString()
  2945. verificationStartTime = DateTime.Now
  2946. LIN訊息通知("CC260", gUserName, verificationCode)
  2947. INB(對話框(2))
  2948. If 訊息回應 = verificationCode Then
  2949. currentTime = DateTime.Now
  2950. elapsedTime = currentTime - verificationStartTime
  2951. If elapsedTime.TotalMinutes <= 0.5 Then
  2952. PA25 = 星1_bt.Text : Set_虛擬表() : Dim DDF As Integer
  2953. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  2954. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  2955. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  2956. If 清單1_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  2957. If 月份2_cb.Text <> Strings.Mid(星1_bt.Text, 6, 2) Then
  2958. 清單1_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單1_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  2959. End If
  2960. If 月份2_cb.Text <> Strings.Mid(星2_bt.Text, 6, 2) Then
  2961. 清單1_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單1_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  2962. End If
  2963. If 月份2_cb.Text <> Strings.Mid(星3_bt.Text, 6, 2) Then
  2964. 清單1_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單1_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  2965. End If
  2966. If 月份2_cb.Text <> Strings.Mid(星4_bt.Text, 6, 2) Then
  2967. 清單1_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單1_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  2968. End If
  2969. If 月份2_cb.Text <> Strings.Mid(星5_bt.Text, 6, 2) Then
  2970. 清單1_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單1_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  2971. End If
  2972. If 月份2_cb.Text <> Strings.Mid(星6_bt.Text, 6, 2) Then
  2973. 清單1_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單1_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  2974. End If
  2975. If 月份2_cb.Text <> Strings.Mid(星7_bt.Text, 6, 2) Then
  2976. 清單1_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單1_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  2977. End If
  2978. End If
  2979. Next
  2980. Next
  2981. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  2982. If 月份2_cb.Text = Strings.Mid(星1_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(15).Value = "" : 清單1_dgv.Rows(i).Cells(16).Value = "" : End If
  2983. If 月份2_cb.Text = Strings.Mid(星2_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(17).Value = "" : 清單1_dgv.Rows(i).Cells(18).Value = "" : End If
  2984. If 月份2_cb.Text = Strings.Mid(星3_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(19).Value = "" : 清單1_dgv.Rows(i).Cells(20).Value = "" : End If
  2985. If 月份2_cb.Text = Strings.Mid(星4_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(21).Value = "" : 清單1_dgv.Rows(i).Cells(22).Value = "" : End If
  2986. If 月份2_cb.Text = Strings.Mid(星5_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(23).Value = "" : 清單1_dgv.Rows(i).Cells(24).Value = "" : End If
  2987. If 月份2_cb.Text = Strings.Mid(星6_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(25).Value = "" : 清單1_dgv.Rows(i).Cells(26).Value = "" : End If
  2988. If 月份2_cb.Text = Strings.Mid(星7_bt.Text, 6, 2) Then : 清單1_dgv.Rows(i).Cells(27).Value = "" : 清單1_dgv.Rows(i).Cells(28).Value = "" : End If
  2989. Next : AUTO第1周()
  2990. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  2991. 清單2_dgv.Rows(i).Cells(15).Value = "" : 清單2_dgv.Rows(i).Cells(16).Value = "" : 清單2_dgv.Rows(i).Cells(17).Value = "" : 清單2_dgv.Rows(i).Cells(18).Value = ""
  2992. 清單2_dgv.Rows(i).Cells(19).Value = "" : 清單2_dgv.Rows(i).Cells(20).Value = "" : 清單2_dgv.Rows(i).Cells(21).Value = "" : 清單2_dgv.Rows(i).Cells(22).Value = ""
  2993. 清單2_dgv.Rows(i).Cells(23).Value = "" : 清單2_dgv.Rows(i).Cells(24).Value = "" : 清單2_dgv.Rows(i).Cells(25).Value = "" : 清單2_dgv.Rows(i).Cells(26).Value = ""
  2994. 清單2_dgv.Rows(i).Cells(27).Value = "" : 清單2_dgv.Rows(i).Cells(28).Value = ""
  2995. Next : AUTO第2周()
  2996. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  2997. 清單3_dgv.Rows(i).Cells(15).Value = "" : 清單3_dgv.Rows(i).Cells(16).Value = "" : 清單3_dgv.Rows(i).Cells(17).Value = "" : 清單3_dgv.Rows(i).Cells(18).Value = ""
  2998. 清單3_dgv.Rows(i).Cells(19).Value = "" : 清單3_dgv.Rows(i).Cells(20).Value = "" : 清單3_dgv.Rows(i).Cells(21).Value = "" : 清單3_dgv.Rows(i).Cells(22).Value = ""
  2999. 清單3_dgv.Rows(i).Cells(23).Value = "" : 清單3_dgv.Rows(i).Cells(24).Value = "" : 清單3_dgv.Rows(i).Cells(25).Value = "" : 清單3_dgv.Rows(i).Cells(26).Value = ""
  3000. 清單3_dgv.Rows(i).Cells(27).Value = "" : 清單3_dgv.Rows(i).Cells(28).Value = ""
  3001. Next : AUTO第3周()
  3002. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  3003. 清單4_dgv.Rows(i).Cells(15).Value = "" : 清單4_dgv.Rows(i).Cells(16).Value = "" : 清單4_dgv.Rows(i).Cells(17).Value = "" : 清單4_dgv.Rows(i).Cells(18).Value = ""
  3004. 清單4_dgv.Rows(i).Cells(19).Value = "" : 清單4_dgv.Rows(i).Cells(20).Value = "" : 清單4_dgv.Rows(i).Cells(21).Value = "" : 清單4_dgv.Rows(i).Cells(22).Value = ""
  3005. 清單4_dgv.Rows(i).Cells(23).Value = "" : 清單4_dgv.Rows(i).Cells(24).Value = "" : 清單4_dgv.Rows(i).Cells(25).Value = "" : 清單4_dgv.Rows(i).Cells(26).Value = ""
  3006. 清單4_dgv.Rows(i).Cells(27).Value = "" : 清單4_dgv.Rows(i).Cells(28).Value = ""
  3007. Next : AUTO第4周()
  3008. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  3009. 清單5_dgv.Rows(i).Cells(15).Value = "" : 清單5_dgv.Rows(i).Cells(16).Value = "" : 清單5_dgv.Rows(i).Cells(17).Value = "" : 清單5_dgv.Rows(i).Cells(18).Value = ""
  3010. 清單5_dgv.Rows(i).Cells(19).Value = "" : 清單5_dgv.Rows(i).Cells(20).Value = "" : 清單5_dgv.Rows(i).Cells(21).Value = "" : 清單5_dgv.Rows(i).Cells(22).Value = ""
  3011. 清單5_dgv.Rows(i).Cells(23).Value = "" : 清單5_dgv.Rows(i).Cells(24).Value = "" : 清單5_dgv.Rows(i).Cells(25).Value = "" : 清單5_dgv.Rows(i).Cells(26).Value = ""
  3012. 清單5_dgv.Rows(i).Cells(27).Value = "" : 清單5_dgv.Rows(i).Cells(28).Value = ""
  3013. Next : AUTO第5周()
  3014. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  3015. 清單6_dgv.Rows(i).Cells(15).Value = "" : 清單6_dgv.Rows(i).Cells(16).Value = "" : 清單6_dgv.Rows(i).Cells(17).Value = "" : 清單6_dgv.Rows(i).Cells(18).Value = ""
  3016. 清單6_dgv.Rows(i).Cells(19).Value = "" : 清單6_dgv.Rows(i).Cells(20).Value = "" : 清單6_dgv.Rows(i).Cells(21).Value = "" : 清單6_dgv.Rows(i).Cells(22).Value = ""
  3017. 清單6_dgv.Rows(i).Cells(23).Value = "" : 清單6_dgv.Rows(i).Cells(24).Value = "" : 清單6_dgv.Rows(i).Cells(25).Value = "" : 清單6_dgv.Rows(i).Cells(26).Value = ""
  3018. 清單6_dgv.Rows(i).Cells(27).Value = "" : 清單6_dgv.Rows(i).Cells(28).Value = ""
  3019. Next : AUTO第6周() : 取得總數_nud.Value = 0
  3020. Dim AAS As String = "" : PA45 = 星1_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3021. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  3022. If 清單1_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3023. 清單1_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3024. 清單1_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3025. 清單1_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3026. 清單1_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3027. AAS = "(N'" & 清單1_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(16).Value.ToString & "',
  3028. N'" & 清單1_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(19).Value.ToString & "',
  3029. N'" & 清單1_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(22).Value.ToString & "',
  3030. N'" & 清單1_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(25).Value.ToString & "',
  3031. N'" & 清單1_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(28).Value.ToString & "',
  3032. N'" & 星1_bt.Text & "')"
  3033. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3034. Next : SQL_虛擬考勤明細表新增()
  3035. AAS = "" : PA45 = 星8_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3036. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  3037. If 清單2_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3038. 清單2_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3039. 清單2_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3040. 清單2_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3041. 清單2_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3042. AAS = "(N'" & 清單2_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(16).Value.ToString & "',
  3043. N'" & 清單2_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(19).Value.ToString & "',
  3044. N'" & 清單2_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(22).Value.ToString & "',
  3045. N'" & 清單2_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(25).Value.ToString & "',
  3046. N'" & 清單2_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(28).Value.ToString & "',
  3047. N'" & 星8_bt.Text & "')"
  3048. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3049. Next : SQL_虛擬考勤明細表新增()
  3050. AAS = "" : PA45 = 星15_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3051. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  3052. If 清單3_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3053. 清單3_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3054. 清單3_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3055. 清單3_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3056. 清單3_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3057. AAS = "(N'" & 清單3_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(16).Value.ToString & "',
  3058. N'" & 清單3_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(19).Value.ToString & "',
  3059. N'" & 清單3_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(22).Value.ToString & "',
  3060. N'" & 清單3_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(25).Value.ToString & "',
  3061. N'" & 清單3_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(28).Value.ToString & "',
  3062. N'" & 星15_bt.Text & "')"
  3063. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3064. Next : SQL_虛擬考勤明細表新增()
  3065. AAS = "" : PA45 = 星22_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3066. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  3067. If 清單4_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3068. 清單4_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3069. 清單4_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3070. 清單4_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3071. 清單4_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3072. AAS = "(N'" & 清單4_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(16).Value.ToString & "',
  3073. N'" & 清單4_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(19).Value.ToString & "',
  3074. N'" & 清單4_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(22).Value.ToString & "',
  3075. N'" & 清單4_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(25).Value.ToString & "',
  3076. N'" & 清單4_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(28).Value.ToString & "',
  3077. N'" & 星22_bt.Text & "')"
  3078. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3079. Next : SQL_虛擬考勤明細表新增()
  3080. AAS = "" : PA45 = 星29_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3081. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  3082. If 清單5_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3083. 清單5_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3084. 清單5_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3085. 清單5_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3086. 清單5_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3087. AAS = "(N'" & 清單5_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(16).Value.ToString & "',
  3088. N'" & 清單5_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(19).Value.ToString & "',
  3089. N'" & 清單5_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(22).Value.ToString & "',
  3090. N'" & 清單5_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(25).Value.ToString & "',
  3091. N'" & 清單5_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(28).Value.ToString & "',
  3092. N'" & 星29_bt.Text & "')"
  3093. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3094. Next : SQL_虛擬考勤明細表新增()
  3095. AAS = "" : PA45 = 星36_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3096. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  3097. If 清單6_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3098. 清單6_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3099. 清單6_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3100. 清單6_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3101. 清單6_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3102. AAS = "(N'" & 清單6_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(16).Value.ToString & "',
  3103. N'" & 清單6_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(19).Value.ToString & "',
  3104. N'" & 清單6_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(22).Value.ToString & "',
  3105. N'" & 清單6_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(25).Value.ToString & "',
  3106. N'" & 清單6_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(28).Value.ToString & "',
  3107. N'" & 星36_bt.Text & "')"
  3108. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3109. Next : SQL_虛擬考勤明細表新增()
  3110. For i As Integer = 0 To 控制表_dgv.Rows.Count - 1
  3111. PA = 控制表_dgv.Rows(i).Cells(0).Value : SQL_採購單詢價_控制刪除() : SQL_採購單詢價_明細刪除()
  3112. Next : PA = "" : 採購當案牘取()
  3113. End If
  3114. End If
  3115. End Sub
  3116. Private Sub 考勤表_bt_Click(sender As Object, e As EventArgs) Handles 考勤表_bt.Click
  3117. 清單1_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單1_dgv.Columns(i).Visible = True : Next
  3118. 清單1_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單1_dgv.Columns(i).Visible = False : Next
  3119. 清單2_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單2_dgv.Columns(i).Visible = True : Next
  3120. 清單2_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單2_dgv.Columns(i).Visible = False : Next
  3121. 清單3_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單3_dgv.Columns(i).Visible = True : Next
  3122. 清單3_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單3_dgv.Columns(i).Visible = False : Next
  3123. 清單4_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單4_dgv.Columns(i).Visible = True : Next
  3124. 清單4_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單4_dgv.Columns(i).Visible = False : Next
  3125. 清單5_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單5_dgv.Columns(i).Visible = True : Next
  3126. 清單5_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單5_dgv.Columns(i).Visible = False : Next
  3127. 清單6_dgv.Columns(12).Visible = True : For i As Integer = 15 To 28 : 清單6_dgv.Columns(i).Visible = True : Next
  3128. 清單6_dgv.Columns(13).Visible = False : For i As Integer = 29 To 48 : 清單6_dgv.Columns(i).Visible = False : Next
  3129. End Sub
  3130. Private Sub 薪資表_bt_Click(sender As Object, e As EventArgs) Handles 薪資表_bt.Click
  3131. 清單1_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單1_dgv.Columns(i).Visible = False : Next
  3132. 清單1_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單1_dgv.Columns(i).Visible = True : Next
  3133. 清單2_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單2_dgv.Columns(i).Visible = False : Next
  3134. 清單2_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單2_dgv.Columns(i).Visible = True : Next
  3135. 清單3_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單3_dgv.Columns(i).Visible = False : Next
  3136. 清單3_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單3_dgv.Columns(i).Visible = True : Next
  3137. 清單4_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單4_dgv.Columns(i).Visible = False : Next
  3138. 清單4_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單4_dgv.Columns(i).Visible = True : Next
  3139. 清單5_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單5_dgv.Columns(i).Visible = False : Next
  3140. 清單5_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單5_dgv.Columns(i).Visible = True : Next
  3141. 清單6_dgv.Columns(12).Visible = False : For i As Integer = 15 To 28 : 清單6_dgv.Columns(i).Visible = False : Next
  3142. 清單6_dgv.Columns(13).Visible = True : For i As Integer = 29 To 48 : 清單6_dgv.Columns(i).Visible = True : Next
  3143. End Sub
  3144. Private Sub 虛擬存檔_bt_Click(sender As Object, e As EventArgs) Handles 虛擬存檔_bt.Click
  3145. If 薪資計算_ch.Checked = False And 採購計算_ch.Checked = False Then : MGB(對話框(0), 1) : 虛擬存檔() : 首次開啟 = False : Exit Sub : End If
  3146. If 薪資計算_ch.Checked = True Then
  3147. If 群組1_cb.Text <> "HARIAN GROUP" Then : MGB(系統語言字典("H611-110-" & 語言), 1) : 首次開啟 = False : Else
  3148. PA25 = 星1_bt.Text : Set_虛擬表() : Dim DDF As Integer
  3149. '-------------------------虛擬考勤--------------------------------------------------------------------------------------------------------------------
  3150. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  3151. For ii As Integer = 0 To 虛擬表_dgv.Rows.Count - 1
  3152. If 清單1_dgv.Rows(i).Cells(50).Value.ToString = 虛擬表_dgv.Rows(ii).Cells(0).Value.ToString Then
  3153. If 月份2_cb.Text <> Strings.Mid(星1_bt.Text, 6, 2) Then
  3154. 清單1_dgv.Rows(i).Cells(15).Value = 虛擬表_dgv.Rows(ii).Cells(1).Value.ToString : 清單1_dgv.Rows(i).Cells(16).Value = 虛擬表_dgv.Rows(ii).Cells(2).Value.ToString
  3155. End If
  3156. If 月份2_cb.Text <> Strings.Mid(星2_bt.Text, 6, 2) Then
  3157. 清單1_dgv.Rows(i).Cells(17).Value = 虛擬表_dgv.Rows(ii).Cells(3).Value.ToString : 清單1_dgv.Rows(i).Cells(18).Value = 虛擬表_dgv.Rows(ii).Cells(4).Value.ToString
  3158. End If
  3159. If 月份2_cb.Text <> Strings.Mid(星3_bt.Text, 6, 2) Then
  3160. 清單1_dgv.Rows(i).Cells(19).Value = 虛擬表_dgv.Rows(ii).Cells(5).Value.ToString : 清單1_dgv.Rows(i).Cells(20).Value = 虛擬表_dgv.Rows(ii).Cells(6).Value.ToString
  3161. End If
  3162. If 月份2_cb.Text <> Strings.Mid(星4_bt.Text, 6, 2) Then
  3163. 清單1_dgv.Rows(i).Cells(21).Value = 虛擬表_dgv.Rows(ii).Cells(7).Value.ToString : 清單1_dgv.Rows(i).Cells(22).Value = 虛擬表_dgv.Rows(ii).Cells(8).Value.ToString
  3164. End If
  3165. If 月份2_cb.Text <> Strings.Mid(星5_bt.Text, 6, 2) Then
  3166. 清單1_dgv.Rows(i).Cells(23).Value = 虛擬表_dgv.Rows(ii).Cells(9).Value.ToString : 清單1_dgv.Rows(i).Cells(24).Value = 虛擬表_dgv.Rows(ii).Cells(10).Value.ToString
  3167. End If
  3168. If 月份2_cb.Text <> Strings.Mid(星6_bt.Text, 6, 2) Then
  3169. 清單1_dgv.Rows(i).Cells(25).Value = 虛擬表_dgv.Rows(ii).Cells(11).Value.ToString : 清單1_dgv.Rows(i).Cells(26).Value = 虛擬表_dgv.Rows(ii).Cells(12).Value.ToString
  3170. End If
  3171. If 月份2_cb.Text <> Strings.Mid(星7_bt.Text, 6, 2) Then
  3172. 清單1_dgv.Rows(i).Cells(27).Value = 虛擬表_dgv.Rows(ii).Cells(13).Value.ToString : 清單1_dgv.Rows(i).Cells(28).Value = 虛擬表_dgv.Rows(ii).Cells(14).Value.ToString
  3173. End If
  3174. End If
  3175. Next
  3176. Next : AUTO第1周()
  3177. Dim 可以存檔 As Boolean = False
  3178. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  3179. If 清單1_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3180. 清單1_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3181. 清單1_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3182. 清單1_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3183. 清單1_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3184. Next
  3185. If 可以存檔 = True Then
  3186. Dim AAS As String = "" : PA45 = 星1_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3187. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  3188. If 清單1_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3189. 清單1_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3190. 清單1_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3191. 清單1_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3192. 清單1_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單1_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3193. AAS = "(N'" & 清單1_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(16).Value.ToString & "',
  3194. N'" & 清單1_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(19).Value.ToString & "',
  3195. N'" & 清單1_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(22).Value.ToString & "',
  3196. N'" & 清單1_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(25).Value.ToString & "',
  3197. N'" & 清單1_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單1_dgv.Rows(i).Cells(28).Value.ToString & "',
  3198. N'" & 星1_bt.Text & "')"
  3199. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3200. Next
  3201. SQL_虛擬考勤明細表新增()
  3202. End If : 可以存檔 = False
  3203. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  3204. If 清單2_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3205. 清單2_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3206. 清單2_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3207. 清單2_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3208. 清單2_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3209. Next
  3210. If 可以存檔 = True Then
  3211. Dim AAS As String = "" : PA45 = 星8_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3212. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  3213. If 清單2_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3214. 清單2_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3215. 清單2_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3216. 清單2_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3217. 清單2_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單2_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3218. AAS = "(N'" & 清單2_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(16).Value.ToString & "',
  3219. N'" & 清單2_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(19).Value.ToString & "',
  3220. N'" & 清單2_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(22).Value.ToString & "',
  3221. N'" & 清單2_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(25).Value.ToString & "',
  3222. N'" & 清單2_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單2_dgv.Rows(i).Cells(28).Value.ToString & "',
  3223. N'" & 星8_bt.Text & "')"
  3224. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3225. Next
  3226. SQL_虛擬考勤明細表新增()
  3227. End If : 可以存檔 = False
  3228. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  3229. If 清單3_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3230. 清單3_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3231. 清單3_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3232. 清單3_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3233. 清單3_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3234. Next
  3235. If 可以存檔 = True Then
  3236. Dim AAS As String = "" : PA45 = 星15_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3237. For i As Integer = 0 To 清單3_dgv.Rows.Count - 1
  3238. If 清單3_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3239. 清單3_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3240. 清單3_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3241. 清單3_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3242. 清單3_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單3_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3243. AAS = "(N'" & 清單3_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(16).Value.ToString & "',
  3244. N'" & 清單3_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(19).Value.ToString & "',
  3245. N'" & 清單3_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(22).Value.ToString & "',
  3246. N'" & 清單3_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(25).Value.ToString & "',
  3247. N'" & 清單3_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單3_dgv.Rows(i).Cells(28).Value.ToString & "',
  3248. N'" & 星15_bt.Text & "')"
  3249. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3250. Next
  3251. SQL_虛擬考勤明細表新增()
  3252. End If : 可以存檔 = False
  3253. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  3254. If 清單4_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3255. 清單4_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3256. 清單4_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3257. 清單4_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3258. 清單4_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3259. Next
  3260. If 可以存檔 = True Then
  3261. Dim AAS As String = "" : PA45 = 星22_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3262. For i As Integer = 0 To 清單4_dgv.Rows.Count - 1
  3263. If 清單4_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3264. 清單4_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3265. 清單4_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3266. 清單4_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3267. 清單4_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單4_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3268. AAS = "(N'" & 清單4_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(16).Value.ToString & "',
  3269. N'" & 清單4_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(19).Value.ToString & "',
  3270. N'" & 清單4_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(22).Value.ToString & "',
  3271. N'" & 清單4_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(25).Value.ToString & "',
  3272. N'" & 清單4_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單4_dgv.Rows(i).Cells(28).Value.ToString & "',
  3273. N'" & 星22_bt.Text & "')"
  3274. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3275. Next
  3276. SQL_虛擬考勤明細表新增()
  3277. End If : 可以存檔 = False
  3278. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  3279. If 清單5_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3280. 清單5_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3281. 清單5_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3282. 清單5_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3283. 清單5_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3284. Next
  3285. If 可以存檔 = True Then
  3286. Dim AAS As String = "" : PA45 = 星29_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3287. For i As Integer = 0 To 清單5_dgv.Rows.Count - 1
  3288. If 清單5_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3289. 清單5_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3290. 清單5_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3291. 清單5_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3292. 清單5_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單5_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3293. AAS = "(N'" & 清單5_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(16).Value.ToString & "',
  3294. N'" & 清單5_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(19).Value.ToString & "',
  3295. N'" & 清單5_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(22).Value.ToString & "',
  3296. N'" & 清單5_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(25).Value.ToString & "',
  3297. N'" & 清單5_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單5_dgv.Rows(i).Cells(28).Value.ToString & "',
  3298. N'" & 星29_bt.Text & "')"
  3299. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3300. Next
  3301. SQL_虛擬考勤明細表新增()
  3302. End If : 可以存檔 = False
  3303. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  3304. If 清單6_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3305. 清單6_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3306. 清單6_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3307. 清單6_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3308. 清單6_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : 可以存檔 = True : End If
  3309. Next
  3310. If 可以存檔 = True Then
  3311. Dim AAS As String = "" : PA45 = 星36_bt.Text : SQL_虛擬考勤明細表刪除() : DDF = -1
  3312. For i As Integer = 0 To 清單6_dgv.Rows.Count - 1
  3313. If 清單6_dgv.Rows(i).Cells(15).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(20).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(25).Value.ToString = "" And
  3314. 清單6_dgv.Rows(i).Cells(16).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(21).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(26).Value.ToString = "" And
  3315. 清單6_dgv.Rows(i).Cells(17).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(22).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(27).Value.ToString = "" And
  3316. 清單6_dgv.Rows(i).Cells(18).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(23).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(28).Value.ToString = "" And
  3317. 清單6_dgv.Rows(i).Cells(19).Value.ToString = "" And 清單6_dgv.Rows(i).Cells(24).Value.ToString = "" Then : Else : DDF += 1
  3318. AAS = "(N'" & 清單6_dgv.Rows(i).Cells(50).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(16).Value.ToString & "',
  3319. N'" & 清單6_dgv.Rows(i).Cells(17).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(19).Value.ToString & "',
  3320. N'" & 清單6_dgv.Rows(i).Cells(20).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(22).Value.ToString & "',
  3321. N'" & 清單6_dgv.Rows(i).Cells(23).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(25).Value.ToString & "',
  3322. N'" & 清單6_dgv.Rows(i).Cells(26).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(27).Value.ToString & "', N'" & 清單6_dgv.Rows(i).Cells(28).Value.ToString & "',
  3323. N'" & 星36_bt.Text & "')"
  3324. End If : If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3325. Next
  3326. SQL_虛擬考勤明細表新增()
  3327. End If
  3328. Dim HGF As Integer = 沖帳金額_nud.Value
  3329. Set_使用者清單() : 沖帳金額_nud.Value = HGF
  3330. End If
  3331. End If
  3332. If 採購計算_ch.Checked = True Then
  3333. Dim AAS As String : Dim DDF As Integer : DDF = -1
  3334. For i As Integer = 0 To 控制表_dgv.Rows.Count - 1
  3335. If 控制表_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : DDF += 1
  3336. AAS = "(N'" & 控制表_dgv.Rows(i).Cells(0).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(1).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(2).Value.ToString & "',
  3337. N'" & 控制表_dgv.Rows(i).Cells(3).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(4).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(5).Value.ToString & "',
  3338. N'" & 控制表_dgv.Rows(i).Cells(6).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(7).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(8).Value.ToString & "',
  3339. N'" & 控制表_dgv.Rows(i).Cells(9).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(10).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(11).Value.ToString & "',
  3340. N'" & 控制表_dgv.Rows(i).Cells(12).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(13).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(14).Value.ToString & "',
  3341. N'" & 控制表_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(16).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(17).Value.ToString & "',
  3342. N'" & 控制表_dgv.Rows(i).Cells(18).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(19).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(20).Value.ToString & "',
  3343. N'" & 控制表_dgv.Rows(i).Cells(21).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(22).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(23).Value.ToString & "',
  3344. N'" & 控制表_dgv.Rows(i).Cells(24).Value.ToString & "', N'" & 控制表_dgv.Rows(i).Cells(25).Value.ToString & "', N'True')"
  3345. If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3346. End If
  3347. Next : SQL_虛擬採購控制表新增()
  3348. DDF = -1
  3349. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  3350. If 明細表_dgv.Rows(i).Cells(0).Value.ToString <> "" Then : DDF += 1
  3351. AAS = "(N'" & 明細表_dgv.Rows(i).Cells(0).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(1).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(2).Value.ToString & "',
  3352. N'" & 明細表_dgv.Rows(i).Cells(3).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(4).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(5).Value.ToString & "',
  3353. N'" & 明細表_dgv.Rows(i).Cells(6).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(7).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(8).Value.ToString & "',
  3354. N'" & 明細表_dgv.Rows(i).Cells(9).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(10).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(11).Value.ToString & "',
  3355. N'" & 明細表_dgv.Rows(i).Cells(12).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(13).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(14).Value.ToString & "',
  3356. N'" & 明細表_dgv.Rows(i).Cells(15).Value.ToString & "', N'" & 明細表_dgv.Rows(i).Cells(16).Value.ToString & "')"
  3357. If DDF = -1 Then : ElseIf DDF = 0 Then : SQL2 = AAS : Else : SQL2 = SQL2 & "," & AAS : End If
  3358. End If
  3359. Next : SQL_虛擬採購明細表新增()
  3360. End If : 虛擬存檔()
  3361. MGB(系統語言字典("H509-126-" & 語言), 1) : 首次開啟 = False
  3362. End Sub
  3363. Private Sub 虛擬存檔()
  3364. PA = 年份2_cb.Text & 月份2_cb.Text : PA1 = 取得總數2_nud.Value : SQL_財務零用金紀錄_查詢()
  3365. If dr.Read Then : SQL_財務零用金紀錄_修改() : Else : SQL_財務零用金紀錄_新增() : End If
  3366. End Sub
  3367. End Class