日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

從數(shù)據(jù)模型到套打出票:房租水電費(fèi)收據(jù)打印系統(tǒng)落地實(shí)踐

從數(shù)據(jù)模型到套打出票:房租水電費(fèi)收據(jù)打印系統(tǒng)落地實(shí)踐 簡介面向房東、物業(yè)及小微企業(yè)收款人員的房租水電費(fèi)收據(jù)打印工具聚焦房租、押金、水費(fèi)、電費(fèi)、燃?xì)赓M(fèi)等日常收款場景意在替代手寫收據(jù)和Excel對賬的繁瑣流程。軟件將收據(jù)管理、出租房管理、客戶資料庫與數(shù)據(jù)分析整合在一起支持即輸即打、單據(jù)編號自定義、金額自動(dòng)計(jì)算與大小寫轉(zhuǎn)換、批量打印、按收據(jù)生成對賬單并可將數(shù)據(jù)或單據(jù)導(dǎo)出為Excel、圖片、PDF提供打印樣式自定義及導(dǎo)入導(dǎo)出、數(shù)據(jù)備份恢復(fù)、U盤便攜使用等功能。包體為zip壓縮包約3.39MB上游未提供可核驗(yàn)的文件總數(shù)與主要文件類型明細(xì)具體以實(shí)際包內(nèi)內(nèi)容為準(zhǔn)。資源頁顯示已有292人瀏覽學(xué)習(xí)適合需要規(guī)范開具房租水電收據(jù)、減少手工錄入與對賬差錯(cuò)的個(gè)人房東、公寓管理者和中小商戶參考使用。1. 房租水電費(fèi)收據(jù)打印把月底最臟的活壓成一條命令月底最后一天二三十套房、四五十個(gè)租戶的水電表數(shù)還散在兩三個(gè) Excel 和一堆聊天記錄里手寫收據(jù)寫到手腕發(fā)酸寫錯(cuò)一個(gè)字整張重來。房租水電費(fèi)收據(jù)打印這件事真正麻煩的地方不在打印而在把抄表數(shù)、租金、水電單價(jià)、上期欠費(fèi)合成一張能直接撕給租戶的兩聯(lián)票據(jù)同時(shí)把編號、留底、跨月對賬一起管住。它不適合大型物業(yè)的全套計(jì)費(fèi)系統(tǒng)但對付幾十套自持房源、每月集中開一次票的場景比通用財(cái)務(wù)軟件順手得多。這篇按我實(shí)際落地的順序走先把數(shù)據(jù)模型立住再解決算錢再解決套打坐標(biāo)最后講那些只有真打過錯(cuò)位票據(jù)才懂的坑。2. 收據(jù)的數(shù)據(jù)底座房間、租戶、抄表、賬單四張表怎么拆2.1 房租水電費(fèi)收據(jù)打印為什么不能只靠一張 Excel 模板用 Excel 做郵件合并出收據(jù)第一年確實(shí)夠用。房源數(shù)量一過二十套問題就一茬接一茬地冒出來編號靠手填兩個(gè)人同時(shí)開單必然撞號收據(jù)打廢了重打一張舊號是作廢還是留著表格里根本看不出來租戶中途退租按天折算的租金在下個(gè)月對賬時(shí)已經(jīng)找不到計(jì)算依據(jù)更麻煩的是歷史數(shù)據(jù)——你想查某個(gè)房間過去十二個(gè)月的水電用量曲線得手工把十二張表拼起來。把數(shù)據(jù)拆成四張表的理由很樸素房間和租戶是相對穩(wěn)定的事實(shí)抄表讀數(shù)和賬單是按月追加的事件。穩(wěn)定的事實(shí)改動(dòng)少、可以放心做外鍵按月追加的事件只允許插入、不允許覆蓋否則一旦算錯(cuò)連回滾的基準(zhǔn)都沒有。賬單和收據(jù)還要再拆一層——賬單是可重算的業(yè)務(wù)結(jié)果收據(jù)是已經(jīng)交給租戶的憑證兩者的生命周期完全不同。賬單算錯(cuò)了可以作廢重開收據(jù)一旦遞出去只能標(biāo)記作廢后另開一張新號的絕不能改數(shù)字。這個(gè)拆分帶來的直接好處是出票失敗、打印機(jī)卡紙、租戶要求補(bǔ)打都只是往收據(jù)表里插一條新記錄賬單本身不動(dòng)月底對賬時(shí)應(yīng)收看賬單表已開票看收據(jù)表兩者的差額就是還沒送到租戶手上的那部分工作量。2.2 四張表的建表語句與字段取舍SQLite 最省事單文件、免安裝、拷走就能換機(jī)器和這類輕量工具的氣質(zhì)匹配。下面這套結(jié)構(gòu)在生產(chǎn)里跑了兩年多改動(dòng)很少。-- 金額統(tǒng)一用 INTEGER 存分任何情況下不落 REAL CREATE TABLE room ( id INTEGER PRIMARY KEY, code TEXT NOT NULL UNIQUE, -- 房號A-302導(dǎo)入前統(tǒng)一大寫去空格 area REAL NOT NULL DEFAULT 0, -- 建筑面積只用于公攤分?jǐn)?rent_cent INTEGER NOT NULL, -- 月租金分 status TEXT NOT NULL DEFAULT vacant -- vacant / rented ); CREATE TABLE tenant ( id INTEGER PRIMARY KEY, room_id INTEGER NOT NULL REFERENCES room(id), name TEXT NOT NULL, phone TEXT, start_date TEXT NOT NULL, -- ISO 86012024-03-01 end_date TEXT, -- NULL 表示在租 deposit_cent INTEGER NOT NULL DEFAULT 0 ); CREATE TABLE meter_reading ( id INTEGER PRIMARY KEY, room_id INTEGER NOT NULL REFERENCES room(id), kind TEXT NOT NULL, -- water / electric read_at TEXT NOT NULL, -- 抄表日 value REAL NOT NULL, -- 本期表讀數(shù) prev_value REAL, -- 上期讀數(shù)冗余存一份用于校驗(yàn)與追溯 source TEXT DEFAULT manual -- manual / photo / import ); CREATE TABLE bill ( id INTEGER PRIMARY KEY, room_id INTEGER NOT NULL REFERENCES room(id), period TEXT NOT NULL, -- 2024-06 rent_cent INTEGER NOT NULL DEFAULT 0, water_cent INTEGER NOT NULL DEFAULT 0, elec_cent INTEGER NOT NULL DEFAULT 0, other_cent INTEGER NOT NULL DEFAULT 0, -- 衛(wèi)生費(fèi)、車位、滯納金 total_cent INTEGER NOT NULL, status TEXT NOT NULL DEFAULT open, -- open / paid / void UNIQUE (room_id, period) -- 同一房間同一賬期只能有一張有效賬單 ); CREATE TABLE receipt ( id INTEGER PRIMARY KEY, bill_id INTEGER NOT NULL REFERENCES bill(id), serial TEXT NOT NULL UNIQUE, -- 收據(jù)號全局唯一 printed_at TEXT, status TEXT NOT NULL DEFAULT valid -- valid / reprint / void ); CREATE INDEX idx_bill_period ON bill(period); CREATE INDEX idx_receipt_bill ON receipt(bill_id);幾個(gè)字段的取值不是隨手定的字段類型為什么這么設(shè)rent_cent/total_centINTEGER 分浮點(diǎn)乘 100 會(huì)出現(xiàn) 12999.999999 這類值取整方向一錯(cuò)就差一分prev_valueREAL 冗余上期讀數(shù)本該從上一行推導(dǎo)但跨年、換表、換租戶時(shí)推導(dǎo)會(huì)斷UNIQUE(room_id, period)約束防止重復(fù)算費(fèi)時(shí)插出兩張賬單月底對賬直接翻倍serialUNIQUE編號重復(fù)是收據(jù)類工具最致命的錯(cuò)靠約束兜底status文本枚舉作廢用狀態(tài)位表達(dá)不 DELETE留痕比省空間重要注意不要用是否已打印來控制收據(jù)能否重打用status加一張receipt_log表記流水。狀態(tài)位丟失可以重建流水丟了就真丟了。2.3 三個(gè)必須提前定死的約束編號唯一且不可復(fù)用。編號規(guī)則常見的是前綴 年月 四位流水的SD2024060001。生成時(shí)不要用SELECT MAX(serial)1那是并發(fā)下的經(jīng)典翻車點(diǎn)。要么單獨(dú)建一張counter(period, next_no)表在事務(wù)里自增要么直接依賴serial 的 UNIQUE 約束做插入失敗就重試三次。后者實(shí)現(xiàn)最省事import sqlite3, time def next_serial(conn, period: str, prefix: str SD) - str: 在事務(wù)里自增計(jì)數(shù)器SQLite 的寫鎖是庫級的天然串行 with conn: # with 塊自動(dòng) commit / rollback conn.execute(INSERT OR IGNORE INTO counter(period, next_no) VALUES (?, 1), (period,)) row conn.execute(SELECT next_no FROM counter WHERE period?, (period,)).fetchone() no row[0] conn.execute(UPDATE counter SET next_no? WHERE period?, (no 1, period)) return f{prefix}{period.replace(-, )}{no:04d}這里的關(guān)鍵是把取號和占號放在同一個(gè)寫事務(wù)里中途崩潰會(huì)整體回滾不會(huì)出現(xiàn)號被吃掉的情況。如果業(yè)務(wù)允許跳號作廢的號保留空缺把next_no的自增和收據(jù)插入也放進(jìn)同一事務(wù)失敗就整筆重來。抄表記錄只追加。抄錯(cuò)了怎么辦插一條sourcecorrect的新記錄用read_at的時(shí)間戳排序取最新而不是 UPDATE 舊行。原因是月底對賬時(shí)經(jīng)常有人問這戶上個(gè)月到底抄的是多少改過的記錄回答不了這個(gè)問題。金額只存整數(shù)分。這條約束要從數(shù)據(jù)入口一直貫穿到打印中間任何一次float * 100都是隱患。取整方向統(tǒng)一用四舍五入到分不要一會(huì)兒int()截?cái)嘁粫?huì)兒round()。2.4 從舊 Excel 導(dǎo)歷史數(shù)據(jù)一次性的遷移腳本換工具最大的阻力從來不是功能是老數(shù)據(jù)搬不過去。房源表通常是最規(guī)整的一張先導(dǎo)它。import re, sqlite3 from decimal import Decimal from openpyxl import load_workbook def to_cent(v) - int: 任何輸入先轉(zhuǎn)字符串再進(jìn) Decimal繞開 float 的二進(jìn)制誤差 return int((Decimal(str(v)) * 100).quantize(Decimal(1))) def import_rooms(xlsx_path: str, db_path: str) - None: wb load_workbook(xlsx_path, data_onlyTrue) # data_only 取公式結(jié)果而不是公式文本 ws wb.active conn sqlite3.connect(db_path) ok skip 0 for row in ws.iter_rows(min_row2, values_onlyTrue): code, area, rent row[0], row[1], row[2] if not code or rent in (None, ): skip 1 continue # 去空格、統(tǒng)一大寫避免 A-302 / a302 / A 302 在庫里變成三個(gè)房間 code re.sub(r\s, , str(code)).upper() cur conn.execute( INSERT OR IGNORE INTO room(code, area, rent_cent) VALUES (?,?,?), (code, float(area or 0), to_cent(rent)), ) ok cur.rowcount conn.commit() conn.close() print(f導(dǎo)入 {ok} 條跳過 {skip} 條)data_onlyTrue這個(gè)參數(shù)容易被忽略不加的話單元格里如果是公式讀出來是B2*C2這種字符串Decimal直接拋異常。INSERT OR IGNORE配合code的 UNIQUE 約束讓腳本可以反復(fù)跑跑第二遍不會(huì)插重復(fù)行這對遷移期反復(fù)試錯(cuò)很友好。跑完一定要抽三條數(shù)據(jù)手動(dòng)核對租金金額尤其是表格里帶千分位逗號的寫法——1,200進(jìn)Decimal會(huì)直接報(bào)錯(cuò)寧可讓腳本炸掉也不要靜默跳過。3. 從抄表數(shù)字到應(yīng)收金額租金折算、階梯水電和金額大寫的寫法3.1 計(jì)費(fèi)規(guī)則的三種常見形態(tài)與邊界幾十套房源的計(jì)費(fèi)規(guī)則聽上去簡單真落到代碼里邊界情況比規(guī)則本身多計(jì)費(fèi)項(xiàng)常見規(guī)則容易漏的邊界月租金固定金額按月收中途入住/退租按天折算大小月天數(shù)不同水費(fèi)本期讀數(shù)減上期讀數(shù)乘單價(jià)換表導(dǎo)致讀數(shù)為 0抄表跨月漏抄電費(fèi)階梯計(jì)價(jià)或單一單價(jià)階梯跨檔時(shí)的分段計(jì)算公攤電量按戶/按面積其他衛(wèi)生費(fèi)、車位、滯納金滯納金是否計(jì)入本金、是否參與下期滾動(dòng)按天折算這塊最容易扯皮。行業(yè)里兩種算法按當(dāng)月實(shí)際天數(shù)折算或者統(tǒng)一按 30 天折算。前者更公平但每個(gè)月的日租金都不一樣后者好算但二月會(huì)出現(xiàn)住滿 28 天交整月的爭議。我一般選按實(shí)際天數(shù)并在賬單備注里把起始日 / 天數(shù) / 當(dāng)月天數(shù)三個(gè)數(shù)字打出來收據(jù)上看得見爭議就少一半。3.2 用 Decimal 把錢算準(zhǔn)計(jì)費(fèi)函數(shù)的最小實(shí)現(xiàn)from decimal import Decimal, ROUND_HALF_UP CENT Decimal(0.01) def q(x: Decimal) - Decimal: 所有金額出口統(tǒng)一走這個(gè)函數(shù)保證取整方向一致 return x.quantize(CENT, roundingROUND_HALF_UP) def rent_for_partial_month(month_rent: Decimal, days_used: int, days_in_month: int) - Decimal: 中途入住/退租的租金折算按當(dāng)月實(shí)際天數(shù) if days_used 0: return Decimal(0.00) if days_used days_in_month: return q(month_rent) # 住滿就按整月不做除法規(guī)避 1/31 的無限小數(shù) return q(month_rent * Decimal(days_used) / Decimal(days_in_month)) def tiered_fee(usage: Decimal, tiers): 階梯計(jì)價(jià)tiers [(檔位上限, 單價(jià)), ...]最后一檔上限寫 None fee, lower Decimal(0), Decimal(0) for cap, price in tiers: if usage lower: break upper Decimal(str(cap)) if cap is not None else usage seg min(usage, upper) - lower fee seg * Decimal(str(price)) lower upper return q(fee)三個(gè)函數(shù)各有各的用意。q()是唯一的取整出口把ROUND_HALF_UP收在一處比散落在十幾個(gè)地方各寫一遍要安全——只要有一處用了默認(rèn)的銀行家舍入就會(huì)出現(xiàn)這戶差一分、那戶多一分的玄學(xué)賬。rent_for_partial_month()里那個(gè)days_used days_in_month的短路分支是有意加的住滿整月卻走除法1200 * 31 / 31在某些精度設(shè)置下不一定回到 1200.00多一次除法就多一次風(fēng)險(xiǎn)。tiered_fee()用min(usage, upper) - lower計(jì)算每檔內(nèi)的用電量而不是預(yù)先判斷落在第幾檔好處是檔位數(shù)可以隨便改改配置不改代碼。單價(jià)參數(shù)建議放在一張price_config(period, kind, tiers_json)表里按賬期存快照。電價(jià)調(diào)整是常事如果只存一份當(dāng)前單價(jià)去年的賬單重算時(shí)會(huì)被新價(jià)覆蓋對賬就再也對不上了。3.3 金額大寫收據(jù)上最容易被挑錯(cuò)的一欄收據(jù)上數(shù)字金額和大寫金額不一致是最沒面子的一種錯(cuò)。中文大寫的規(guī)則不難難在零的處理1005是壹仟零伍元整1000005是壹佰萬零伍元整10是壹拾元整而不是拾元整。DIGITS 零壹貳叁肆伍陸柒捌玖 UNITS [, 拾, 佰, 仟] GROUPS [, 萬, 億] def _four(n: int) - str: 0-9999 轉(zhuǎn)大寫內(nèi)部函數(shù)不處理組間的零 s, pending_zero , False for i, ch in enumerate(str(n).zfill(4)): d, pos int(ch), 3 - i if d 0: pending_zero True else: if pending_zero and s: s 零 s DIGITS[d] UNITS[pos] pending_zero False return s def to_rmb_upper(cent: int) - str: 整數(shù)分 - 中文大寫如 100500 - 壹仟零伍元整 if cent 0: return 負(fù) to_rmb_upper(-cent) yuan, jiao, fen cent // 100, cent // 10 % 10, cent % 10 if yuan 0 and jiao 0 and fen 0: return 零元整 out if yuan: groups, y [], yuan while y 0: groups.append(y % 10000) y // 10000 for idx in range(len(groups) - 1, -1, -1): g groups[idx] if g 0: if out and not out.endswith(零): out 零 # 組內(nèi)全零如 100000005 中間的億后零 continue if out and g 1000 and not out.endswith(零): out 零 # 高位組與低位組之間的零如 壹佰萬零伍 out _four(g) GROUPS[idx] out out.rstrip(零) 元 if jiao 0 and fen 0: out 整 else: if jiao: out DIGITS[jiao] 角 elif yuan: out 零 # 如 100.05 - 壹佰元零伍分 if fen: out DIGITS[fen] 分 return out拿到手先跑一組邊界用例別信看著差不多輸入分期望輸出考察點(diǎn)0零元整全零1000壹拾元整十位不寫拾元100500壹仟零伍元整中間單個(gè)零100000500壹佰萬零伍元整跨組補(bǔ)零10005壹佰元零伍分角位為零、分位非零123456壹仟貳佰叁拾肆元伍角陸分完整形態(tài)提示大寫函數(shù)別在打印時(shí)才調(diào)用算完賬就存進(jìn)bill.total_upper字段。收據(jù)、對賬單、導(dǎo)出表格三處如果各調(diào)一次改一次規(guī)則就有三處不同步。3.4 寫庫前的一致性校驗(yàn)賬單落庫前的最后一道門是幾條assertdef check_bill(b) - None: parts b[rent_cent] b[water_cent] b[elec_cent] b[other_cent] assert parts b[total_cent], f分項(xiàng)之和 {parts} ! 總額 {b[total_cent]} assert b[total_cent] 0, 出現(xiàn)負(fù)數(shù)總額檢查是否把退款算進(jìn)了本期 assert to_rmb_upper(b[total_cent]) b[total_upper], 大寫與數(shù)字不一致這類斷言上線時(shí)看著多余出過一次事就知道值。有個(gè)房間因?yàn)樯掀谧x數(shù)錄成了 99999本期讀數(shù) 1234用量算成負(fù)數(shù)賬單總額直接變成負(fù)的收據(jù)上打出-XXX 元。數(shù)值校驗(yàn)一分鐘能寫完事后追查要半天。4. 套打與批量出票坐標(biāo)校準(zhǔn)、票據(jù)打印機(jī)和 PDF 留底4.1 收據(jù)模板的三種落地方式和取舍方式套打精度批量速度維護(hù)成本適合場景Word/Excel 郵件合并中靠表格邊距慢幾十張就卡低人人會(huì)改一次性出票套數(shù)少HTML 瀏覽器打印低受瀏覽器縮放影響中中屏幕預(yù)覽為主A4 普通紙代碼生成 PDF高坐標(biāo)可控到 0.1mm快中改動(dòng)要發(fā)版兩聯(lián)針式票據(jù)、需要留底走兩聯(lián)針式票據(jù)紙的基本只有第三條路。瀏覽器打印的邊距、縮放、頁眉頁腳三個(gè)變量疊在一起同一份 HTML 在兩臺機(jī)器上能打出兩種結(jié)果校準(zhǔn)一次管不了多久。生成 PDF 的好處是所見即所得——你看到的 PDF 坐標(biāo)就是打印機(jī)上紙的位置偏差只來自打印機(jī)本身的機(jī)械誤差是個(gè)可測量的常量。4.2 用 reportlab 畫一張固定坐標(biāo)的收據(jù)from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import mm from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont # 中文字體必須先注冊否則中文全變方塊這是最常見的第一次翻車 pdfmetrics.registerFont(TTFont(CN, /usr/share/fonts/truetype/noto/NotoSansSC-Regular.ttf)) PAPER (241 * mm, 140 * mm) # 兩聯(lián)票據(jù)紙單聯(lián)尺寸按實(shí)際紙張改 OX, OY 3.5 * mm, -1.2 * mm # 全局套打偏移正值向右/向上 def draw_receipt(path: str, r: dict) - None: c canvas.Canvas(path, pagesizePAPER) c.setFont(CN, 10.5) # 針式打印機(jī) 10.5pt 是最穩(wěn)的字號再小容易糊 W, H PAPER def t(x_mm, y_mm, s): c.drawString(x_mm * mm OX, H - y_mm * mm OY, s) # y 從頂部往下算便于對紙 t(18, 16, f收據(jù)號{r[serial]}) t(150, 16, f日期{r[date]}) t(18, 30, f房間{r[room_code]}) t(90, 30, f租戶{r[tenant]}) t(18, 42, f房租{r[rent]:.2f}) t(90, 42, f水費(fèi){r[water]:.2f}{r[water_usage]}噸) t(18, 54, f電費(fèi){r[elec]:.2f}{r[elec_usage]}度) t(90, 54, f其他{r[other]:.2f}) t(18, 70, f合計(jì){r[total]:.2f} 元) t(18, 86, f大寫{r[total_upper]}) t(150, 100, 收款人__________) c.showPage() c.save()t()這個(gè)包裝函數(shù)是為了讓坐標(biāo)可讀——直接寫H - 30*mm的話調(diào)一次位置就要在腦子里做一次減法。OY取負(fù)值是因?yàn)獒樖酱蛴C(jī)的進(jìn)紙定位通常比 PDF 原點(diǎn)偏上試出來是負(fù)的就寫負(fù)的。字號釘在 10.5pt 是踩出來的針式打印機(jī)分辨率低9pt 以下漢字的橫畫會(huì)斷成虛線12pt 以上兩聯(lián)紙的行距放不下五行。4.3 批量出票編號、命名、失敗重試import csv, os, time, traceback def batch_output(bills, outdirout, retries2): os.makedirs(outdir, exist_okTrue) ok, fail [], [] for b in bills: fname f{b[serial]}_{b[room_code]}_{b[period]}.pdf path os.path.join(outdir, fname) for attempt in range(retries 1): try: draw_receipt(path, b) ok.append(path) break except Exception: if attempt retries: fail.append((b.get(room_code), b.get(serial), traceback.format_exc(limit2))) else: time.sleep(0.2) # 字體未加載完、磁盤瞬時(shí)占用都可能一次失敗 with open(print_fail.csv, w, newline, encodingutf-8-sig) as f: csv.writer(f).writerows([(room, serial, error)] fail) return ok, fail命名里帶serial是為了讓歸檔目錄按文件名排序就等于按開票順序排事后找一張票不用翻數(shù)據(jù)庫。utf-8-sig的 BOM 是給 Excel 看的否則失敗清單在 Windows 上打開全是亂碼。先生成 PDF 再統(tǒng)一送打印機(jī)而不是邊算邊打理由很實(shí)際批量出票時(shí)最怕打到第 17 張卡紙前面 16 張已經(jīng)吐出來了后面 20 張還在不在隊(duì)列里說不清。先生成、核對、再一次性打印卡紙了重打整批也不心疼。打印環(huán)節(jié)用系統(tǒng)命令行最省事# Linux / macOS批量送默認(rèn)打印機(jī)份數(shù) 1 for f in out/*.pdf; do lp -n 1 -o mediaCustom.241x140mm $f; done # Windows用默認(rèn)關(guān)聯(lián)程序打印注意引號處理帶空格的路徑 powershell -Command Get-ChildItem out\*.pdf | ForEach-Object { Start-Process -FilePath $_.FullName -Verb Print }mediaCustom.241x140mm這個(gè)參數(shù)不能省。紙張尺寸不顯式傳打印機(jī)會(huì)退回 A4 縮放內(nèi)容整體縮到 70%坐標(biāo)全亂。Windows 那邊-Verb Print走的是關(guān)聯(lián)程序打印完不關(guān)進(jìn)程幾百張會(huì)堆一堆后臺窗口批量超過 50 張建議還是走 PDF 閱讀器的命令行參數(shù)。4.4 打印偏移校準(zhǔn)三張測試頁定坐標(biāo)校準(zhǔn)是個(gè)純體力活但有固定套路把OX/OY歸零用同一份模板打一張只有邊框和十字線的校準(zhǔn)頁。用鋼尺量四條邊到紙張邊緣的實(shí)際距離和設(shè)計(jì)值相減得到上下左右的偏差。取上下偏差的均值填OY左右偏差的均值填OX。注意 PDF 的 Y 軸向上為正所以內(nèi)容整體偏上意味著要往負(fù)方向調(diào)。再打一張確認(rèn)四個(gè)角的誤差控制在 ±0.5mm 以內(nèi)就算過。把這組值寫進(jìn)配置文件別寫死在代碼里——換一臺打印機(jī)就得重新校一次。打印機(jī)側(cè)設(shè)置建議值說明紙張尺寸自定義 241×140mm不要用 A4 縮放縮放比例100% / 實(shí)際大小驅(qū)動(dòng)里適應(yīng)頁面必須關(guān)掉邊距全部 0由 PDF 內(nèi)部坐標(biāo)控制打印質(zhì)量草稿或普通高質(zhì)量模式進(jìn)紙速度變化會(huì)導(dǎo)致縱向漂移注意同一份 PDF 在兩臺同型號打印機(jī)上也可能有 1mm 差異屬于機(jī)械公差。真要做到零誤差只能一臺機(jī)器一套配置按打印機(jī)名稱存偏移參數(shù)。5. 避坑與排查五類錯(cuò)票現(xiàn)場的現(xiàn)象、成因和處置5.1 解壓即用的目錄選錯(cuò)程序起來就報(bào)錯(cuò)現(xiàn)象雙擊啟動(dòng)后提示找不到模板文件或數(shù)據(jù)庫或者干脆閃退同一份程序在別人電腦上正常。原因這類免安裝工具默認(rèn)按相對路徑找template/和data.db一旦把整個(gè)文件夾丟到C:\Program Files或者桌面某個(gè)帶中文和空格的路徑下寫權(quán)限被系統(tǒng)收走或者路徑解析出問題。更隱蔽的是從壓縮包里直接雙擊運(yùn)行程序?qū)嶋H在臨時(shí)目錄里展開退出就沒了。解決固定解壓到D:\ReceiptTool\這種純英文無空格的短路徑先完整解壓再運(yùn)行。如果必須放共享盤只讀運(yùn)行可以寫數(shù)據(jù)庫不行單文件數(shù)據(jù)庫在網(wǎng)絡(luò)盤上的鎖機(jī)制不可靠。5.2 收據(jù)號重復(fù)或者整段跳號現(xiàn)象兩戶拿到同一個(gè)收據(jù)號或者打印中途崩潰重新打開后編號從 0050 直接跳到 0100。原因重復(fù)多半是取號用了MAX(serial)1且沒有事務(wù)保護(hù)兩個(gè)人同時(shí)開單讀到同一個(gè)最大值。跳號則是把占號寫成了預(yù)分配一批——啟動(dòng)時(shí)先取 50 個(gè)號放內(nèi)存崩潰后這 50 個(gè)號就丟了。解決取號必須和插入收據(jù)在同一個(gè)事務(wù)里靠 UNIQUE 約束兜底沖突就重試絕不預(yù)分配號段。已經(jīng)跳號的歷史數(shù)據(jù)不要手工補(bǔ)在收據(jù)表里插一條statusvoid的占位記錄說明原因比改歷史安全。5.3 數(shù)字和大寫差一分錢現(xiàn)象收據(jù)上合計(jì) 1234.56大寫卻是壹仟貳佰叁拾肆元伍角柒分。原因金額在中間環(huán)節(jié)被取整了兩次。比如水費(fèi)先round(x, 2)存成浮點(diǎn)出票時(shí)又格式化一次兩次舍入方向不一致或者大寫是由浮點(diǎn)金額直接乘 100 再轉(zhuǎn)整數(shù)1234.56 * 100得到123455.99999999999int()截?cái)喑?123455。解決全鏈路只保留整數(shù)分浮點(diǎn)只在最外層格式化輸出時(shí)出現(xiàn)。大寫函數(shù)只接受 int 類型的分?jǐn)?shù)值傳 float 進(jìn)來自動(dòng)拋異常逼著調(diào)用方在入口就把類型理順。5.4 換一臺電腦套打位置整體偏現(xiàn)象同一份 PDF在辦公室那臺針式打印機(jī)上正正好好搬到另一臺機(jī)器打出來整體偏下 4mm最后一行壓到撕線。原因打印機(jī)驅(qū)動(dòng)里紙張定義不一致或者適應(yīng)頁面沒關(guān)內(nèi)容被縮放了 2% 到 5%。也有可能是兩臺機(jī)器的紙張裝訂位置本來就差幾毫米。解決偏移量存配置文件按打印機(jī)名做 key第一次在新機(jī)器上跑一遍 4.4 的校準(zhǔn)流程。同時(shí)把驅(qū)動(dòng)的紙張尺寸、縮放、邊距三項(xiàng)截圖存檔換機(jī)器時(shí)逐項(xiàng)比對。5.5 單文件數(shù)據(jù)庫在共享盤上損壞現(xiàn)象某天打開程序提示database disk image is malformed或者賬單里憑空多出半條記錄。原因多個(gè)客戶端通過共享盤同時(shí)打開同一個(gè) SQLite 文件寫鎖在網(wǎng)絡(luò)文件系統(tǒng)上不生效兩個(gè)進(jìn)程同時(shí)寫頁文件結(jié)構(gòu)就爛了。解決單文件數(shù)據(jù)庫只允許單機(jī)單進(jìn)程訪問。多人開單的需求要么改成局域網(wǎng)內(nèi)跑一個(gè)服務(wù)端哪怕是個(gè)幾十行的 HTTP 接口要么按人分庫、月底合并。日常備份用VACUUM INTO backup.db而不是直接拷文件拷貝過程中有寫入的話拷出來的備份本身就是壞的。6. 出票前的驗(yàn)收用固定樣例集把錯(cuò)票攔在打印機(jī)之外真正讓我少賠笑臉的不是打印代碼寫得多漂亮而是一套固定樣例集。做法很土造 12 個(gè)房間覆蓋住滿整月、月中入住、月中退租、零用水、階梯跨檔、有上期欠費(fèi)、其他費(fèi)用為負(fù)退押金這七種情況賬期固定成三個(gè)月。每次改完計(jì)費(fèi)或模板先跑這批樣例把生成的 PDF 和上一次的逐字段比對再把下面這條 SQL 跑一遍。-- 三表閉合校驗(yàn)賬單總額 - 已開票收據(jù)總額 應(yīng)當(dāng)?shù)扔谖闯銎苯痤~不為 0 就是有孤兒數(shù)據(jù) SELECT b.period, SUM(b.total_cent) AS bill_total, SUM(CASE WHEN r.status valid THEN b.total_cent END) AS receipt_total, SUM(b.total_cent) - SUM(CASE WHEN r.statusvalid THEN b.total_cent END) AS diff, COUNT(*) AS bill_cnt FROM bill b LEFT JOIN receipt r ON r.bill_id b.id WHERE b.status void GROUP BY b.period HAVING diff 0;diff不為零有兩種解釋賬單開了沒收據(jù)正常還沒送出去或者收據(jù)掛在了不存在的賬單上異常外鍵被繞過寫進(jìn)去的。所以這條 SQL 的正確用法不是必須為零而是每個(gè)賬期的 diff 必須等于該期statusopen的賬單總額兩個(gè)數(shù)一對照異常立刻現(xiàn)形。驗(yàn)收清單我壓成了五行每次發(fā)版對著走一遍檢查項(xiàng)通過標(biāo)準(zhǔn)大寫金額12 組樣例全對含零值和跨組補(bǔ)零分項(xiàng)合計(jì)每張賬單分項(xiàng)之和等于總額無負(fù)數(shù)異常收據(jù)編號連續(xù)不重復(fù)作廢號有占位記錄套打位置首行、末行、右邊界三處誤差 ≤0.5mm歸檔完整性每張有效收據(jù)都有對應(yīng) PDF文件名含編號歸檔那塊我吃過一次虧某月清理磁盤時(shí)按修改時(shí)間刪了一批舊PDF結(jié)果里面有 6 張是補(bǔ)打過的收據(jù)編號對不上只能憑記憶重開。后來改成按賬期/編號.pdf分層存每月出一次sha256sum清單和賬單表一起打包誰動(dòng)過文件一查就知道。我現(xiàn)在的習(xí)慣是任何跟金額、編號、坐標(biāo)相關(guān)的改動(dòng)先跑樣例集再看對賬 SQL最后才允許碰打印機(jī)。這三步順序顛倒過一次直接打廢了兩聯(lián)紙一沓重開還得挨個(gè)解釋。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
秋霞影音一区二区三区| 亚洲AV高潮| 亚洲综合色婷婷| 最新9久久久9免费视频| 牛牛aV| 狠狠操狠狠燥| 欧美日韩国产在线| 国产福利电影| 99这里只有精品国产| 麻豆九九九| 91天堂色男人的天堂| 99re在线视频这里只有精品| 精品乱码久久久久| 99久热| 男人天堂网站| 是还免费视频1727我| 国产精品一区二区三区,亚洲综合| 亚州九九九精品视频| AV电影在线播放| 国产一区二区成人av在线播放| 天天看片麻豆| 日韩精品一区二区三区色欲| 精品美女久久久久| 少妇精品久久| 亚洲精品97久久中文字幕| 婷婷五月天小说| 东京热视频网| 欧美v日韩v亚洲v最新在线| 啊啊啊在线观看免费视频| 日韩中文欧美| 在线播放一级无码视频| 欧美日韩大香蕉| 亚洲少妇激情一区二区三区| 亚洲大胆人体av| 婷婷在线视频| 亚洲综合另类欧美久久久| 亚洲天堂无码| 亚欧性爱ab| 青青操狠狠撩| 亚洲性猛| 亚洲各类熟们中文字幕| 97精品综合久久网| 二对二中文字幕。| 无套内射性感少妇视频| 探花激情视频| 色综合久| 炮色五月| 大奶啊啊好爽 | 久久香蕉影院| 很黄很色的视频在线观看| 欧美激情 亚洲色图| 熟女中出视频| 丰满丝袜少妇AV| 亚洲怡春院| 亚洲欧美变态| 尤物网站91| 2021国产成人精品久久| 加勒比五月天| 热热色中文无码| 人妻少妇久久中文| 超碰吊日色| 一区二区播放| 日韩二区三四区五区六区在线看| 色99久草| 麻豆三极片| 亚洲国产av中文字幕久久| 18禁美女裸体无遮挡啪啪| 操www| 女人 A一级| 大香蕉婷婷| 操人妻丝袜高跟| AV丝袜东京热| 欧美天堂亚洲电影院一区在线播放| 特级大荫道BBwBBwBBW| 人妻丝袜肏逼| 精品熟女呻吟久久91| 亚州欧美综合| 亚洲伊人成综合成人网| 操逼日韩无码 | 国产精品在线网站| 国产成年女黄特黄| 色欧美天天| 91欧美综合在线| 精品人妻一区二区三区不卡断| 92大香蕉| 国内毛片热久久思思热| 99只有精品| 日韩av色图| 狠狠爱综合网| 3D污黄视频在线观看| 91亚州日韩高清| 一区二区三区男女操逼黄色小电影| 麻豆精品A片免费观看| 97亚洲综合在线| 亚洲欧美国产va在线播放频| 精品久久久久av影院| www.五月天| 无码人妻精品一区二区三区九九| 欧美激情视频在线一区| 色综合中文字幕不卡| 色五月天AV| 亚洲熟女人妻中文字幕一区二区 | www..com操老师| 蜜乳AV一区二区三区四| 香蕉在线一区二区三区| 96久久久精品| 嫩草美女久久| 国产偷仑| 黄片色区软件| 97视频新免费| 免費黃色視頻觀看一| 亚洲色图久久成人| 青青五月天| 精品久久久高清无码| 国产精品2020| 中文字幕一区二区三区四区在线视频| 久久久久久久久久久久久9999| 亚洲av资源| 久久久久亚洲av综合波多野制衣| 国精品一区二区三| 亚洲AV无码乱码| 国产精品九9| 日韩欧美加勒比| 日韩人妻资源在线看| 天天干1区2区在线| 久久丁香五月天| 亚洲欧美国产精品久久久久久久| 日韩av不卡在线看| 欧美色道啊| av在线观看不卡网站| 啊啊啊97视频| 国产资源中文字幕在线| 亚洲一区二区三区麻豆传媒| 中文字幕第9页萱萱影音先锋| 天美精品av| 男人天堂网站| 激情欧美日韩女同久久| 26uuu欧美日韩| 久久久久七视频| 岛国福利在线精品播放| 久久无码精品| 欧美中字二区| 91成人久久 | 久久亚洲AV成人精品无码| 日韩 女同 综合| 天天天天天干夜夜夜夜夜操| 毛片久久| 亚洲久久东京热一二三四五区视频| 欧美做爰无码A片视频| 精品久久久久综合无码| 天天日日日射| 曰韩成人免费视频| 91精品国产91久久福利| 中文一区在线日| 久久五月天婷婷| 偷拍偷窥与盗摄视频专区| 97日视频| 91欧美长吊| 国产精品久久久久综合| chaopen97久久| 亚洲国产综合久久天堂| 日韩操逼性鲍| 亚洲情欲| 性欧美| 91人妻丝袜无码| 黑人黄片在线免费观看| 激情五月综合开心五月| 久久αⅴ| 超碰97亚洲区| 激情文学 国产一二三aV| 日va操| 美女9118禁| 久草色悠悠在线视频| 色久桃花影院在线观看| 久久久久久久9| 日本东京热大香蕉a片| 亚洲成人免费在线| 午夜一区| 精品毛片久久久精品毛片| 日韩无码一级黄色av片| 日本加勒比无码专区| 制服中出中文人人精品| 日韩精品人妻中文字有码在线| 国产一区96在线| 99久久精品国产高潮| 不卡av在线中文字幕| 亚洲。天堂。日本在线观看| 开心六月色| 婷婷五月天基地| 乱伦3P视频| 亚洲精品国产熟女| 成年人网站在线免费观看| 婷婷激情四射| 欧美激情区| 中文字幕av片| 亚洲脚交| 国产丝袜高跟美女av免费观看| 久久99999| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | caoni国产亚洲av| 乱伦熟妇一区二区| 国产女同视频在线播放| 日韩黄色av中文字幕| 日本孕妇一区二区视频操逼免费看 | 爱爱久久| 蜜桃一区二区三区| 中文熟女五十乱码在线| 亚洲drav色图| 人妻少妇久久| 后入综合久久| 美女91网站| 一级毛片电影免费看| 亚洲综合首页| 天天做天天爱夜夜爽毛片试看| 国产一级内射高清视频| 熟女熟妇伦久久影院毛片一区二区 | chaopen97久久| 蜜臀久久精品久久久久视频| 亚洲第一男人天堂| 一区二区影视| 国产精品第一区第一页| 蜜臀AV网站| 婷婷伊人网| 亚洲综合五月天| 婷婷久久综合久| 免费黄色视频网址| Av色五月| 亚洲第91页| 中文字幕精品三级久久久| 狠狠操狠狠燥| 超碰97中文| 欧美日韩电影成人在线| 色综合色色| 狠狠中文字幕| 91 亚洲情侣偷拍 久久| 亚洲天天自拍| 欧美探花网| 国产CHASE男男GAYGA 毛多色婷婷| 日韩一级片在线看| 青青草啪啪网| 亚洲激情综合另类| 天天色黄色影院天天操| 综合色99| 欧美少妇性乱| 亚洲激情视频| 国产av激情无码久久天堂| 熟女精品va中文字幕| 中文字幕 码 自拍 视频 区| 97视频在线观看高清资源| 色老久久| 高清无码久操视频| 这里都是精品在线观看| 青青草手机在线免费观看| 成人青青草原伊人| 亚洲精品国产熟女久久久久久| 婷婷激情五月| 国产风韵犹存熟妇三区| AA级电影三区| 一色网男人的天堂| 亚洲加勒比色图| 婷婷av在线中文字幕| 国产精品老师| 亚洲凸凹超碰成人| 岛国网址国产| 蜜臀精品1区2区| 精品二区三四区五电影 | 97超碰伊人| 韩日欧亚a级| 国产精品黄色三级av| 偷窥自拍亚洲色图| 亚洲无992tv| 日韩精品一区二区三区色欲| 久久久91福利姬| 噜噜噜在线视频| 内射白嫩美女| 久久精品一区二区一8| 操操啪| 91嫩草在线| 超碰无码加勒比| 色婷婷aV一区二区三区麻豆综合| 黄色工厂这里只有精品| 丁香五月久久| 亚洲精品欧洲色| 免费A V在线| 性感美女啊啊啊在线| 17c在线成人免费A片观看| 久久婷婷色综合一区二区三区| 欧美人妖内射| 欧美男人一区| 久久久999| 丁香六月婷| 91色欧美| 伊人成人情色综合| 国产91av在线播放| 久久中文字幕女同性恋一区| 国语av最新自产拍在线观看| 久男人久久| 国产日韩欧美三级片| 亚洲精品久久久久久| 欧美亚洲中文字幕| 日本免费二区三区| 大香蕉123| 欧美劲爆第一页| 天天干美少妇一区| 熟妇综合一区二区三区| 亚洲精品国产av天美传媒| 免费一级精品啪啪视频| 91丝袜在线视频| 一区二区三区四区免费视频| 亚洲欧洲日韩中文字幕一区| 久久精品视频久久久| 美国日韩黄片| 2017天天透天天通天天擦| 中文字幕亚洲在线一区| 青青草好吊色| 91久久午夜无码鲁丝片久久人妻| 超碰成人最新最好看| 98超碰欧美| 白丝1区2区3区| 吖在线不卡一区二区国产剧情| 六月婷婷一区二区三区| 色婷婷久久| 男人天堂电影院| 婷婷另类小说| 久操大香蕉手机视频在线看| 亚洲码在线中文在线观看| 香港日本韩国人妇99www.wccm20| 精品久久視頻在线| 国产精品爱欲| 午夜AV污污污| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | www.一本大99| 成人午夜无码视频| 亚洲97成人在线观看| 天天超级碰碰碰| 日本狠狠干| 日韩簧片免费看| 97精品一区| 日韩伦理视频| www.99热| 在线观看国产黄色| 天天搞在线综合网| 精品综合久久久久久五月天| 超碰一区二区| 丰满精品人妻少妇久久字幕| 男人天堂一区二区| 色综合网1| 久久精品国产精品一区| 亚洲精品欧洲色| 久久噜| 国产精品肉丝自拍| 日韩乱码Av| 女人爽到高潮潮喷18禁网站| 国产大学生口爆吞精合集| 国产97在线视频| 91在线丝袜| 精品一久久久| 亚洲丝袜色图| 尤物av网站| 五月天婷婷综合网| 婷婷久久五月| 亚洲精品中文字幕一区在线视频 | 亚洲人妻一区二区三区| 亚洲综合婷婷| 天天精品| 亚洲超碰AV| 99热99在线播放激情| 国产黄色视频久久| 性猛交| 91操熟女视频| 成人九九| 男人的天堂va在线| 酒色综合网| 亚洲色图A| 蜜臀AV午夜精品久| 欧美性性性| 91热| 超碰地址久久| 亚洲天堂男人天堂网| 中文不卡视频| 亚洲欧美第一页| 天天澡天天狠天天天做| 男女一进一出视频久久| 2017av无码免费无线播| 人人操人人舒服| 人妻精品免费一二三区| 综合欧美激情网| 高跟丝袜AV专区国产| 欧美性爱三区二区| 久久久97| 志村玲子视频一区二区| 婷婷国产精品九区| 九九成人精品| 国产又长又大又粗的视频| 91熟女.com| 99精品无码| 久久亚洲一区女同性恋中文字幕| 亚洲欧美首页| 国产精品久久久久亚洲av| 色嗨嗨在线| 亚洲欧美激情在线视频| 狠狠久久亚洲欧美专区| 蜜臀久久99精品| 久久久内射良家| 久久五月份| 性爱AV天堂| AV一起草在线| 一类无码操逼视频| 熟女视频久久| 1区2区3区中文字幕日韩| 麻豆 亚洲 97| 亚洲狠| 国产1024在线播放| 久久亚洲精品成人av| 久久99网站| 丝袜喷水在线| 另类图片五月天| 91骚熟女| 亚洲欧美日韩综合在线尤物| 九色 人妻 大香蕉| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 国产人妖视频一区在线观看| 五月天激情四射| 欧美日韩人人精品| 骚日日av| 综合伊人激情| 国产精品一二三区福利| 日本免费一区二区不卡| 婷婷婷婷婷婷久久久久| 日本肉体xxxx裸交| 日韩国产十八禁| 2017天天操天天日| 巨爆乳一区二区爆乳区| 男人的天堂2019AV| 亚洲少妇免费视频\| 操逼A∨| 久久五月视频| 五月开心久久AV官网| 男人天堂欧美| 久久久久国产无av| 久久草视频污视频| 在线毛片片免费观看| av国产无码| 亚洲自拍欧美色综合| 国产在线播放成人免费| 欧美激情综合色综合啪啪五月| 夜夜国产一区| 激情五月综合开心五月| 亚洲91av| 91天天日| 加勒比无码毛片| 日韩性爱人人爱人人操| 欧美91在线+|+欧美| 欧美一区二区三区不卡高清视频| 婷婷激情四射| 高清无码91| 欧美性爱另类综合| 热久久无毒不卡| 国产精品69人妻无码久久久| 老汉网| a片 xxxx受爽视频| 禁止观看美女黄| 9久久久久| 欧美1727免费观看视频| 国产sv美女内射| 久久久精品成人国产| 亚洲的天堂网| 大香蕉黄色一区| 久久大香蕉97| 色噜噜狠狠色综无码久久合欧美| 3级毛片一二| 婷婷91| 操久久久久| 五月婷在线| 精品人妻少妇| 欧美精品另类人妖xxxx| 亚洲无码精品AV久久久| 白丝少妇一区二区| 午夜福利免费福利视频| 伦理日韩国产久久| 欧美网站免费| 人妻91少妇| 1204av韩国| 操高情无码| 五十路熟女在线不卡观看一区二区| 成人美女av| 91老妇女| 99青草| 免费啪啪av| 淫穴高潮色图| 日本三级久| 精品蜜乳AV免费观看| 久久天天躁日日躁狠狠躁 | 老熟女91av| 秋霞免费无码视频日韩A片| 国产乱码精品久久久久久| 国产成人一级av88| 99热这里都是精品| 亚洲AV高潮| 亚洲一区二区中文字幕| 精品九九九九九九| 久久夜夜夜夜| 在线国产探花| 国产三级在线现体验区| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 欧美中字不卡| 九九无码久久精品视频| 国产亚洲中文不卡二区| 91中文字幕制服丝袜免费视频| 91国产丝袜足交精品视频| 国产一区二区a毛片| 久操频道免费在线呗看| 大香蕉宅男伊人| 日本免费亚洲欧美| 日韩中文字幕视频| 日韩大香蕉| 亭亭在线资源| 欧洲射精91| 国产97色在线| 色黄色美女大长腿午夜视频| 中文字幕97| 少妇精品久久久八区九区| 超碰久久性爱| 国产亚洲综合欧美一区| 国产A v无码专区| 久久夜夜| 九九九九AV| 天天躁夜夜躁狠狠躁AV| 99www.bibizy香蕉资源国产一区二区三区高清 | 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 人人超碰在线观看黄| 亚洲第一页色| 亚洲夜夜欢无码一区二区| 亚洲无无码αⅴ每日更新| 欧美人妻制服| 91欧美www| 丰满丝袜少妇AV| 久久国模av| 亚洲丝袜天堂| 国产日韩精品一区二区三区| 人人色97| 亚洲nv男人的天堂网| 91人人臊| 久久性爱城| 亚洲二区精品在线观看| 欧美人与性动交a美精品| 亚洲乱色熟女一区| 免费国产电影一区二区| 中文?日韩?免费?精品| 91美女小视频| 国产高清成人免费视频| 蜜臀久久99精品久久久| 久久久久久九| 东北女人无套内谢视频| 激情色图| 搡老女人911熟妇老熟女| 亚洲欧美另类激情小说| 中文字幕av亚洲精品| 国产高清午夜成人在线观看| 2021国产成人精品久久| 四虎午夜影院| 久久久无码av精| 亚洲欧美国产其他二区| 国模精品娜娜一二三区| 五月天激情视频| 久久,精品一二三| 日本有码影片下载 | 亚洲AV麻豆Aⅴ无码电影一| 天堂v无码免费视频| 亚洲美女AV无码| 欧美色www亚洲国产阿娇要播| AV乱伦国产| 国产操逼视频在线观看| 色嗨嗨在线| 人妻22p| 国产原创自拍| 中文字幕片| 久久99草| 99热婷婷一区二区三| 97干色| 精品久久久久久无码| 欧美性爱三区二区| 99性爱| 亚洲熟妇熟在线电影视频| 九九热精彩视频| 欧美桃色网| 91综合色噜噜| 日韩人妻免费精品| 男人的天堂2010| 十八禁黄色成人网站观看| 97超级色碰碰| 国产福利合集| 欧美日韩操逼动图| 99re视频在线观看这里只有精品| 欧美天堂日韩三级国产传媒| 欧美偷偷网| 日本成人免费一区二区三区| 日韩人妻播放| 欧美性猛交美女自慰91| 少妇三P| 99热这里都是精品| 国产极品精品美女视频| 激情五月天网站| 好看的91视频| 麻豆亚洲AV成人无码久久精品| 摸奶性爱视频网站在线免费播放| 激情干在线| 日本天堂网| 久久久久久99999国产精品| 中文字幕蜜乳av| 新婚人妻扶着粗大强行坐下| 台湾佬激情综合| 亚洲系列欧美| 中文字幕精品一区二| 婷婷久久大香蕉| 天天天天天天天天综合| 久久春色| 丰满人妻av一区二区三区 | 天天看天天日| 噜噜吧,噜噜色,噜噜| 夜夜久久| 在线免费观看高清无码视频| 亚洲第一在线视频| 色九九综合AV| 6080YYY午夜理论片在线观看| 青青草中文-久久青草精品一区二区三| 97干综合网| 在线观看免费视频国产| 亚洲一二三精品久久网| 久久久四区| 亚洲中文字幕av| 狠狠爱夜夜干| 亚洲va有码在线天堂| 97爱欧美| 国产在线综合网| AV天天在线观看| 精品日日人妻| 91丨九色丨东北熟女| 久超碰这里只有精品| 久久高清欧美国产| av 模特一区了| 亚欧无码在线| 人妻熟妇久草在线| 欧美系列在线一区二区| 精品欧美日韩在线观看| 人妻aa| 舔人妻中文免费视频| 久精品无码av一区二免费国产在线观看 | 60秒免费小视频| 久久久久久国产成人| 蜜桃视频精品一区二区三区| 麻豆国产97在线| 欧美狠狠弄| 伊人精品久久网站| 色踪合AV| 婷婷视频网| 超碰2017| 丝袜综合| 亚洲中文国际强奸字幕| 久久精品99| 大香蕉五月天| dy888午夜老子影视达达兔| 99热这里只有精| 亚洲图片色图欧美另类| 日本孕妇孕交| 色婷婷小说| 久久久久久网址| 日日干男人的天堂| 国产精品无码AV网站| 1024精品在线| 欧美有码亚洲中文字幕一区二区三区四区| 欧美爆乳精品一区二区| 91艹| 吻戏激情性巴克| 国模私拍一区二区三区神乳| 日本三级韩国三级美三级91| 五月天偷拍| 超碰在线人妻中文字幕| 色色青青久久| 又大又长又爽| 日本高清_区二区三区| 抽插亚洲无码| 久久久不卡区一区二区三区久久久| 国产精品一区二区三区,亚洲综合| 成人青青草原伊人| 美女91在线观看| 岛国成人av在线播放网址| 思思热国产高清| 久久人妻少妇| 亚洲熟妇丝袜在线观看| 午夜福利视频在线一区| 中文字幕欧美日韩三级| 国产乱不卡| 91女在线观看| 超碰人人超在线观看| 超碰在线人妻中文字幕| 亚洲图片小说欧洲| 91久久国产综合精品| 日韩欧美视频青青| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 激情抓乳插进去啪啪啪日韩| 黄色工厂这里只有精品| 九九九热精品| 麻豆九九九| 人妻激情偷乱视频一区二区三区 | www九九热| av天堂天堂av日韩| 91色色网站| 又黄又硬又粗又长国产视频| 淫乱图区| 男人的天堂色偷偷青青草视频婷婷网| 国产伦精品一区二区三区在线观| 操操逼视频| 91精品老女人| 91色插| 亚洲骚男同com| 日韩噜噜69| 久久久久久久78| 99久久com免费视频′| 女人爽到高潮潮喷18禁网站| 亚洲一级特黄大片在线播放91| 亚洲春色一区二区三区| 亚州综合色| 欧成人精品一区二区三区| 精品人妻一区二区蜜桃视频| 偷拍2020| 亚洲国产青青| 东北操逼| 国产精品高朝久久久久久久| 日日日色色色色色| 青青草久草AV| 国产精品一级二级在线| 超碰97在线色男人??| 欧美 亚洲 另类 综合| 国产精品网站免费| 美国久久一二三四| AV在线资源| 日本最新免费韩国1区2区视频播放| 欧美在线伊人色| 日韩av三四区| 中文字幕十五区| 蜜屁Av| 色偷偷人人玩人人舔人人操人人摸人人爽 | 看看日B真人视频| 色777999综合| 暴力av在线| 超碰人妻久久| 日韩欧美性吧婷婷乱伦大香蕉| 中文字幕一区二区视频在线观看 | 妇人噜噜| 亚洲 欧美 综合 91| 四虎影视 亚洲无码| 日本道人妻久久久在线不卡色视频| 欧美 日韩第一性色| 97超级久久| 亚洲综合第一页| 成人97人人超碰人人| 国产中文精品一区二区在线观看| 人妻在线视频| 色五月婷婷五月天| 欧美中文字幕一区 | 久久精品—区二区三区内射| 熟女乱3伦999| 久草国产在线视频| 99热国产| 超碰人妻久久人妻中文97| 亚洲色图 图片| 外国免费性情大片| 91一区二区三区蜜桃| 在线一道啪| 激情丁香五月婷婷| 欧美日韩少妇色情| 97操97干| 成年人网站在线免费观看| av网页一区二区三区| 丁香五月大香蕉| 免费人人搞97| 亚洲九九视频| 韩三级a视频在线观看| 欧美网站免费| 青青草在线视频人人想人人上| 人人搡人人肉久久精品| 超碰色图| 欧美,日韩综合久久| 欧美色五月| 老熟妇一区二区三区啪啪| 天天亚洲| 日韩av影片在线观看| 精品一区96| 亚洲成人AB| 天天弄天天操| 欧美日韩国产传媒在线精品| 中文子幕一二三| 熟女激情综合网| 亚洲高清在线| 欧美成人一区二区| 欧美国产精品久久九九| 手机看片1025| 欧美青青视频| 中文字幕在线免费观看2| 中文字幕 国产 精品| 2017大香蕉国产精品久久| 国产深喉视频一区二区| 91人人臊| 色亚州人久干视频在线观看免费版| 色欲天天综合久久久无码网中文| www色日本| 青青伊人加勒比海| 91露脸熟女专区| 97爱爱爱综合| 欧美亚洲今日在线| 操逼网站视频漫画国产| 亚洲诱惑| 精品国产三级av韩国在线| 日韩中文欧美| 精品美女少妇一区二区| HEYZO高无码国产精品227| 亚洲欧洲色情高清| 欧美操人视频| 少妇诱惑视频| 一区二区乱码福利| 亚洲美乱| 免费观看一区| 青草青青久久久久久国产| 亚洲丨在线| 国产日韩欧美三级片| 日产成人久久| 中文字幕精品资源在线| 欧美在线视频播放| 久操com| 久久久久密臀视频| 亚洲国产一区二区入口| 亚洲欧洲色情高清| 日本一级婬片试看三分钟| 高潮嗯啊性感美女久久久| 欧美真人抽搐一进一出gif | 日本精品中文字幕视频| 欧美黄色图片| 八戒午夜福利理论片| 亚洲大色堂| 亚洲国产欧美另类自拍| 999 久久久| 国产亚洲日本精品在线| 亚洲欧美激情小说| 天天天天干| 综合97| 97se综合网| 国产高清26uuu| 九9精品| 99热18| 激情五月天中文字幕色| 一牛影视久久久一区二区三区| www.亚洲黄色| 国产熟女二区| 2024人人操人人摸| 日韩一级二级三级在线不卡观看完整| 91超碰人人| 国产精品原创巨作?v网站| 蜜臀久久在线视频| 国产92麻豆天美精品色欲5| 97伊人超碰| 色穴精品| 国产亚洲中文不卡二区| 啊啊啊慢点| 精品无吗久久| 日亚韩精品视频二区三| 色逼综合| 欧美91网站| a网站免费观看| 国内毛片热久久思思热| 一区二三区四区视频大全套| 婷婷六月天| 青娱乐欧美激情一区二区| 亚州精品人妻一二三区| 91蜜臀在线久久久久| 国产精品人妻熟女aⅴ| 欧美性第1页| 69综合网| 天天拍天天操| 日韩人妻制服丝袜av| 日韩图色| 色眯眯av| 91九九九馒头| 人人看人人摸人人色| 十八禁啪啪视频| 久久中久文96| 97香蕉人人乳| 婷婷色色五月天| 嗯啊视频免费在线观看| 久久久蜜桃臀无码视频| 超碰97在线中文| 日本精品88888888| 久久久五月天| 伊人久久综合精品欧美| 少妇综合| 日韩无码第3页| 天天操人人操骚逼网站| 欧美专利1区2区3区4区5区免费| 欧美黄片欧美黄片xxx| 亚洲春色一区二区三区| 91n处女在线观看| 国产精品久久久久久久免牛肉蒲团| 嗯嗯嗯啊啊啊在线免费观看| 精品国产久热在线观看| 人妻81p| 蜜乳AV免费观看| 亚洲图片欧美色| 校园春色 亚洲| 嗯~啊~快点 死我视频免费看网站| 美女露胸露尿口| www.婷婷六月天| 在线国产探花| 1024人妻熟女一区二区三区| 8x福利精品第一福利视频导航| 久久久久夜夜夜夜| 日韩有码中文字幕女同性恋| 一摸二插三插| 99热大香蕉伊在线| 天天舔天天日天天射| 大香蕉宅男伊人| 亚洲综合113页| 97视频网站在线观看| 五月天激情网站| 激情婷婷丁香| 99色综合| 婷婷导航| 国产原创自拍| 激情六月婷婷| 色色五月婷婷| 色优久久| 婷婷五月丁香五月| 99这里都是精品| 天天爱天天操| 蜜桃色色网站视频三区| 69人妻精品一区二区绯色| 99热综合| 色色色色色色色色色色色色色色综合| 日韩人妻资源在线看| 五月婷婷综合在线| 九九亚洲| 男人下部插入女人下部| 男人天堂久久日韩| 欧美激情久| 999熟女精品| 日韩人人精品| 在线看污网站| 亚洲综合欧美| 久久精品国产亚洲妲己影视| 久久精品国产AV一区二区三区| 99久久久无码精品国产人| 人妻中文字幕精品无码| 玖玖玖玖精品国产剧情| 欧美性爱另类综合| 午夜精品久久久久久久男人的天堂 | 天天综合影院91| 狠狠亚洲| 91久热| 日日爱99| 九色精品视频导航1| 另类一区| 天天舔天天| 亚洲日韩青青草色月| 综合激情一一91| 欧美日韩久久精品爱爱| 国产精品精品系列在线观看| 国产精品亚洲无码| 丁香九月激情啪| 青青草原狼av| 欧美91久久久久| 欧美天天综合网版| 人妻献身系列第54部| 在线v中文字幕一区二区三区| 婷婷丁香六月天| 综合日韩激情另类图片| 999熟女精品| 日韩大香蕉| 成人a大片在线观看| 99久久久99久久91熟女| 欧美高清性猛交| 天天综合网合集91| 欧美第二页| 中文字幕亚洲永久精品| 天天干一干| 91久久国产综合精品| 奶水 人妻 哺乳 在线| 无码 黑人一区二区三区| 六月激情婷婷| 人妻少妇精品久久久| 国产精品一区二区三| 最新三级网址| 欧美熟妇视频| 91熟女视频网| 亚洲图片日本AⅤ欧美在线| 五月天大香蕉| 精品九九九九九九九九九| 九九热av| 国产suv精品一区| 成人精品一区二区91毛片不卡| 黄污污污污| 亚洲综合电影| 99天天超碰| 国产Aα| 中日韩久久久免费看| 男男H黄动漫啪啪无遮挡网站| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 欧美综合中文| 天天日天天舔天天喷天天射| 日韩黄片影院| 熟女露脸激情自拍视频| 玖玖婷婷五月天| 亚洲 综合 第一页| 芊芊操逼视频无码| 国产农村妇女精品1区二区| 经典丝袜一区| 日本女优在线视频福利| 骚人妻少妇视频| 色九九综合| 蜜臀久久99精品久久久久久婷婷 | 色97国产69香蕉| www.色操逼| 日韩免费中文字幕视频| 男人的天堂久久狠| 亚洲AV乱码专区国产噜噜亚洲| 黄色网址在线免费观看| 网友自拍第1页 | 69人妻精品一区二区绯色| 久久riav中文精品| 国产在线综合网| 亚州综合色| 亚洲天堂久久| 欧美天堂亚洲电影院一区在线播放| 啊啊啊啊嗯嗯嗯用力好爽| 怡红院一区二区熟女人妻| 午夜男女爽爽大片免费观看| 久久久亚洲精品中文字幕人妻| 免费国产| 欧美高潮| 亚洲色综网| 日韩人妻丝袜美腿中文| 精品人妻二区三区| 色香阁在线| 日韩紧密久久| 岛国AV一区二区电影| 97香焦色区| 日韩精品三区四区| 天天流夜夜操| 久久色人体| 欧美专区第一页| 超碰调教97| 欧美日韩国产男人| 99在线啪| 99rre在线精品99re8| 一卡二卡在线播放| 青草精品视频-日本久久久久网站| 欧美97在线欧| 97久久久| 在线a v| 激情五月丁香五月| 蜜桃成人1区2区3区| 97色视频在线| 91欧美网| 老外又粗又长一晚做五次| av在线一区二区三区| 婷婷尹人大香蕉免费| 国产精品久久久久久夜夜夜| 一区二区三区无卡视频在线观看| 97网址97| a亚洲欧美色欲| 一区二区视频在线播放| 吻戏激情性巴克| 少妇内射www在线观看视频| 亚洲人精品久久久| 国产精品久久久啊| 国产AV高清AV无码| 青娱乐导航AV| 亚洲干B| 亚洲第一黄色av网站| 中文字幕日韩综合| 91美女国产在线| 91伊人久| 蜜桃在线观看一区二区三区| 久久97视频| 国语av最新自产拍在线观看| 超碰性爱97| 在线a亚洲视频播放在线| 黄片www.| 熟妇女伦乱视频视频| av在线观看不卡网站| 国产suv精品一区二区四区999 | 熟妇艹鸡八| 欧美激情久操网| 日韩偷拍色图| 最新制服中文第一页| 婷婷五月天综合网| 久操免费电影| 中文字幕亚洲在线一区| 国产欧洲精品亚洲午夜拍精品| 91午夜无码| 国产熟妇一区二区| 最新三级网址| 亚洲熟久久| 精品伊人久久久大香线蕉小说| 无码精品啪啪啪一区二区三区三州| 一本一道波多野毛片中文在线| 色麻豆AV| 97久久精品亚洲| 国产精品人妻无码久久久互動交流| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 婷色五月| 探花精品 一区二区| 情色av电影| 国产精品蜜乳AV| 久久精品国产亚洲粉嫩| 天天干,夜夜爽| 精品免费视频国产一区| 东京热av男人的天堂| 91人妻素女| 福利视频合集| 丝袜美腿校园春色| 99热成人| 黄色在线网站| 91殴美| 欧美亚洲涩涩| 91碰碰| 7777奇米影视久久| 三级三级三级a级全黄三| 91视频在线观看18| 97色欧州| 婷婷五月丁香五月| 国产JDAV无码视频在线观看| 91人妻久久久久久久久久久久久| 天天日日夜夜| 国产综合网站在线播放| 久操97| 超碰在线在公开超碰在线在公开| 精品网站9999| 亚洲AV免费在线| 国产欧美岛国精品一区| 亚洲精品国语在线播放| 亚洲 日本 不卡| 物业黑人 AV一区| 99只有精品| 四虎免费看黄| 国产怡红院| 色妺妺在线视频| 99综合| 日韩在线视频1234| 五月综合色| 操一区| 志村玲子视频一区二区| 国产欧美一区激情交| 亚欧成人中文字幕一区| 亚洲暴力强奸AV| 亚洲无码一二三区| 深夜国产一区二区三区在线看| 韩国午夜理伦三级好看| 97欧美性爱| 自慰白浆在线观看| 九九色热| 国产视频一区二区在线|