Foxtable(狐表)用户栏目专家坐堂 → 先进先出 方法应用


  共有3321人关注过本帖树形打印复制链接

主题:先进先出 方法应用

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
先进先出 方法应用  发帖心情 Post By:2016/2/10 11:40:00 [只看该作者]

各位老师好,大家新年快乐。今天刚好有点空,把一个思考很久没弄出来的问题抛出来,请大家帮忙看看。。。不胜感激!!

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160210112625.png
图片点击可在新窗口打开查看
本图的表名是{充值记录表},充值不同的金额有不同的折扣率,采用【先进先出】的方法,即:先后充10000元(买单折扣为A)和5000元(买单折扣为B)以及后面的其他充值面额(买单折扣为相应的扣率)。
想要实现:
根据消费金额和充值金额,自动判断当前的买单折扣。
如图,消费金额为1、4999、2000、3000的买单折扣应都为A,因为属于充值金额10000元的
而最后两行的的3000、2000的买单折扣应为B,因为属于充值金额5000元的

第一次充值之后的消费(不超过第一次充值金额)已经在充值按钮事件中判定为第一次充值金额的买单折扣。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160210122707.png
图片点击可在新窗口打开查看

而且在收银时已经设定买单金额不能超过【第一次的充值金额】,最后累计消费金额一定会等于【第一次充值金额】。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160210122707111.png
图片点击可在新窗口打开查看


这样,在确定收银的按钮事件中,只要累计消费金额=【第一次充值金额】(也就是【第一次充值金额】已经被用完了,要进入【第二次充值金额】的流程),买单折扣就会更改为【第二次充值金额】的买单折扣。

现在的问题是:我现在是用第一次来判断,但是顾客可能会充值五次、二十次,我要用一个变量  n  来代替 第几次。就是这个不懂得怎么写。。。。
[此贴子已经被作者于2016/2/10 12:46:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2016/2/10 12:44:00 [只看该作者]

这种计算会比较麻烦,你可以考虑另外两种方式
1. 分不同种类的卡,每种卡对应一种折扣,这个实现就非常简单了。
2. 充值反馈,即冲1W,反馈1500,那么你一开始就把这1500直接加上去,那么每次计算的时候就不需要折扣,显示给客户的时候也就不用打折了,这样计算量也会简洁。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/2/10 12:52:00 [只看该作者]

谢谢 jspta 老师,太感谢你了,大过年的还麻烦你!!
你说的这两种方式,我跟你解释下,在我这里为什么不能采用:
1.用的是微信会员卡,卡号只有一个,所以没法分不同种类的卡。不过我再想如果用这种方式可以怎么变通。
2.公司领导不想采用反馈的方式,因为和员工提成有关。这个无法改变。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/2/10 13:30:00 [只看该作者]

哦,对了,是没有办法采用两种卡。因为本来的erp系统的会员卡,一个会员就只有一个卡号。对应着一个会员卡级别,折扣级别。所以,还是只能想着怎么动态地改变。其实现在就是差怎么获取是第几次充值。

 回到顶部
帅哥哟,离线,有人找我吗?
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:1916 威望:0 精华:0 注册:2014/8/24 13:36:00
  发帖心情 Post By:2016/2/10 13:45:00 [只看该作者]

感觉你的表设置,不适合你的逻辑,所以你会卡在这里。

 

 

建议分开主表和明细,主表行记录 用户、充值数、余额数、折扣类型等等,每次充值,新建一行。

 

明细行记录 充值和消费明细,用主表行的主键做外键,更新相对应的余额

 

这样,每次取数据时,直接筛选 余额大于0的对应的用户的主表记录,按时间或主键排序,就可以了,剩下的计算应该不是问题。

 

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/2/10 14:12:00 [只看该作者]

谢谢 游 !!看起来是一个很好的方法!!我现在试一下!!

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/2/11 9:40:00 [只看该作者]

完美解决!!谢谢 游 ,谢谢 jspta  !!

 回到顶部