免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

固定資產(chǎn)管理系統(tǒng)Java源碼解析:基于SSM框架的完整資產(chǎn)全生命周期實現(xiàn)

固定資產(chǎn)管理系統(tǒng)Java源碼解析:基于SSM框架的完整資產(chǎn)全生命周期實現(xiàn) 簡介固定資產(chǎn)管理系統(tǒng)Java項目源碼以完整源代碼形式提供了一套基于Java技術(shù)開發(fā)的資產(chǎn)管理系統(tǒng)覆蓋固定資產(chǎn)的增、刪、改、查、采購入庫、分配折舊、盤點報廢等生命周期管理功能并支持通過ODBC配置靈活切換SQL Server、MySQL、Oracle等數(shù)據(jù)庫具備良好的跨平臺與擴展性適合Java Web開發(fā)者學(xué)習(xí)數(shù)據(jù)訪問層與業(yè)務(wù)邏輯設(shè)計也可作為企業(yè)資產(chǎn)管理系統(tǒng)的定制模板。壓縮包共606個文件、約8.73MB其中包含131個Java源文件、177個編譯后的class文件、59個JSP頁面以及42個jar依賴庫和多個tld、dtd、xml配置文件源碼與頁面分層清晰便于按模塊閱讀和二次開發(fā)。包內(nèi)附帶的“必看.pptx”介紹了系統(tǒng)架構(gòu)、功能模塊、數(shù)據(jù)庫表結(jié)構(gòu)及ODBC連接配置步驟可幫助快速理解運行機制并上手實踐。已有1686人學(xué)習(xí)下載是從代碼層面掌握固定資產(chǎn)全流程管理、提升Java Web綜合開發(fā)能力的實用資源。1. 固定資產(chǎn)管理系統(tǒng)一個 Java 項目源碼包解決的不只是臺賬問題如果你在找資產(chǎn)管理系統(tǒng)大概率是兩種處境之一公司 Excel 臺賬越記越亂資產(chǎn)標(biāo)簽貼了又丟年終盤點全靠人肉對賬或者你是個開發(fā)者想找一個完整的 Java 項目來改造卻總在「代碼太老跑不起來」和「功能太簡單沒參考價值」之間來回橫跳。這個固定資產(chǎn)管理系統(tǒng)源碼包屬于后者里難得讓我愿意多看幾眼的它不只是一個能增刪改查的 CRUD 架子而是把資產(chǎn)從入庫、領(lǐng)用、歸還、調(diào)撥到盤點、報廢的完整生命周期都串了起來并且?guī)Я藱?quán)限控制和報表導(dǎo)出。適合兩類人一類是有 Java Web 基礎(chǔ)、想拿真實業(yè)務(wù)練手的學(xué)生或初級開發(fā)另一類是真想給內(nèi)部做個資產(chǎn)管理后臺、但不想從零開始的中小企業(yè)技術(shù)負責(zé)人。我拆過不少這類項目很多號稱「管理系統(tǒng)」的源碼其實只是把幾個頁面拼在一起點開一看業(yè)務(wù)邏輯薄得像層紙。這份源碼的厚度不太一樣資產(chǎn)編號生成規(guī)則、領(lǐng)用審批流程、盤點差異處理這些細節(jié)都有落地實現(xiàn)。接下來我會從架構(gòu)、核心代碼、踩坑記錄到二次開發(fā)把這份源碼從頭到尾捋一遍你可以邊看邊對照自己手頭的需求看看哪些模塊能直接拿來用。2. 技術(shù)選型與項目結(jié)構(gòu)一個典型 Java Web 工程的骨架長什么樣2.1 后端技術(shù)棧為什么選 SSM 而不是 Spring Boot這個項目的后端是基于 SSM 框架搭建的也就是 Spring Spring MVC MyBatis 三件套的組合構(gòu)建工具用的是 Maven數(shù)據(jù)庫是 MySQL前端是 JSP JSTL 配合 AdminLTE 這套開源后臺模板。可能你會問現(xiàn)在新項目不都用 Spring Boot 了嗎為什么還要看 SSM我的判斷是這正是這份源碼的價值所在——它不像 Spring Boot 那樣把大量配置自動隱藏了而是把數(shù)據(jù)源、事務(wù)、攔截器、MyBatis 映射這些底層細節(jié)都顯式地暴露在 XML 和配置類里。你拿到手之后能清楚地看到每一個 Bean 是怎么裝配起來的MyBatis 的 Mapper 是怎么和 DAO 層關(guān)聯(lián)的這對于理解 Java Web 項目的運行機制比直接用 Boot 更有效。另外從改造成本來看SSM 項目遷移到 Spring Boot 其實不復(fù)雜核心業(yè)務(wù)代碼基本不用動只要把 Spring 和 MyBatis 的配置換成 Boot 的自動配置再調(diào)整一下依賴就行。所以不要因為技術(shù)棧不是最新的就把它劃走這套源碼的架構(gòu)思路是通用的你把它吃透了換個框架只是順手的事。2.2 目錄結(jié)構(gòu)從 controller 到 mapper 的完整分層解壓源碼包之后你會看到典型的 Maven 工程結(jié)構(gòu)。我建議你先不要急著去看代碼先把目錄捋一遍搞清楚每個包是干什么的這樣后面讀代碼的時候心里有數(shù)。src/main/java ├── com.company.asset │ ├── controller // 控制層接收請求、參數(shù)校驗、返回視圖 │ │ ├── AssetController.java │ │ ├── CategoryController.java │ │ ├── DeptController.java │ │ ├── UserController.java │ │ ├── BorrowController.java │ │ ├── ScrapController.java │ │ ├── CheckController.java │ │ └── ReportController.java │ ├── service // 業(yè)務(wù)層事務(wù)邊界、業(yè)務(wù)規(guī)則 │ │ ├── AssetService.java │ │ ├── AssetServiceImpl.java │ │ ├── UserService.java │ │ └── ... │ ├── dao // 數(shù)據(jù)訪問層MyBatis mapper 接口 │ │ ├── AssetDao.java │ │ ├── CategoryDao.java │ │ ├── DepartmentDao.java │ │ ├── UserDao.java │ │ └── ... │ ├── entity // 實體類對應(yīng)數(shù)據(jù)庫表 │ │ ├── Asset.java │ │ ├── Category.java │ │ ├── Department.java │ │ ├── User.java │ │ ├── Borrow.java │ │ └── ... │ ├── vo // 視圖對象承載組合查詢結(jié)果 │ │ ├── AssetQueryVO.java │ │ └── ReportVO.java │ ├── interceptor // 攔截器登錄校驗、權(quán)限控制 │ │ └── AuthInterceptor.java │ ├── util // 工具類編號生成、Excel 導(dǎo)出 │ │ ├── AssetCodeGenerator.java │ │ └── ExcelUtil.java │ └── config // 配置類 │ └── SpringMVCConfig.java ├── resources │ ├── spring-context.xml │ ├── spring-mvc.xml │ ├── mybatis-config.xml │ ├── jdbc.properties │ └── mapper │ ├── AssetMapper.xml │ ├── CategoryMapper.xml │ └── ... └── webapp ├── WEB-INF │ ├── views │ │ ├── asset │ │ ├── borrow │ │ ├── check │ │ ├── report │ │ └── system │ └── web.xml └── static ├── adminlte ├── css ├── js └── images這個分層是教科書式的經(jīng)典結(jié)構(gòu)Controller 只負責(zé)接收參數(shù)和返回視圖業(yè)務(wù)邏輯全部收斂在 Service 層DAO 層只做數(shù)據(jù)讀寫。我當(dāng)時看代碼的時候特別注意了一下事務(wù)注解發(fā)現(xiàn)Transactional是放在 ServiceImpl 類上的這符合 Spring 官方推薦的做法——事務(wù)邊界應(yīng)該定義在業(yè)務(wù)邏輯層而不是控制層。多層結(jié)構(gòu)帶來的一個好處是如果你想把 JSP 換成 Vue 接口模式只需要改 Controller 層的返回邏輯把 ModelAndView 改成ResponseBody返回 JSONService 和 DAO 層可以完全復(fù)用。數(shù)據(jù)庫腳本在sql目錄下一共 8 張核心表t_asset資產(chǎn)主表、t_category分類表、t_department部門表、t_user用戶表、t_borrow領(lǐng)用/歸還記錄表、t_borrow_item領(lǐng)用明細表、t_check盤點記錄表、t_scrap報廢記錄表。表之間的關(guān)聯(lián)關(guān)系是資產(chǎn)屬于某個分類和某個部門領(lǐng)用記錄關(guān)聯(lián)資產(chǎn)和用戶盤點記錄關(guān)聯(lián)資產(chǎn)和盤點結(jié)果。字段設(shè)計的細節(jié)我在后面核心模塊里展開講。3. 核心模塊拆解資產(chǎn)從入庫到報廢的完整生命周期3.1 資產(chǎn)臺賬模塊編號自動生成與組合查詢資產(chǎn)臺賬是系統(tǒng)的數(shù)據(jù)底座所有其他業(yè)務(wù)都圍繞著資產(chǎn)主表展開。先看資產(chǎn)實體類和它的 Mapper 實現(xiàn)重點理解兩個地方資產(chǎn)編號怎么生成、組合查詢怎么拼 SQL。// Asset.java 實體類關(guān)鍵字段 public class Asset { private Integer id; // 主鍵 private String assetCode; // 資產(chǎn)編號如 ZC-2024-0001 private String assetName; // 資產(chǎn)名稱 private Integer categoryId; // 分類ID private Integer deptId; // 使用部門ID private String status; // 狀態(tài)在庫/領(lǐng)用/維修/報廢 private Date purchaseDate; // 購置日期 private BigDecimal price; // 原值 private Integer userId; // 當(dāng)前保管人 private String remark; // 備注 // getter/setter 省略 }!-- AssetMapper.xml 組合查詢部分 -- select idqueryAssetList resultTypecom.company.asset.vo.AssetQueryVO SELECT a.*, c.name AS categoryName, d.name AS deptName, u.real_name AS userName FROM t_asset a LEFT JOIN t_category c ON a.category_id c.id LEFT JOIN t_department d ON a.dept_id d.id LEFT JOIN t_user u ON a.user_id u.id where if testassetName ! null and assetName ! AND a.asset_name LIKE CONCAT(%, #{assetName}, %) /if if testcategoryId ! null AND a.category_id #{categoryId} /if if testdeptId ! null AND a.dept_id #{deptId} /if if teststatus ! null and status ! AND a.status #{status} /if /where ORDER BY a.id DESC /select這個組合查詢是資產(chǎn)管理里最常見的需求。四個條件全部用if動態(tài)拼接判斷條件是否為空再決定要不要拼進 SQL這樣前端傳什么條件就過濾什么條件不傳就是全量查詢。需要注意order by放在where外面排序不會因為動態(tài)條件受影響。這里的三表聯(lián)查返回的是AssetQueryVO就是為了在前端列表頁直接展示分類名、部門名和保管人姓名避免在 Java 代碼里做二次查詢。資產(chǎn)編號生成是另一個值得看的點。// AssetCodeGenerator.java public class AssetCodeGenerator { // 根據(jù)當(dāng)前日期當(dāng)天流水號生成編號例如 ZC-20241015-0001 public static String generate(String prefix, int seq) { SimpleDateFormat sdf new SimpleDateFormat(yyyyMMdd); return String.format(%s-%s-%04d, prefix, sdf.format(new Date()), seq); } }這段代碼邏輯很直觀傳入前綴資產(chǎn)用 ZC領(lǐng)用單用 LY拼上日期和四位數(shù)流水號。實際生產(chǎn)環(huán)境里可以在 Service 層先查詢當(dāng)天已有的最大編號再 1 傳給generate方法保證同一天內(nèi)編號遞增、跨天自動歸零。如果系統(tǒng)要支持多公司或多倉庫可以在前綴里再加一段機構(gòu)編碼改造成本很低。3.2 領(lǐng)用與歸還模塊狀態(tài)機的流轉(zhuǎn)設(shè)計資產(chǎn)領(lǐng)用是整個系統(tǒng)里業(yè)務(wù)邏輯最完整的流程。公司內(nèi)部的資產(chǎn)借用不是簡單地改一下asset.status就完事了需要記錄領(lǐng)用人、領(lǐng)用時間、預(yù)計歸還時間歸還的時候還要校驗資產(chǎn)狀態(tài)和保管人是否匹配。這個模塊我拆開看發(fā)現(xiàn)它內(nèi)部是一個典型的狀態(tài)機驅(qū)動。// BorrowServiceImpl.java 歸還邏輯 Override Transactional public void returnAsset(Integer borrowItemId) { // 1. 查詢領(lǐng)用明細記錄 BorrowItem item borrowItemDao.findById(borrowItemId); if (item null) { throw new BusinessException(領(lǐng)用記錄不存在); } // 2. 判斷記錄狀態(tài)必須處于領(lǐng)用中才能歸還 if (!2.equals(item.getStatus())) { throw new BusinessException(當(dāng)前記錄狀態(tài)不可歸還); } // 3. 更新明細狀態(tài)為已歸還 item.setStatus(3); // 3已歸還 item.setReturnTime(new Date()); borrowItemDao.update(item); // 4. 更新資產(chǎn)主表狀態(tài)為在庫 Asset asset assetDao.findById(item.getAssetId()); asset.setStatus(1); // 1在庫 asset.setUserId(null); assetDao.update(asset); }這個方法的精妙之處在于狀態(tài)校驗前置。它不是上來就改數(shù)據(jù)而是先做兩件關(guān)鍵的事查記錄是否存在、查記錄狀態(tài)是否允許歸還。這個「狀態(tài)不匹配就不執(zhí)行」的思路是這套代碼的典型風(fēng)格你要是在做二次開發(fā)最好也保持這個習(xí)慣不要在 Service 里跳過狀態(tài)判斷直接改庫不然盤點數(shù)據(jù)會亂到懷疑人生。領(lǐng)用的時候邏輯類似區(qū)別在于領(lǐng)用是「創(chuàng)建一條領(lǐng)用單 更新資產(chǎn)狀態(tài)」兩步操作得益于Transactional注解這兩步要么都成功要么都失敗不會出現(xiàn)領(lǐng)用單建了但資產(chǎn)狀態(tài)沒改的情況。狀態(tài)值設(shè)計上用了數(shù)字字符串1 在庫、2 領(lǐng)用中、3 維修、4 報廢這是老項目的常見做法優(yōu)點是好比較缺點是語義不夠清晰。你要是想改造可以把數(shù)字映射成枚舉類但要注意前端 JSP 里可能寫死了狀態(tài)值改的時候前后端要一起動。3.3 盤點模塊差異記錄怎么處理固定資產(chǎn)年度盤點是最容易出幺蛾子的環(huán)節(jié)賬實不符是家常便飯。盤點模塊的處理邏輯是管理員發(fā)起盤點任務(wù)生成一張盤點單然后逐條勾選資產(chǎn)填寫實盤結(jié)果。如果實盤數(shù)量與賬面數(shù)量不一致系統(tǒng)自動生成差異記錄并把差異原因記錄下來。// CheckServiceImpl.java 盤點差異處理 public CheckResult generateDiffReport(Integer checkId) { // 1. 查出該盤點單下所有明細與資產(chǎn)賬面狀態(tài) ListCheckItem items checkItemDao.findByCheckId(checkId); ListDiffItem diffList new ArrayList(); for (CheckItem item : items) { Asset asset assetDao.findById(item.getAssetId()); // 2. 對比賬面狀態(tài)與實盤狀態(tài) boolean statusDiff !asset.getStatus().equals(item.getStatus()); boolean deptDiff !asset.getDeptId().equals(item.getDeptId()); if (statusDiff || deptDiff) { DiffItem diff new DiffItem(); diff.setAssetId(item.getAssetId()); diff.setCheckId(checkId); diff.setBookStatus(asset.getStatus()); diff.setRealStatus(item.getStatus()); diff.setBookDept(asset.getDeptId()); diff.setRealDept(item.getDeptId()); diff.setHandleStatus(0); // 0待處理 1已處理 diffDao.insert(diff); } } // 3. 匯總差異結(jié)果 return buildCheckResult(checkId, diffList); }這段代碼的邏輯是把賬面數(shù)據(jù)和盤點數(shù)據(jù)逐一對比發(fā)現(xiàn)差異就生成一條待處理記錄等于把「發(fā)現(xiàn)什么問題」和「怎么處理問題」拆成了兩個階段。這樣設(shè)計的好處是盤點操作員只負責(zé)錄入實盤情況后續(xù)的差異原因分析和責(zé)任認(rèn)定由另一撥人去處理職責(zé)邊界清晰。我在實際項目里看到很多同類系統(tǒng)把這兩步揉在一起導(dǎo)致一個普通操作員就能直接改資產(chǎn)狀態(tài)容易留下數(shù)據(jù)安全隱患。3.4 報表導(dǎo)出ExcelUtil 里藏著什么工具系統(tǒng)提供了分類統(tǒng)計、部門資產(chǎn)明細、領(lǐng)用歸還記錄三類報表導(dǎo)出功能用的是一種輕量級方案用 Java 的 POI 庫直接操作 XSSFWorkbook 生成 Excel 文件通過HttpServletResponse以流的形式寫回瀏覽器。// ExcelUtil.java 導(dǎo)出核心方法 public static void export(ListString headers, ListListString data, HttpServletResponse response) { XSSFWorkbook workbook new XSSFWorkbook(); Sheet sheet workbook.createSheet(Sheet1); // 1. 寫表頭 Row headerRow sheet.createRow(0); for (int i 0; i headers.size(); i) { headerRow.createCell(i).setCellValue(headers.get(i)); } // 2. 寫數(shù)據(jù)行 for (int i 0; i data.size(); i) { Row row sheet.createRow(i 1); ListString rowData data.get(i); for (int j 0; j rowData.size(); j) { row.createCell(j).setCellValue(rowData.get(j)); } } // 3. 設(shè)置響應(yīng)頭并輸出 String fileName URLEncoder.encode(資產(chǎn)報表.xlsx, UTF-8); response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); response.setHeader(Content-Disposition, attachment; filename fileName); workbook.write(response.getOutputStream()); workbook.close(); }這個工具類把導(dǎo)出的核心邏輯封裝成了一個靜態(tài)方法Controller 調(diào)用的時候只需要準(zhǔn)備表頭數(shù)組和二維數(shù)據(jù)列表不用關(guān)心 Excel 格式細節(jié)。需要注意兩點文件名用URLEncoder.encode處理避免中文文件名在部分瀏覽器里亂碼導(dǎo)出 Excel 對歷史數(shù)據(jù)量大的表比較吃內(nèi)存這是輕量方案的已知局限。如果資產(chǎn)量超過 10 萬條導(dǎo)出時建議加個異步任務(wù) 下載鏈接這是后話了。4. 避坑指南跑這個項目最容易翻車的三個地方4.1 環(huán)境排查JDK 版本和 Tomcat 版本不匹配導(dǎo)致啟動失敗現(xiàn)象在本地啟動 Tomcat控制臺直接報UnsupportedClassVersionError或者啟動后頁面 404沒有報錯信息但登錄頁就是出不來。原因源碼是在 JDK 8 環(huán)境下寫的。如果你的本機裝的是 JDK 11 或更高版本編譯階段可能沒問題因為 Maven 的編譯插件有版本兼容但 Tomcat 版本不夠新的話對舊 class 文件的加載處理會出現(xiàn)版本不兼容。另外如果源碼包里的web.xml聲明的 servlet 版本是 3.1 而你的 Tomcat 是 8.0 以下也會出現(xiàn)類似的啟動異常。解決確認(rèn) JDK 是 8 并設(shè)置好JAVA_HOME環(huán)境變量Tomcat 用 8.5.x 版本這兩個版本組合是這套代碼最成熟的運行環(huán)境。啟動之前檢查pom.xml里maven-compiler-plugin的source和target是否都是 1.8如果不是改成 1.8 讓 Maven 重新編譯。如果你是 Mac 環(huán)境注意別同時存在多個 JDK 版本導(dǎo)致命令行用的是 11 而 IDE 用的是 8這種環(huán)境錯亂問題不好排查。4.2 數(shù)據(jù)庫初始化的坑SQL 腳本導(dǎo)入報錯或中文亂碼現(xiàn)象導(dǎo)入init.sql腳本時提示字段長度超限或者導(dǎo)入成功但頁面顯示的中文都是問號?。原因典型的字符集問題。數(shù)據(jù)庫連接串里沒設(shè)置characterEncodingUTF-8或者 MySQL 數(shù)據(jù)庫本身的字符集是 latin1導(dǎo)致中文數(shù)據(jù)存不進去。字段長度超限通常是 SQL 腳本里的 VARCHAR 長度在導(dǎo)入時因為字符集換算被判定超限。解決建庫的時候指定字符集執(zhí)行 SQL 前先跑一句CREATE DATABASEassetDEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;這樣后面導(dǎo)入表結(jié)構(gòu)就沒問題。還要檢查jdbc.properties里的連接串確認(rèn)一定要帶上?useUnicodetruecharacterEncodingUTF-8注意 JMeter 或命令行直接導(dǎo)入腳本時也要用--default-character-setutf8參數(shù)。4.3 登錄攔截器的白名單遺漏導(dǎo)致沒有驗證碼模塊現(xiàn)象輸入驗證碼時發(fā)現(xiàn)沒有驗證碼圖片或所有頁面請求都被攔截器攔住了登錄后跳轉(zhuǎn)正常但訪問靜態(tài)資源 404。原因這套系統(tǒng)的登錄模塊用的是用戶名 密碼的簡單校驗沒有接驗證碼接口。攔截器只放行了/login和/logout兩個路徑靜態(tài)資源路徑比如 css、js、圖片放在/static/下沒加白名單導(dǎo)致頁面加載時樣式全丟。解決這個東西不能只靠代碼要把攔截器的白名單加完整。在AuthInterceptor的preHandle方法里把/static/**加入放行列表確保 AdminLTE 模板的樣式文件能正常加載。如果你確實要加驗證碼功能可以用一個簡單的做法在登錄 Controller 里返回一張圖片流同時把驗證碼存到 Session然后在攔截器里比對。我一般會用 Servlet 原生 API 生成這種簡單的圖形驗證碼省得再引入一套復(fù)雜框架。5. 把項目跑起來從拿到源碼到看到登錄頁的完整操作過程5.1 準(zhǔn)備工作需要用到的軟件清單按照我實際驗證過的環(huán)境來配穩(wěn)的。操作系統(tǒng) Windows 10/11 或 macOS 都可以需要安裝的軟件如下JDK 1.8確保java -version輸出版本里包含 1.8Maven 3.6 或 3.8用于依賴下載和打包Tomcat 8.5把 WTP/插件里的 Tomcat 關(guān)掉避免沖突MySQL 5.7 或 8.0用本機安裝即可IDEA 或 Eclipse推薦 IDEA社區(qū)版或旗艦版都行5.2 導(dǎo)入數(shù)據(jù)庫和初始化數(shù)據(jù)先把工程解壓到某個目錄別放在有中文和空格的路徑下防止各種莫名的構(gòu)建報錯。然后找到源碼包里的sql文件夾打開 MySQL 命令行執(zhí)行mysql -u root -p init.sql默認(rèn)數(shù)據(jù)庫名是asset_db里面預(yù)制了幾條基礎(chǔ)數(shù)據(jù)系統(tǒng)管理員賬號 admin普通操作員賬號 user01各有一個默認(rèn)密碼。這部分?jǐn)?shù)據(jù)在t_user表的初始化 INSERT 里MD5 加密方式存儲。需要確認(rèn)密碼算法是什么你可以去UserServiceImpl里看密碼校驗?zāi)嵌未a通常會用DigestUtils.md5Hex來做。如果連接串配置的數(shù)據(jù)庫名和你實際建的庫名不一致在頁面登錄時就會持續(xù)報數(shù)據(jù)庫連接超時。5.3 修改數(shù)據(jù)庫配置與啟動 Tomcat打開jdbc.properties文件按你的本地環(huán)境修改下列參數(shù)jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/asset_db?useUnicodetruecharacterEncodingUTF-8 jdbc.usernameroot jdbc.password你的數(shù)據(jù)庫密碼然后回到 IDEA打開 Maven 面板執(zhí)行clean package把工程打成 WAR 包。確定沒有編譯錯誤之后把target/asset-management.war部署到 Tomcat 的 webapps 目錄或者如果你用 IDEA 啟動 Tomcat配置好 Application context 為/asset。啟動完成后瀏覽器訪問http://localhost:8080/asset/login看到登錄頁就說明整套環(huán)境通了。輸入管理員賬號進去之后建議按這個順序做一遍基礎(chǔ)操作驗證系統(tǒng)是否正常先在「分類管理」里加一個分類再去「資產(chǎn)管理」里新增一條資產(chǎn)看看資產(chǎn)編號是否正確生成然后到「領(lǐng)用管理」里發(fā)起一條領(lǐng)用申請審批通過后去臺賬里確認(rèn)狀態(tài)已變?yōu)椤割I(lǐng)用中」最后做一次盤點把賬面狀態(tài)改一下看差異記錄是否生成。這套流程走下來你對代碼里狀態(tài)機的理解會比光看代碼強得多。6. 二次開發(fā)思路把 Excel 臺賬遷移成一套可用的內(nèi)部系統(tǒng)6.1 加一個「資產(chǎn)圖片」字段的完整流程很多公司有拍照留存資產(chǎn)實物的需求比如貴重設(shè)備在入庫時拍一張照片存到系統(tǒng)里這個需求在這個系統(tǒng)里改造起來可以直接照著四步走。第一步在t_asset表加字段ALTER TABLE t_asset ADD COLUMN asset_img VARCHAR(255) DEFAULT NULL COMMENT 資產(chǎn)圖片URL;。第二步在Asset.java加private String assetImg;屬性。第三步在AssetMapper.xml的resultMap和insert/update語句里加入字段映射同時新增ListAssetImg這種嵌套查詢也行但單個 URL 字段直接加主表更好。第四步在新增資產(chǎn)的 JSP 頁面加input typefileController 里做文件上傳把文件保存到指定目錄并往庫里回填一個相對路徑 URL。文件上傳這里要注意一個點Tomcat 默認(rèn)上傳大小限制是 2MB如果你需要傳大圖在spring-mvc.xml里配一個MultipartResolver并把maxUploadSize調(diào)大到 10MB 或 20MB。我一般會把上傳目錄配置到項目外部比如D:/asset-upload/這樣重新部署不會丟圖片也可以接一個 OSS 云存儲來替代本地目錄。6.2 給報表加一個「資產(chǎn)月折舊」統(tǒng)計維度如果你的使用場景涉及到財務(wù)對賬「資產(chǎn)折舊」幾乎是必改的功能。固定資產(chǎn)的原值、殘值率、折舊年限是一個經(jīng)典的財務(wù)計算三元組代碼實現(xiàn)不復(fù)雜難點在于把折舊計算做成可配置的。思路是給t_asset加depreciation_year折舊年限和residual_rate殘值率默認(rèn) 5%然后在報表模塊新增一個按月份求折舊額的方法。// 新增的計算邏輯 public BigDecimal calculateMonthlyDepreciation(Asset asset) { // 殘值 原值 * 殘值率 BigDecimal residualValue asset.getPrice().multiply(asset.getResidualRate()); // 月折舊額 (原值 - 殘值) / (折舊年限 * 12) BigDecimal depreciableBase asset.getPrice().subtract(residualValue); int totalMonths asset.getDepreciationYear() * 12; return depreciableBase.divide(BigDecimal.valueOf(totalMonths), 2, RoundingMode.HALF_UP); }這個方法的兩個隱藏細節(jié)值得注意第一BigDecimal的除法一定要指定小數(shù)位和舍入方式直接除整數(shù)會拋ArithmeticException這是財務(wù)計算里極容易出現(xiàn)的問題第二折舊計算的取整方式采用HALF_UP四舍五入但嚴(yán)格來說財務(wù)上更常用「按月分?jǐn)?、按年調(diào)整」的規(guī)則如果你負責(zé)的項目后續(xù)要對接財務(wù)系統(tǒng)這塊策略最好和財務(wù)確認(rèn)過再實現(xiàn)。報表 SQL 里可以用SUM按部門或分類對折舊額做聚合然后復(fù)用ExcelUtil導(dǎo)出這樣一次改造就能同時滿足頁面查看和線下歸檔兩個場景。6.3 技術(shù)債務(wù)整理JSP 升級成前后端分離如果你不只是想內(nèi)部用而是打算長期在這個系統(tǒng)上繼續(xù)加功能我的建議是把前端遷到 Vue Element 這類成熟的后臺組件庫后端在現(xiàn)有 Controller 基礎(chǔ)上加一套返回 JSON 的 RESTful 接口。改造順序不要亂我的習(xí)慣是先把核心接口抽出來登錄獲取 Token、資產(chǎn)列表、新增資產(chǎn)、領(lǐng)用接口每個接口寫死返回統(tǒng)一的ResultT結(jié)構(gòu)體前端全部走 HTTP 調(diào)用等接口穩(wěn)定性有保證了再逐步把 JSP 頁面替換掉。不要想著一次性把所有頁面全切過來資產(chǎn)查詢這種高頻頁面先動盤點這種低頻頁面可以留著慢慢改。老項目最大的風(fēng)險其實不在技術(shù)本身而在你沒有完整跑通業(yè)務(wù)就動手重構(gòu)結(jié)果改著改著發(fā)現(xiàn)某個隱藏的狀態(tài)邏輯沒考慮到。我說的經(jīng)驗是不管多急著改造第一步永遠是先把這個系統(tǒng)完完整整用一遍把代碼和操作路徑對起來你在心里畫一張流程圖資產(chǎn)狀態(tài)是怎么從 1 變成 2、再從 2 變成 3 的每一步在代碼里的入口和出口在哪里都標(biāo)注清楚再動刀。從那以后我每次接手這類管理系統(tǒng)的源碼都強制自己先跑一遍完整業(yè)務(wù)流再做任何改造。希望這份拆解筆記能幫你把這套源碼跑明白也讓你在下一步寫自己的代碼時少踩幾個我踩過的坑。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
JAPANRCEP老熟妇乱子伦视频| 人妻久热| 9久9久9久女女女九九九一九| 丁香婷婷色五月| 狠狠色噜噜狠狠狠888| 开心五月天激情网| 激情五月丁香激情综合网| 亚洲视频一区| 丁香五月天啪啪激情综和网| 六月色 亚洲| 亚洲视频在线网| 五月婷婷欲色| 欧美五月停| 另类综合国产| 久久一级片| 79精品视频在线观看,| 黄色片久久| 丁香婷婷综合精品六月初| 欧美成人A片AAA片在线播放| 秋霞簧片| 99色日本| 日本三久久| 久久久久久99精品无码| 另类图片五月天| 七七九九色色| 成人中文网| 九九热这里只有精品31| 九热免费视频| 色综合99| 久久色五月天综合网| 色五月婷婷天堂| 婷婷六月天天| 六月激情婷婷综合| 我想看国产大学生口爆吞精的视频| 久久成人精品视频| 六月久久婷婷| 色婷青青| 台湾无码A片一区二区| 五月丁香婷婷中文| 激情五月天久久| 欧洲激情精品婷婷| 天天狠天天狠| 伊人丁香五月婷婷潮吹| 97色碰| 六月99天天婷婷激情综合| 日日夜夜干| 丁香五月第四色88| 日本啪啪天堂| 久草婷妨| 久久五月综合| 1区2区视频| 婷婷色五月噜噜| 五月丁香亭亭激情操逼网| 99热最新| 九九综合精品| 97干婷婷| 国产精品久久久爽爽爽麻豆色哟哟| 五月丁香婷色| 婷婷国产五月天17c| 五月婷婷六月丁香玖玖玫瑰91| 青青草99热久久精品国| 99国产精品久久久久久久久久久| 夜夜爽天操| 婷婷射图五月天| 538在线精品| 激情5月婷婷| 激情久久久久| 99小视频在线观看| 98国产精品综合一区二区三区 | 大香蕉综合在线| 色婷婷五月综合| 伊人婷婷色激情丁香| www九九| 91人人操人人| a性生活久久无| 欧在线一区| 日本在线免费中文com.| 久草婷婷在线| 97色97干| 精品婷婷五| 天天干天天干天天干| 婷婷丁香在线播放| 五月天婷婷色播| 亚洲综合一区二区| 五月天丁香看婷婷| 婷婷婷婷婷婷婷婷婷婷丁香| 亚洲成人综合在线| 激情五月丁香五月| 五月婷婷开心网| www.五月激情红色| 狠狠操天天操天天操| 亚洲在线视频321| 婷婷不干网| 九九99精品| 久久婷婷五月综合啪| 91久久精品无码一区二区三区| 人人干人人看| 很很干天天干| 五月婷婷激情网| 五月成人综合| 99久久九九| 婷婷基地成人五月天| 秋霞日本免费毛片A片| 国产精品美女久久久久AV超清| 精品久久99码| 狠狠色综合精品视频在线| www.五月婷婷| 久99视频在线观看| 色九月婷婷综合| BlACKEDRAW视频一区二区| 婷婷色婷婷| 大香蕉啪啪| 五月婷婷开心五月| 婷婷 色 丁香 夜| 日日操,夜夜爽| 五月丁香六月激情综合啪啪| 三区激情四射av| 色五月综合| 久久新| 丁香花婷婷五月天| 伊人九九综合| 亚洲激情综| 日本久久9| 丁香五月熟女| 97在线日本| 伊综合蕉| 久久一品区| 在线91日韩| 激情电影五月婷婷| 丁香六月成人网| 亚洲亚洲人成综合网络| 亚洲亚洲人成综合网络| 琪琪色综合网站| 少妇人妻人伦A片| 91色婷婷综合久久中文字幕二区| 九九这里是免费的视频5| 日韩色情亚洲五月天婷婷| 久久ER视频com| 爱爱色五月天| 99精品久久久久久久婷婷久久| 任你爽视频| 丁香五月综合激情啪啪| 久久综合99| 五月婷婷欧美| 一本久久亚洲五月婷婷| 欧洲亚洲免费视频9| 高清无码.com| 久久伊人婷婷| 亚洲精品乱码久久久久久综合| 婷婷 伊人 久久| 9999热在线观看| 大香蕉 伊人夜| 人人爽欧美婷婷久久久五月丁香| www.久9| 九九免费视频在线| 六月丁香激情综合| 日本一区二区三区精品视频| 偷拍九九热| 丁香五月天激情婷婷丁香六月| 另类专区在线| 激情五月丁香五月| 极品人妻VIDEOSSS人妻| 中文字幕在线不卡| www.婷婷| 亚洲无码性爱| 欧洲亚洲免费视频9| 日本片日本片祼观看网站在线看中文版网页在线看 | 2025天天操| 黄色激情五月天| 五月综合视频| 久9久9热久热| 午夜天堂一区人妻| 国内久久亭亭| 婷婷五月天Av| 亚洲色五月婷婷| 亚洲人成色A777777在线观看| 五月天网站亭亭| 久色激情| 狠狠色丁香| 六月丁丁香| 婷婷综合中文字幕| 五月丁香无码| 99精品无码网站| 天天操综合网| 99热精品在线观看| 激情99| 久热精品免费视频4| 超碰97久久| 天天做天天爱天天摸| 天天久久综合| 久久机热/这里只有精品| 人人人操 超碰| 91色在线| 五月婷AV| 99热| 99久久精品国产色欲| 人人操人人爽成人AV| 久热只有这里有精品| 婷婷色播色五月五色五月天色妇| 五月婷婷激情四月| 人人摸人人| 人操91在线| www.久久| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 丁香五月婷婷图片综合| 一本久道综合色婷婷五月| site:publishdd.com| 97性视频| 97se在线视频| 6080av| 亚洲天堂AV免费片| 久久婷婷色| 婷婷五月丁香图片人人操| www98日本小时间到了| 日韩六十路91性交电影| 五月婷视频| 五月综合激情| 91日综合欧美| 天天热夜夜操| 熟女人妻一区二区三区免费看| 99色综合久久| xx色综合| 996er热| 秋霞少妇毛片| 五月丁香六月婷婷的女人| 直接看的av| 超碰在线播放免费观看| 亚洲丁香网| 人妻啪啪啪| 欧美人人女女精品综合五月天| 九九成人精品免费视频| 亚洲AV网站在线观看| 五月久久丁香| 亚洲瑟瑟精品在线| 丁香五月影院| 少妇丁香婷婷 | 日韩AV片| 大香蕉九九| 99热99免费| 99综合| 亚洲av无码精品色午夜| 九九视频这里有精品| 日本欧美成人片AAAA| 小骚穴电影| 伊人五月成人| 婷婷综合天堂| 性99网站| 91久久网站| 亚洲色色爱| 九九五月天| 懂色av蜜臀av粉嫩av永陈冠希| 99ri精品| 91一起操| 另类图片色五月| 91九色中文| www.久久色.com| 另类视频丁香五月| 丁香五月婷婷老师网站| www.色擼擼.com| 三级三久久线久久99久目本WW| 玖玖精品视频| 日韩AV免费| 深爱激情久久| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 久久婷婷激情视频| 日韩精品在线观看9| 五月激情婷婷播播网| 色情综合| 亚洲五月婷天天操| 国产VA亚洲VA96| 国产精品电影| 色狠狠五月天| 五月婷婷激情| 青青草日本亚洲| 色婷婷小说| 在线视频你懂得| 久久久999精品| 4399人妻无码久久久| 婷婷五月天国产| 另类少妇人与禽zOZZ0性伦| 五月天五月色婷婷综合| 乱精品一区字幕二区| 激情久久久久久| 午夜成人天堂久久无码日韩久久| 色九月国产| 丁香美女五月天婷婷| 九九综合网色全集 | 婷婷丁香五月天熟女丝袜| 久热网在线视频| 国产综合A片| 色噜噜狠狠插综合| 97影院一级片| 婷婷 色 丁香 夜| 五月婷婷丁香六月| 俺去也综合| 色情·com| 乱岳熟女50岁| 激情综合网,五月| 人妻熟女一区二区AV| 思思热再线视频| 色婷婷第四色| 久久五月丁香婷婷| 停停色综合伊人| 九九成人电影婷婷| 淫视馆AV在线| 深爱激情小说五月婷婷| 欧美黄色一级录像| 色色色色色色色色色色色色色97| www.henhenl| 丁香五月天激情视频| 天天草天天舔| 91久久九色| 久久永久视频| 六月色色婷婷| 影音先锋毛片网站| 亚洲字幕AV一区二区三区四区| 91操色| 五月婷婷很很色| 欧美丁香婷婷五月| 99综合色色色| 久久丁香婷婷色情综合| 操骚货在线| 光棍影院日韩精品| 五月丁香六月婷| 美国天天日天天操| 五月伊人网| 被强行糟蹋的女人A片| 深爱激情六月天| 99熟女视频| 成人无码髙潮喷水A片| 九九99一区| 色婷婷色综合激情91| 久热这里只有精品性色AV| 久久婷婷综合基地| 婷婷综合精品| 中文字幕按摩做爰| 久久丁香五月| 99高级会所久久| AV大片在线观看| 99精品热| 五月婷婷综合丁香视频| 婷婷激情六月综合| 亚洲成人AV在线播放| 国色天香成人网| 亚洲视频色婷婷| 婷婷色播色五月五色五月天色妇| 欧美成人精品A片免费一区99| 色色色.com| 色五月婷婷91| 9久久精品| 色色色色av色色色色| 激情综合五月激情17| 热久久这里只有三级视频| 大香蕉AV在线| 天天激情欧美美女| 欧美亚洲婷婷五月| 五月天婷婷色五月天| 无码一区二区三区四区五区91c| 99热这里只有精品中文字幕| 精品人妻久久久| 久久久久久9| av高清无码| 五月天婷婷在线观看| 2020夜夜操天天爽| 五月丁香手机在线| 99在线视频精品| www五月婷婷88导航| 操99| 精品久热69| 天插天啪天啪天啪| 99热1| 欧美天堂婷婷日韩| 99在线精品免费视频| 激情五月,婷婷五月,丁香五月| 亚洲电影中文字幕| 久久久久这里只有精品| 婷久久| 老司机伊人| 五月丁香六月婷婷在线小说视频| 亚洲AV免费国产电影| 日日噜噜夜夜狠狠久久丁香五月| 久久9视频欧美| 亚洲综合色色色| 五月天久久成人| 色综合久久天天综合网| 五月丁香激情综合啪啪| OUMEIRIHANCHENGREN| 欧美日本免费一道免费视频| 99热免费| 99在线精品观看99| 激情开心五月天| 成人电影AV在线观看| 五月婷婷六月丁香综合在线| 99精品小视频| 久久99激情丁香婷婷小说网| av性爱网站| 五月精品免费XXX| 欧美婷婷五月激情| 26uuu激情五月天| 婷婷五月蜜桃成人桃色丁香| 五月天激情综合首页| 97人妻碰碰碰久| 婷婷内射视频在线| 日韩成人中文字幕| 久久综合五月天| 久久大香蕉同僚| 97人碰人操| 欧类av怡春院| 婷婷丁香中文字幕| 99色在线观看视频者| 久久精品一区二区三区四区| 天天操婷婷| 狠狠做深爱婷婷久久综合一区| 九九九九这里只有精品| 五月天激情网址| 97婷婷丁香五月综合| 激情AV综合| 日本综合99| 狠狠色综合五月人人| 99热 精品在线| 亚洲狠狠色丁香婷婷综合久久| 97福利视频| 99热青青草| 九九色99| 色5月婷婷| 成人无码髙潮喷水A片| 性一交一乱一交A片久| 亚洲亚洲人成综合网络| 激婷网| 天天肏视奸| 欲求不满的人妻| 无码动漫AV| 91婷婷伊人牛牛| 成人在线日韩欧美| 91久久久久久| 色五月视频无码播放| 人人干Av| www.夜夜操| 婷婷涩涩五月天| 99精品在线观看视频| 激情av在线| 91操人视频| 激情综合五月| 婷婷五月花| 97色 五月天丁香| 亚洲激情六月| 五月婷婷色色| 操操操操操电影网| 99性爱| 欧美日朝成人| 国产AV一区二区三区日韩| 婷婷天堂伊人| 五月间天堂综合| 99热国产精品| 婷婷日日天天| 超碰不卡在线| 色噜噜狠狠色综无码久久合欧美| 天堂伊人干| 婷婷综合干| av色婷婷| 秋霞影音91人妻久久| 中文字幕久久一区二区三区| 激情久久久久久久久久久| 97色色色色色| 久久免费干| 久久色区| 色五月丁香六月欧美综合| 老司机伊人| 丁香激情网| 午夜成人片400| 欧美日韩二区在线| 在线你懂的亚洲欧| 五月丁香五月天现场视频| 色停停五月,在线观看| 九九这里有精品| 91免费试看| 日韩av在线免费观看| 色色啊| 五月天色影院| 777影视理论片大全在线观看| 免费超碰在线观看| 五月婷婷久久久| 丁香五月天婷婷久久综合| 婷婷色五月婷| 色色色香蕉五月婷| 开心五月六月婷婷| 五月丁香啪啪网| 国产精品久久久久久久久久久久| 丁香五月婷婷www..com| 天天色综合色色色色色。| 天天干天天日天天插| 六月丁香网| 嫩草AV久久伊人妇女超级A| 色五月美女| 99色色热热| 九热视频| 天天躁日日躁狠狠躁日日躁2022年5月9日| 日韩三及成人AV片| 日本噜噜色网| 大香网伊人久久综合| 五月丁香趴趴| 综合色综合| 丁香五月六月| 五月丁香琪琪| 欧美综合激情丁香五月六月婷| 丁香五月自拍| 色综合久久888| www久久久久| 九月色婷婷综合亚洲| 久久久婷婷婷| 99色综合| av免费在线观看0| 亚洲精品色色| 五月婷婷六月天| 色99欧洲色19| 99热这里有精品2| 五月天激情久久| 婷婷偷拍网| 91黄址| 影音先锋 萱萱| 男女99免费视频| 亚洲舔观看| 人妻中文在线| 26.uuu丁香五月婷婷| 色婷婷久综合久久一本国产AV| 欧美在线视频免费播放| 91av色色乱视频| 丁香五月婷婷成人综合| 丁香久久| 99热精品10| 九九热只有精品| 中文久久婷婷| 干婷婷五月天| 青草激情在线| 人妻丰满精品一区二区A片| www.99热| 丁香五月 激情文学| 艾小青av| 五月天综合在线网| 日本色道视频网站| 狠狠香蕉| 操人91| 色狠狠综合| 深爱婷婷丁香五月激情| 激情99热| 五月婷婷影| 丁香五月手机在线| 欧美五月丁香在线| 九九热视频在线观看| 97碰在线视频| 日韩aaa| 噜噜噜狠狠色综合| 九九成人| 六月丁香深深爱| 噼里啪啦完整版中文在线观看 | 亚洲乱码日产精品BD| 五月婷婷黄色| 亚州激情网| 99视频九九热| 久操激情| 激情五月色综合国产精品| 六月婷婷激情| 丁香五月天啪啪a日本| 激情五月天丁香| 日本久久高清| 日日杆天天| 丁香五月激情宗合| 男妓跪趴把舌头伸进我的嘴巴| 亚洲4区国产欧美| 婷婷五月天色播| 精品99视频| 99精品久久久| 99在线观看视频免费| www久久99| 丁香五月骚喷水视频| 99热久久这里只有精品| 五月婷婷说| 日韩视频女神99| 99a级片| 五月丁香影院| 亚洲视频一区| 丁香五月欧美成人| 久久婷婷五月天| 激情九九综合网| 天天碰夜夜操| 9999热这里只有精品| 99碰碰碰| 天天操天天插天天射| 九月av| 99亚洲精品视频| 婷婷六月丁香色| 亚洲av综合在线| 激情综合网激情五月天| AV伊人青草丁香六月| 久久激情视频| 色婷婷五月天成人网| 天天久久婷婷| 欧美性丁香色色五月天干干| 中文字幕在线免费观看视频| 日韩精品无码一区二区| 激情开心五月天| 天天做天天视天天谢| 亚洲五月六月婷婷| 26uuu精品一区二区| 玖玖99福利| 超级碰碰99| 综合啪啪| 丁香综合网| 99热免费精品| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 五月天狠狠色| 色婷婷电影| 另类激情五月| 青青草色在线视频观看| 刘玥av在线| 天天做天天爽| 婷婷伊人激情婷婷| 97黑人精品区| 天天综合网网欲色| 亚洲丁香花色| 九九色video| 直接看的av| 精品51XX| 六月丁香成人| 99热精品在线在线| 99爱最新免费视频在线观看| 久久久宗合| 色五月琪琪| 思思精品久久艹| AV操逼网| 日本丰满久久| 99这里有精品视频| 久久WW| 日日夜夜狠狠| 婷婷九九视频| 久久久99免费视频| 婷婷涩五月天综合| 另类图片五月天激情| 婷婷深爱五月| 26uuu亚洲欧美| 日韩成人无码人妻| 五月婷婷色色网址| 综合久| 亚洲色婷婷五月天| 久久九九大香蕉电院| 五月丁香激情综合啪啪| 五月天色五月| 天天肏高清在线| 思思久日精品视频| 天天干,天天舔| 超碰无码318604| 亚洲av电影在线| 少妇性按摩无码中文A片| 丁香五月婷婷AV| 色五月激情基地| 99惹在线精品免费观看| 久久婷婷五月综合色奶水99啪| 婷婷久久五月天| 五月天激情久久| 人人色人人摸人人看| 激情性爱五月| 久久天堂婷婷五月| 在线日本www| 99精品在线| 丁香九月婷| 五月丁香婷婷视频| 色99在线视频| 九九99一区| 5月婷婷综合| 五月丁香趴趴| 伦乱人妻| 色欲一区二区三区精品A片| 五月婷婷六月丁香| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产免费av在线| 1024欧美看片| 九色成人AV在线| 久久精品A片777777| 亚洲精品色| 五月天婷婷丁香导航| 五月丁香六月婷婷综合网站| 看国产探花操逼三级片| 免费播放99性爱视频| 丁香六月色婷婷欧美| 99啪在线| 久久思思99| 色色九区| 久久久久人妻网址| 五月丁香婷婷五月色| 小色小蛇伊人婷婷色香五月| 九九偷拍网| 青青日韩| 综合色网站| 色婷久九| 色999五月色| 五月婷婷性爱| 99re99热| 成人Av在线大片| 玖玖激情五月天| 人人干99| 色色五月天激情| 婷婷五月天色| 日本色色色色色色色色一色二色| 99色天堂| 九九香蕉网| 日欧一片内射VA在线影院| 乱岳熟女50岁| 五月激情综合网婷婷| 天天射天天操天天干| 婷婷天天五月天| 日韩三及成人AV片| 九九色欲网| 99久久婷婷国产综合精品草原| 99久re热| 色热久资源| 午夜一区| 九九成人精品免费视频| 天天色天天射天天日| 婷婷五月丁香综合亚洲| 婷婷五月天少妇| 99热精品一| 色狠狠色噜噜AV天堂五区消防| 婷婷婷色五月| 天天干com| 狠狠干在线| 狠狠狠狠狠狠狠狠| caop视频| 日韩av网站在线观看| 丁香五月婷综合| 色碰干| 日日天天天| 狠狠操.COM| 爱草人视频| 色婷婷中文在线| 日本人妻A片成人免费看片| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲综合婷婷| 五月婷婷激情四月| 婷婷色啪| 中字幕视频在线永久在线观看免费| 亚洲成av人影院| 大香蕉天堂色| 亚洲婷婷丁香| 手机看片日日做夜夜| 天天日日综合| 色婷婷www| 99网| Aaa久久| 狠狠色狠狠色综合日日91| 婷婷色网| 啪啪五月综合| 丁香色情五月天| 人。妻久久| 日韩在线观看亚洲| A片试看50分钟做受视频| 人妻在线网站| 日本精品99| 97韩国久久电影院| 欧美色色色色色| 99色色| 丁香婷婷午夜| 99热在线免费观看精品| 婷婷五月花| 男女啪啪做爰高潮无遮挡| 91九色精品| 激情五月丁香色婷婷| 成人丁香五月天Av| www,黄色在线,con| 人妻22p| 激情婷婷五月天日本系列| 婷婷激情图片| 成人在线二区| 五月天婷婷久久| 五月丁香啪啪伦理电影| 国产 码在线成人网站| www激情网站| AV色五月婷婷| 国产美女视频久| 丁香五月影院| 久9热视频在线观看| 色婷婷九月综合| 综合网五月| 91 原创 在线 九色| 色五月成人婷婷| 狠狠爱五月婷婷| 亚洲成人网址在线观看| 草操网| 亚洲精品影视| 亚洲激情| 这里只有精品视频一区| 天堂中文国产| 99欧美三级视频| www.天天干.com| 五月天婷婷免费| 久久久久久18| 天天日婷婷| 五月天婷婷影院| 婷婷的99视频网站| 五月婷婷六月情| 91狼友视频在线观看| 欧洲亚洲免费视频9| 日本九九九九| 久久精品91视频| 停停色综合伊人| 99热超碰| 久色大香蕉| 综合色综合| 少妇大叫太大太粗太爽了A片| 欧美色碰| 婷婷五月天激情免费在线观看| 激情五月婷婷视频一区二区三区| 91人人妻人人操人人爽| 99自拍视频在线| 五月婷婷丁香在线| 九九精品免费视频99| 青草视频在线蜜臀| 97人人操人人干| 久艹大香蕉| 五日激情综合| 免费成片在线观看| www色婷婷com| 婷婷丁香六月天激情四射网| 六月婷婷色宗合| 97在线观视频免费观看| 色播五月婷婷综合| 婷婷丁香成人五月天| 伊人爱爱日本| 日韩欧美骚货| 开心五月婷婷伊人| 五月丁香做爱视频| 四色五月婷婷| 五月天激情视频五月天| 69精品人人人人| 婷丁香五月天| 国产精品99久久久久久久女警 | 国内在线99视频| 99re视频精品| 婷婷五月欧美| 久久久99精品| 182tv992tv人之初午夜免费观看| 草美女在线观看视频在线播放| 九九性视频| 五月色亭丁香| 天天碰天天插天天操| 五月丁久久| 天天草天天日| av超碰在线| 久久丁香五月| 欧美日韩国产一区二区| 五月天激情av| 天天色综| 亚洲av免费在线| 婷婷99狠狠躁天天躁| 激情久久五月天| 六月丁香婷婷视频综合在线观看| 任我肏| 丁香九月综合| 狠狠精品干练久久久无码中文字幕 | 这里只精品| 五月婷婷成人| 99高级会所久久| 91大神操美女| 亚洲AV成人片无码网站| 丁香激情网| 97干在线视频精品店| 色婷婷综合久久久久| 九九热在线视频,| 日日操夜夜操中国无码| 开心五月激情网| 五月开心六月婷婷在线播放网站| 激情图片婷婷丁香五月| 丁香五月激情棕合| 五月综合久久| 五月婷婷久久内射| 97在线视频 欧美| 五月丁香久久久久| 亚洲一色色色色色色色色| 蜜臀久久99精品久久久久久酒店| 99热这里只有精品一| 久久色午夜在线导航| 青青草日本亚洲| 日本不卡高字幕在线2019| www,8050,午夜三级| 国产精品美女久久久久AV超清| 亚洲丁香五月美女| 五月婷婷 自拍| 亚洲99综合| 国产精品噜噜在线视频| 日本9区视频| 狠狠爱综合| 99色热视频| 国产AV不卡福利| 婷婷六月色| 亚洲激情免费视频| 激情综合网址| 欧美私人家庭影院| AV国产有码| pom538精品视频| 9+1视频网址| 亚洲婷婷免费| 久久久思思热| AA片在线观看视频在线播放 | 五月丁香中文| 久久这里这里有精品免费视频| 性爱视频久久| 天天操人人干| 五月香蕉综合| 四色五月视频| 久久小视频| 九九亚洲| 久久久婷丁香五月| 六月丁香啪啪啪| 婷婷 伊人 久久| 色播五月婷婷| 日韩精品色| 另类图片色五月| 98国产精品综合一区二区三区| av在线色五月丁香婷区久| 另类激情五月| 嫩草免费视频| 激情久久久久久久久久| 五月丁香美女| 99热亚洲只有色| 激情五月天视频| 有哪些A片网站| 丁香婷婷九月| www.激情五月天com| 免费亚洲婷婷中文字幕| 91女人18毛片水多国产| 99操| 99精品在这里| 六月婷婷狠狠| 67194成I人在线观看线路1| 91夫妻网站九色| 操人91| 97热精品| 夜夜爽天天爽| 亚洲激情综合五月婷婷啪啪| 欧日韩AV| 久婷| 日韩不卡123| 激情五月婷婷综合| 99热在线观看| 亚洲这里只有精品| 亚洲成人乱码av网站| 九九热99视频| 色五月婷婷青娱乐| 五月色丁香婷婷综合| 丁香五月欧美| 性热视频99精品| 激情五月狠狠| 丰满人妻一区三区三区| AV激情五月| 久青操| 婷婷之玖玖| 99在线视频。| 国产AV一区二区三区最新精品| 五月天激情小说网| 色婷婷香蕉丁丁网| 婷婷五月天777| 久久99免费视屏| 亚洲情色一区| 99热热热国产超碰| 亚洲黄色网址| 免费看欧美成人A片无码| 丁香五月婷婷影院| 综合性视频99| 五月天婷五月天综合网在线观| 大香蕉七区| www.久操| 日韩成人电影AV| 99视频这里只有精品10| 久久久久久久久久久久久久人妻视频| g00d人体西西| 久久婷婷东京热大香樵| 久久九九99.www| 中文字幕日产A片在线看| 另类激情综合| 男人天堂99| 国产精品VA在线| 日韩爱操视频| av操一操| 婷婷五月天免费| 欧美超级视频97| 天天天日天天天干| 日韩按摩二区| 狠狠色综合五月| 亚洲五月婷婷在线| 亚洲综合色丁香婷婷六月| 九九热在线观看视频网站| 丁香五月婷婷成人色区| 天天拍夜夜爽| 色宗合久久五月婷婷| 狠狠操狠狠干综合| 精品国产va久久久| 五月婷婷在线免费观看 | 五月天综合久久| 五月亭亭直播| 免费观看18视频网站| 九九热免费视频| 超碰人人摸人人操| 九色成人AV在线| 99热久久日本| 色情久久久| 成人 在线 日韩| 青草性爱视频| 玖玖国产视频一区| 婷婷亚洲影院| 99久久亚洲精品视频| 色五月婷婷五月丁香五月激情五月视频 | 老司机伊人| 天天干天天操天天拍| 性做久久久久久久免费看| 久久精品无码一区| 超碰99成人在线| 国产婷婷婷| 亚洲在线免费成人| 黄色短视频在线观看| 色色网站日本91| 操久久精| 欧美天天草人人草| 色色aⅤ網| tingtingzonghewang| 久久久久er热| 9久视频| 人妻AV在线| 91精品刘玥| 亚洲AV无码一区二| 99er这里只有精品视频| 9这里只有精品| 国产精品国产VA片国产| 五月婷婷视频在线观看| 日本久久高清| 性做爰A片免费视频A片直播| 五月丁香婷婷激情图片| 色色免费网站| 国产日批视频免费播放| 最新亚洲色色网| 第四色五月婷婷| 色五月成人| 丁香色情五月综合激情| 色婷婷久久天天性爱| 国产精品噜噜在线视频| 夜夜骑夜夜操| 99综合视频| 午夜激情四射影院| 97操男人的天堂| 日本婷婷在线| 亚洲激情丁香五月基地| 色播播五月| 久久五月视频| 亚洲AV电影av| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 草草操操| 亚州视频九九99| 久色激情| 风流少妇A片一区二区蜜桃| 国产美女主播vip| 丁香六月婷婷久久综合八月| 成人五月天视频| 99操| 色婷婷四色| 狠狠狠人妻| 五月婷婷激情四月| 天天干天干| 久久婷婷五月综合色天| 色婷婷五月影视| 五月天另类小说| 天天影院色| 色婷在线视频| 中文字幕簧片| 色婷婷五月在线| 激情五月天。| 夜夜躁婷婷AV| 久久久久久xxxxx| 99热这里有精品| 91超级碰| 国产永久一黄| 色久婷婷网| 五月丁香婷婷色色色| 欧美久久久中文字幕| 日本女人久久| 五月丁香六月婷婷亚洲视频| 色色色婷婷五月| 色婷婷精| 五月天久久久| 色五月丁香六月欧美综合| 99色色网| 丁香婷婷性久久| 丁香九月婷婷色| 丁香激情网| 日韩有码一区| 婷婷成人五月天一区| 99热在线精品观看| 六月激情网| 亚洲第一视频 久久| 色综合色色| 96精品久久久久久久久| 欧美色色网| 亚洲乱码日产精品BD| 99免费成人网| 天天色视频| 五月婷婷六月激情| 色婷婷视频| 五月婷婷综合视频| 色五月噜噜| 久色中文| 丁香五月性| 99re这里只有精品99| 五月婷婷之美女图片| 99∨VTV| 色色无码日韩| 久热 91| 人妻视频一区而且二区| 九九草热在线观看| 欧美性丁香色色五月天干干| 色综合久久天天综合网| 色狠久| 婷婷视频在线| tingtingzonghewang| 9久久精品视频| 天天综合精品| 狠狠爱婷婷爱| 97干视频在线| 日本三级网址| 五月婷婷开心丁香| 狠狠综合| 波多野结衣AV无码Porn| 欧美日本一区二区三区| 国产古装妇女野外A片| 人妻性爱av网站| 九九热re99re6在线精品| 97婷婷狠狠久久综合9色| 开心五月深爱婷婷| 九九伦子片| 激情婷婷综合五月少妇| 亚洲第一成人无码A片| 六月婷婷五月丁香首页| 五月天色不卡| eeuus五月婷| 五月丁香啪啪啪| 思思网站| 日日影院 | 性色欲情 网站| 天天爱天天操| 深爱开心激情网| 92久久| 99久久婷婷国产综合亚洲| 五月深爱激情网| 亚洲AV日韩在线观看| 五月花综合视频| 97自拍99| 天天色99| 四色永久成人网站| 亚洲色婷婷| 99久99热| 日本欧美成人片AAAA| 久久综合天天综合| 99热超碰人| 99爱这里只有精品免费视频| 色婷婷久久9.com| 一级黄色尤物综合视频手机在线观看| 久久婷婷超碰| www夜夜操comwww| 五月婷婷黄| 91人妻人人做人碰人人爽九色| 婷婷五月天丁香成人社区| 色偷偷色婷婷| 中文精品久久久久人妻不| 激情视频网址| 激情婷婷另类| 五月天伊人久久| 综合啪啪| 日本va欧美va欧美va精品| 中文字幕丰满孑伦无码专区 | 丁香五月久久综合| 欧美熟女视频 色婷婷| 五月婷婷69| 无码九九九九| 丝袜激情网| 亚州激情网| 色欲久久99精品久久久久久| 婷婷五月综合激情免费| 五月丁香欧美综合| 五月丁香激情综合| 日日射天天射| 噜噜狠狠色综合久| 亭亭五月丁香五月天激情| 欧美婷婷五月无砖| YW无码| 亚洲精品视频在线播放| 久久99久久99精品免观看粉| 99热精品在线| 五月激情基地| 婷婷九月在线| 丁香六月婷婷| 色婷婷狠狠18| 超碰在线免费| 激情五月婷婷| 色色色网站| 色优久久| 色五月色综合| 99欧州偷拍视频| 99热国产这里只有| 国产日产亚系列精品版优势| 亚洲婷婷成人五月天| 五月婷婷九| 久久久久久久人妻| 丁香五月Av| 免费色婷婷| 五月天色区| 综合激情开心五月| 91在线就要啪| 亚洲综合视频网| 丁香五月激情六月综合| 美女爆乳18禁www久久久久久| 婷五月天| 五月天婷婷色紫薇阁| 五月亭亭色| 国产精品电影| 激情小说在线视频| 天天爽—爽| 碰碰碰97免费精彩视频| 99色在线| 五月丁香啪啪| 影音先锋xfplay资源男人网| 欧美毛卡| 欧美三级巜人妻互换| 人妻内射麻豆视频| 伊人婷婷色| 欧美情色一区| 99熟女| 毛片毛片毛片毛片| 99黄色在线视频精品熟女| 久久激情网| 伊人五月综合网| 色噜噜狠狠色综合日日免费| 色丁香五月| 日本V在线观看不卡视频网站| 五月婷婷在线视频| 爱草视频在线观看| 亚州综合色| 亚洲国产精品二二三三区| 亚洲网视屏| 亚州色色色| 99高级会所久久| 九九热中文| 成人短视频免费| 免看黄大片AA | 激情五月天视频| 五月婷婷丁香俺日污视频| 五月丁香网视频| 六月婷婷AV| 日本V在线观看不卡视频网站| 免费黄色AV| 操一操| 婷婷五月天色色| 亚洲av无码精品色午夜| 久久草大香蕉| 色丁香五月婷婷| 婷婷激情丁香六月| 色亭亭五月天网扯| 九九热av| 另类在线观看视频| 一起草日本| 五月婷视频|