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

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
返回資訊列表
亚洲第一综合| 182TV大香蕉| 99热精品在线播放| 五月天五月色| 激情另类综合| 久久xxxx| 色色色色色色色色五月先| 玖玖91| 久久多色| 99.N在线视频| 婷婷九月丁香| 夜丁香综合| 香蕉婷婷色五月| 丁香五月婷婷婷桃花影院| 久久九九国产精品怡红院| 97 A I色色| 成人视频九九| 青青热久久综合| 99九九视频| 婷婷色色综合| 99久久超级| 五月丁香网站| 啊v视频在线观看| 无码动漫av| 色色婷婷综合网| 欧美天天草人人草| 中文网AV| 丁香五月天信号| 丁香五婷| 日韩综合久| 丁香婷婷五月色综合| www九九热| 国产亚洲色婷婷久久99精品91| 丁香六月天婷婷开心综合| 激情综合自拍五月婷婷色五月| 丁香五月婷婷激情尤物| 开心五月婷婷婷美女| 色婷婷激情Av久久久| 亚洲色色色| 九九综合| 亚洲操人| 成人无码精品1区2区3区免费看| 性爱视频99| 99精品一二三四视频| 久久色这里只有精品| 久久网思思| 激情www.98com| 激情六月丁香综合| 97色伦另类图片小说视频 | 狠狠色五月激情| 五月丁香精品| 五月婷婷伦理| 丁香五月,激情五月,深爱五月| 色婷婷五月网| 99热免费观看| 99久在线精品99re8| 婷婷五月天精品| 色婷婷综合网站| 99久久网站| 九九碰九九爱97超碰| 五月丁香久| 五月天激情四射网站| 婷婷五月天在线观看| 9l视频自拍九色9l视频在线观看| www超碰| 成人丁香五月| 久久99热网| 色爽干| 六月婷婷色色网| 丁香五月婷婷综合啪啪| 中文久久婷婷| 日日夜夜狠狠婷婷色| 亚洲精品乱码久久久久久按摩观| 操啊操av| 色婷婷综合影院| 婷婷成人视频| 色婷婷电影网| 欧美熟女视频 色婷婷| 九九久久精品| 久久A极片| 色五月,com| 在线视频九色97| 91啦丨九色丨刺激中文| 中文AV在线播放| 亚洲六月婷婷| 热99只有精品| 国产一级片| 欧洲色色| 大香伊人婷婷影院| 色综合爽| 天天色视频| 操操国产| 最新无毒无码AV| 极品少妇婷婷五月| 婷婷色播色五月五色五月天色妇| 五月天狠狠草| 久久人妻久久| 五月天婷婷激情四射综合| 日本天堂免费99| 秋霞性爱AV| 狠狠狠激情网| 狠狠色狠狠| www.夜夜操.com| 日本视频久久| 日韩无码专区| 婷婷基地爱| 婷婷九月亚洲| 综合久久十三| 色情五月丁香婷婷网| 天天操夜夜玩!| 日本人人xxx| 欧洲毛片基地c区| 欧洲色色| 欧美色色色色色| 色黑鬼导航| 久久性爱视频久久性爱视频| 色婷婷影院| 中字幕视频在线永久在线观看免费| 9色天堂| 五月婷婷丁香啪啪| 这里只有精品在线免费视频| 96丁香六月婷婷蜜桃综合久久| 久久五月婷天天干| 婷婷成人综合免费视频| 婷婷丁香色情| 操人精品| 丁香五月开心五月激情| 大香蕉啪啪啪| 97干97色| 丁香五月天电影| 男妓跪趴把舌头伸进我的嘴巴| 色色五月丁香婷婷综合| 色婷婷先锋| 2017狠狠干| 97日韩无套内| 天天干,噜噜色,狠狠色| 亚洲男女激情| 亚洲激情婷婷| 少妇达人正片在线播放_ikun_福利吧| 午夜无码熟熟妇丰满人妻| 五月婷婷婷综合网| 五月WWW| 91偷拍视频| 91男人资源站| 久久精品66| 色色五月天激情| 98色丁香五月婷婷综合网| 这里只有精品视频国产| 五月天激情综合网| 色色色色热热| 五月色影院| 久久精品五月| 婷婷日日夜夜| www.lingjunshare.com| 99热6精品| 亚洲视频国产一区| 超碰99久久| 中文字幕人妻AV| 综合五月激情网| 久久丁香| 另类综合激情| 国产精品第一国产精品| 婷婷丁香五月天小说| 99热综合网| 欧美日韩99| 五月花婷婷| 99热高清在线| 伊人久久婷| 91视频人人做97| 九九婷婷网五月天| 六月婷婷香蕉| 色~性~乱~伦~噜| 色久99| 日本成人噜噜噜| www91色网站| 人人操人人爱丁香五月| 97丁香视频| 婷婷综合精品视频97| 影音先锋 萱萱| 国熟女视频| 成人精品一区日本无码网| 无码se| 大香蕉婷婷久久| 久久99精品久久久久久三级| 亚洲第一黄网| 日本激情ⅩXX免费视频| 超碰97在线操| 日韩aaaaa| 婷婷五月18永久免费网站| 久久99热免费最新版| 丁香五月天激情四射网络不好| 99热这里只有精品手机在线观看| 亚洲综合狠狠艹| 另类少妇人与禽zOZZ0性伦| 五月丁香美女| 七月丁香五月婷婷在线| 色婷婷五月天激情在线观看| 婷婷丁香激情综合色情| 天天干,夜夜爽| WWW,激情五月天,COM| 久久99网| www.26uuu.com亚洲电影| 色色综合院| 婷婷九月激情| 色婷婷在线综合色播网| 色99婷婷五月天| 99精品久久久久| 99热e| 人人操99| 婷婷丁香综合成人| 婷婷五月大香蕉| 99久久综合网| 色婷婷丁香| 免费啪啪亚州视频| 欧美成人AAA片一区国产精品| 久久只这里有精品| 开心五月婷婷婷美女| 色色色欧美| 九九99视频精品| 99热10在线高清播放| 人妻内射视频| 欧美va视频不用播放器的va视频网| 国产成人精品一区二区三区视频 | 亚洲综合婷婷六月丁香五月| 9久热在线视频精品| 97精品综合| 激情五月激情综合网一级丸片| 国产亚洲精品久久久久久久久动漫| 日日夜夜天天爽| 色婷视频| 怡红院99| 99热久草| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久热最新视频| 超碰免费99| 做爰丰满少妇1313| 思思99久久| 少妇婷婷五月天| 婷婷九月在线| 五月丁香婷婷伊人| 久久这里只精品| 人人操人av| 超碰日日操| 51精品国自产在线| 岛国AV网| 久色五月丁香视频| www.ppypp| 婷婷久久网| 国产AV网页| 91狠狠综合久久久| 99精品在线播放| 桔色成人在线| 伊人深爱综合| 五月四色婷婷| 春色激情第四色| 欧美在线干| 大香AV| 久久五月婷婷综合网| 激情综合国产| 狠狠草在线观看| 婷婷五月天成人娱乐| 激情五月天色婷婷综合| 久婷婷久草| 丁香六月婷| 思思热99热| 草婷婷在线| 久久九九综合| 五月丁香六月激情综合| 婷婷综合在线播放| www99xxxx五月丁| 99无码视频| 亚洲综合视频网| 精品三区影院| 天天干天天干天天干天天干天天| 色综久久AV| 五月天久久www| 久久婷婷的综合色丁香五月| 一区二区乱视频码| 大香蕉在线99热| 五月综合视频| 五月婷婷无码| 久久xx| 亚洲综合色色| 在线看片av| 五月天婷婷激情在线色图| 五月天婷婷丁香蜜桃91| 天天天天天色| 久热视频这里只有精品68| 五月天另类小说亚洲| 人妻久热| 日日干天天射| www.99视频| 操逼巨乳91| 婷婷五月丁香综合桃花色网| 久久无意婷婷| 99人人操人人操人人精| 色月九九| 天堂色色色| 五月天基地| 欧在线一区| 操操综合网婷婷| 婷婷五月性感| 大香蕉丁香| 热婷婷久| 色蜜婷婷| 97色在线| 99热首页在线30| 99性感视频| 五月天激情小说婷婷基地| 五月丁香婷色| 999热成人在线综合网| 久久性爱视频久久性爱视频| 综合图片色色| 国产成人av在线播放| 99色色网| 变态 另类 在线 | www久久久| 激情AV| tingtingjiqingwuyue| 免费精品66| 婷婷日日天天| 婷婷社区五月天| 欧美 日韩 成人| 久久婷婷综| 国产精品大香蕉| 激情五月婷婷视频一区二区三区| 欧美丰满熟妇BBB久久久| 亚洲无AV在线中文字幕| 碰久久精品w| 久久大香蕉视频| 91色操| 成人精品在线观看| 五月婷AV| 色丁香五月天| 国产精品第一国产精品| 九九中文字幕九| 四月婷婷五月丁香| 热久久思思热思思| 婷婷开心激情| 五月天婷婷綜合院| 最新高清无码专区| 天天撸天天干天天插| 色色色色网站| 久久婷婷六月综合| 婷婷久久色| 五月天婷婷影院| 五月婷婷成人网首页| 九九精品在线网| 色五月激情网| 婷色五月天| 激情婷婷五月天丁香| 国产成人av在线| 婷婷五月天色综合翘| 五月天综合图片| 色婷婷婷婷| 免费无码毛片一区二区A片| 天天干天天日蜜臀av| 天天色综| 色婷婷欧美在线| 婷婷综合在线| 久久丁香综合精品综合| 99色在线观看免费| 婷婷五月丁香六月综合网| 亚洲色在线观看| 色色色九九九五月婷婷| 天搞天天天天天| 五月婷婷六月奇米网丁香| 超碰色综合| www.狠狠操| 99色| 丁香五月婷婷在线观看| 97精品人人A片免费看| 色色日本欧美| www五月天激情com| 色99在线| 99视频在线| 六月丁香激情网| 久久九九网| 成人在线高清| 久狠日av| 婷婷六月成人| 色欲五月天| 久久综合九九| 久久五月婷婷丁香| 一级韩国产精品毛| www.婷婷,com| 偷偷与邻居做爰完整视频| 五月天天堂久久| 99色在线观看视频| 国产毛片精品一区二区色欲黄A片| 亚洲六月色婷婷| 亚洲 六月 综合| 99热精品在线观看| VA婷婷| 另类 在线| 亚洲最大成人综合网720P| 亚洲乱码日产精品BD| 婷婷九月综合| av久热| 99久久高清视频| 草AV9999| 伊人免费视频9| 开心五月婷婷六月丁香| www.99热| 日本www五月婷婷| 强伦轩人妻一区二区电影| 国产婷婷五月天| 五月婷婷 激情五月| 办公室少妇激情呻吟A片在线观看| 91欧美日韩综合| 久草热在线视频| 久热精彩视频98| 五月色天五月色| 三男玩一女三A片| 天天做天天爱天天爽夜夜揉| 啪啪啪大香蕉| 婷婷亚洲五月丁香综合在线| 国产精品久久久久久久久久| 色五月视频无码播放| 性色做爰片在线观看WW| 天天舔天天摸视频| 操日本三片99| 色久五月天| 中文字幕不卡网站| AV五月婷婷露脸| 久久日本wwww色| 亭亭五月激情亚洲在线| 色99欧洲色19| 久久五月婷婷丁香| 激情视频网址| 五月天激情小说网| 艾小青av| 综久久久| 五月婷婷久久大香蕉| 亚洲AV第二区国产精品| 天天操无码| 久久久无码精品成人A片小说 | 噜噜吧天天爱| 丁香五月色五月| 激情婷婷久久| 久久婷婷五月综合97色一本| 中文字幕在线免费看线人| 热久久这里只有精品20| 五月丁香影视| 婷婷色爱| 五月丁香好婷婷A片网| 99ri在线观看视频| 婷婷五月天伊人在线| 精品无码久久久久久久久| 五月丁香成人| 五月婷婷日| 免费亚洲婷婷五月| 激情五月天婷婷久久久久久久久久久 | 色欲婷婷夜夜| 超碰色碰碰| 99看片| 亚洲性视频| 99热这里只有精| 亭亭色天香| 色色色色色日韩午夜激情| 天天综合久久| 99热欧| 五月天丁香啪啪啪啪| 婷婷五月丁香啪啪| 五月丁香好婷婷A片网| 色原狠狠综合| 亚洲操逼网| 99精品久久久久久久婷婷久久| 五月天大香蕉AV| 婷婷九月丁香| 天天天天做夜夜夜夜做| 久久婷婷色色| 久久se 综合网| 亚洲精品99| 丁香5月激情网| 伊人久久丁香狠狠婷婷综合香蕉 | 欧美英丁香开心快乐六月天网| 99热日本精品| 99热国品| 久久99网站| 狠狠狠狠狠操| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 激情涩涩网| 五月色丁香婷婷综合| 思思热视频在线| 五月激情婷婷女| 在线成人网站| 五月天丁香综合在线| 九九精品免费| 婷婷五月天综合网| 婷婷五月天亚洲丁香| 日韩成人中文字幕| 成片免费观看大全| 三男玩一女三A片| 99热精地址| 色五月婷婷五月天激情综合| 欧美性猛交99久久久久99按摩| 九九视屏| 色五月亚洲开心网| 综合久色五月| 婷婷精品在线| 久xxxx| 激情小说五月天| 久久婷婷五月天亚洲欧美| 91热99| 婷婷久久图片| 久月久在线视频| 五月激情婷婷在线| 亚洲乱码w在线观看| 三级大香蕉网| 97丁香花五月天激情小说| 91热网址| 婷婷久久婷婷色五月| 极品少妇XXXX精品少妇偷拍| 激情色色色| 丁香五月婷婷综合精品素人| 激情综合激情五月一起草| 五月天成人在线视频丁香| 色色色婷婷五月天| 人人操AV| 丁香婷婷影院| 激情五月天色婷婷| www.夜夜.com| 婷婷综合激情五月综合| 妻久久久久| 色婷婷黄色网络| 久久性刺激| 日韩久久欧亚| 超级碰碰一区| 爱狠射| www久久久久久久久久久久久久久久久| 国产99热| 午夜少妇在线观看视频| 99爱视频免费| 99色色网| 国产精自产拍久久久久久蜜| 99热精品在线观看| 91九色网| 性做久久久久久久免费看| 色五月综合在线| 99热播放| 久久六月综合| 91成人视频| 亚洲综合99| 九九AV在线| 亚洲免费99| www.日本91| 五月丁香色综合| www.婷婷.com| 九月丁香婷婷| 久久婷五月| 久热超碰| www.丁香黄色五月天人与| 日本精品人妻无码77777| 国产精产国品一二三在观看| 99国产在线精品视频| 成人无码精品1区2区3区免费看| 99亚洲视频| 婷婷成人视频| 久久全意婷婷| 亚洲色图在线视频| 啪啪 综合网| VA色婷婷| 激情小说五月丁香在线视频观看视频| 色综合爱综合| 婷婷激情丁香六月| 超碰在线综合| 五月激情丁香五月| 一级片sese片.COM| 日日婷婷不卡| 狠狠色综合网站久久久久| 色色热| 亚洲五月婷| 日本久久网| 色九九综合色| 99在线小视频| 人人97碰| 深爱丁香激情| 夜夜谢天天干| 91热爆在线| 丁香五月婷婷国产av| 日本情色一区二区| 99丁香五月婷| 伊人五月成人| 99A片| 黄色片久久| 亚洲免费在线观看岛国| 综合色色网| 丁香五月成人论坛| 99热这里有精品| 五月天色丁香| 久久精品日| 大香蕉五月天| 丁香六月婷婷一区| 夜夜爽天天爽| 五月婷婷六月丁香| 98色丁香五月婷婷综合网| 特黄三级片| 午夜婷婷五月天在线| 五月丁香成年黄色| 人妻丰满精品一区二区A片| 亚洲AV永久无码影院黑人| 99操视频| 色婷婷小说| 夜夜骑夜夜操| 久久码久久无清| 26uuu.| 99这里有精品视频| 亚洲精品又粗又大又爽A片| 亚洲操B视频| 五月久久五月激情| 天天干天天插| av网站免费在线| 99,色| 欧州色色| 少妇性按摩无码中文A片| 无码yw| 丁香婷婷五色月| 五月丁香激情综合网| 九九色精品| 色综合视频| 狠狠色狠狠色综合日日91| 9久视频| 日本少妇裸体做爰高潮片| 五月婷婷丁香啪啪| 色丁香影院| 婷婷激情五月综合| 色综合中文色综合网| 成人网丁香五月| 综合久久综合久久| 久久久五月天婷婷成人网| 思思热在线观看| 激情久久丁香| 久久九九大香蕉电院| 五月天综合视频| 婷婷丁香社区| 欧美性丁香色色五月天干干| 99视频在线9| 九九热在视频| 精品人妻伦一二三区久| 九九综合色综合| 久久开心五月天激情| 蜜桃五月天| 操操自拍| 五月天婷婷成人网| 任我肏视频精品| 国产一级婬片毛片| 色婷婷成人做爰A片免费看网站| 五月婷婷啪啪啪| 天天爱天天操| 色婷亚洲五月丁香| 色亚洲欧洲| 丁香影院五月综合| 色操b| 五月婷婷啪啪啪啪| 中出内射的人妻视频| 青青青在线视频国产| 婷婷在线播放av| AV在线资源| 操日视频| 色综合色五月| 五月丁香久人妻中文| 五月婷婷六月激情| 狠狠久久婷婷| 99这里只有精品视频| 色天使久久综合| 丁香六月天婷婷开心综合| 人妻熟人中文字幕一区二区| 激情综合激情五月| 五月天丁香久久综合| 思思精品久久艹| 激情五月丁香五月综合| 五月综合色播播丁香婷婷| 久久免费少妇高潮99精品| 日日干干天天干| 五月日韩中文字幕| 五月婷婷婷婷婷| 少妇水多A片太爽了| 九九爱看亚洲| 在线播放 精品| 这里只有精品视频99| 99啪在线视频| www.91九色| 激情五月丁香婷婷夜夜操| 亚洲操B| 五月天伊人| 婷婷五月天色| 超pen个人视频97| 丁香欧美| 伊人婷婷五月天av| 婷婷大香蕉| 99久久国产成人精品| 99色婷婷| av性爱在线| 九月停停| 婷婷五月激情图片| 日韩a热| 亚洲99精品九九在线| www.婷婷.com| 久热九九| 欧洲MV日韩MV国产| 色五月婷婷九月| 欧洲不卡视频| 亚洲亚洲人成综合网络| 俺也去在线视频| 九月婷婷色色| 性做久久久久久久免费看| 五月激情婷婷开心| 99re在线精品视频| 午夜天堂一区人妻| 欧洲亚洲精品| 色婷婷六月性| 操逼视频网址| 婷婷久久五月天| 婷婷之六月丁香| 97碰免费精采视频| 国产成人片| 91人人爽久久涩噜噜噜| 欧美色图45678| 综合久久五| 婷婷五月天电影网| 热热久久精品视频| 激情婷婷五月天丁香| 这里只有精品1| 亚洲色婷婷视频| www一起操在线观看| 99热97| 九九免费精品| 中文字幕九九九九| 婷婷色色网站| 天天舔天天摸| 人妻尝试久久久久久久久久久久| 婷色五月天| 2025神马午夜福利| 亚洲VA口| 99热在线中文字幕| 日韩啪啪视频| 国产三级在线播放| 国产99久久久国产精品免费看| 婷婷五月天亚洲| 黄色99网| 97干在线| 思思干精品| 天天操综合网| www热久久yy9| WWW五月| 美臀自射自家人妻| 大香蕉啪啪| 黄色短视频在线观看| 中文字幕精品无码一区二区| 97精品欧美91久久久久久久| 免费观看欧美成人AA片爱我多深 | Www.激情| 视频这里只有精品16| 五月激情丁香五月| 五月婷婷丁香六月| 日本在线观看aaa 99| 亚洲精品又粗又大又爽A片| 激情六月天婷婷| 五月天激情网开心网| 一區四區歐美日韓| 丁香婷婷激情综合五月激情| 五月婷婷深深爱| www色综合亚洲92| 热99色| 九九热只有精品| 天天肏高清在线| 亚洲激情图文小说| 天天想夜夜爽天天爽| 久久久久8888| 亚洲欧洲午夜成人精品av| av婷婷丁香| 久久五月天激情| 色婷五月天| 99热这里只有精品9| 91精品久久久久久久| 美国十月色婷婷在线观看| 国产激情婷婷| 色综合色色色| 久久免费精彩视频| 久久五月天综合| 九热视频| 26uuu在线观看| 九九在线精点品| 深爱激情丁香| 婷婷五月骚厕所| 亚洲一区二区无码蜜乳av| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷五月成人| 免费亚洲婷婷五月| 在线网黄| 欧美日朝成人| www.狠狠| 五月婷婷色播| .精品久久久麻豆国产精品| 五月天激情婷婷| 9色91视频| 综合六月久久| 五月婷婷综合在线视频| 久草婷婷视频| 天堂色色色| 狼友超碰| 亭亭色色五月天| 99视频精品| 激情网战码亚洲A| 蜜臀av无码久久久久久久久| 色婷婷深爱五月| 另类激情五月| 色久五月天| 婷婷欧美| 亚洲成人在线播放| 99热国品| 色约约视频一区二区三区四区五区 | 丁香六月啪| 综合久| 六月婷婷之青青草| 天天操天天谢| 欧美色婷婷| 超碰九色| 亚洲欧洲中文日韩久久AV乱码| 狠狠色色色| 天堂网色色| 97色婷| 丁香六月激情综合网| 激情五月天色婷婷综合| 日日干天天| 婷婷丁香熟妇综合网| 激情久久久| 久久这里只有精品视频15| 久久久A级视频| 99re视频在线播放| 欧美日韓成人亚洲精品另类| 亚洲久久视频| 日本本土色网第一区| 丁香六月激情蜜桃| 五月婷婷五月天| 另类激情五月在线视频欧美| 狠狠做深爱婷婷久久综合一区| 99热官网| 伊人青涩网| 婷婷五月天影院| 深爱丁香激情| 大香蕉久久久| 亚洲精品久久久无码| 亚洲殴洲精品Av在线| 日韩人妻在线观看| 婷婷伊人激情婷婷| 丁香六月婷婷综合缴| 91久久久久久久久| 香蕉久久国产AV一区二区| 激情丁香五月| 婷激情五月天视频导航| 日本色爽| 亚洲精品久久久无码| 9精品视频在线| 成人五月天在线视频在线观看| 五月丁香婷婷综合网色欲| 91精品无码| 激情内射人妻1区2区3区| 小泽玛利亚视频一区二区| 成人视屏在线观看| 人人摸人人干人人做| 婷婷五月天影院| 97婷婷五月丁香| 婷婷丁香人妻天久久| www激情五月天| 狠狠色综合网| 久久99精品久久久久子伦| 欧美韩日AAA网站| 123草逼网| 五月丁香六月激情| 久久五月婷婷电影| 成人va视频| 欧美怡红院黄站| 色五月激情综合网| 深爱激情丁香| 国产,欧美,学生妹,视频| 丁香色婷婷| 日日操夜夜爽天天天| 国产精品色| 狠狠操狠狠色| 伦乱美欧| 综合网色| 五月天婷婷丁香成人网| 五月丁香久久综合| 99热主页日本| 天堂久久大香蕉| 婷婷五月天偷拍| 极品少妇高潮啪啪AV无码| 五月停停色色丁香| 色婷婷视频在线| 人人操人人妻| 狠狠色性| 九九热精品视频| 综合伊人久久| 天天摸色吧天天摸色吧| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 第四色激情网| 五月天久久综合| 九九亚洲天堂| 五月丁香六月婷婷综合免| 97色色综合| 91精品婷婷国产综合| 久热这里只有精品99re,久热这里只有精品7| 午夜天堂啪啪| 色婷婷色九月| 婷婷六月天激情| 九九这里只有精品| 五月婷婷久久综合| 欧美综合五月丁香六月婷| 人人草碰| 久热中文字幕在线线观看 | 色五月天婷婷| 99热色综合| 五月婷婷免费看| 久777| 五月天婷婷导航| 成人丁香五月| 异能之下短剧免费观看全集| 亚洲AV成人在线| 色九月婷婷综合| 婷婷涩五月| 久久久久久激情| 五月丁香六月婷婷网| 天堂久久大香蕉| 色五月天电影| 婷婷在线日韩综合| aaa日韩| 综合99在线| 五月天开心婷婷激情网站| 国产综合丁香五月天| 五月婷婷六月丁香在线| 色综合香蕉视频| 五月丁香色综合| 超碰日日操| 激情五月天婷婷| 中文字幕成人| 色五月综合网| 久久五月丁香婷婷| 99在线精品免费视频| 亚洲五月综合色播| 九九精品9| 五月婷精品| 99ri视频在线播放| 丁香伊人网| 亚洲免费99| 99在线观看| se色99| 婷婷丁香六月天| 欧美国产一区二区三区| 精品亚洲国产成AV人片传媒| 成人片在线播放| 综合激情网五月激情| 91中文狠狠综合| 婷婷五月花丁香| A1片久久久| 九九热在线精品视频| 九九九九九九九热| 久久天堂婷婷五月| 99久久99九九99九九九| 99热久只有精品首页| 精品一二三区久久AAA片| 久久深爱激情网| 六月色激情| 日韩AAAAA| 五月婷婷之激情五月| 婷婷香蕉视频| 久久婷婷视频| 婷婷久久六月费| 日本97在线| 99热66| 九九亚洲视频| 色婷婷五月成人网| 九九激情网| 五月婷婷激情久久| 大香蕉五月天| 麻豆忘忧草午夜| 91九九| 五月婷AV| 免费亚洲婷婷中文字幕| 精品国产AV色一区二区深夜久久| 俺去也五月| 99热精品在线播放观看| 亚洲综合成人网站| 丁香五月激情综合| 99热在线只有精品| xxxx五月激情| 六月婷婷青青青视频| 色婷婷伊人| 欧美综合五月丁香五月天| 久9无码视频| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷五月天综合色| 丁香激情网| 熟妇人妻中文字幕无码老熟妇| 开心激情综合| 激情合网婷婷| 99精品在线观看视频| 日韩人妻AV在线| 69色婷婷| 人妻VideOssS人妻| 91艹人| 97日本在线播放| 色色色999| 日韩在线aaa| 欧美亚洲999| 五月丁香激| 97综合视频在线| 激情婷婷丁香五月天| 激情小说 五月天| 99久久99视频只有精品| 俺也去五月婷婷丁| 狠狠色噜噜狠狠狠狠综合| 激情美女五月天激情在线| 在线不卡中文字幕| 色婷婷99| 婷婷五月天奸女| 激情开心五月天婷婷基地丁香社区| 五月丁欧美| www.五月天色色色| 天堂久久丁香| 噼里啪啦在线观看免费完整版视频| 天天舔天天操| 色婷五月天网站| 99成人精品六| 五月丁香婷婷色色| 五月五月婷婷| 99色嘟嘟精品网站| 国产美女无遮挡裸体毛片A片| 五月丁香啪啪啪啪| 色五月天婷婷| 五月天久久综合婷婷丁香| 婷婷黄色五月天在线视频| 激情网站五月| 狠狠色婷婷色| 97碰碰免费.视频| 国产特级毛片AAAAAAA高清| 亚洲永久免费| 在线观看亚洲视频影院| 久久久久久性爱视频| 日日夜夜爽爽| 99re26视频| 六月婷婷狠狠| 亚洲综合视频天天精品| 综合大香蕉| 欧美婷婷日本| 婷婷情色五月| 天天综合天综合久久网| 婷婷激情久久| 草草色情综合网| 熟妇人妻中文字幕无码老熟妇| 99热成人| 丁香五月天啪啪| av在线观看网站| 九九在线视频| 天天操综合网| 色婷五月天激情| 五月丁香六月婷婷视频| 天天操天天日天天操| 激情五月婷婷中文字幕| 97av在线视频| 碰97久久| 久操激情| 青草五月天| 亚洲无码另类| 日夜操B| 丁香五月天之婷婷影院| 婷婷久久色| 天堂综合久| 99热播放| 深爱五月激情| 天天日天天操心| 亚洲成av人影院| 办公室少妇激情呻吟A片在线观看| 停停五月色宗合| 五月婷婷丁香| 五月综合丁| 色亚洲婷婷| 九九aV| 亚洲激情四谢| 久久这里精彩免费在线观看| 久久久精品色色色| 思思热在线视频精品| www激情网站| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 99爱免费视频| 丁香激情网| 久热AA| 天天舔日日肏夜夜爽| 免费视频99| 色综合色色色色| 欧美婷婷五月天综合| 激情综合网五月天| 性按摩玩人妻HD中文字幕| 丁香五月在线人妻| 性爱久久| 综合久久8| 婷婷丁香人妻| 色婷婷丁香五月| 噜噜色五月| 97婷婷五月天| 色播播五月天| 黄色AV日韩| 五月丁香综合网| 96精品国产综合久久久久久| 午夜性爱影视一区77| 成人视频一区| 9月色婷婷| 亚洲色色色色| 久久久久久人妻| 婷婷97碰碰| 开心激情五月天网| 色综合色色色色色色综合| 色婷丨日丨天丨综合久久| 亚洲无码11| 久久婷婷夜| 深爱激情六月| 99riAV成人在线视频| 六月婷婷色五月| 99热| 免费国产VA国产免费| 91viP在线看| 欧美性猛交99久久久99| 综合图片色色| www99精品亚| 好激情在线综合网| 免费观看全黄做爰的视频| www.99热视频| 丁XX 成人| 色婷在线视频| 五月丁香色| 99人人干人人操| 婷婷色五月在线视频| 超碰免费观看| 26uuu亚洲欧美| 国产毛片操B| 六月婷婷狠狠做| 高清资源站日A美A欧亚…| 色婷婷五月天激情在线播放| 伊人五月天| 综合激情网五月激情| 色99视频| 新99色色色色色色| 亚洲色综合| 婷婷五月天AV| 极品人妻VideOssS人妻| 天天久久66xxx| 思思热视频在线观看| 久久色情| 亚州色婷婷| 丁香五月天堂| 丁香五月欧美| 激情婷婷人妻| 色狠狠色噜噜AV天堂五区| 婷婷六月色开| 色播婷婷大香蕉| 99九九综合久久九九| 色狠狠综合网| 亚洲AV网站| 五月色综合| 色久在| www色婷婷| 97亚洲婷婷| 99精品在线播放| 99热最新地址在线| 国产精品久久欧美久久一区| 五月情婷婷五月| 国产精品久久久久久久久久免费| 色插综合网| 色婷婷五月综合激情中文字幕| 天天操天天爱天天玩| 夜色.cnm| 色婷婷19| 欧美色图45678| 色婷婷综合网| 婷婷丁香五月天小说| 一本婷婷丁香久久| 九九成人| 色五月激情综合网| 亚洲成人在线播放| 久久婷婷五月丁香| 婷婷色五月大香蕉在线| 人人草人人视| 激情五月天的婷婷| 丁香激情五月天| 欧美五月丁香在线观看| 久久五月天丁香花| 丁香六月啪啪啪| 久久作爱| 麻豆AV一区二区三区| 99热在线免费| 五月丁香自拍| 99超级碰免费视频| 五月天六月婷婷电影| 丁香六月婷婷综合啪啪| 色五月丁香五月| WWW.色婷婷.COM| 激情五月天福利| 色五月天激情| 六月丁香婷婷色综合| 丁香婷婷五月天成人| 日韩色久| 亚洲爱爱无码婷婷色五月| www.九月婷婷丁香.com| 碰碰91| 亚洲精品性色| 五月丁香色综合| 亚洲国产精品SUV| 蜘蛛女侠2003满天星免费观看| 亚洲网视屏| 婷婷91视频| 久久视频在线| 五月丁香影院| 伊人香大香蕉视频| 9久久婷婷国产综合精品性色| 婷婷午夜| 久99久视频精品| 国产免费AV在线| 五月天夜夜爱夜夜操| 色五月五月婷婷| 亚洲综合五月天婷婷| 天天操婷婷| 丁香久久五月天视频在线观看| 亚洲色图日韩网址| 国产AV国片偷人妻麻豆| 天天操综合网| 成人五月天丁香婷| 99在线资源视频| 九九人人精品| 玖操97| 五月婷婷丁香大陆免费| 婷婷五月色播天| 久99久在线| 日夜夜久久| 亚洲综合网区| 丁香五月婷婷婷桃花影院| 超碰免费人人| 天天操夜夜操| 婷婷色五月偷拍| 操逼视频一区| 五月婷A V在线| 亚洲色另类| 99热在线观看免费精品| 婷婷丁香视频| 六月婷婷激情| 成人国产欧美大片一区| 夜夜 操无码| 丁香五月亭亭六月综合激情网| 91精品婷婷国产综合| 婷婷婷婷午夜| 六月丁香五月婷婷| 开心五月天激情网| 九九免费在线视频| 99热自拍| 亚洲色人妻| 免费观看全黄做爰的视频| 黄网在线免费观看| 噜噜久| 五月丁香在线国产| 国产成人av在线| av在线免费网站| 热久综合| 久久99网站| 伊人玖玖婷婷| 婷婷五月色亚洲| 欧美美女国产日韩一区二区久 |