全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1250
推到 Plurk!
推到 Facebook!

求助,请教一个排班问题,谢谢!

尚未結案
lsh998
中階會員


發表:163
回覆:138
積分:60
註冊:2005-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-20 09:29:11 IP:219.128.xxx.xxx 未訂閱
各位大哥,请教一个考勤中的排班的问题, 这种情况需要怎么排班:小王 上班为: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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-20 10:58:07 IP:219.128.xxx.xxx 未訂閱
cashxin2002 大哥和各位大哥帮我顶顶哦 ^_^ 谢谢!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-20 11:36:57 IP:202.62.xxx.xxx 未訂閱
您好﹗    應該只需排定A和B兩班即可﹐再通過迴圈配合判斷是否為星期日來賦值某個人該輪職何班﹐資料表的欄位結構是怎么的﹖    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
lsh998
中階會員


發表:163
回覆:138
積分:60
註冊:2005-01-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-20 12:07:37 IP:219.128.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-20 12:46:33 IP:202.62.xxx.xxx 未訂閱
您好﹗    因沒有類似的專案經驗﹐所以也不知有沒有誤會您的問題﹒ 我所指的A班和B班就是單純的早班和晚班的時間﹐因為日期是在變動的﹐所以在寫入資料庫的時候﹐可先用DaysInMonth或DaysInAMonth函數來取得某月的天數﹐再用迴圈加上判斷是否為星期天的函數(如DayOfWeek函數﹐以回傳值0~6分別代表星期一~星期天)﹐用累加值一天的方法﹐若遇到星期天則再多加一天﹐分別賦值小王和小張的某月每一日的班次為A班或B班﹒    供參考﹗    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-20 14:06:40 IP:210.69.xxx.xxx 未訂閱
不太懂困擾何在 ? 下面這樣排就好了 星期一 小王: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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-20 15:02:25 IP:219.128.xxx.xxx 未訂閱
cashxin2002大哥,您好!      我还是采用 checkbox 方法,不过为了美观 我把  checkbox 放到 edit 里         但是   checkbox  能和  edit  怎么联系啊?    如果把附件 1  把 edit1 里的checkbox1 的 checked 设为 true  则表明  8  号被选择了    如果把附件 2  把 edit1 里的checkbox1 的 checked 设为 true  则表明  9 号被选择了    cashxin2002大哥 能实现吗?    谢谢!
lsh998
中階會員


發表:163
回覆:138
積分:60
註冊:2005-01-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-20 15:08:54 IP:219.128.xxx.xxx 未訂閱
cashxin2002 大哥 和 pcboy2 大哥 如果发生异常,就是说,由于某种原因, 星期一 小王:8:00——14:00 小王:14:00——21:00 月接的什么怎么处理啊! 谢谢!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-20 16:02:37 IP:202.62.xxx.xxx 未訂閱
您好﹗    您所指的附件一和附件二中的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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-20 21:41:22 IP:219.128.xxx.xxx 未訂閱
cashxin2002 大哥:                    您好1    当我单击 StringGrid 的 cells  时,我就给那个 cells 赋值,可是我怎么知道是单击了哪个 cells 呢?    假设 单击 第三行,第三列,我就给这个 cells 赋值!    StringGrid.cells[3,3]:='√'    cashxin2002 大哥。您真是太热心了!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-05-21 09:30:31 IP:202.47.xxx.xxx 未訂閱
您好﹗
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
  ShowMessage('您用Mouse雙擊的是第' + IntToStr(StringGrid1.Row)
    + '行﹐第' + IntToStr(StringGrid1.Col) + '列');
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/05/21 09:31:33
------
忻晟
系統時間:2024-06-27 3:10:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!