求助,请教一个排班问题,谢谢! |
尚未結案
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
各位大哥,请教一个考勤中的排班的问题, 这种情况需要怎么排班:小王 上班为:2005-5-1 8:00——14:00
小张 上班为:2005-5-1 14:00——21:00
小张 上班为:2005-5-2 8:00--14:00
小王 上班为:2005-5-2 14:00--21:00
小张 上班为:2005-5-3 8:00--14:00
以次类推,就是今天上晚班的明天就上白班 星期天休息 iamdream 大哥 ,像这种情况需要排几个班次才能搞定啊~~,还有这样的班次
是不是日循环方式啊? 还有 假设 排 A 班,我需要做 31 个 checkbox 吗~~(就是需要上班的天,我就设相对应的
checkbox 设为 true ),还是把它设置成日循环方式呢? 谢谢 各位大哥!
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
cashxin2002 大哥:
您好! 您说 只需排定A和B兩班即可 ,那么小张是属于 A 班,还是 B 班呢?
现在考勤班次表 NowClassGroupKaoQinTable
班次编号 ClassGroupId varchar(50),
班次名称 ClassGroupName varchar(100),
开始执行这个班次时间 CarryoutTime datetime
设置这个班次的时间 Operator datetime
上班时间First OndutyFirstTime datetime,
下班时间First OffdutyFirstTime datetime,
上班时间Second OndutySecondTime datetime,
下班时间Second OffdutySecondTime datetime,
上班可提前打卡时间 AheadOndutyTime int,
下班可推后打卡时间 RollbackOffdutyTime int,
允许迟到时间 GrantPutoffTime int,
旷工时间极限First SetAbsentFirstTime int,
矿工时间极限Second SetAbsentSecondTime int,
班次类型 OndutyType varchar(100),
班次的循环方式 OrderRunTyep varchar(100), 历史考勤班次表 HistoryNowClassGroupKaoQinTable
班次编号 ClassGroupId varchar(50),
班次名称 ClassGroupName varchar(100),
开始执行这个班次时间 CarryoutTime datetime
设置这个班次时间 Operator datetime
上班时间First OndutyFirstTime datetime,
下班时间First OffdutyFirstTime datetime,
上班时间Second OndutySecondTime datetime,
下班时间Second OffdutySecondTime datetime,
上班可提前打卡时间 AheadOndutyTime int,
下班可推后打卡时间 RollbackOffdutyTime int,
允许迟到时间 GrantPutoffTime int,
旷工时间极限First SetAbsentFirstTime int,
矿工时间极限Second SetAbsentSecondTime int,
班次类型 OndutyType varchar(100),
班次的循环方式 OrderRunTyep varchar(100),
第几次变动 ChangNumbers int 谢谢 cashxin2002 大哥!
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 因沒有類似的專案經驗﹐所以也不知有沒有誤會您的問題﹒
我所指的A班和B班就是單純的早班和晚班的時間﹐因為日期是在變動的﹐所以在寫入資料庫的時候﹐可先用DaysInMonth或DaysInAMonth函數來取得某月的天數﹐再用迴圈加上判斷是否為星期天的函數(如DayOfWeek函數﹐以回傳值0~6分別代表星期一~星期天)﹐用累加值一天的方法﹐若遇到星期天則再多加一天﹐分別賦值小王和小張的某月每一日的班次為A班或B班﹒ 供參考﹗ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
不太懂困擾何在 ? 下面這樣排就好了 星期一 小王:8:00——14:00 小張:14:00——21:00
星期二 小張:8:00——14:00 小王:14:00——21:00
星期三 小王:8:00——14:00 小張:14:00——21:00
星期四 小張:8:00——14:00 小王:14:00——21:00
星期五 小王:8:00——14:00 小張:14:00——21:00
星期六 小張:8:00——14:00 小王:14:00——21:00
星期天休息 *********************
如果您滿意答案,請結案
*********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 您所指的附件一和附件二中的Edit元件﹐是需要提供給使用者輸入的嗎﹖如果不需要輸入﹐何不直接使用CheckBox元件﹒如果是需要輸入的話﹐試試如下的方法﹐因為Edit不是容器元件﹐即使是將CheckBox元件放置在Edit上﹐CheckBox元件的Parent還是當前的Form﹐所以不能使用Parent的方法來連接Edit和CheckBox﹐使用土煉法(if...then...)一個個判斷吧﹒
月接的部分﹐先抓出上個月最后一天的班次﹐如果是A班﹐這個月的第一天就為B班﹐如果是B班﹐則這個月的第一天為A班﹐同之前的回覆﹐用迴圈處理﹐迴圈的次數可使用DaysInMonth或DaysInAMonth函數以取出當月的天數為据﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗
procedure TForm1.StringGrid1DblClick(Sender: TObject); begin ShowMessage('您用Mouse雙擊的是第' + IntToStr(StringGrid1.Row) + '行﹐第' + IntToStr(StringGrid1.Col) + '列'); end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/05/21 09:31:33
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |