效果:很多發票,掃碼槍掃描後實時加載到界面,然後統一提交,請求稅務雲覈驗發票真假接口,返回發票相關信息。
硬件:honyWell霍尼韋爾牌子的掃碼槍
難點:前端處理解析掃描出來的字符串。
思路:
- 1 弄清楚掃描出來的發票二維碼的字符串是什麼意思
- 2 弄清楚掃碼槍的顯示字符串的機制
- 3 將對應的字符拼接轉換成提交請求的DTO
解決:
1 首先專票是沒有校驗碼的【01,01,1200191130,05416656,176.41,20190528,,4D,】
普票有檢驗碼【01,01,1200191130,05416656,176.41,20190528,98789647382947586035,4D,】
第一個數字不知道什麼意思,第二個發票種類 10-增值稅電子普通發票,04-增值稅普通發票,01-增值稅專用發票 第三個發票代碼,第四個發票號碼【發票代碼和發票號碼一起唯一標識一張發票】,第五個是不含稅金額,第六個是開票日期,第七個是檢驗碼,第八個是隨機產生的機密信息。
2 首先不同的掃碼槍可以出來值得機制不一樣,我用到得掃碼槍掃出來雖然是一串碼,但是是一個一個字符打印出來的,不是一串字符一起出來,所以結束的標識很重要【我是用的監聽事件,監聽到有換行即可】,一般情況下,是通過換行,回車來標識掃碼結束,如果沒有也可以通過說明書設置,或者找出其他的標識。
3 找到結束標識,然後截取字符串,對應的值對上即可。
請求稅務雲的時候,正常http 請求即可,就是返回的數據,可能不同的三方對接的接口一樣,但是發票的字段真的特別多,而且一般涉及到的政府或者學校性質的接口基本字段命名都是簡拼,這個是很難受的,在沒有文檔的情況下,猜字段意思這個就 哈哈。