摘要:今天在檢查報(bào)表接口的時(shí)候發(fā)現(xiàn)了一個(gè)非常大的,在同事的幫助下解決了,為了長(zhǎng)記性,我就在這里對(duì)這個(gè)問題做一個(gè)詳細(xì)的描述剖析,以便以后可以快速解決同一類的問題。
今天在檢查報(bào)表接口的時(shí)候發(fā)現(xiàn)了一個(gè)非常大的bug,在同事的幫助下 解決了,為了長(zhǎng)記性,我就在這里對(duì)這個(gè)問題做一個(gè)詳細(xì)的描述剖析,以便以后可以快速解決同一類的問題。
接口需求:
如下圖所示,在選取時(shí)間范圍之后,我需要點(diǎn)擊分別按照 天,月,年 來(lái)查看銷售額(總銷售額,退貨金額,減免金額,實(shí)際收入)
我的理解誤區(qū):
我剛開始寫這個(gè)接口的時(shí)候 想通過一些sql來(lái)獲取數(shù)據(jù)庫(kù)所有的數(shù)據(jù)(完成的訂單和退貨的訂單) 然后在java程序里面分別過來(lái)退貨訂單,然后通過計(jì)算 總銷售額-減免-退貨 = 實(shí)際營(yíng)業(yè)額收入,后來(lái)發(fā)現(xiàn) 按天 月 年 來(lái)查詢的時(shí)候,
退貨的金額過濾不出來(lái),這就導(dǎo)致了問題:
SELECT DATE_FORMAT(o.create_tm,"%Y-%m") as `period`, sum(o.price) as salesTotal,sum(o.price) as returnPrice,sum(o.prixx_redux) as reduction,o.mode FROM `ordex` o WHERE (o.mode = 2 or o.mode= 1) and o.pay = 1 and o.shop_id = 10000xx and o.create_tm between "2015-12-12" and "2016-02-19" group by MONTH(o.create_tm) ORDER BY o.create_tm DESC
后來(lái)經(jīng)過討論,決定以下sql來(lái)解決這個(gè)問題:
SELECT r.period ,salesTotal,reduction ,ifnull (returnPrice,0) as returnPrice , (salesTotal- (reduction+ ifnull (returnPrice,0))) as allin from (SELECT DATE_FORMAT(o.create_tm,"%Y-%m") as `period`, sum(o.price) as salesTotal,sum(o.price_reduce) as reduction FROM `order` o WHERE (o.mode = 2 or o.mode=1) and o.pay = 1 and o.shop_id = 10000xx and o.create_tm between "2015-01-12" and date_add("2016-02-19", INTERVAL 1 day) group by MONTH(o.create_tm) ORDER BY o.create_tm DESC ) r LEFT JOIN (SELECT DATE_FORMAT(o.create_tm,"%Y-%m") as `period`, ifnull( sum(o.price),0) as returnPrice FROM `order` o WHERE o.mode = 2 and o.pay = 1 and o.shop_id = 10000xx and o.create_tm between "2015-01-12" and date_add("2016-02-19", INTERVAL 1 day) group by MONTH(o.create_tm) ORDER BY o.create_tm DESC ) r1 on r.period=r1.period
通過這樣的連接 可以把mode=2的數(shù)據(jù)多帶帶查出來(lái) 加入計(jì)算 已達(dá)計(jì)算的目的
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/65510.html
摘要:是什么機(jī)器人流程自動(dòng)化是在人工智能和自動(dòng)化技術(shù)的基礎(chǔ)上,依據(jù)預(yù)先錄制的腳本與現(xiàn)有用戶系統(tǒng)進(jìn)行交互并完成預(yù)期任務(wù)的技術(shù)。能做什么就是把目前系統(tǒng)建設(shè)還沒覆蓋到的需要手工處理的領(lǐng)域,通過模擬人工操作并自動(dòng)回放實(shí)現(xiàn)自動(dòng)化全覆蓋。RPA這項(xiàng)技術(shù)自2016年在國(guó)際上出現(xiàn),并于2017年被四大會(huì)計(jì)師事務(wù)所引入中國(guó),目前已經(jīng)在很多行業(yè)有了成功應(yīng)用,并且因?yàn)榭旖菀娦У慕ㄔO(shè)模式得到諸多CIO、CTO的關(guān)注。01...
閱讀 1221·2021-09-22 15:26
閱讀 2817·2021-09-09 11:52
閱讀 2151·2021-09-02 09:52
閱讀 2389·2021-08-12 13:28
閱讀 1332·2019-08-30 15:53
閱讀 658·2019-08-29 13:47
閱讀 3550·2019-08-29 11:00
閱讀 3241·2019-08-29 10:58