99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

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

從數(shù)據(jù)模型到套打出票:房租水電費(fèi)收據(jù)打印系統(tǒng)落地實(shí)踐 簡(jiǎn)介面向房東、物業(yè)及小微企業(yè)收款人員的房租水電費(fèi)收據(jù)打印工具聚焦房租、押金、水費(fèi)、電費(fèi)、燃?xì)赓M(fèi)等日常收款場(chǎng)景意在替代手寫收據(jù)和Excel對(duì)賬的繁瑣流程。軟件將收據(jù)管理、出租房管理、客戶資料庫(kù)與數(shù)據(jù)分析整合在一起支持即輸即打、單據(jù)編號(hào)自定義、金額自動(dòng)計(jì)算與大小寫轉(zhuǎn)換、批量打印、按收據(jù)生成對(duì)賬單并可將數(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)。資源頁(yè)顯示已有292人瀏覽學(xué)習(xí)適合需要規(guī)范開具房租水電收據(jù)、減少手工錄入與對(duì)賬差錯(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í)把編號(hào)、留底、跨月對(duì)賬一起管住。它不適合大型物業(yè)的全套計(jì)費(fèi)系統(tǒng)但對(duì)付幾十套自持房源、每月集中開一次票的場(chǎ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ù)量一過二十套問題就一茬接一茬地冒出來編號(hào)靠手填兩個(gè)人同時(shí)開單必然撞號(hào)收據(jù)打廢了重打一張舊號(hào)是作廢還是留著表格里根本看不出來租戶中途退租按天折算的租金在下個(gè)月對(duì)賬時(shí)已經(jīng)找不到計(jì)算依據(jù)更麻煩的是歷史數(shù)據(jù)——你想查某個(gè)房間過去十二個(gè)月的水電用量曲線得手工把十二張表拼起來。把數(shù)據(jù)拆成四張表的理由很樸素房間和租戶是相對(duì)穩(wěn)定的事實(shí)抄表讀數(shù)和賬單是按月追加的事件。穩(wěn)定的事實(shí)改動(dòng)少、可以放心做外鍵按月追加的事件只允許插入、不允許覆蓋否則一旦算錯(cuò)連回滾的基準(zhǔn)都沒有。賬單和收據(jù)還要再拆一層——賬單是可重算的業(yè)務(wù)結(jié)果收據(jù)是已經(jīng)交給租戶的憑證兩者的生命周期完全不同。賬單算錯(cuò)了可以作廢重開收據(jù)一旦遞出去只能標(biāo)記作廢后另開一張新號(hào)的絕不能改數(shù)字。這個(gè)拆分帶來的直接好處是出票失敗、打印機(jī)卡紙、租戶要求補(bǔ)打都只是往收據(jù)表里插一條新記錄賬單本身不動(dòng)月底對(duì)賬時(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, -- 房號(hào)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ù)號(hào)全局唯一 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í)插出兩張賬單月底對(duì)賬直接翻倍serialUNIQUE編號(hào)重復(fù)是收據(jù)類工具最致命的錯(cuò)靠約束兜底status文本枚舉作廢用狀態(tài)位表達(dá)不 DELETE留痕比省空間重要注意不要用是否已打印來控制收據(jù)能否重打用status加一張receipt_log表記流水。狀態(tài)位丟失可以重建流水丟了就真丟了。2.3 三個(gè)必須提前定死的約束編號(hào)唯一且不可復(fù)用。編號(hào)規(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 的寫鎖是庫(kù)級(jí)的天然串行 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)鍵是把取號(hào)和占號(hào)放在同一個(gè)寫事務(wù)里中途崩潰會(huì)整體回滾不會(huì)出現(xiàn)號(hào)被吃掉的情況。如果業(yè)務(wù)允許跳號(hào)作廢的號(hào)保留空缺把next_no的自增和收據(jù)插入也放進(jìn)同一事務(wù)失敗就整筆重來。抄表記錄只追加。抄錯(cuò)了怎么辦插一條sourcecorrect的新記錄用read_at的時(shí)間戳排序取最新而不是 UPDATE 舊行。原因是月底對(duì)賬時(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 在庫(kù)里變成三個(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ù)行這對(duì)遷移期反復(fù)試錯(cuò)很友好。跑完一定要抽三條數(shù)據(jù)手動(dòng)核對(duì)租金金額尤其是表格里帶千分位逗號(hào)的寫法——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ī)則聽上去簡(jiǎn)單真落到代碼里邊界情況比規(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 天交整月的爭(zhēng)議。我一般選按實(shí)際天數(shù)并在賬單備注里把起始日 / 天數(shù) / 當(dāng)月天數(shù)三個(gè)數(shù)字打出來收據(jù)上看得見爭(zhēng)議就少一半。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à)覆蓋對(duì)賬就再也對(duì)不上了。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ù)、對(duì)賬單、導(dǎo)出表格三處如果各調(diào)一次改一次規(guī)則就有三處不同步。3.4 寫庫(kù)前的一致性校驗(yàn)賬單落庫(kù)前的最后一道門是幾條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ù)成本適合場(chǎng)景Word/Excel 郵件合并中靠表格邊距慢幾十張就卡低人人會(huì)改一次性出票套數(shù)少HTML 瀏覽器打印低受瀏覽器縮放影響中中屏幕預(yù)覽為主A4 普通紙代碼生成 PDF高坐標(biāo)可控到 0.1mm快中改動(dòng)要發(fā)版兩聯(lián)針式票據(jù)、需要留底走兩聯(lián)針式票據(jù)紙的基本只有第三條路。瀏覽器打印的邊距、縮放、頁(yè)眉頁(yè)腳三個(gè)變量疊在一起同一份 HTML 在兩臺(tái)機(jī)器上能打出兩種結(jié)果校準(zhǔn)一次管不了多久。生成 PDF 的好處是所見即所得——你看到的 PDF 坐標(biāo)就是打印機(jī)上紙的位置偏差只來自打印機(jī)本身的機(jī)械誤差是個(gè)可測(cè)量的常量。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 # 中文字體必須先注冊(cè)否則中文全變方塊這是最常見的第一次翻車 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)的字號(hào)再小容易糊 W, H PAPER def t(x_mm, y_mm, s): c.drawString(x_mm * mm OX, H - y_mm * mm OY, s) # y 從頂部往下算便于對(duì)紙 t(18, 16, f收據(jù)號(hào){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ù)的。字號(hào)釘在 10.5pt 是踩出來的針式打印機(jī)分辨率低9pt 以下漢字的橫畫會(huì)斷成虛線12pt 以上兩聯(lián)紙的行距放不下五行。4.3 批量出票編號(hào)、命名、失敗重試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ù)庫(kù)。utf-8-sig的 BOM 是給 Excel 看的否則失敗清單在 Windows 上打開全是亂碼。先生成 PDF 再統(tǒng)一送打印機(jī)而不是邊算邊打理由很實(shí)際批量出票時(shí)最怕打到第 17 張卡紙前面 16 張已經(jīng)吐出來了后面 20 張還在不在隊(duì)列里說不清。先生成、核對(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)程序打印注意引號(hào)處理帶空格的路徑 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)程幾百?gòu)垥?huì)堆一堆后臺(tái)窗口批量超過 50 張建議還是走 PDF 閱讀器的命令行參數(shù)。4.4 打印偏移校準(zhǔn)三張測(cè)試頁(yè)定坐標(biāo)校準(zhǔn)是個(gè)純體力活但有固定套路把OX/OY歸零用同一份模板打一張只有邊框和十字線的校準(zhǔn)頁(yè)。用鋼尺量四條邊到紙張邊緣的實(shí)際距離和設(shè)計(jì)值相減得到上下左右的偏差。取上下偏差的均值填OY左右偏差的均值填OX。注意 PDF 的 Y 軸向上為正所以內(nèi)容整體偏上意味著要往負(fù)方向調(diào)。再打一張確認(rèn)四個(gè)角的誤差控制在 ±0.5mm 以內(nèi)就算過。把這組值寫進(jìn)配置文件別寫死在代碼里——換一臺(tái)打印機(jī)就得重新校一次。打印機(jī)側(cè)設(shè)置建議值說明紙張尺寸自定義 241×140mm不要用 A4 縮放縮放比例100% / 實(shí)際大小驅(qū)動(dòng)里適應(yīng)頁(yè)面必須關(guān)掉邊距全部 0由 PDF 內(nèi)部坐標(biāo)控制打印質(zhì)量草稿或普通高質(zhì)量模式進(jìn)紙速度變化會(huì)導(dǎo)致縱向漂移注意同一份 PDF 在兩臺(tái)同型號(hào)打印機(jī)上也可能有 1mm 差異屬于機(jī)械公差。真要做到零誤差只能一臺(tái)機(jī)器一套配置按打印機(jī)名稱存偏移參數(shù)。5. 避坑與排查五類錯(cuò)票現(xiàn)場(chǎng)的現(xiàn)象、成因和處置5.1 解壓即用的目錄選錯(cuò)程序起來就報(bào)錯(cuò)現(xiàn)象雙擊啟動(dòng)后提示找不到模板文件或數(shù)據(jù)庫(kù)或者干脆閃退同一份程序在別人電腦上正常。原因這類免安裝工具默認(rèn)按相對(duì)路徑找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ù)庫(kù)不行單文件數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)盤上的鎖機(jī)制不可靠。5.2 收據(jù)號(hào)重復(fù)或者整段跳號(hào)現(xiàn)象兩戶拿到同一個(gè)收據(jù)號(hào)或者打印中途崩潰重新打開后編號(hào)從 0050 直接跳到 0100。原因重復(fù)多半是取號(hào)用了MAX(serial)1且沒有事務(wù)保護(hù)兩個(gè)人同時(shí)開單讀到同一個(gè)最大值。跳號(hào)則是把占號(hào)寫成了預(yù)分配一批——啟動(dòng)時(shí)先取 50 個(gè)號(hào)放內(nèi)存崩潰后這 50 個(gè)號(hào)就丟了。解決取號(hào)必須和插入收據(jù)在同一個(gè)事務(wù)里靠 UNIQUE 約束兜底沖突就重試絕不預(yù)分配號(hào)段。已經(jīng)跳號(hào)的歷史數(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 換一臺(tái)電腦套打位置整體偏現(xiàn)象同一份 PDF在辦公室那臺(tái)針式打印機(jī)上正正好好搬到另一臺(tái)機(jī)器打出來整體偏下 4mm最后一行壓到撕線。原因打印機(jī)驅(qū)動(dòng)里紙張定義不一致或者適應(yīng)頁(yè)面沒關(guān)內(nèi)容被縮放了 2% 到 5%。也有可能是兩臺(tái)機(jī)器的紙張裝訂位置本來就差幾毫米。解決偏移量存配置文件按打印機(jī)名做 key第一次在新機(jī)器上跑一遍 4.4 的校準(zhǔn)流程。同時(shí)把驅(qū)動(dòng)的紙張尺寸、縮放、邊距三項(xiàng)截圖存檔換機(jī)器時(shí)逐項(xiàng)比對(duì)。5.5 單文件數(shù)據(jù)庫(kù)在共享盤上損壞現(xiàn)象某天打開程序提示database disk image is malformed或者賬單里憑空多出半條記錄。原因多個(gè)客戶端通過共享盤同時(shí)打開同一個(gè) SQLite 文件寫鎖在網(wǎng)絡(luò)文件系統(tǒng)上不生效兩個(gè)進(jìn)程同時(shí)寫頁(yè)文件結(jié)構(gòu)就爛了。解決單文件數(shù)據(jù)庫(kù)只允許單機(jī)單進(jìn)程訪問。多人開單的需求要么改成局域網(wǎng)內(nèi)跑一個(gè)服務(wù)端哪怕是個(gè)幾十行的 HTTP 接口要么按人分庫(kù)、月底合并。日常備份用VACUUM INTO backup.db而不是直接拷文件拷貝過程中有寫入的話拷出來的備份本身就是壞的。6. 出票前的驗(yàn)收用固定樣例集把錯(cuò)票攔在打印機(jī)之外真正讓我少賠笑臉的不是打印代碼寫得多漂亮而是一套固定樣例集。做法很土造 12 個(gè)房間覆蓋住滿整月、月中入住、月中退租、零用水、階梯跨檔、有上期欠費(fèi)、其他費(fèi)用為負(fù)退押金這七種情況賬期固定成三個(gè)月。每次改完計(jì)費(fèi)或模板先跑這批樣例把生成的 PDF 和上一次的逐字段比對(duì)再把下面這條 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ù)一對(duì)照異常立刻現(xiàn)形。驗(yàn)收清單我壓成了五行每次發(fā)版對(duì)著走一遍檢查項(xiàng)通過標(biāo)準(zhǔn)大寫金額12 組樣例全對(duì)含零值和跨組補(bǔ)零分項(xiàng)合計(jì)每張賬單分項(xiàng)之和等于總額無負(fù)數(shù)異常收據(jù)編號(hào)連續(xù)不重復(fù)作廢號(hào)有占位記錄套打位置首行、末行、右邊界三處誤差 ≤0.5mm歸檔完整性每張有效收據(jù)都有對(duì)應(yīng) PDF文件名含編號(hào)歸檔那塊我吃過一次虧某月清理磁盤時(shí)按修改時(shí)間刪了一批舊PDF結(jié)果里面有 6 張是補(bǔ)打過的收據(jù)編號(hào)對(duì)不上只能憑記憶重開。后來改成按賬期/編號(hào).pdf分層存每月出一次sha256sum清單和賬單表一起打包誰動(dòng)過文件一查就知道。我現(xiàn)在的習(xí)慣是任何跟金額、編號(hào)、坐標(biāo)相關(guān)的改動(dòng)先跑樣例集再看對(duì)賬 SQL最后才允許碰打印機(jī)。這三步順序顛倒過一次直接打廢了兩聯(lián)紙一沓重開還得挨個(gè)解釋。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情九九六月激情免费视频| 六月丁香五月激情亚洲AV| 五月丁香六月婷精品视频| 中文久久婷婷| 亚洲网站999| 美女婷婷六月色| 丁香五月影院| anquye伊人| 99这里有精品视频| 91九九热| 五月丁香 啪啪| 桃色激情五月天| 婷婷五月AV| 成人中文字幕在线| 久久思思热| 日韩黄黄| 亚洲精品又粗又大又爽A片| 9l视频自拍9l九色成人| 开心五月色婷婷综合开心网| 五月天色婷婷成人| 97偷拍在线视频| 久久a热| 玖玖婷婷免费| 婷婷综合精品视频97| 182无码| 丁香五月天天高清在线| 97人人搞| 日韩在线视频中文字幕| 99小精品| 久久精品国产一区二区三区四区| 天天操夜夜爽歪歪| 九九热中文| 午夜激情综合| 亚洲第一色色色色| 人人操人人看97干| www.五月天| 婷婷五月天国产手机在线视频观看| 亚洲中文字幕在线观看| 99久久国产成人精品| 日韩欧美颜射| 五月激情综合五月| 日本欧美国产| 超碰九热| 天天日,天天插| 五月激情网五月综合网| 成人视频在线免费播放| 九九AV| 激情五月婷婷综合视频| 欧美色图天堂网色| 99热精品在这里| 五月丁香激情综合啪| 丁香性爱在线视频| 91碰| 日韩六六久久电影| 九九色影视| 激情五月天社区| 乱色色色| 亚洲精品乱码久久久久99| 97婷婷五月丁香| 97色天堂| www,五月天激情| 激情综合五月天| 五月天另类视频| 久久人妻高清中文| 九月丁香婷婷综合激情| 色情久久久| 久久激情五月天| 国产Va视频| 区啪精品| 国产亚洲AV人片在线| 日本久久婷| 我要看激情五月天| 色婷婷成人影片| 99热99| www.99在线| 激情五月天视频| 色狠狠激情五月| xxxx五月天色色| 亚洲人人操| 激情综合网激情五月欧美| 久大香蕉| 激情av网| 九九色插| 九九九九精品精| 天天搡日日搡aaaaⅩ| 爱婷婷五月| www久久久| 婷婷WWW久久| 丁香五月激情综合| 色婷婷免费视频| 一根材五月婷成人| 五月丁香婷婷色色| 婷婷综合亚洲| 1999天天操夜夜操| 91丨九色熟女丨首页| 日日躁夜夜躁狠狠久久AV| 亚洲欧美丁香五月天亚洲欧美| 中文aV网| aaaaa黄色| 性爱五月婷婷| 色欲色欲久久宗合网| 成人版视频在线观看| 九九热区一区二区三区| 久久99激情| 99内射视频| www.金莲av| 色情综合网| 99操视频| 精品久热| 狠狠草在线观看| 婷婷五月天视频| 人人人操B超碰| 亚洲综合色网站| 天天噜日日噜综合无码| 婷婷伊人网| 熟女啪啪视频| 丁香五月婷婷激情尤物| 色婷婷成人网| 九九色色| 国产精产国品一二三在观看| 国产精品久久久久久妇女6080| 婷婷狠狠干| 无码人妻激情| 性爱综合网| 欧美黄色AA片哗啦啦啦| 亚洲中文乱字字幕在线永久| 激情5月天天天| 婷婷玉月丁香五月在线视频| 青草热视频这里只有精品| 色色啊| 99在线精品视频观看免费下载| 五月色丁香| 久久总和99| 在线免费观看激情视频| 超碰国产AV| 色青五月天| 婷婷五月乱交换| 婷婷黄色网| 91碰碰碰久久久久| 丁香97综合| 丁香五月天亚洲综合| 91丨九色丨国产打屁股网站| 亚洲操B视频| 九九热精品99| 欧美性生交XXXXX无码小说| 婷婷色五月激情| 色婷婷在线视频| 午夜大香蕉| 成人精品一区日本无码网| 国产精品久久欧美久久一区| tingtingseav| 综合狠狠干| 九色视频91疯狂| 成人噜噜网| 综合五月草| 91热er| 亚洲精品乱码久久久久久按摩观| 日日想日日夜日日操| 丁香五月亚洲综合| 五月丁香自拍| 天天日日夜夜| 成人国产网站| 99热99在线| 色五月天天| 五月婷婷六月丁香综合视频在线| 伊人久久五月天| 夜夜操,天天撸| 1区2区视频| 五月天婷婷av| 97人人操人人插| 伊人五月天97| 丁香五月日啪| 色婷婷小说网| 香蕉久日夜| av九九| 五月天成人综合| 天天久| 婷婷综合激情五月综合| 亚洲另类婷婷综合| 激情综合网,婷婷五月天| 久久久久久久久久人妻| 激情婷婷色色| 九色成人AV在线| www.五月婷| 欧美99热| 丁香六月无码播放| 久久婷婷五月综合| 激情综合在线播放| 99色播| 99精品综合视频| 就爱干 在线| 天天爽天天摸| 97丁香婷婷| 色婷婷丁香五月天| 少妇婷婷五月天| 2014天天爽| www色五月天| 久久人人九九| 丁香婷婷婷婷十二月在线观看视频| 五月婷婷激情性爱| 丁香六月激情综合啪啪| 99综合视频一体| 五月天大香蕉AV| 婷婷丁香五月天婷婷| 五月天停停成人网| 激情网五月天| 91精品久久久久久77777| 成人超碰AV| 丁香五月婷婷视频| 色狠狠色综合久久久绯色aⅴ影视| 日韩一级网站| 夜夜操天天爽| 欧洲第一无人区观看| 亚洲AV无码成人精品区电影网| 五月天婷婷激情网| 香蕉狠狠爱视频| 丁香性爱在线视频| 天天搞夜夜六| 色狠狠综合| 波多野结衣成人作品在线| 97操在线视频| 可以免费观看的AV| 九九九九中文字幕| 天天综合网亚洲综合网| 国产婷婷色综合AV蜜臀AV| 9999热在线免费观看| 九月婷婷在线观看| www.六月丁香看AV| 精品国产AV色一区二区深夜久久 | 黄网免费观看| 久久黄色片| 免费观看欧美成人AA片爱我多深| 开心五月婷婷五月| 久热伊人| 99热综合网| 国产玖玖资源| 91精选国| 特级片神马电影| 久久激情五月| 欧美丁香婷婷天天操| 日韩在线视频网站| 色色五月天丁香婷婷| 婷婷五月无码| 最新日韩AV中文字幕| 91操在线视频| 91久久| 日韩操女| 99狠狠| 五月婷综合| 天天cha成人综合网| 丁香五月天激情视频| 91九色 婷婷| 99精品在线观看视频| 久草九一| 99色色色色| 啪啪日热| 色情五月天首页| 俺去也在线官网| 婷婷五月激情综合| 五月丁香六月激情综合啪啪| 亚洲亚洲人成综合网络| 丁香五月天激情小说| 婷婷亚洲综合| 黄涩毛片| 五月婷婷综合在线视频| 五月婷婷色激情| 97人碰人操| 激情综合网,婷婷五月天| 狠狠色综合网| 噜噜噜噜在线| 久久九九经典| 九九99精品视频| 婷婷五月丁香欧洲| av大香蕉| 26uuu.| 99爱在线视频| 亚洲精品性色| 久久99日本精品视频免费观看| 五月开心深深爱激情综合| 狠狠爱丁香婷| 99亚洲视频| 亚洲成人网站在线播放| 俺去也五月天婷婷| 欧美综合婷婷欧美综| 欧美黑人巨大性生话| 99re思思在线视频| 久久久婷丁香五月| 深爱激情综合| 婷婷五月天成人导航| 99热99色| 丁香六月无码| 色婷婷激情| 亚洲成人免费电影| 亚洲综合五月天综合| 人妻无码视频网| 精品无码99| 五月婷婷影| 色五月婷婷 成人| 日本精品久久久久中文字幕| 婷婷丁香五月综合激情小说| 99热亚洲精品| 狠狠操狠狠爱| 色情五月停停丁香| 九九激情综合| 婷婷丁香日韩五月| 99热碰碰| 婷婷激情五月天色| 亚洲人妻电影| www.色婷婷.com| 五月天婷爱综合| 9999热免费视频视频| 66成人网| 久久精品在线| 精品爆操| 午夜少妇在线观看视频| 激情五月婷婷网| 国产五月天婷婷| 99热精品在线观看| 六月色播| 性色欲情 网站| 牛牛澡牛牛爽| 97精品欧美91久久久久久久| 丁香涩涩五月天| 99精品视频推荐| 五月婷婷啪啪| 亚洲激情另类| 精品99网站| 激情五月天。| 国产午夜一区二区三区| 色女伊人| site:jszngf.com| Caoporn公开| www.狠狠狠.com| 99色视| 六月丁香五月婷婷| 五月天色影院| 婷婷成人在线| 99精品在线观看视频| .精品久久久麻豆国产精品| 五月花免费视频| 婷婷射图五月天| 99色在线| 97色婷婷成人综合在线观看| 五月丁香啪啪伦理电影| 亚洲激情 久久| 色色婷婷色色| 亚洲免费综合一区| 激情五月天婷婷| 久久免费视频62| 国产免费一区二区在线A片视频| 久草婷婷网| 亚洲av网站| 婷婷干五月综合在线播放| 色色五月婷| 婷婷婷五月香蕉| 综合色99| 久久久久9999| 99热网址| 丁香五月婷婷在线观看| www国产亚洲色婷婷com| 亚洲婷婷丁香五月| 91打屁股免费看| 婷婷久久亚洲| 五月婷婷激情网| 五月综合激情综合久| 激情床戏| 九月av| 婷色影院| 风流少妇A片一区二区蜜桃| 五月婷网| 超碰日日操| 夜夜综合色| 婷婷五月俺要去| 欧美婷婷日本| 噜噜操操| 综合色吧| 91啪啪啪啪| 五月婷婷很很色| 丁香婷婷色五月| 丁香五月婷婷超碰在线| 人人玩人人橾| 欧美日韩成人| 97在线精品| 美欧日韩国产成人在战| 激情视频综合| 亚洲九九婷婷| 色婷婷四色| www.婷婷激情网.com| 色偷偷AV亚洲男人的天堂| 婷婷金品综合视频| 九九视频这里只有精品| 亚洲婷婷免费| 99久久这里只有精品| 97香蕉久久超级碰碰高清版| 色婷婷亚洲| 激情AV在线| 深爱激情五月天| 99re思思热久久| 色丁香五月婷婷在线| 丁香五月天婷婷中文| 欧美色色色色色色色色色色影视| 精品视频99看在线视频| 五月天激情在线视频| 9久视频| 色射影院| 丁香六月婷婷综合激情欧美| www超碰| 色五月色五天色情网| 午夜婷婷久久| 丁香五月在线自慰| 色色色五月婷婷| 黑人无码一区| 丁香激情网| 色射影院| 久久激情综合| 西瓜美女a片| 五月婷婷之六月丁香| 亚洲天堂AAA| 亚洲成人电影aaaa| 99热99美国在线观看| 九月久久婷婷| 秋霞性爱AV| 夜夜资源站| 丁香九月婷| 色性综合| 好吊丝aV| 婷婷五月天激情网站| 99亚州综合精品成人网| 99久在线精品| 97色婷婷| 五六月婷婷久久| 99ri视频在线观看| 婷婷97碰碰| www.99婷婷| 欧美狠狠草| 国产婷婷五月中文字幕高清| 亚洲国产色色| 久久在线大香蕉| 操碰91| 五月丁香色色网| 国产黄大片在线观看画质优化| 成人精品一区日本无码网 | 色婷婷五月天在线| 婷婷五月激情图片| 天天插天天射| 久久婷婷免费| 91AV婷婷| 亚洲九九九九| 九九性爱网| 久久久久人妻网址| 黄色网址五月婷婷| 五月激情婷婷综合| 九九久久免费视频44| 国产高清视频91九九九久久久| 2015超碰| 婷婷六月网| 五月婷婷六月丁香综合| 色情综合网| 亚洲电影在线观看| 婷婷五月天AV在线| 西瓜美女a片| 久久五月天婷婷| 大香蕉AV在线| 超碰在线日夜| 婷婷综合精品| 婷婷五月天婷婷| 极品另类| 思思re最新视频| 中日韩狠狠色| 丁香六月色婷婷| 日本五月丁香| 爽极品色| 99热有精品在线观看| 极品色丁香| 久久久久综合激动五月天| 伊人啪啪网| 99爱在线免费视频| 成人一区在线观看| 久久杏爱视频| 婷婷九月亚洲| 久9热视频在线| 国产99久久久| 婷婷五月激情在线视频| 久久综合婷婷| 色V狠狠的干| 思思热思在线精品视频| 亚洲色图五月丁香| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 女人高潮内射99精品| 激情骚五月| 久久综合网免费视频| 欧美黄色韩日网| 婷婷五月花| 大香蕉久久婷婷精品综合| 丁香六月高清视频| 超碰国产在线观看| 久久久全国免费视频| 97操操操| 久久人妻伊人| 久久精品99国产精品日本| 91|九色|动漫| 欧美日本va| 五月天婷婷成人网| 婷婷综合影院| 99精色| 亚洲精品一区中文字幕乱码| 午夜丁香| 色婷婷888| 国产激情一区| 天天玩天天摸| 国产成人+综合亚洲+天堂| 操操操91| 久久九九在线视频| 午夜精品久久久久久久爽| 综合网色| 女同激情久久av久久| 激情五月天色色色| 婷婷五月天成人网站| 亚洲熟妇AV乱码在线观看| 97色婷婷成人综合在线观看| 五月婷婷六月丁香在线| 在线免费视频caop| 婷婷五月天免费| 天天做天天爱天天高潮| 亚洲乱码w在线观看| 99热精品免费在线观看| 婷婷另类小说| 亚洲国产精品VA在线看黑人| 99热 免费| 激情小说五月天| 久久与婷婷| 婷婷五月天伊人| 夜精品无码A片一区二区蜜桃| 色欲久久综合| AV九九| 久久久ww| 婷婷伊人网| 一区视频网站| 婷婷五月激情欧美| 99九九热在线观看| 激情综合啪啪| 思思热天天看| 啪啪色区| 91九色熟女| 超碰不卡在线| 99日本在线| 婷婷中文无码| jiujiu热在线视频| 性爱视频久久| 色五月婷婷少妇人妻| 婷婷午夜| 色婷激情网| 激情婷婷狠狠干综合| 亚洲久久婷婷丁香五月天| 内射在线CHINESE| 色色日韩无码| 中文字幕丰满乱孑伦无码专区| 日本va欧美va精品发布视频| 色伦专区97中文字幕| 色婷婷伦理| 草草色情综合网| 天天做天天爱天天玩夜夜爽| 伊人成综合五月婷婷| 99热精品在这里| 啪啪色区| 九月激情综合| 亚洲激情亚洲激情 | 狠狠999| 97五月婷| 伊人婷婷五月| 变态另类9| 婷婷久久综合| 欧洲MV日韩MV国产| 国产午夜一区二区三区| 婷婷五月大香蕉| 99热在线精品观看| 五月天婷婷六月| 色婷婷成人做爰A片免费看网站 | 这里只有精彩视| 成人性生活免费观看。| 综合一区二区三区| av婷婷丁香 六月| 强辱丰满人妻HD中文字幕| 都市激情小说婷婷| www.综合久久.com| 超碰AV在线| 啪啪五月天啪啪| 五月天色小说| 色播五月综合网| 亚洲综合字幕色色| 激情五月天。| 999精品乱码77777| 9999热精品在线免费播放 | 亚洲综合婷婷五月| 婷婷五月天毛片| 婷婷丁香色五月| 五月婷婷黄色视频| 色色九九五月天 | 伊人五月天在线| 玖玖精品资源| www.婷婷,com| 国产欧美日韩综合精品一区二区| 色色性爱视频| 五月婷婷激情综合在线| 亚洲成人综合网在线免费观看| 丁香五月综合激情啪啪| 天天天操天天天爰| 免费超碰在线| 色婷婷丁香五月天| 久久xx| 九九婷婷热| 色婷婷久久综合| 日夜夜天天| 日韩 中文 欧美| 国产乱妇乱子在线播视频播放网站 | 热成人网| 亚洲国产精品成人免费一区久久久在线观看AAAA | 99亚洲色色| 亚洲黄色影视| Av在线不卡一区| 婷婷午夜天| 五月婷婷在线播放| 婷婷激情另类| 伊人狠狠丁香婷婷综合尤物| 亞洲自怕| 97人人操人人干| 五月亭亭网成人在线视频| 亚洲色色在线| 9人人操人人看| 超碰熟女农村在线69| 热久久99热欧美国产亚洲| 性色视频| 五月天播播综合| 五月天天堂久久| 亚洲mm免费| 五月天激情影院| 十一月婷婷激情四射| 99啪啪视频| 日韩美一级毛卡片 | 婷婷色婷婷| 99热超| 国产SUV精品一区二区6| 婷婷香五月天| 天天草天天爽| 丁香久久久| 三日本无码| 欧美久热| 伊人久久婷婷| 五月婷婷99热| 色婷婷丁香五月| www.夜夜騎夜夜狠| www.久久五月天.com| 婷婷精品视频| 色五月婷婷综合在线| 日韩美一级毛卡片| 久9综合| 99热这里只有精品中文字幕| 91大神操美女| 色综合色| 日本五月天激情| 日韩欧美骚货| 丁香婷婷久久老熟女综合网| 天天操婷婷| 午夜日日| 丁香六月青青草| 久久探花91swag| 成人亚洲精品久久久久| 五月综合久久| 丁香激情五月| 开心五月婷婷| 伊人婷婷五月天| 欧美99| 成人片在线播放| 啪啪婷婷五月天激情| 99成人| 这里只有精彩亚洲视频推荐| www.热99热| 婷婷免费无视频| 五月激情婷婷图片基地| 色婷婷五月天激情| 99热最新精品| 成人深爱丁香五月| 久久6这里只有精品| 亚洲性天天| 美日韩成人| 五月丁香| 99热乎| 色波激情五月天| 精品色情一区二区三区四区| av婷婷丁香| 日日操天堂| 91人人人人人人人| 超热久碰.com| 色欧美影院| 玖玖爱资源站| 婷婷丁香69精华| 99视频这里只有免费精品| 欧美激情五月综合| 99热这只有| 3p日韩网站视频| 久久草婷婷丁香网站| 五月婷婷六月激情在线| 欧美综合激情五月| 丁香五月六月欧美| 热99这就是精品视频| 五月开心网| 激情久久五月天| 激情小说视频图片| 五月天婷婷在线AN| 极品人妻VIDEOSSS人妻| 国产干逼片| 三级99热| 色播播婷婷| 99热精品在线播放| 丁香综合伊人AV| 五月天婷婷丁香社区| 深爱激情五月网| 精品人人操| 一级黄色影片| 真实的国产乱XXXX在线91| 欧美日韩精品一区二区三区钱| 亚洲超级碰| 91碰碰| 天天色,天天操,天天射| 五月情色天| 婷婷五月天激情综合| 97婷婷色| 热99.com婷婷| 婷婷五月天黄色| 蜜乳.comcom| 婷婷五月天电影区小说区| 丁香五月婷婷亚洲色图| 五月激情小说| 香蕉人妻AV久久久久天天| 影音先锋91视频| 99热手机在线精品| 婷婷五月天99综合网站| 1024成人在线观看| 色必久悠悠影院| 久久人妻情侣| 九九99精品视频在线观看| 97久久人人操| 五月天丁香婷婷网| 亚洲成人av在线| 丁香五月综合| 五月花丁香婷婷| 538任你爽| 91中文狠狠综合| 亚欧州精品视频| 97色伦另类图片小说视频| 丁香美女五月天婷婷| 色婷婷中文在线| 午夜天天精品视频| 内射综合网| 思思热在线视频99| 婷婷伊人网| 91色性感五月婷婷丁香| 色激情综合| 亚洲狠狠狠| 狠狠操狠狠操AV| 亚洲无码九九九| 思思99热在线| 99久精品视频| 九九九九精品精| 最新色色五月天| 久久机热这里只有精品| 天天爱天天做天天操| 无码一级片| 久久久久亚洲A∨成人乱码电影| 色色色综合网| 变态 另类 在线 | 日韩av在线免费观看| 中文字幕 中文字幕明步| 丁香婷婷超碰| 激情五月婷婷综合色播小说| 五月天成人综合| 丁香六月激情毛片| 99色1| 高清无码视频网址| 99久久精品国产色欲| 色色婷婷综合网| 丁香六月成人网| 丁香九月婷婷| 五月婷婷六月丁香玖玖玫瑰91| 精品99爱免费视频在线观看| 婷婷六月色| 日本高清不卡免费一区二区三区| 九九免费视频在线| 久热9| 欧美激情伊人| 激情五月六月婷婷综合啪啪| 伊人久久艹| 777久久久| 婷婷亚洲在线| 精品夜夜澡人妻无码AV| 亚洲午夜AV| 成人视频在线免费播放| 丁香六月天婷婷| 久久小视频免费| 99热这里只有精品16| 国产色网站| 六月综合婷婷开心伊人| 天天色天天操天天射| 欧美操我| 99热这里只要精品免费| 人人爽网| 人人干人人操人人摸人人做| 色婷婷六月天| 婷婷放心五日爱| 丁香六月婷| 日本在线观看91| 五月丁香六月婷婷不卡免费无码| 我爱大香蕉| 色五月婷婷操逼| 久青草影院| 色很久综合| 丁香五月另类小说| 校花娇喘呻吟校长陈若雪视频| 色视频2025| 91欧美| 免费黄色视频网址| 射久久丁香五月| 国产人人操| 婷婷伊人激情婷婷| 男女啪啪做爰高潮无遮挡| 激情美女五月天| 六月激情综合| 久鲁鲁色网| 亚洲AV成人在线| 国产色丁香| 久久久婷婷婷| 久久五月人人摸| 精品久久66| 婷婷六月久久| 国产精品VA在线| 国精产品一区二区三区| 欧美成人va| a九九热www| 大香蕉精品视频| 999精品乱码77777| 婷婷久久久| 久久丝丝热| 婷婷丁香熟妇综合网| 玖玖在线资源视频| 国产一级视频a| 激情网综合| 激情碰碰碰| 五月天婷婷综合免费| 天堂久久性| 欧美色99| 丁香五月天欧美成人| 九九色色| 激情综合网 激情五月天| 91av视频| 深爱丁香激情| 99九九99九九九视频精品| 5月丁香婷婷激情网| 草榴视频网| 亚洲黄色影视| 插插插丁香五月婷婷| 亚洲日韩一页精品发布| 久久996re热这里只有精品无码| 激情小说色五月| 五月激情六月宗合| 天堂色婷婷| 超碰91在线| 色婷婷影音| 丁香五月婷婷色偷偷| 超碰大香蕉网| 婷婷五月天激情在线观看| 百度一下国产精品A| 久久婷婷五月天亚洲欧美| 啪精品| 97视频91| 高清无码 一区 二区 三区| 成人国产欧美大片一区| 97色色色色色| 激情中文在线| 婷婷五月天社区| 丁香婷婷射| 99精品偷拍视频| 色噜噜五月天| 九九热10| 玖玖色综合色| 色欲五月婷婷| 天天草婷婷五月| 久婷视频| 五月天色婷婷综合| 99这里只有精彩视频| 综合久久六月| 可以免费观看的AV| 欧洲免费视频色| 狠狠色狠狠| 乱乱av| 婷婷久久丁香五月| 丁香五月天婷婷久久| 久草丁香婷婷五月天婷| 亚洲高清在线| 99久在线精品99re8热| 亚洲色综合| 欧美叉叉叉BBB网站| 人妻久久久| 婷婷五月天无码熟女| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 激情婷婷久久| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 色婷婷av在线观看| 伊人五月天在线| 这里只有精品视频视频在线观看| 99精品综合在线| 婷婷六月久久综合导航| 99秘 在线| 五月综合激情| 久久受www免费人成| 99热99色| 婷婷五月天伊人网| 婷婷六月综合在线| 超级碰碰碰97免费| 日韩专区五月天婷婷丁香| 九九热视频在线观看| 久久五月丁香激情综合| 91婷色| 精品九九久久| 九九综合久久| 99欧州偷拍视频| 日本欧美国产| 婷婷丁香77777| 超碰在线超碰| 99久久综合狠狠综合久久| 欧美日韩成人在线网| 久久久五月激| 色伊人啪| 亚洲中文AV网站| 99国产精品白浆在线观看免费| 97人凄人人操人人爽| 丁香五月天天高清在线| WWW.五月天9999| 久久综合干| 99爱操| 天堂成人A片永久免费网站| 午夜成人网站在线观看| 色色网站免费| 亚洲小说五月婷婷| 久久婷婷成人| 操逼巨乳91| tingtingseav| 99热热热99精品婷婷| www99精品| 天天五月天综合网址| 五月天婷婷伊人| 亚洲色婷婷色| 九九色精品| 五月Huangsewang| 亚洲综合成人网| 秋霞性爱AV| 九九 激情 网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月丁香无码| 先锋资源 996| 欧洲激情五月天婷婷| 五月婷色色| 伊人玖玖精品| 六月丁香啪啪啪| 武则天精品久久| av在线激情| 99操免费视频| 大香蕉中文| 欧美激情综合色综合啪啪五月| 婷婷五月在线播放| 丁香 婷婷 亚洲 熟女| 五月婷婷激情四月| 99久久精品网| 思思热99在线视频| 99热色在线精品| 思思热久在线观看视频| 久久无码激情视频| 色五月天影视| 色播婷婷大香蕉| 欧美大香蕉视频| 中文色婷婷| 99网址在线看| 久久精品五月| 丁香五月最新网址| 抽插特写| 碰久久精品w| 五月丁香六月综合图| 1024欧美看片| 天堂网亚洲色图| 五月婷婷之综合激情在线| 天天综合色99| 日韩色色一区| 超碰三级片| 丁香婷婷九月在线| 热99色| 人人色人人弄人人操| 青青草伊人婷婷| 婷婷色色亚洲| 日本97在线观看| 色级停停| 禁片二区| 1024久婷| 欧美日韩成人高清在线| 久久狠狠干| 婷婷激情五月综合| 丁香五月网络网络| 99久久久国产大片| 婷婷大美在线| 狠狠干 狠狠操| 99re思思热久久| 国产精品色色| 91碰碰| 色婷婷狠狠| 五月天大香蕉av| 草久私拍| 色婷婷综合综合网| 青青.com| 婷婷五月天视频小说| 色色aⅤ網| 亚洲成人黄色网| 性99网站| 色播五月综合网| 婷婷五月六月| 中文字幕日本最新乱码视频| 北京熟妇搡BBBB搡BBBB| 熟女少妇内射日韩亚洲| 啪啪视频99| 婷婷大乡焦噜噜| 五月总合激情网| 激情丁香五月激情婷婷| 五月激情婷婷国产精品久久久久久| 91碰超| 激情深愛五月視頻| 欧美色骚婷婷五月天| 婷婷欧美激情| 91黄操| 天天插天天日| www.99精品日操伊人乱碰在线| 男人的天堂97| 99色在线视频观看| 婷婷五月天激情偷拍| 亲子乱av一区二区三区的| 色婷婷久久| 五月天婷婷五月| 99久久久免费| 国外亚洲成AV人片在线观看| www.99精品视频| 五月天婷婷午夜丁香| 操操操Av| 韩国真做片在线观看| 日韩激情网站| 狠狠色婷婷7| 丁香婷婷色五月| 综合色色网| 人妻中文字幕网| 六月丁香啪| www.五月天| CHINESE熟女老女人HD视频| 青青草Avb在线| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 婷婷精品性性性性性性性| 天天干天天操天天拍| 五月天小说激情| 久久人妻久久久久| www.婷婷.com| 夫妇交换刺激做爰| 日本三级中国三级99| 久久婷婷在线| 涩综合婷婷| 精品一区二区三区三区| 丁香久色| 五月天婷婷乱论小说| 亚洲操操操| 五月丁香亭亭操逼| 激情五月婷婷中文字幕| 五月丁香综合在线| 婷婷97C| 77799热| 在线视频另类| 青青草伊人婷婷| 狠狠色丁香| 婷婷五月激情五月激情| 婷婷99狠狠| 在线观看欧美| 婷婷色欧美激情| 五月婷婷激情网| 久久 婷婷 五月天| 99热精品在这里| 欧美成人AAA片一区国产精品| www.99在线| 九九无码| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 香蕉伊人综合| 激情狠狠丁香月| 99久在线精品99re8热| 啪啪啪综合网| 丁香九九九九| 亚洲操B| 九色综合网| 国产Va视频| www.五月天婷婷| 婷婷内射视频在线| 97热这里只有精品| 91色性感五月婷婷丁香| 婷婷五月丁香综合激情小说| XX色综合| 九九99九九99九九99视频网| 五月丁香六月激情视频| 国产高潮A片羞羞视频涩涩| 黄色一级影片| 婷婷丁香激情| 国产AV一区二区三区最新精品| 丁香五月天啪啪| 久久99综合网| 日本九九热| 无人区码一码二码三码医生系列| 婷婷六月丁香综合| 97干97色| 日本三级中国三级99| 日韩久久色| www,com,五月色色| 五月丁香 久久久| 色五月激情五月| 九热视频| 激情熟女网| 依人大香蕉| AV 3P| 97操碰日本女人| 91碰在线| 激情开心五月婷婷| 欧美一级a| 区美毛片子| 色呦呦免费观看| 嫩草AV久久伊人妇女超级A| 深情五月天| 久99在线视频| 国产一区二区三区影院| 激情五月婷婷六月丁香| 欧美综合五月丁香六月婷| 色五月婷婷五月天| 啪啪激情网站| 色婷婷丁香九月| 极品少妇高潮啪啪AV无码| 丁香婷婷五月基地| 亚洲视频五区| 久99999热视频在线观看免费| 夜夜干夜夜操| 国产1区2区3区在线观| 性爱激情久久| 激情婷婷丁香五月天| 深爱激情AV| 色情激情五月婷婷| 色色色欧美| 丁香激情婷婷网| 天堂久久婷婷| 精品久久久久成人码免费动漫 | 黄网在线免费观看| 好吊兆人妻| 久9久成人精品视频| 五月激情开心婷婷| av无码电影| 激情丁香五月婷婷| 亚洲丁香婷婷丁香五月天激情| 五月天综合缴情网网站0| 五月丁香激情综合网官网| 久久久久久欧美精品se一二三四| 疯狂做受XXXX高潮A片| 天天操天天曰天天射| 久久久久久久人妻| 五月丁香久久久| 激情黄色小说色五月| 综合色图婷婷| 爱久综合| 日日爽天天| 91欧美| 天天干在线播放| 国产无套精品一区二区| 五月婷婷啪| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 91seAV| 99自拍视频| 久久人妻人人| 色情五月天se| 97干免费视频| 久久婷婷五月天丁香| 色婷婷小说| 思思热视频| 婷婷久久视频| AV在线免费网站| 爆乳熟女-区二区三区| 开心五月天激情网| 五月丁香成年黄色| 淫荡综合网| 九九热这里只有精品23| 六月色婷婷综合影视| 国产毛片精品一区二区色欲黄A片| 9l视频自拍9l九色9l成人| 9久热这里只有精品| 播五月婷婷开心| 丁香五月婷婷五月| 丁香婷婷AV| 99色热| WWW99热| 99热在这里只有精品| 少妇口诉沐足视频播放器网址| 另类激情五月| 综合色婷婷| 99久| 五月激情视频| 色九网| 婷婷丁香五月综合免费视频百花| 99色视频在线观看| 天天开心婷婷丁香五月| 任你爽精品免费视频6| 99热免费18| 中国操逼99| 99精品久久| 99热网站| 操操自拍| 六月婷婷色| 成人视频婷婷| 久久久婷丁香五月| 激情五月婷婷免费视频| www.99久| 六月婷婷视频| 狠狠综合久久综合| 色欲AVV| 专区无日本视频高清8| 五月天色丁香| 久9久9久9久9久9久9| www.深爱激情| 伊人狠狠干| 激情五月亚洲综合网| 99激情视频热| 99re这里只有精品99| 色射影院| 99熟女视频| 极品另类| 丁香婷婷五月综合| 六月婷婷AV| 国外亚洲成AV人片在线观看| 99综合网| 丁香五月电影| 久久久18| AV人人操| 婷婷五月六月丁香| 99re这里| 97操在线视频| 丁香五月婷婷啪啪啪| 婷婷午夜丁香| 激情丁香六月| 天天色粽合合合合合合合| 草五月| 色五婷婷在线视频| 久久六月天| 99视频精品全部观看10| 99九九视频| 色婷婷丁香五月| 99精品视频网| 激情五月天色播| 天天综合精品| 婷婷俺去也| 99人妻碰碰碰久久久久视| 婷婷 伊人 久久| 丁香五月日韩| 天天摸天天肏| 亚州色色色|