大神们:
公司宿舍超过400间,现在开发一个宿舍管理系统,其中一个功能是并且水电费扣减的.
需求:
1.每月1号,宿舍管员抄好水电表读数,录入系统,作为上月最端用水,电量.
2.宿舍有三种类型,管理人员一人一间宿舍 ,工程师2人一间宿舍,其他三人一间宿舍,当然不排除没三人间没住满的.
3.计费标准:如在当月15号前入住的,跟据宿舍所在人数平分费用,如在15号后入住的,按总费用/2,前一半是15号前宿舍所在人数承担(平分),后一半就按15号后宿舍所在的人数平分.
请问题,这个表要如何设计,怎么查询?

解决方案 »

  1.   

    你的业务规则不明确。
    比如张三3号入住10号离开怎么算?
    比如李四7号入住20号离开怎么算?
    比如王五1号入住房间A,20号搬到房间B,他怎么分摊A、B的费用?
      

  2.   

    你这个问题问得真好,我真是没考虑到的。
    像这类软件一般是怎么算法的?
    因为我们现在的管理不能做到有宿舍调动就马上抄水电表的,都是一个月抄一次,像员工宿舍调整也不多的.如有调动,都管理方面去调动的,如规定每月1号才调动.
    能不能做到这样,张三3号入住A宿舍(原已住1人)10号离开,到月底抄表总费用M,每天费用:M/30,张三住了7天,他要支付A宿舍 7Xm/30 *1/2 费用.
      

  3.   

    表设计:
    当前入住状态(房间号,人数,人员1,人员2,人员3)
    每日入住状态(日期,房间号,人数,人员1,人员2,人员3,房间费用,人员费用1,人员费用2,人员费用3)
    房间月费用(月份,房间号,用量,费用,总人次)
    人员月费用(月份,人员,费用)规则:
    入住/离开/调换房间都修改[当前入住状态]表。
    每天把[当前入住状态]表复制到[每日入住状态]表,[费用]留空。
    每月抄表生成[房间月费用]表,[总人次]就用当月对应[房间号]的SUM([每日入住状态].[人数]);
    所以该房间每日每人次的 [平均费用]=[费用]/[总人次],[每日入住状态]表中只要[人员n]非空,就填上对应的[人员费用n]=[平均费用]。
    [人员月费用表]中的[费用]就用[每日入住状态]表中对应[人员n]进行SUM([人员费用n]),注意人员可以出现在3个位置之一。注:
    [用量]、[费用]水电要做两份。
      

  4.   

    表:
    水电价格表
    生效日期      电价      水价每月房间抄表
    序号   房号   抄表时间   抄表电量   抄表水量人员表
    人员ID, 名称  部门人员入住明细表
    人员ID  房号   入住时间   搬离时间(大于入住时间视为该人员已经搬走)初始 每月房间抄表数据后, (每月抄表电/水读数-上月抄表电/水读数)* 当期电价/水价  =  房间月费用。人员入住明细表可计算出每个人员对应房号的入住天数。从而得出总每个房间的总入住天数(1房间3人,大家都住了30天,这个总天数就是 90天)房间月费用 / 房间的总入住天数 * 人员入住天数 = 人员对应房间的入住费用考虑有更换宿舍员工,所以最后汇总人员入住费用。