伯俊BOS2.0店铺收入对账功能设计
一、客户需求
通过导入银行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店铺收入对账功能设计的更多相关文章
- 伯俊BOS2.0关于订金单的处理方案
订金单功能调整设计 一. 功能确认 BPOS关于订金的使用对应的是"预收单",原"预收单"设置有商品明细,根据客户对订金的需求,取消原有"商品 ...
- 保密数据!泽宝曝光各个主要店铺收入 核心SKU数量少得惊人
今年跨境电商圈的一大并购,上市公司星徽精密并购知名跨境电商大卖家泽宝股份正在进程中.星徽精密在向证监会行政许可项目审查回复中,披露了泽宝股份众多保密数据,揭开了泽宝股份众多经营关键点,值得跨境电商卖家 ...
- 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS
2019年杭州·云栖大会顺利落幕,超过6万人次观展,200余位顶尖科学家分享了前沿技术.作为“阿里云不做SaaS”,坚持“被集成”战略的落地体现,阿里云SaaS加速器在云栖大会现场发布了SaaS加速器 ...
- jquery-防多店铺购物车结算全选,单选,及删除,价格计算
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- $2015 武汉森果公司web后端开发实习日记----书写是为了更好的思考
找暑期实习,3月份分别投了百度和腾讯的实习简历,都止步于笔试,总结的主要原因有两点:基础知识不扎实,缺乏项目经验.后来到拉勾网等网站上寻找实习,看了很多家,都还是处于观望状态.后来参加了武汉实习吧在大 ...
- Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题
一.问题背景 分账表split_summary结构如下: create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null, star_tdate VAR ...
- 新人 记录VUE中分页实现
关于函数传值 this.getPurchaseHistoryData(index, num,timeType);第一位是显示的页数,第二是控制首页4上一页-1下一页是2末页是5 第三是是对昨天是1,今 ...
- mybatis xml <choose>标签使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- 共享商业&技术红利,阿里云SaaS加速器让天下没有难做的SaaS
9月26日,阿里云在2019杭州云栖大会上发布了SaaS加速器3.0版“一云多端”多个应用平台,展示了阿里云给伙伴带来的多种商业和技术红利.阿里云SaaS加速器将帮助伙伴做好SaaS,卖好SaaS:帮 ...
随机推荐
- 极简python教程:快速入门好方法
大家好,我是测试奇谭的作者风风. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的快速教程,他们的痛点同大多数自学编程语言的人一样,遇到了这些问题: 网络上的信息太多,良莠不 ...
- python核心高级学习总结3-------python实现进程的三种方式及其区别
python实现进程的三种方式及其区别 在python中有三种方式用于实现进程 多进程中, 每个进程中所有数据( 包括全局变量) 都各有拥有⼀份, 互不影响 1.fork()方法 ret = os.f ...
- 基于CefSharp开发(六)浏览器网页缩放
一.网页缩放分析 缩放入口 1.Ctrl + 鼠标滑轮缩放 2.菜单中缩放子菜单缩放 3.搜索框中网页缩放按钮缩放 缩放属性及命令 ChromiumWebBrowser 提供了缩放量值.缩放级别.放大 ...
- CNVD漏洞证书(1)
之前申请了CNVD原创漏洞,踩了坑,记录一下 有很多师傅写过相关的文章: https://blog.csdn.net/qq1124794084/article/details/82657840 htt ...
- javascript (JS组成、书写位置、基本概念、作用域、内存问题、变量)
1 JavaScript的组成和书写位置 Javascript:运行在客户端(浏览器)的脚本语言,JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,与java没有直接的关系 ...
- Boost UDP Transaction Performance
提高UDP交互性能 这是一篇个人认为非常非常厉害的文章,取自这里.讲述了如何提升UDP流的处理速率,但实际涉及的技术点不仅仅限于UDP.这篇文章中涉及的技术正好可以把前段时间了解的知识串联起来.作者: ...
- Redis Sentinel-深入浅出原理和实战
本篇博客会简单的介绍Redis的Sentinel相关的原理,同时也会在最后的文章给出硬核的实战教程,让你在了解原理之后,能够实际上手的体验整个过程. 之前的文章聊到了Redis的主从复制,聊到了其相关 ...
- python web的一些常见技术面试笔试题
1. 三次握手四次挥手 tcp建立连接的过程是三次挥手,断开连接是4次挥手. 三次握手:建立连接时 a. 客户端发送syn=1 seq=k给服务器 b. 服务器接收到之后知道有客户端想建立连接, ...
- 【Codeforces 1097F】Alex and a TV Show(bitset & 莫比乌斯反演)
Description 你需要维护 \(n\) 个可重集,并执行 \(m\) 次操作: 1 x v:\(X\leftarrow \{v\}\): 2 x y z:\(X\leftarrow Y \cu ...
- 笔记-Cats Transport<已写题解>
笔记-Cats Transport Cats Transport 令 \(D_i=\sum_{j=1}^id_i\),\(T_i=t_i-D_{h_i}\). 为 \(T_i\) 从小到大排序,令 \ ...