换表的系统处理

给换前电表结账,根据换前电表的剩余电量、收费记录算出换后电表的加电量。

      在表ChangeMeter中写入换表的记录信息,包括换表人、换表原因、时间、底码等。

 

      在收费表PayMoney_Rec中形成一条换后电表收费记录,注意:换表用户并未缴费购电而只是将相关数据计算后形成的。所以如果是换表记录,PayPower, PayMoney应当为0。

     换后电表也需要预装电量,所以这条换后电表的收费记录Pay_num应该是2。

     可以认为由系统生成一条换后电表的收费记录,目的是结转换前电表的电量,并给换后电表加电。

     换前换后电表的M_id (系统内部唯一标识)不变。因为PayMoney_Rec表的主键约束,换前电表的收费记录被转移到PayMoney_Rec2中。

 

      基础表meter中M_id的数据将更新成换后电表的数据。

换后电表加电量的公式:

[(换前电表未加电数量+换前电表剩余电量)*换前电表倍率+换前电表最后缴费剩余电量-换后电表预装电量*换后电表倍率]/换后电表倍率

 

公式中①是换前电表在收费表中所有未加载下去的记录的写电量之和:

select isnull(sum(WritePower),0) from PayMoney_Rec where M_id=@M_id and PayFlag=1 and RunPayFlag=0;

posted @ 2011-05-13 10:01  白金龙  阅读(209)  评论(0编辑  收藏  举报