免费国产精品自在自线-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
返回資訊列表
九九无码视屏| 一起草AV| 99在线看片| 丁香五月激情综合久久| 丁香六月天| 激情丁香五月婷婷啪啪| 天天射影| 五月丁香91| 亚洲第一成人无码A片| 这里只有精品1| 亚洲成人网站在线观看| 亚洲性视频| 亚洲乱码日产精品BD| 色婷婷色99国产综合精品| 狠狠色丁香综合| 狠狠色大香蕉| 蜜桃婷婷狠狠久久综合| 久久久久久9热不雅视频| 噜噜操操| 久月婷婷| 色五月成人| 九九久久综合网站| 欧美成人网婷婷综合在线| 超级碰碰碰碰视频| 伊人婷婷91| 9久热精品在线视频| 大香蕉520| 五月丁香色综合| 五月婷婷伊人网| 五月婷婷偷拍| 99热人人| 无码色色色色色| www. 五月. com| 丁香六月婷婷色XXXX| 在线中文字幕视频| 欧美婷婷| 久久小视频| 色色色色热| 日日夜夜狠狠| 五月天婷婷爱| 五月婷婷激情五月| 狠狠色丁香| 九九色人| 日本久久网| 色婷婷电影网| 国产69久久久欧美黑人A片| 97人人干| 亚洲V国产V欧美V久久久久久| 99re6久热只有精品6在线直播| 激情丁香九九五月综合网| 亚艹艹| 久久成人天| 久久婷婷六月综合资源| A网在线欧洲| 五月花亭亭| 天天操,天天插| 色婷婷五月天堂资源| 五月婷婷六月丁香综合视频在线| 涩涩涩.com| 五月丁香色播| 丁香五月电影| 六月丁香五月天| 国产免费AV网站| 欧美日韩成人一区二区| 激情综合亚洲| 97色碰碰公开视频| 99ri精品| 丁香五月精品| 国产激情视频在线观看| 91性交在线播放| 久久曰9| 人妻视频一区而且二区| 久99在线视频| 久色网五月| 婷婷激情视频欧美视频自拍视频欧美剧| 五月天激情网开心网| 性色五月天| 9久热免费视频99| 国产.亚洲.欧洲视频在线| 人人干99| 熟妇高潮一区av| 大香蕉娱乐| 久久婷婷五月综合成人d啪| 欧美一级色| 色噜噜狠狠色综合日日免费| 五月天激情网图片| 色色色色欧美| 色综合区| 五月天最新网| 97精品人人A片免费看| 色狠狠婷婷| 超色欲天天| 狠狠香婷婷五月| 六月丁香婷婷色69| 婷婷丁香人妻天天爽| 国产欧美日韩综合精品一区二区| 五月天婷婷情色| 九九免费视频在线| 人妻综合网| 九月丁香婷婷| 九九热九九| 久色中文| 天天综合色| 免费播放AV| 日本久久高清| 另类激情五月在线视频欧美| 激情综合网激情五月俺也去| AV天堂淫乩| 天天爽免费视频| 特级西西4444www无码| 亚洲黄色网址| 停停色综合伊人| 五月婷在线| 欧美槡BBBB槡BBB少妇| 欧美操综合| 五月噜噜噜色综合| 99热只有这里有精品| 大香婷婷| 丁香六月激情国产| 色色97丁香婷婷五月天| 激情网第四色| 五月婷婷综合激情| 爆乳熟妇一区二区三区爆乳| 久久99免费视频| 丁香五月在线人妻| 色婷婷视频在线| 日本在线观看91| 激情五月六月婷婷综合啪啪| 色情五月综合婷婷| 日本怕怕视频| 深爱激情五月网| 婷婷五月天成人网| 丁香五夜激情四射夜夜夜| 思思99精品视频在线观看| 婷婷婷婷婷婷婷婷| 爆乳熟女一区二区三区爆乳| 五月婷婷导航| 亚洲最大在线| 淫视馆aV二区一区| 9999热在线免费观看| 99se丁香| 五月丁香婷在线| 婷婷在线播放| 天天撸夜夜爽| 色婷婷很很十八禁| 激情色视频| 六月成人网| 天天情天天狠天天透| 五月天丁香成人| 99视频在线观看视频| 色原狠狠综合| 99色色视频| 国产欧美大香蕉一区| 婷婷色无码| 五月色婷婷综合| 人人操操| 久久国产色| 97碰久久| AV电影在线播放| 99久久99视频只有精品| 99re在线播放| ji'qi'luan'ren'lun| 91碰操| AV五月婷婷露脸| 97碰碰免费.视频| 天堂草在线观| 婷婷五月情| 99在线热| 婷婷五月丁香色情| 九九久久免费视频44| 色欲AV导航| 综合九色| 五月丁香网站| 丁香社区婷婷五月| 99热日| 99干视频| 丁香五月婷婷天| 熟妇高潮一区av| 日韩爱操视频| 色情五月天小说| 婷婷五月综合在线| 欧美草久久五月天91| 9热久久| 1024操逼视频| 五月丁香六月婷婷玖玖| 亚洲精品在线视频| 日产精品久久久久久久蜜臀| enecarbon-materials.com污K127封锁请涟系@wip1688 | 久热免费| 5月婷婷五月天| 六月色激情| 噜噜视频| 天天干天天操天天爽| 97精品欧美91久久久久久久| AV大片在线播放| 激情亭亭五月| 久久 视频这里只有精总| 99人人精品| 欧美婷婷| 久久免费精彩视频| 狠狠色激情综合| 五月婷婷国产| 偷拍丁香九月激情| 性一交一乱一交A片久久四色| 热这里| 色娸娸综合网| 丁香激情综合| 色五月婷婷中文字幕| 色色哒五月婷婷六月丁香| 久9视频| 日本色色色色色色色色一色二色| 五月丁香啪啪综合| 婷婷玖玖五月天| 99热欧| 碰超在线九色| 丁香六月综合| 国产成人AV不卡| 五夜婷婷| 天天肏高清在线| 99成人网站| 五月丁香久久丝袜啪啪| 天天干人人奸97| 婷婷五月六月| 九九热99热| 亚洲情欲| 色色网站| 色婷婷裸体色性在线| 激情文学 综合 色| 久久婷婷亚洲| 色婷婷操逼| 五月天久草| 国产做爰视频免费播放| 丁香色色网| 91色综合网| 亚洲欧州色情在线观看| 思思热在线视频99| 夜夜操少妇| 丁香啪啪| 五月天婷婷综合久久| 色婷另类| 国产avapp 网| 欧美精产国品一二三区| AV操逼网| 丁香六月综合激情| 国产乱码久久| 九九99视频精品| 天天肏夜夜肏| 婷婷,五月天,丁香,第一| 五月婷色色| 97影院一级片| 成人丁香五月| 丁香五月AV在线| 婷婷五月天色色| 人妻激情综合| 草综合网| 丁香六月高清视频| 国产精品久久7777777精品无码| 五月婷婷综合色拍| 激情婷婷网| 色色网站免费观看| 婷婷激情六月| 操操啪| 久久婷婷激情| 99综合网| 色婷婷第四色| 色色五月天网站| 色久影院| 丁香五月六月久久综合 | 蜜桃五月天| 99er久久| 久久九精品| 亚洲啪视频| 色欲一区二区三区精品A片| 在线播放成人网站| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 丁香六月婷| 亚洲操B视频| 亚洲色色五月天| 亚洲乱码在线观看| 亚洲色色在线| 五月天最新网| 日韩1区2区| 人妻22p| 亚洲精品久久久久久久久久吃药| 99玖玖精品| 狠狠色狠狠爱| 亚洲婷婷视频| 久久久精品色色色| 五月天精品视频| 五月天开心网| 午夜福利8055| 丁香五月在线视频| 99热都是精品| 婷婷精品| 婷婷娌伦网| 激情丁香五月天综合| 五月天六月天| 婷婷九月激情| 日日噜噜夜夜狠狠久久丁香五月| 91碰在线| 久久黄色片| 人人操日| 人人操大| 天天色综合色| 五月婷婷啪啪啪| 久久99国产综合精品免费| 色五月美女| 99九九99九九九视频精彩| 狠狠色婷婷7| 色色色.COM| 91蜜桃婷婷狠狠久久综合9色| 国产SUV精品一区二区6| 久久综合五月天| 五月久久亚洲| 少妇高潮呻吟A片免费看软件| 狠狠综合久久综合| 久久婷出差欧美色两性综合网| 丁香五月婷婷色播艳门照| 婷婷激情社区| 色综合久久88| 99re在线免费视频| 五月视频日本免费观看| 99久久99九九99九九九| 色久99| 五月婷婷免费| 国产精品久久久久久久久久| 六月婷婷激情| 婷婷五月综合久久中文字幕| 九九成年视频| 日本九九热| 色欧洲| 久久婷婷五月综合色丁香| 丁香五月色| 99热这里有精品首页10| 激情丁香图片| 大香蕉视频99| 免费播放99性爱视频| 五月天婷婷视频| 激情婷| 五六月丁香激情视频| 99久久性爱| 五月狠狠| 婷婷五月丁香色综合| AAA级久久久精品| 天堂婷婷五月在线| 五月丁香六月欧美综合网站| 99人人干| 色香欲综合| 美女黄频aⅴ视频| 天天日夜夜拍| 影音先锋91男人资源在线播放| 丁香婷婷五色月| 高清无码网址| 色色啊| 激情小说婷婷| 台湾综合丁香五月蜜桃| 91中文在线| 99热免费精品热久久66| 另类少妇人与禽zOZZ0性伦| a色色片| 日韩成人免费电影| 婷婷色亚洲| 久久性爱视频网站| 欧美99热| 在线综合亚洲欧美65| 久久99热精品a片在线观看| 五月婷婷综合网| 2050人人操免费工开爱| 国产精产国品一二三在观看| 99日这里只有精品| 青996青| 66色在线日韩| 超碰碰碰碰| 国产精品电影| 天干干夜夜操| 天堂网操| 97人人操人人爽| 99色在线视频| 婷婷综合性爱网| 99热这里有精品2| 婷婷伊人综合| 99在线热| 情欲综合网| 婷婷五月天天| 干一干xxxx| 任我肏| 99无码| 麻豆五月丁香婷婷| 非洲一级AV| 99精品在这里| 丁香五月婷婷色播艳门照| 日韩AV一区二区三区| 九九性爱网| 狠狠爱综合网| 欧美日韩色色| 四色99久久| 激情网第四色| 99玖玖在线视频| 另类激情中文| 直接看的AV| 香蕉综合在线| 五月丁香狠狠爱婷婷综合| 五月天亭亭俺也| 九九五月天| 日本黄色三级片内射| 偷拍五月丁香| 综合性视频99| 操99| 色五月婷婷天堂| 五月婷婷影| 天天 青草 丝袜制服 在线| 月色色综合婷婷网| 免费视频WWW在线观看网站| www99热| 国产伦理精品高清在线观看网站一区二区| 热婷婷av| 中文字幕精品无码一区二区| 九色视频91| 九九久久综合网站| www久久99com| 人人操人人操919999| 强辱丰满人妻HD中文字幕| 日本狠狠干| 免费精品66| WWW·色色色·COM| 九九精品免费视频99| 97久久视频| 五月婷婷啪啪啪啪| 婷婷综合成人五月天| 九热久| 五月美女婷婷风骚| 性爱视频久久| 六月丁香激情网| 婷婷五月天成人小说| 婷婷五月花免费视频在线| 五月丁香成年黄色| 中文字幕+中文在线| 天天插天天射| 久久五月天综合| 日本色色网站| 色婷婷五月天| 丁香五月激情五月| 亚洲综合五月天婷婷| 色插综合网| 丁香五月天在线观看视频| 久久超级碰视频| 丁香六月丁香婷婷激情| 日韩黄在免| 天天日天天舔| 六月丁香网| 九九热这里只有精品6| 五月婷婷丁香啪啪| www.五月天婷婷| 天天色综网| 久久五月婷婷开心网| 99国产er热视频| 九九久久99精品免费观看www| 久久38视频| 激情 久久 婷婷| 亚洲视频在线观看| 久久se 综合网| 无遮挡国产高潮视频免费观看 | AV在线免费播放| 五月天色五月| 永久免费一区二区三区| 欧洲亚洲免费视频9| 日本色五月婷婷| 欧美色色网| 拳交大逼| 俺去也综合| 丁香六月婷婷综合缴| 欧美日韩一区二区三区四区| 欧美狠狠色| 天天操夜夜操| 99热网站| 51精品国自产在线| 亚洲成人丁香花| 久草视频大香蕉99| 婷婷激情综合色五月久久图片| 美女xx不卡| 九九九九九九综合| 99无码视频| 秋霞黄色一级久久| 麻豆123区| 久久色五月天综合网| 精品成人a v无码内射| 五月婷婷综合丁香视频| 97久久人人| 欧美日韩99| 一本色道久久88综合日韩精品| 综合天堂AV久久久久久久| 伊人久久丁香狠狠婷婷综合香蕉| 四色五月视频| 五月丁香久久网| 久久机热这里只有 | 日韩免费乱轮网站| 婷婷激情五月综合丁香社| 丁香婷婷在线| 99re久久| 色99综合色88| 99热日韩| 婷婷五月精品中文字幕| 色伊人婷婷| 亚洲V国产V欧美V久久久久久| www九九免费视频| 99热精品网| 99热久| 婷婷五月天激情AV影院| 色五月色五天色情网| 人妻久久久久久| 壅壅儕家a| 婷婷五月天色色| 五月婷婷黄色视频| www.久久久久| 婷婷五月欧美AA片免费| 美女丁香五月天| 日韩视频99| 免费观看的av| 婷婷五月网图片区| 色大综合| 婷婷五月丁香六月| 五月99久久| 丁香五月AV在线| 欧美五月婷婷| 超碰免费成人网站| 激情丁香五月天综合| 青青福利网| 日本a片网址| 日本人妻A片成人免费看片| 开心五月婷婷激情网| 欧洲一区二区| 97丁香视频| 操笔无码| 99久久九九| ji'qing'luan'ren'lun| 碰碰碰91| 色综合综合色| 久操操| 97超碰在线免费观看| 婷婷丁香激情五月| 亚洲操人| 久久99视频| 激情五月婷婷五月| 亚洲精级| 丁香五月激情视频在线| 1000部毛片A片免费观看| 99精品一二三四视频| 五月丁香欧美在线| 色综合久久久无码中文字幕999| 五月婷婷色情| 日本啪啪天堂| 天天肏在线观看| 欧美成人网99网| 国产无遮挡又黄又爽免费网站| 99久久9| 91婷婷色| 综合99综合久久久久久久| 丁香六月情| 国内9l视频自拍老熟女九色| 婷婷无码视频| 琪琪狠狠干| 九色色| 五月婷婷黄色网址| 九九综合久久| 九九爱精品网站| 欧美综合五月丁香六月婷| 嫩草AV久久伊人妇女超级A| 色色色色色热| 欧美一级色| 五月丁香五月丁香| 熟妇人妻中文字幕无码老熟妇| 色婷婷婷av | 欧美日韩一区二区三区四区| 亚洲激情综合网| 欧洲毛片基地c区| 热99免费在线| 香蕉综合在线| 婷激情五月天视频导航| 极品少妇XXXX精品少妇偷拍| 亚洲激情区| 99久| 五月欧美丁香在线观看| 亚洲色图45p| 五月婷婷三级| 99在线观看视频免费| 五月丁香激情综合| 五月丁香婷色| 婷婷激情五月天桃花网| 9热在线观看| 亚州色婷婷| 色婷婷久久| www.五月婷婷久久.com| 丁香九月综合在线| 九九综合九九| 五月天色婷婷小说| 超碰色天堂| 色色丁香婷婷综合| 密臀久久| 超碰成人AV| 99热99干| 丁香六月婷婷色XXXX| 色色色色色日韩午夜激情 | 99在线资源视频| 狠狠操天天干| 美妞av| 日本婷婷色| 五月婷六月| www.minyis.com【JT】实力收量可预付TG@LXSPSW8| 伊人婷婷大香蕉在线| 五月天另类视频| 五月激情视频| 超碰97在线观看免费| 天堂在线9| 色色亚洲无码| 射久久丁香五月| 99精品视频网| 五月丁香在线观看| 色播五月丁香婷婷| 丁香五月色五月| 欧美成人AAA片一区国产精品| 九九热思思| 婷婷激情五月天综合| 婷婷狠狠香蕉综合| 综合五月天| 日日夜夜久| 丁香综合伊人| 91碰碰视频| 婷五月天影院| 中文激情网| 五月婷婷婷丁香播| 色婷婷五月网| 播五月婷婷开心| 久久精品噜噜噜成人A∨色欲| 婷婷五月激情综合| AV在线中文| 热思思| 婷婷五月天777| 99riAV国产精品视频| 超碰亚洲欧美| 色婷五月| 人妻无码精品一区| 五月婷婷激情网| 天天成人丁香美女AV| 婷婷99| 色婷婷五月天偷拍| 狠狠狠狠狠狠草| 激情五月综合| 99热网站| 丁香九月婷| 五月婷婷在线视频| 丁香五月激情视频| 精品一区二区三区木瓜| 美妞av| 99久热| 国产色网站| 影音先锋综合网| 五月激情四射网站| 噼里啪啦在线观看免费完整版视频 | 日比视频91| 1000部毛片A片免费观看| 日夜操B| 婷婷五月天Av| 囯产精品久久欠久久久久久九大| 五月天激情AV| 26uuu亚洲精品国产| 3p日韩网站视频| 欧美在线骚货| 蜜臀A∨在线水帘洞| 丁香啪啪| 天天婷婷综合| 91精品电影18T| 99热这里只有精品26| 丁香五月性| 婷婷丁香五月麻豆| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 日日夜夜亚洲一区| 色约约视频一区二区三区四区五区| 国产精品第一国产精品| 色婷婷很很十八禁| 丁香六月综合| 伊人久久大香线蕉综合网站| 五月婷婷综合性爱噜噜| 毛片新网地| 粉嫩av蜜桃av蜜臀av| 婷婷伊人网| 五月天社区| 天天搞夜夜叫| 五月丁香久久久| 丁香五月激情综合啪啪| 丁香五月亚综合图片| 色七七色九九| 91婷色| www.婷婷.com| 风流少妇A片一区二区蜜桃| 丁香五月激动深爱欧美| 日本在线观看aaa 99| 十区av| 99性视频| 伊人国产婷婷五月天 | 色色色色色色色色色色色色色五月天| www.97干视频| 性爱先锋AV| 6080av| 天天色综网| 成人婷99最新| 天天干天天干天天| 97操碰在线97| av网址在线| 国产va在线视频| 婷婷五月天欧美| 婷婷久月| 无码字幕中文| 67194成I人在线观看线路1| Av性爱网| 综合XX网| 人妻丰满精品一区二区A片| 99热官网精品在线| 欧美日综合| 麻豆五月丁香婷婷| 婷婷性爱影院| 日本久久色| 久久网日本| 开心五月婷婷激情网| 九九热在线观看视频| 国产日韩欧美性爱| 色爱综合五月| 丁香婷婷偷拍| 青青草原亚洲天堂| 97超级碰| 97色婷| 97性高潮久久久| 五月丁香久久精品在线观看| 五月婷天天搞视频| 久久色情| 婷婷久久五月天丁香| 四五月婷婷| 天天综合网91| 婷婷中文字暮| 激情五月综合色婷婷| 亚洲精品视频电影| 1024人妻无码中文字幕| 538午夜激情| 天天爽天天操| a免费在线| 免费精品66| 色综合中文| 丁香九月色| 色青青五月| 91色久| 停停五月色宗合| 亚洲行行色色| 最近韩国日本免费高清观看| 日韩操人| 97人人搞| 97碰人人操| 婷婷色激情五月天| 婷婷五月丁香第四色超碰在线| 天搞天天天天天| 色呦呦美女| 日本三级片片| 啪啪六月婷婷| 亚洲正能量欧美| 日日鲁鲁夜夜爽爽| 色五月av| 青青夜夜狠狠夜夜狠狠| 婷婷五月综合在线| 日本色99| 综合AV在线| 国产资源在线视频| 五月六月丁香激情| 91精品视频男人的天堂| 日本3级片一区2区| 综合五月网| 九九色插| 人人爱人人摸人人澡| 超碰人人插| 婷婷五月天亚洲综合网| 色.五月综合网| 九九草热在线观看| 91在线操逼视频| 久久精品小视频| 久久久99精品免费观看| 精品综合久久久久久五月天| 91操碰| 玖玖在线资源视频| 偷偷与邻居做爰完整视频| 激情综合五月色在线| 亚洲乱码日产精品BD| 色另类五月天| 99超超碰| 天天日,天天射,天天舔| 月色色综合婷婷网| 永久免费一区二区三区| 久久久香| 激情五月婷| 色色色视频| 日本三级成人秘书精品片| 五月青青草综合| 狠狠色综合五月人人| 欧美成人精品老美女噜噜噜| 久久爱综合| 日韩综合久| 色婷婷视频| 成人精品一区日本无码网| 丁香激情六月天婷婷| 欧美,日韩成人在线| 丁香六月激情国产| 丁香五月欧美激情| 99热精品在线观看| 爱婷婷五月| 五月亭亭欧美女人| 久久久久er热| 亚洲99在线| 亚洲有码在线视频| se99视频| 99.色| 激情九色| 色色国产| 小视频久久久aaa| 九九五月天| 欧美成人一区二区三区在线视频 | 五月丁香狠狠爱婷婷综合| 久久久久久人妻| 色色综合色视频| 在线综合亚洲欧美65| 色婷婷精品视频| 激情五月天啪啪视频| 亚洲午夜国产成人电影VA国产欧…| 9九色首页| 久久综合热17c| 久久女人九九| 色婷婷丁香五月| 婷婷五月美女直播| 亚洲色五月| 五月丁香久久激情综合| 超碰精品在线| 婷婷激情五月天小说校园| 99激情在线| 日韩熟女啪啪视频| 婷婷丁香久久| 六月丁香色婷婷| 日日噜人人人做人| 狠爱婷色| 情欲禁地| 欧美久热| www.minyis.com【JT】实力收量可预付QQ2101460746 | 大香蕉婷婷丁香视频在线| 婷婷成人五月天一区| 26.uuu丁香五月婷婷| 中文字幕丰满孑伦无码专区 | 亚洲欧州色情在线观看| 久久99免费视屏| 99热观看| 丁香五月婷婷免费视频| 超碰九色| 丁香五月六月婷婷综合| 五月丁花色综合网| 97亚洲色 torrent magnet| 五月丁香六月婷婷的女人| 亚洲亚洲人成综合网络| 婷色五月| 久久综合影院 | 中文av网| 国产9色在线/日韩| 六月 丁香 视频| 桔色成人官方网站| 色综合夜夜| 久久婷婷91| 婷婷丁香综合色AV| 丁香六月婷婷色XXXX| 丁香五月偷拍| 91欧美日韩综合| 五月丁香成人小说| 五月播播| 66精品成人免费网站在线观看| 天天天操天天天爰| 色情五月天视频网| 激情婷婷五月| 婷婷情色五月天| 免费啪啪啪网站 | 久久综合中文| 91要啪| 久久亚洲天堂| 99热99思午夜精品| 中文字幕91,综合| 97搞在线| 99久久97| 日日操无码| 天天干天天av天天射| 亚洲中字AV电影在线网站| JAPANRCEP老熟妇乱子伦视频| 婷婷五月色播| 久久九九国产精品怡红院| 久久综合九九| 超碰久热| 99热99色| 国产精品涩涩涩视频网站| 五月婷婷六月色| 激情色播| 精品国产AV色一区二区深夜久久| 五月婷婷六月天| 丁香五月天社区| 99精品偷自拍| 4399无码视频| 丁香婷婷久久五月天| 久久月天堂| 玖玖综合玖玖| 五月丁香黄色| 亚洲成人在线免费| 五月天狠狠网站| 一夜福利不卡| 色五月婷婷激情五月| 色婷五月天网站| 色色cOm| 亚洲色视频| 色私五月婷婷| 日日杆天天| 成人片黄网站色大片免费毛片 | 97碰碰碰| 欧美99热| 五月丁香999| 激情五月天色婷婷| 丁香婷婷性久久| 九热视频| 610018岁成人视频| 99ri国产精品| www九九| 婷婷丁香五| 99re热视频这里只精品5| 色五月欧美| 91狠狠综合久久久| 色色色色色色色五月| 色香久久| 好吊操这里只有精品| 丁香五月综合亚洲| 婷婷五月,偷窥偷拍网| 99精品免费视频| 婷婷五月综合性爱| 操逼视频一区| 婷婷色系婷色| 婷婷五月天成人| 婷婷视频网| 久久久久视剧HD| 99热都是精品| 五月婷婷六月基地| AV在线免费播放| 嫩草AV久久伊人妇女超级A| 九九综合88| 综合激情伊人影视在线| 99热成人在线观看| 婷婷综合网| 色婷婷性爱网| 六月婷婷av| 久久欧洲综合网| 成人在线不卡| 九九爱激情| 一逼色综合| 天天日天天日天天搞| 丁香婷婷六月天| 久久婷婷五月天大香蕉| 亚洲欧美婷婷五月色综合| 夜夜操天天爽| 深爱激情九九五月天 | 婷婷五月天福利| 丁香五月九九| 婷婷五月天影视网址| 五月婷啪啪| 天天久久九九| 日韩成人网站精品久久大全| www.91婷婷| 96丁香婷婷九月蜜桃综合久久| 亚洲激情四射| 99热官网| 26uuu成人网| 丁香五月天欧洲在线| 精品人妻伦一二三区久久| 99热在线观看| 激情五月天久久丁香| 丁香婷婷情色五月天| yazhoujiqingav| 久久久妻人人人| 91狠狠综合网| 在线成人网址| 狠狠色婷婷综合开心影视| 这里只有精品视频国产| 91美女被操| 日本久久人| 色婷婷久综合久久一本国产AV| 国产又黄又爽又色的免费| 久99久在线| 综合伊人久久| 婷婷激情啪啪| 99精品福利视频| 清纯唯美 激情四射| 深爱五月激情网| 亚洲日日操| 亚洲午夜视频| 99久久99久久| 五月婷婷,狠狠操| 婷婷六月天激情| avh片在线观看| 五月婷婷婷婷婷婷艺术| 国自产拍偷拍精品啪啪一区二区 | 99re久热只有精品6在线直播| 婷婷久久综合| 亚洲精品亚洲人成人网| 狼人狠狠操| 国产精品日日躁夜夜躁| 欧美日韩成人在线网| 五月婷婷97| 综合网亚洲| 五月天婷婷亚洲| 色五月播五月| 大香蕉九九操| 97色啪| 亚韩在线视频| 97婷婷色| 五月色婷婷亚洲 | 九九成年视频| 五月丁香六月玩女人| 亚洲第二AV| 五月丁香婷婷欧美| 色综合色综合网| 99色综合网| 五月天婷婷在线观看| 激情综合网五月在线播放| 五月开心久久| 婷丁香五月天| 色色9 9| 婷婷五月天激情电影小说| 国内久久久精品99| www.五月婷婷久久.com| AV在线资源| 狠狠综合| 婷婷色网站| 丁香色影院| 婷婷无码视频| 2050人人操免费工开爱| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 人人色AV| 亚洲影院婷婷色| 狠狠色五月| 天天做天天视天天谢| 久久精品国产精品| 可似看的AV| 站长推荐无码播放| 五月婷婷久久综合| 久久99这里只有精品视频| 丁香五月天堂网AV| 99精在线| 色综合综合色| 色综合久久88色综合天天看| 九九这里有精品| 五月婷婷手机在线| 久久久久久久久久久97| 婷婷五月天视频| 亚洲bt丁香五月天婷婷激情小说| 九九色院| 99热这里都是精品| 永久精品| 婷婷 久综合| 婷婷五月综合中文字幕| 天堂久久精品| 亚洲久久婷婷| 91人操人人人操人| 国产又色又爽又黄又免费| 激情综合网五月| 天天摸天天舔在线视频| 色九九九综合| 99热精品中文字幕| 五月天综合影院| 97精品综合久久| 国产av第一专区| 99无码视频| 五月激情婷婷女| 99re在线观看| 伊人激情网| 亚洲精品视频在线| 狠狠综合网| 六月香五月婷| www.精品99| 狠狠色婷婷综合开心影视| 色婷婷成人| 色色色色色色色色网站| 欧美成人Va| 亚洲综合一区二区| 丁香五月亚洲综合丝袜| 思思re99视频在线观看| www.五月.com| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 任你艹| 免费操超碰| 亚洲亚洲人成综合网络| 欧洲亚洲免费视频9| 五月丁香在线婷婷美女| 色婷婷六月性| 欧美在线干| 人人操av| 91久久婷婷人人澡草 | 色色婷婷五月| www.99热| 性天天中文网| 狠狠干五月丁香| 婷婷激情伍月网| 性爱五月丁香| 热久久婷婷| 99久久户外勾搭| 亭亭玉月丁香| 97精品欧美91久久久久久久| 五月婷婷丁香瑟瑟视频| 在线色五月婷婷| 久久五月天大美女| 另类专区在线观看| 久久99大全| 丁香五月婷婷婷桃花影院| 91麻豆国产三级精品福利在线观看| 天天操夜夜操| 人妻久久久久久久| 欧美日朝成人| 色综合久久中文| 五月天色影院| 婷婷五月天黄色小说| 激情色情五月天| 丁香婷婷啪啪啪| 99热首页在线30| 婷婷丁香五月天色区| 99久久国产宗和精品1上映| 天天色月| 伊人春天av| 亚洲无码成人网| 狠狠操之狠狠操| 色八月婷婷| 色色精品色| 丁香五月婷婷性爱| 丁香五月狠狠在线观看| 亚洲综合视频天天精品| 99热欧美在线观看| 天天人人综合| 日韩狠狠色婷婷| 熟女五月天久久综合| 天天噜天天爱| 五月婷婷伊人久久| 久久66精品| 五月天婷婷视频30| 日日爱激情| 激情小说在线视频| 五月丁香激情综合啪啪| 伊人网碰碰| 日本色色图| 婷婷午夜| 狠狠爱青青草| 欧美五月婷婷综合| 狠狠爱婷婷色| 51成人| 久久综合丁香五月| 五月婷庭丁香在线| 亚洲婷婷成人五月天| 噜噜网免费视频| 久久人人超| 日本久久天堂| 九九婷婷五月天| 另类丁香综合| 99九九在线| 色欲操| 婷婷六月伊人| 天天日日夜夜| 激情五月激情综合网| 久久激情中文| www.激情com| 九九RE视频在线精品| 五月丁香好婷婷姑娘综合网| 热99这里只有精品视频| 这里只有精彩视频| 久久久久er热| 天天综合在线网| 久久3p| 久久久GOGO无码啪啪艺术| 色欲AVV| 亭亭色网| 丁香五月婷婷亚洲综合精品在线| 久久99性爱视频| 欧美性爱五月天| 亚洲黄网AV| 色噜噜五月天| 五月婷婷丁香大陆免费| 激情五月天激情五月天| 成人丁香五月天| 色色色色色色色五月| 五月婷婷香蕉| 操逼巨乳91| 天天干天天拍| 天天日天天色| 日韩成人无码片| 操操操操操操婷婷五月天| 在线亚洲综合网| 99燥99日| 亚洲综合一区二区| 免费色色色| 婷婷日欧美在线观看| 久久五月婷| 五月丁香色婷基地综合久久| 一根材五月婷成人| 人人爱人人草| 九九亚洲天堂| 九九九色综合| 五月婷婷之美女图片| 五月天婷婷小说| 九九热99久久99| 夜夜www| 國語久久婷| 色婷婷激情视频| 人妻久久久久久久久妻久久久久久久久| 婷婷五月天在线观看第二页| 五月丁香激情综合| 一操久久| 五月婷久久在线| 99ri在线视频| 97资源碰碰在线| 欧美婷婷色五月| 精品无码久久久久久久久| 色婷久九| 欧美25p| 99热在线观看| 丁香五月天AV在线| 香焦网五月天| www.91AV.com| 久热视频这里只有精品68| 亚洲色网络| 久久九九玖玖| 停婷丁五月在线| 亚洲av综合在线| 五月丁香五月激情综合色综合| 俺去也五月天婷婷| 久久婷综合网| 婷婷亚洲欧美丁香五月| 久久A极片| 蜜臀A∨在线水帘洞| 五月激情啪啪啪| 成人视频在线免费播放| 99视频网| 久99在线| 五月激情基地| 51精品国自产在线| 天天日综合网射| 免费视频99| 亚洲思思热久| 大香蕉久艹| 人人操人人操919999| 五月天激情网图片| 人人草碰| 久热这里只有精品6| 天啪天啪天啪天啪| 久久婷婷五月综合色丁香| 国产av一区二区三区| 人人天堂操| 大香蕉久久青青| 成人婷婷五月| 狠狠五月婷婷| 亚洲综合色五月| 狠狠婷婷色综合| 国产精品久久久丁香五月八戒视频| 人妻内射一区二区在线视频| 噜色精品| 天久综合91综合首页| 九九热视频免费的| 久草婷|