系统要求:计算全年的假日,得出总数。每个人可以根据需求调整假期。随时查询所有人已休假数和剩余休假数。实现方案:
1、数据库:ID(int)-主键,UserID(int)-用户ID,Holiday(datetime)-设定的休假日,isRest(bit)默认为0-是否已休假
还有个用户表,这里讨论用不着,就不列了。
2、为管理员做一个公休设定页,管理员在这里设定全年的休假日,用个日历控件,默认只选定所有双休日,其他的假日可以勾选,双休日也可以取消勾选。
3、管理员设定完毕后,存入数据库,根据选择的日期数得出总休假数(如公司所有成员100人,2011年只歇双休日,则存入量为52*2*100=10400条记录——这是我最蛋疼的!)。
4、个人用户可以对未来休假进行调整。一个公休日换一工作日。用update直接修改自己的Holiday字段。
5、写个进程,每天定时,自动将Holiday小于当前系统日期的行的isRest置1.
这个方案最大的问题是第3步。会不会崩溃啊?
另外第2的可勾选日历好做吗?日期好获取吗?条目数好获取吗?
第5步的进程要挂服务器端吧,好挂吗?让挂吗?有好方案的来讨论下吧,不胜感激!一个苹果换一个苹果任然是一个。一个思想于一个思想交换每个人就多一种思想。

解决方案 »

  1.   

    而且我的方案还有一个大BUG,如果管理员要修改假日设定。问题就麻烦了。又是批量修改,添加更费力
      

  2.   

    大概想了一下
    员工表(关键字段)UserInfo:
    UserID UserName Holidays
    用户标示 用户名    休假天数(默认值为52*2)表二:调休明细表
    ID   UserID                  BeginDate  EndDate    Type   Comment
    标示   1(关联UserInfo.UserID)2011-05-01 2011-05-02 加班    1号加班
    标示   2(关联UserInfo.UserID)2011-05-08 2011-05-02 加班    1号加班
    标示   2(关联UserInfo.UserID)2011-06-01 2011-06-09 修产假   休产假每次用户是否休假,步骤2步
    1.插入记录到调休明细表
    2.根据业务(加班/修改)来更新第一张表中的Holidays字段,如果是休假、请假等,则+1,加班则-1大概就这样,希望LZ用的上