伊莉討論區

標題: 沒有開發環境下 用記事本寫 HTML 可計算這個嗎 [打印本頁]

作者: inmax1243    時間: 2017-5-18 12:48 PM     標題: 沒有開發環境下 用記事本寫 HTML 可計算這個嗎

我是寫dev 客戶環境太封閉 要求改HTml
牌組A 時段:周一 06:00∼週五18:00
牌組B 時段:週五18:00∼下週一06:00
①每日起始時間06:00∼翌日06:00
②單一牌組上限99張 最低7張
③定義每張卡牌名稱
④紀錄每張卡牌使用次數
⑤每兩小時從牌組抽出一張牌
⑥第一張出牌時間06:00開始
⑦限定時段12:00∼14:00 ,22:00∼24:00,24:00∼02:00,02:00∼04:00,04:00∼06:00  這五個時段 卡牌一天只能出現一次
⑧每張卡牌須平均抽出
⑨每張卡牌冷卻時間六小時
⑩牌組卡牌用完才可抽第二輪(每日相同卡牌最多出現2次)


作者: 我愛小笨蛋    時間: 2017-6-12 03:06 AM

你可以考慮使用 JS或JQ寫這個程式 如果有要記錄東西可以透過Coockie記錄 這樣可以保留比較長的時間

補充內容 (2017-6-12 03:06 AM):
如果不能載入JQ核心套件 那就只能用JS寫囉
作者: inmax1243    時間: 2017-6-12 06:17 AM

報告就是沒有環境且不能安裝軟體 目前用組合語言跑
但是不支援中文 亂數也不夠
作者: ren1244    時間: 2017-6-13 01:37 AM

有瀏覽器能開 html,沒有關閉 javascrpt,有筆記本就能寫了。
不過我應該會事先自己在家寫好複製過去就好。
瀏覽器應該可以顯示中文吧?

只是「客戶環境太封閉」加上又是卡牌甚麼的
要幫忙寫總是怕怕的(會不會是賭場甚麼的...)
作者: inmax1243    時間: 2017-6-13 08:03 PM

本帖最後由 inmax1243 於 2017-6-13 09:19 PM 編輯

目前的狀況 牌組ab 不一定是休假日可能遇到連假 所以參數會變

還有個情況 06-18 18-06比較理想
如果要抽一張整週全單 在用相同牌組且不撞表
符合冷卻六小時出牌的情況下
再抽出06-18半表 換句話說
同時進行同一組牌組 抽出兩個點的卡牌
符合冷卻時間
可能A卡在 1區06-08出現 2區14-16出現 符合冷卻時間 要記錄每張卡出現的時間就是這樣 才不會亂數抽完了 分佈不平均 某張卡一直出現在12-14發現後還可以人工調換

可以確定的是完整集合+不完全集合 同時交疊
分佈圖
由於規則很多且很狹義 我[size=32.4187px]python 是定義
[size=50.2094px]全部不為真 為假符合條件在做
[size=50.2094px]

[size=50.2094px]因為不是寫網頁入行的
[size=50.2094px]只對建模語言比較熟
[size=50.2094px]理論一樣應該就可以做




作者: ren1244    時間: 2017-6-14 01:34 AM

果然比寫程式溝通更重要
目前因為你說的東西包含需求跟實作方式
但後來你提出的需求可能無法用原本的實作方式
所以我建議我們先單純討論需求就好

我重構一下需求,這像是公司的輪值表:
1. 每2小時1班。
2. 同一個人,1天最多排2班。
3. 排過班後,之後至少有6小時不會再排到。(例如06:00~08:00,最快會排到的班是14:00~16:00)
4. 休息時段有:12:00∼14:00,22:00∼24:00,24:00∼02:00,02:00∼04:00,04:00∼06:00。在這些時段值班的話,當天不會再被排班
5. 所有人都輪過班後,才會再重新打亂重抽。重抽時,一樣要遵守以上規則。
6. 員工可能有休假時段,休假時段不會被排班。
7. 需保留紀錄,以便日後追蹤查詢。

需確認之處:
a. 第2點的1天定義是否為當天的06:00到隔日的06:00
b. 第4點的「當天」是否也是以06:00為分界。這樣可能被排到6/14 02:00~04:00 以及 6/15 12:00。這樣可以接受嗎?
c. 同上,某員工被排到,6/14 02:00~04:00 6/15 10:00~12:00 6/15 18:00~20:00 這是否可接受?

實作方式:
使用時,需匯入「休假表」與「紀錄表」。休假表紀錄員工在某"日期區間"(可能為1週)的休假狀況;紀錄表紀錄每位員工排過的班。

[休假表]
格式:
        有「姓名、休假時段」兩個欄位,用 tab 分隔。
範例:
        A員工        2017/6/13-18:00~2017/6/15-18:00,2017/6/20-18:00~2017/6/22-18:00
        B員工        2017/6/13-18:00~2017/6/15-18:00

[紀錄表]
格式:
        有「姓名、輪班時段」兩個欄位,用 tab 分隔。
        因為固定2小時為一次,所以輪班時段只紀錄起始時間。
範例:
        A員工        2017/4/4-00:00,2017/4/5-12:00
        B員工        2017/4/7-18:00,2017/4/9-20:00
作者: inmax1243    時間: 2017-6-14 09:33 AM

本帖最後由 inmax1243 於 2017-6-14 02:09 PM 編輯

4.註記 五個限定時段只能出現一次但可以當天有兩個班 指定時段+符合冷卻時間後的任意一班
若跨日符合冷卻規則 則重新列入該日班表 規則
Ps: 五個限定時間也是要有人顧廠區 所以一天當中同個人不能出現兩次限定時段顧廠區 10-12。20-22 就不受限制 沒碰到限定時段

a 是
B 可以
C 可以 符合冷卻時間

上班員工可能在不同 區域上班 會有多個上班場所假如:
有1 2 3區之類的 但用的員工是相同的
可能早上在1區 下午在2區 隔日在3區
但能用的人力是固定的 不同區域上班時間可能不同
符合冷卻六小時 可以在出勤
換句話說 三個區域是都要人力狀況
用固定的人數去攤這些場所班表

實例 平日假設周一-周四 三十三個人
假日週五-週日 17人
( 剛好週五是國慶日) 平日周五就變成假日
A 區 全表 一天12班滿排x7天
B區因為要開生產線 上班時間為06-18 六班X7天
用這些人力去攤A B區的時段 因為同個時段 A B 都要人 所以冷卻時間後的人 可以AB 去互調
符合冷卻時間 就行了 如果b 區停線 人力固定在重現有人力 補A區1800之後的時段


如果有人臨時請假 可列出符合冷卻時間能替代人選

因為排班是本週排下週的班表 人員會先仍休假計畫表故在休假人員 到上班日不會進入計算日
我寫的那支副腳本 定義人 與出現的星期幾是關聯的

還有個怪設定 平日班接休息日班的當天
平日班週五只會到1600-1800這班
週五1800-0600當天後面的班會變成 休息班接星期一早上 04-06是假日最後一班
不考慮連假 若有連假   星期6712 都為假日
到周三早上06-08為平日第一班

怪規定如果是22-24的卡牌 隔日第一班06-08不能出勤 也就是說22-06卡牌要隔八小時才可以出牌
因為要讓卡片有多兩個小時的冷卻時間 足八小時休息 除了那四個限定時段需這樣 其他時段沒有這個問題

12-14 接20-22是可以的

若是卡片多的話 不用排的這麼緊湊
統計表的用意在這裡







歡迎光臨 伊莉討論區 (http://m.eyny.com/) Powered by Discuz!