一、客户需求

  通过导入银行POS机流水,将流水与ERP系统的零售付款数据进行对比,统计差异!

  

二、功能设计

  1、新增“POS机号对应表单”,用于维护POS机与erp店仓对应

  

  2、新增“POS机流水导入窗口”,用于记录银行POS流水

  

  3、新增“对账功能”试图,展现结果

  

 4、写试图语句

  

  1 create or replace view store_statements as
2 select rownum id,
3 hs.ad_client_id,
4 hs.ad_org_id,
5 hs.billdate,
6 hs.c_store_id,
7 sum(nvl(tot_amt2,0)) as tot_amt2,
8 sum(nvl(tot_amt9,0)) as tot_amt9,
9 sum(nvl(tot_amt16,0)) as tot_amt16,
10 sum(nvl(tot_amt4,0)) as tot_amt4,
11 sum(nvl(tot_amt11,0)) as tot_amt11,
12 sum(nvl(tot_amt18,0)) as tot_amt18,
13 sum(nvl(tot_amt3,0)) as tot_amt3,
14 sum(nvl(tot_amt17,0)) as tot_amt17,
15 sum(nvl(tot_amt10,0)) as tot_amt10,
16 sum(nvl(tot_amt15,0)) as tot_amt15,
17 sum(nvl(tot_amt13,0)) as tot_amt13,
18 sum(nvl(tot_amt6,0)) as tot_amt6,
19 sum(nvl(tot_amt8,0)) as tot_amt8,
20 sum(nvl(tot_amt19,0)) as tot_amt19,
21 sum(nvl(tot_amt24,0)) as tot_amt24,
22 sum(nvl(tot_amt25,0)) as tot_amt25,
23 sum(nvl(tot_amt23,0)) as tot_amt23,
24 sum(nvl(tot_amt21,0)) as tot_amt21,
25 sum(nvl(tot_amt27,0)) as tot_amt27,
26 sum(nvl(tot_amt17,0)) as tot_amt28,
27 sum(nvl(tot_amt22,0)) as tot_amt22
28 from (
29 --零售付款明细
30 select a.ad_client_id,
31 a.ad_org_id,
32 c.billdate,
33 c.c_store_id,
34 sum(decode(a.c_payway_id, 2, nvl(a.payamount, 0))) as tot_amt2,
35 sum(decode(a.c_payway_id, 5, nvl(a.payamount, 0))) as tot_amt9,
36 sum(decode(a.c_payway_id, 4, nvl(a.payamount, 0))) as tot_amt16,
37 sum(decode(a.c_payway_id, 3, nvl(a.payamount, 0))) as tot_amt19,
38 sum(decode(a.c_payway_id, 8, nvl(a.payamount, 0))) as tot_amt24,
39 sum(decode(a.c_payway_id, 7, nvl(a.payamount, 0))) as tot_amt25
40 from m_retailpayitem a, m_retail c
41 where a.m_retail_id = c.id
42 --and c.billdate > '20200331'
43 --and c.c_store_id = 917
44 group by a.ad_client_id, a.ad_org_id, c.billdate, c.c_store_id) hs
45
46 left join
47 --零售其它付款明细
48 (select a.ad_client_id,
49 a.ad_org_id,
50 c.billdate,
51 c.c_store_id,
52 sum(nvl(a.payamount, 0)) as tot_amt22
53 from m_retailpayitem a, m_retail c
54 where a.m_retail_id = c.id
55 and a.c_payway_id not in (2,3,4,5,7,8)
56 --and c.billdate > '20200331'
57 --and c.c_store_id = 917
58 group by a.ad_client_id, a.ad_org_id, c.billdate, c.c_store_id) qt on hs.c_store_id = qt.c_store_id and hs.billdate = qt.billdate
59 left join
60 --充值付款明细
61 (select b.ad_client_id,
62 b.ad_org_id,
63 b.billdate,
64 b.c_store_id,
65 sum(decode(a.c_payway_id, 2, nvl(a.payamount, 0))) as tot_amt4,
66 sum(decode(a.c_payway_id, 5, nvl(a.payamount, 0))) as tot_amt11,
67 sum(decode(a.c_payway_id, 4, nvl(a.payamount, 0))) as tot_amt18,
68 sum( nvl(b.tot_amt_actual, 0)) as tot_amt21
69 from b_vipmoney_payitem a, b_vipmoney b
70 where a.b_vipmoney_id = b.id
71 -- and b.billdate > '20200331'
72 and b.status = 2
73 --and b.c_store_id = 917
74 group by b.ad_client_id, b.ad_org_id, b.billdate, b.c_store_id
75 union all
76 select b.ad_client_id,
77 b.ad_org_id,
78 b.billdate,
79 b.c_store_id,
80 sum(decode(a.c_payway_id, 2, nvl(a.payamount, 0))) as tot_amt4,
81 sum(decode(a.c_payway_id, 5, nvl(a.payamount, 0))) as tot_amt11,
82 sum(decode(a.c_payway_id, 4, nvl(a.payamount, 0))) as tot_amt18,
83 sum( nvl(b.tot_amt_actual, 0)) as tot_amt21
84 from b_vip_money_payitem a, b_vip_money b
85 where a.b_vip_money_id = b.id
86 --and b.billdate > '20200331'
87 and b.status = 2
88 --and b.c_store_id = 917
89 group by b.ad_client_id, b.ad_org_id, b.billdate, b.c_store_id) gs on hs.c_store_id = gs.c_store_id and hs.billdate = gs.billdate
90 left join
91 --订金付款明细
92 (select b.ad_client_id,
93 b.ad_org_id,
94 b.billdate,
95 b.c_store_id,
96 sum(decode(a.c_payway_id, 2, nvl(a.payamount, 0))) as tot_amt3,
97 sum(decode(a.c_payway_id, 5, nvl(a.payamount, 0))) as tot_amt10,
98 sum(decode(a.c_payway_id, 4, nvl(a.payamount, 0))) as tot_amt17,
99 sum(decode(a.c_payway_id, 3, nvl(a.payamount, 0))) as tot_amt23
100 from m_receipts_payitem a, m_receipts b
101 where a.m_receipts_id = b.id
102 -- and b.billdate > '20200331'
103 --and b.c_store_id = 917
104 group by b.ad_client_id, b.ad_org_id, b.billdate, b.c_store_id) ts on hs.c_store_id = ts.c_store_id and hs.billdate = ts.billdate
105
106 left join
107 --订金付款明细
108 (select b.ad_client_id,
109 b.ad_org_id,
110 b.billdate,
111 b.c_store_id,
112 sum( nvl(b.tot_amt, 0)) as tot_amt27
113 from m_receipts_item b
114 where b.type in('退订','订金')
115 -- and b.billdate > '20200331'
116 --and b.c_store_id = 917
117 group by b.ad_client_id, b.ad_org_id, b.billdate, b.c_store_id) ds on hs.c_store_id = ds.c_store_id and hs.billdate = ds.billdate
118 left join
119 --银行流水明细
120 (select 37as ad_client_id,
121 27 as ad_org_id,
122 b.c_store_id,
123 to_number(to_char(to_date(a.trading_hours,
124 'yyyy-mm-dd,hh24:mi:ss'),
125 'yyyymmdd')) as billdate,
126 sum(decode(a.payment_channels,
127 '微信' , nvl(a.total_amount,0))) as TOT_AMT13,
128 sum(decode(a.payment_channels,
129 '微信' , nvl(a.poundage,0))) as TOT_AMT15,
130 sum(decode(a.payment_channels,
131 '刷卡支付' , nvl(a.total_amount,0))) as TOT_AMT6,
132 sum(decode(a.payment_channels,
133 '刷卡支付' , nvl(a.poundage,0))) as TOT_AMT8
134 from merchants_statementsitem a
135 left join shop_pos b
136 on a.terminal_no = b.pos_no
137 group by 37,
138 27,
139 to_char(to_date(a.trading_hours,
140 'yyyy-mm-dd,hh24:mi:ss'),
141 'yyyymmdd'),
142 b.c_store_id) ls on hs.c_store_id = ls.c_store_id and hs.billdate = ls.billdate
143 group by rownum, hs.ad_client_id, hs.ad_org_id, hs.billdate, hs.c_store_id
144 order by hs.c_store_id desc, hs.billdate
145 ;

  

伯俊BOS2.0店铺收入对账功能设计的更多相关文章

  1. 伯俊BOS2.0关于订金单的处理方案

    订金单功能调整设计 一.     功能确认 BPOS关于订金的使用对应的是"预收单",原"预收单"设置有商品明细,根据客户对订金的需求,取消原有"商品 ...

  2. 保密数据!泽宝曝光各个主要店铺收入 核心SKU数量少得惊人

    今年跨境电商圈的一大并购,上市公司星徽精密并购知名跨境电商大卖家泽宝股份正在进程中.星徽精密在向证监会行政许可项目审查回复中,披露了泽宝股份众多保密数据,揭开了泽宝股份众多经营关键点,值得跨境电商卖家 ...

  3. 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS

    2019年杭州·云栖大会顺利落幕,超过6万人次观展,200余位顶尖科学家分享了前沿技术.作为“阿里云不做SaaS”,坚持“被集成”战略的落地体现,阿里云SaaS加速器在云栖大会现场发布了SaaS加速器 ...

  4. jquery-防多店铺购物车结算全选,单选,及删除,价格计算

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. $2015 武汉森果公司web后端开发实习日记----书写是为了更好的思考

    找暑期实习,3月份分别投了百度和腾讯的实习简历,都止步于笔试,总结的主要原因有两点:基础知识不扎实,缺乏项目经验.后来到拉勾网等网站上寻找实习,看了很多家,都还是处于观望状态.后来参加了武汉实习吧在大 ...

  6. Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题

    一.问题背景 分账表split_summary结构如下: create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null, star_tdate VAR ...

  7. 新人 记录VUE中分页实现

    关于函数传值 this.getPurchaseHistoryData(index, num,timeType);第一位是显示的页数,第二是控制首页4上一页-1下一页是2末页是5 第三是是对昨天是1,今 ...

  8. mybatis xml <choose>标签使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  9. 共享商业&技术红利,阿里云SaaS加速器让天下没有难做的SaaS

    9月26日,阿里云在2019杭州云栖大会上发布了SaaS加速器3.0版“一云多端”多个应用平台,展示了阿里云给伙伴带来的多种商业和技术红利.阿里云SaaS加速器将帮助伙伴做好SaaS,卖好SaaS:帮 ...

随机推荐

  1. Mac用brew更新完python2.7后无法找到虚拟环境

    Mac下virtualenv遇到dyld: Library not loaded: @executable_path/../.Python Referenced ...问题的解决措施 find ~/. ...

  2. pycharm执行报错: unprintable file name [Errno 2] No such file

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿在pycharm执行一个工程文件testListView时,发现其工程文件对应的py文件没有后缀 ...

  3. PyQt学习遇到的问题:重写notify发送的消息为什么首先给了一个QWindow对象?

    在PyQt开发图形界面应用时,从QApplication派生的子类重写notify方法后(具体请参考<PyQt学习随笔:通过自定义类重写QApplication的notify方法捕获应用的所有消 ...

  4. upload 注意php远程安全模式屏蔽函数

    进来:上传一个一句话php,果然不行:改成jpg后缀,上传成功:接着写一个.htaccess文件去把.jpg解析成.php,如下: AddType application/x-httpd-php .j ...

  5. Proxy:简单小巧又强大好用的代理系统

    之前的文章介绍了许多我们在用的DevOps相关的工具系统,例如:方便创建多套运行环境的Alodi,对运维友好的配置中心Kerrigan,强大的自定义任务引擎Probius以及专注于数据库自动化的ove ...

  6. MySQL事务(一)认识事务

    简单来说,事务就是要保证一组数据库操作,要么全部完成,要么全部失败. 为什么要有事务 数据库中的数据是共享资源,因此数据库系统通常要支持多个用户的或不同应用程序的访问,会出现并发存取数据的现象. 数据 ...

  7. 【Jmeter 压测MySql连接问题】

    JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法   在Jmeter中run JDBC Request时, ...

  8. K8s 终将废弃 docker,TKE 早已支持 containerd

    近日 K8s 官方称最早将在 1.23版本弃用 docker 作为容器运行时,并在博客中强调可以使用如 containerd 等 CRI 运行时来代替 docker.本文会做详细解读,并介绍 dock ...

  9. oracle 11g打补丁错误(Missing command :fuser)

    在给oracle 11g数据库打补丁的时候出现以下错误: [oracle@node01 31537677]$ $ORACLE_HOME/OPatch/opatch apply Oracle Inter ...

  10. 深度图解Redis Cluster原理

    不想谈好吉他的撸铁狗,不是好的程序员,欢迎微信关注「SH的全栈笔记」 前言 上文我们聊了基于Sentinel的Redis高可用架构,了解了Redis基于读写分离的主从架构,同时也知道当Redis的ma ...