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
返回資訊列表
六月婷婷开心| www,色综合| 凹凸7777操操操| 天天干天天干天天干天天干天| 五月天婷婷Av| 热99在线精品| 成人va在线观看视频| 99亚洲精品视频| 99小视频| 97干干干丁香| 999热成人在线综合网| 拍真实国产伦偷精品| 99热99在线| 丁香五月天激情| 色必久悠悠影院| 极品人妻VIDEOSSS人妻| 婷婷五月天成人基地| 丁香激情五月天| 五月婷婷就去色| 人人爽网| 9久热免费视频99| 99久久99九九九99九他书对| 国产黄大片在线观看画质优化| 五月四色婷婷| 9久9久| 色情激情五月婷婷| 成人精品人妻| 婷婷在线午夜| 91综合在线视频| 99热6精品| 97丁香五月| 色激情五月| 色五月av伊人| 婷婷五月天黄色网址| 99无码视频| 久久婷婷啪啪视频| 欧美A级成人婬片免费看理论| 就去涩涩丁香五月天| 欧美久久久中文字幕| 人人摸人人| 五月天丁香网| 亚州色色色| 天堂婷婷五月色| 99在线看片| 中文久久婷婷| 五月丁香六月婷婷综合伊人| 99自拍视频网站| 97色色色| 亚洲综合五月天婷婷丁香| 中文字幕黄色片| 亚洲精品V天堂中文字幕| 激情五月天伊人av| 亚洲激情 久久| 无码少妇高潮喷水A片免费| 天天天操天天天日| 综合色五月| 国产婷婷色综合AV蜜臀AV| 99热这里只有精品22| 亚洲综合1024| 九九成年视频| 夜夜撸天天操| 婷婷久久丁香| www.六月丁香看AV| 丁香婷婷六月| 婷婷伊人网| 国产片天天爽夜夜爽| 五月综合人妻| 97人人操人人干| 亚洲操b| 97干免费视频| 中文字幕人妻AV| 99热精品在线观看| 99热这里只有精品66| 丁香五月天激情婷婷丁香六月| 亚洲啪| 色婷婷成人| 亚洲欧州色情在线观看| 婷婷她六月天| 91碰超| 无码人妻精品一区二区蜜桃色欲| 婷婷久久亚洲| 停婷丁五月在线| 天天成人综合| 深爱五月激情网| 婷婷久久婷婷色五月| 成人电影一区| 天天插综合网| 婷婷99狠狠躁| 激情小说五月欧美亚洲丁香| 天天综合永久| 丁香伊人激情| 在线婷婷| 超碰九色| 久月婷婷| 久久综合色五月| 久久久天堂国产精品女人| 五月激情婷婷图片基地| 色综合色色色色| 七七婷婷综合| 亚洲九九夜夜| 天天色激情| 日韩五月婷婷| www.精品99| 久久久久久18| 婷婷色基地在线看| 久婷自拍视频| 涩 五月 婷婷 狠狠| 影音先锋美国A| 欧美在线干| 91丨九色丨熟女|老版| 久久久精品人妻录| 色婷婷色人人射| 久色姿源| 五月天婷婷网站| 日日夜夜狠狠婷婷色| www.91九色| 热久久这里只有三级视频| 国产偷人爽久久久久久老妇APP| 激情综合激情综合| 五月天激情小说| 能看的av片| 亚洲、欧美、国产另类笫二区| 蜜臀99久久精品久久久久| 久综合九综合99| 大地资源色婷婷视频在线 | 欧美成人猛片AAAAAAA| 色色色综合网| 99精品在这里| 丁香五月AV综合激情| 六月婷婷久久| 国产精品大香蕉| 人人操人人看97干| 亚洲综合草草| 日本综合久| 69色婷婷| 五月丁香综合中文| 丁香激情久久| 99色看这里只有精品| 噜一噜免费视频| 成人短视频在线观看| 久久狠狠干| 97人人看| 色情五月丁香婷婷网| 九月久久婷婷| 五月婷婷六月综合| 丁香五月人妻| 婷婷五月亚洲激情| 热99精品视频观看| 丁香五月激情无码视频| 色丁香五月婷婷| www.天天干| 182TV大香蕉| 女婷久久| 99热色精品| 婷婷在线播放| 日韩人妻无码专区| 天天综合网站| 婷婷五月天桃花网| 九九99在线视频| 爽极品色| 色久五月| 色五月色图| 国产精品蜜臀99| 26uuuavcom| 久久A区B区| 九九视频免费| 亚洲激情精品| 久久九色| 欧美性爱丁香五月| 色婷婷玖玖影院| 国产在线黄色| Xx色综合| 欧美丁香五月| 欧美精品99久久久| 久久草大香蕉| 激情综合色| 99亚洲精品| 双性美人被调教到喷水A片| 伊人激情综合| 九洲一级A片| 激情文学久久| 噜噜噜噜噜色| 亚洲视频99| 精品人妻午夜一区二区三区四区| 99色在线观看视频| 欧美丁香六月在线观看视频| 五月婷婷亚洲色视频| 亚州色婷婷| 国外亚洲成AV人片在线观看| 九九人人自拍| 天天干天天干天天干天天干天天干天天干天天| 日韩精品一区二区亚洲AV观看| 色在线99| 欧美槡BBBB槡BBB少妇| 婷婷情色五月| 亚洲综合网区| 亚洲第一综合| 五月亭亭开心网| 久久丁香网| 婷婷九月激情| 人人摸人人摸| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 激情五月天开心网丁香无码| 婷婷刺激综合| 五月停性愛| 在线观看亚洲视频影院| 激情 五月 婷婷 丁香| 99er久久| 成人做爰A片免费看视频| 97操男人的天堂| 亚洲色色色色色| 丁香婷婷噜噜| 九九爱激情| 91婷婷在线| 97五月天婷婷| 最近免费中文字幕大全高清大全1| 久久无意婷婷| 天天爽天天爽夜夜爽| 91九色视频| 亚洲成人网址在线观看| 天天狠狠插| 婷婷情色五月天| 超碰操日| 99精品在| JAPANRCEP老熟妇乱子伦视频| 亚洲婷婷激情综合激情999精品| 五月丁香久久综合精品| 色婷婷久久| 碰碰人人漕| 玖操97| 五月婷婷六月丁香综合在线| AV成人在线播放| 天天视频亚洲| 天天色2017| 激情综合4月| 激情六月婷婷| 停停综合色色| 特级西西4444www无码| 婷婷99狠狠| 婷婷久久久久| 99日本在线| 欧美成综合在线观看| 日日噜噜久久婷婷五月天 | 五月婷婷开心深| 99九九在线观看免费| 在线一起草av| 操操操AV| 色色综合热| 久久这里只有精彩| 激情丁香五月| 色色影院aaaav| 99热8| 久久精99| 天天噜噜| 99视频久久久| 色J香五月天| 五月天开心色色网| 日日夜夜小色哥| 五月婷婷成人| www久| 日韩亚洲视频| 无码se| 久久婷婷精品| 天天做天天爱天天爽夜夜揉| 啪啪一区| 久久99久久99久久99人受| 超碰人人操| 久久免费丁香| 久久作爱| 快乐激情五月色婷婷| 五月婷婷综合网| 涩五月婷婷| 91日韩在线| 99久久久久| 婷婷丁香五月亚洲| 开心婷婷五月天电影院| 激情都市另类| 色色色色色色网| 综合精品99| 九九视频在线| 激情久久五月天| 午夜婷婷| 无码中文一区二区三区| 97人碰人操| 骚货艹网站视频| 一起操最新网址| 79精品视频| www.com色播五月天| 黄色AAAAA| 婷婷碰碰| 欧日韩成人| 99ri国产在线| 超碰v| 久久久久99精品成人片| 99热色婷婷| 狠狠干在线| 8区视频在线| 97热在线精品| 五月天婷婷基地| 亚洲综合丁香婷婷六月天| 激情AV| 婷婷免费无视频| 夜色.cnm| 成人av免费观看| 99超在线| 97碰碰免费.视频| 人人爱国产| 日韩三级视频一区二区| 久久激情视频| 天天射天天射一道本日本社区| 亚洲人操亚洲人| 亚洲情欲| 亚洲精品网站色视频| 丁香五月电影| 亚洲精色| 天天搞夜夜爽夜夜爽| 午夜爱爱爱成人| 在线视频区| 99热免费观看| 丁香五月激情欧欧美| 亚洲AV成人一区二区在线观看| www.夜夜操.com| 亚洲无码另类| 成人AV播放| 97影院一级片| www.热99热| 色娸娸综合网| 色色色色色色综合网| 婷婷婷婷婷婷婷婷| 伊人狠狠狠综合| 精品九九网| 26uuu日韩| 天天爽综合网| 99精品色色| 欧美熟妇一区二区三区| 51精品国自产在线| 另类小说五月天| 亚洲爱爱无码婷婷色五月| 五月天激情综合网| 中文字幕乱码亚洲精品一区| 婷婷丁香九月| 婷婷激情五月色综合| 另类天堂| 五月婷婷婷| 少妇AB又爽又紧无码网站| 99re8在这里只有精品| 综合五月丁香久久| 一本久道综合99| 国产精品第一国产精品| 色婷婷色99国产综合精品| 热的无码综合视频| 99这里精品| 一起肏在线视频| 99视频在线| 九九热只有精品| 夜夜www| 色色色综合色| 激情婷婷视频在线| 九九99精品免费播放| 中文字幕在线免费观看视频| 亚洲99在线| 天天色激情| 婷婷六月激情啪啪| 婷婷五亚洲| 丁香五月婷婷色| 激情五月婷婷开心网| 日日干综合| 高清不卡一区| 欧美性久| 欧美日韩国产一区二区| 亚洲9久久精品| 99噜噜噜在线播放| 色婷五月天| 97人人看| 色五月婷婷久久| 另类 在线| 久久一热| 色欧洲| 色99热| 久热这里只有精品视频6| www.婷婷网| 久久XX| 国产免费一区二区三区三州老师F1F1.CC| 久久看九九90| 婷婷五月天久草在线| 国外亚洲成AV人片在线观看| 玖玖在线视频| 丁香激情五月| 婷婷91| 日本久久人| 99性色| 亚洲久热无码| 日日艹思思热| 国产成人99久久亚洲综合精品| 久久九九99字幕| 十月丁香婷婷| 丁香五月色情| 国产VA播放| 九月婷婷综合| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 亭亭色色五月天| 9九色首页| 超碰在线观看成人视| 99操不停| 日韩xx在线| 97香蕉人人在线观看| 久久九九亚洲| 六月丁香中文字幕| 激情婷婷丁香五月天| 4399在线观看免费高清黄色视频| 九九热中文| 婷婷五月天国产在线播放| 九九热99热| 高清无码视频网址| 久久婷婷五月天激情四射| 色播五月天激情| 五月婷婷视频| 五月丁香香蕉| 日韩操人| 激情5月婷婷| 99热超碰人| 五月婷婷黄网站大全| 日日操天堂| 丁香操逼| 狠狠爱婷婷爱| 综合五月天亚洲婷婷| 五月丁香成人日| 最新亚洲色色网| 婷婷深爱网| 人草人人| 超碰激情网| 久久久噜噜噜久久人妻| 国产精品久久久爽爽爽麻豆色哟哟 | 99热这里只有精品国产免费| 美女激情婷婷| 人人摸人人摸| 99热九九热| 久久激情网| 9国产在线视频| www久久久久久久| 婷色视频| 午夜色色色极品视频| 久久精彩综合视频| 丁香五月,激情五月,深爱五月| 激情亚洲网| 激情人妻综合| 99色综合| www,色综合| 婷婷色情五月| 丁香五月天信号| 丁香五月瑟瑟| 日本色狠狠| 丁香九月婷| 欧美激情综合色综合啪啪五月| 97超级碰人人| 天天操无码| 天天插天天很| 色婷婷69| 日本强伦片中文字幕免费看| 久久精品夜色噜噜亚洲a∨| 大香蕉五月天婷婷| 凹凸操Av| 人人摸人人摸| 免费观看高清无码| 日韩色色网| 99色在线观看视频| 亚洲第一第二网站| 欧在线一区| www色色色com| 亚洲精品午夜国产va久久成人| 99日本精品视频热| 人碰人人人玩91| 婷婷综合色图| 草做免费在线观看| 伊人在线视频| 久久五月情| 久er7久热| 精品人妻一区二区| 国产免费性爱| 超级黄色片| 五月丁香六月婷婷综合免| 五月天婷婷色| 九九爱激情| 中文字幕在线免费观看视频| 丁香五月天天高清在线| 99操逼| 五月丁香久久丝袜啪啪| 99热日| 日本精品99网站| 久久3级片| 这里只有精彩小视频视频网站| www色婷婷com| 久久97久久99久久综合欧美| 激情综合亚洲| 久久99大全| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 天天综合色99| 婷婷综合五月激情| 五月亭亭直播| 久9热视频在线观看| 丁香五月第四色88| 一区二区成人电影| 国精产品一区二区三区| 五月婷婷色情| 99精品网| 婷婷啪啪| 九九热中文| 日韩无码性爱| 天天做天天干天天综合网| www99精品| 五月色激情综合网| 色婷婷五月天天天干天天操天天爽| 婷婷五月天堂| 九九九热精品| 97色在线观看视频| 亚洲AV永久无码影院黑人| 内射激情在线| 疯狂做受XXXX高潮A片| 激情伊人| 玖玖在线| 色综合色综合色综合| 色婷丨日丨天丨综合久久| 激情av| 1024婷婷综合久久五月天| 五月婷婷丁香在线| 99情色五月天| 婷婷丁香五月综合激情小说| 91婷婷视频| 清色五月天| 五月丁香综合| 99re这里只有精品免费| 啪啪91| 日韩色色小视频| 国产成人网站在线观看| 另类专区在线| 亚洲人妻av| www.五月婷婷久久.com| 99日本黄站| 国产三级片91| 99热 在线观看| 久久免片| 26uuu四色| 日本三级日本三级99| 涩九九九九| 五月丁香激情综合啪啪| WWW.99视频| 超碰资源在线| 色婷婷9| caop在线视频| 丁香五月激情婷婷视频| 91se在线视频| 天天色月| 欧美大肥婆大肥BBBBB| 丁香六月av| 国产精品99久久久久久久女警| 99热6这里之有精品| 天天插天天插| 丁香五月激情澎湃一区| 九九热99在线视频| 久艹大香蕉| 9999三级片| 99综合网| 安息电影在线观看完整版| 中文字幕按摩做爰| 久久五月婷天天干| 色婷婷综合在线| 天天干天天干天天干天天干天| 一级无码作爱片| 五月天婷婷激情| 五月婷婷啪啪啪| 亚洲热热视频| 欧美婷婷五月无砖| 中文婷婷狠狠| 91婷婷在线| 丁香五月六月久久综合| 婷婷中文字幕网站| 五月丁香六月色| 欧美日韩成人免费在线| www久久久| 影音先锋人妻出差| 99久久99视频| 9+1视频网址| 呦呦视频无码播放| 五月婷婷六月丁香首页| 天天综合网91| 嫩草综合网| 国产黄色大片| 337p大胆噜噜噜噜噜91Av| 六月婷婷视频| 另类国产区| 超碰国产在线| 亚州性爱99| 国产超碰av| 五月婷中文字幕| 激情婷婷五六月天| 91久久九色| 六月丁香五月天| 伊人丁香六月婷婷| 激情色情五月天| 99热国产这里只有精品| 五月丁香婷婷激激激综合网色播| 996精品热视频| 日韩另类| 五月丁香综合激情网| 婷婷的久久网站| 国产性爱在线| 97精品欧美91久久久久久久| 色婷婷香蕉丁丁网| 色五月超碰| 丰满少妇乱A片无码| 一丁香五月天月AV| 五月婷婷和六月| 99精品97| 五月婷婷久草| 激情五月天在线视频| 思思热久久爱| 日韩免费乱轮网站| www,色综合| 人人操插| 99免费视频网| 成人五月天色天堂| 久9无码视频| 黄桃AV无码免费一区二区三区 | www婷婷| 丁香婷婷综合激情五月色| 五月婷婷激情综合av| 久久6这里只有精品| 4399伦理午夜| 久久久国产精品黄毛片| 五月丁香免费视频| 无码人妻一区| 六月五月久久丁香| 综合色播| 婷婷综合影院| 亚洲av另类在线观看| 99热这里都是精品| 久久久ww| 玖玖资源站中文| 婷婷国产日本欧美| 丁香五月天激情| 久久sp免费视频| 欧美情色一区| 99色天堂| 色99视频| 久久五月天网| 天天爽,天天操。| 日韩不卡DvD| www.精品久9| 狠狠久久婷五月综合色| 亚洲成人在线播放| 中文字幕在线观看视频www| 亚洲成人婷婷| 五月天停停成人网| 天天在线久久综合 | 国产精品99久久久久久久女警| 五月色婷婷影院| 狠狠狠夜夜夜| 五月丁六月婷| 狠狠va| 国产99美少妇| 五月婷婷精品| AV在线二十六页| 97爱艹婷婷开心丁香激情综合| 99色热| www..999热久| 91狠狠色色丁香婷婷综合久久| 另类综合婷婷五月天欧美视频| 五月激情视频网| 五月丁香激情综合啪| 91一起操| 丁香九月婷婷| 色色色色综合网| 婷婷涩涩五月天| 狠狠色噜噜狠狠| 亚洲爱婷婷| 五月婷婷狠狠久久| 秋霞少妇毛片| 五月亭大香蕉| 婷婷久久内射| 毛片新网地| 色婷婷四虎| 99精彩视频在线观看| 五月天激情图片| 99riAV成人在线视频| 99热国产这里只有精品| 五月天电影网| 五月丁香青草综合啪啪| 那里有AV网址| 五月天久久久| 美女五月天婷婷| 色七色九九| 插插干干干色| 国产精品激情五月天色婷婷| www,99热| 五月婷婷开心综合| 天天做天天爱| 色色婷婷丁香| 激情五月天婷婷| 天天爽夜爽| AV中文在线| 97香蕉久久超级碰碰高清版| 中文字幕在线资源| 丁香五月婷婷基地| 极品人妻videosss人妻| 婷婷综合网站| 五月天网站免费欧美| 色五月成人| 日日夜夜狠狠| 色99在线| 禁欲电影完整版在线播放| 香蕉久久国产AV一区二区| 丁香五月婷婷国产av| 日日操夜夜操中国无码| 婷婷色中文| 超碰人人操人人干| 任你搞网站| 开心五月婷婷五月| 色五月视频无码播放| 久热视频这里只有精品| 色婷婷五月天成人网| 婷婷丁香六月| 色五月婷婷五月天| 97婷婷五月丁香| 九九大香视频| 婷婷五月天成人动漫 | 婷婷激情九月| 国产精品五月丁香| 思思热高清在线观看| 激情综合网五月| 久久久激情| 免费看欧美成人A片无码| 色婷婷成人久久| www.婷婷五月| w婷婷五月婷婷w| 五月激情站| 五月激情婷婷在线| 久久五月婷综合| 丁香婷婷色情| 99九色视频在线观看| caobi四区| 亚洲性爱区无码区| 色五月激情综合网| 婷婷色五月91啪啪| 99九九精品视频| 艹色18p| 婷婷的99视频网站| 嫩草乱码一区三区四区| 性 色 婷婷| 激情五婷网| 激情综合网激情五月俺也去| 狠狠五月天| 这里只有免费精品| 五月婷丁香久久久| 五月丁香综合啪啪| 五月丁香婷婷激情影院欧美| 苗黎美女四级成人版一级二级毛片| 婷婷久久色| 天天做天天视天天谢| 激情综合五月婷婷六月丁香| 91chinese在线| 超碰熟女农村在线69| 国产色网站| 免费视频舔| 五月天激情久久| 中文字幕日产A片在线看| 影音先锋一区二区资源站| 91碰碰| 狠狠草狠狠草| 超pen个人视频97| 久久99久久99精品免观看粉嫩| 成人狠狠成人狠狠成人狠狠成人狠狠| 久久丁香五月| 色天使久久综合| 婷婷五月亚洲激情| 99综合网| 久久99热只有精品| 精品久久艹| 欧美日韩一区二区三区四区| 五月天婷婷操逼视频| 国产AV一区二区三区最新精品| 色99自拍| 小视频久久久aaa| 国产精产国品一二三在观看 | 久久多色| 欧美超碰亚洲| 五月丁香六月停停| 亚洲九区| 九九综合九九| 日本天天色| 99精品成人无码A片观看金桔| PORNY九色9l自拍视频成人| 五月天五月天成人网亭亭成人色网站| www.激情| 淫荡家庭AV| 激情综合网五月丁香| 奇米四色五月天| 热99这里只有精品视频| 中国丰满熟女A片免费观| 噜噜干日本| 丁香五月天社区| 99热色综合| 爱的综合网| 五月丁香六月激情欧美综合| 琪琪色热色色| 五月丁香激情综合久久| 久久九九热re6这里有精品| 99久久99热| 久久久精品人妻| 91在线日| 中文字幕综合网| 色色色在线观看| 婷婷五月天AV| 丁香色影院| 99热6色| 操逼电影免费看| 婷婷九月激情| www.夜夜| 六月婷婷无码观看| 天天爱天天操| 五月丁香手机在线| 亚洲第一第二网站| 99久久久久| 亚洲激情av| 久婷婷婷| 色婷丁香| 91久久久久久久久久久| 丁香综合网| 先锋五月婷婷丁香草草| 成人亚洲精品| 少妇高潮一区二区三区99欧美| 成人av播放| 色99日韩| 五月激情六月综合| 激情综合五月激情17| 丝袜人妻| 日本老女人黄页在线播放| 五月婷婷天| 国产片天天爽夜夜爽| 国产毛片精品一区二区色欲黄A片| 99色在线观看| 啪啪一区| 国产婷伊人| 激情五月视频在线婷婷| 亚洲高清在线| 超碰妻人人| 另类在线| 日韩无码色色| 色丁香久综合在线久综合在线观看| 激情小说五月天| 婷婷五月天日逼| 亚洲AV在线免费看| 日韩五月婷婷| 婷婷色情 | 国产高清精品色| 五月激情久久| 99热资源在线| 超碰在线91| 欧美成人热| 狠狠干.com| 五月丁香在线| 精品久久久久久久人妻| 六月99天天婷婷激情综合| 久久丁香综合精品综合| 国产精自产拍久久久久久蜜 | 新99思思视频| 色五月xxx| 开心五月婷婷激情| 激情99热| 99精品久久久久久久久| 先锋资源婷婷| 9.1综合网| 又大又粗九一在线| 婷婷五月天99| 婷婷激情五月天小说| 婷婷五月综合在线| 激情小说五月天中文字幕| 99九九热播在线免费视频| 99玖玖在线视频| 色六月丁香婷婷啪啪啪| 国精产品一区一区三区免费视频| 天天爽综合网| 国产欧美第五十五页| 色人久久| 亚洲精| 婷婷婷久久久| 激情AV在线| 月婷婷亚洲| 久久久中文| 999热在线视频| 色色丁香婷婷| 大香蕉色婷婷伊人在线| 色婷婷AV在线| 五月丁香六月婷婷中合网| 五月婷婷,六月婷婷| 五月天色丁香| 色五月首页| 91久久久久久久久久久| 色青青电影色五月| 婷婷五月天在线观看免费| www.久久久.com| A久久| 直接看的AV| 亚洲国产色婷婷| 欧美三级大片AA在线看| 久久伦乱| 色激情网| 久久久久久欧美精品se一二三四| 九九热这里只有国产精品| 婷婷激情视频| 久久五月综合| 五月婷婷激情性爱| 天堂婷婷丁香六月网| 99操视频| 91干在线视频| 国产精产国品一二三在观看| 色五月激情网| 啪啪亚洲综合| 丁香五月婷婷动漫视频| 99伊人性爱在线影院| 久久久全国免费视频| 久色网| 久久久精品人妻| 亚洲欧洲自拍图片专区五月天| 色天堂在线| 久久婷婷精品| 91九色中文字幕女在线观看| 五月丁香六月婷婷综合伊人| 九月婷婷久久| 91 九色 入口| 国产精品人成A片一区二区| 丁香五月最新地址| 久青操| 9久精品视频| 色优久久| 免费AV黄在线播放| 欧美性生交XXXXX无码小说| 婷婷五月天 偷拍| AA片在线观看视频在线播放| 丁香五月综合色婷婷| 久久久com| 天天综合色丁香| 综合视频久久| 六月丁香啪啪| 欧美交换配乱吟粗大25P| 天天综合情| 亚洲精品白浆高清久久久久久| 五月丁香婷婷激情| 丁香啪啪中文字幕| 色婷婷的五月天| 丁香五月性| 五月丁香花婷婷玉莉AV| 狠狠做五月| 性色婷婷| 99久久五月婷婷| 九九无码AV| 免费视频99| 99热这里只有精品1025| 国产精品久久久海的味道| 狠狠干思思热| 亚洲 小说 欧美 激情 另类| 色婷婷久久综合久色| 国产67194| 五月婷婷激情久久| 久一网站| 丁香五月婷婷天堂大香蕉| 99热黄| 丁香婷婷影院| 碰超亚洲| 色色色五月天婷婷| 三人荫蒂添的好舒服A片| 五月婷婷性爱| 99热伊人| 91色久| 婷婷色播婷婷| 色五月婷婷五月天| 来吧亚洲综合网| 伊人久久大香网| 天天色丁香| 五月丁香久久久久| 丁香五婷婷| 久久免费婷婷视频| 五月天婷婷人妻| 丁香月六月| 五月天五月天激情网| 六月丁香好婷婷| 婷婷五月天天aV| 激情五月天www| 五月熟妇婷婷久久| 色婷婷激情小说网| 婷婷丁香水多多视频| 国产成人av在线播放| 丁香婷婷六月天| www超碰| 色婷婷黄色网络| 久久婷婷六月| 久久久久久久丁香五月天婷婷| 亚洲综合字幕色色| 五月天婷婷黄色视频| 性色欲情 网站| 多精窝99在线视频| 插插网爽妇五月丁香| 高清无码中文字幕aVDV| 思思久久青草热| 桔色成人在线| 色色日本欧美| 91精品久久久久久77777| 国产精品视频免费看| 五月婷婷激情| 草草视频91| 激情综合色| 91九色最新视频| 狠狠色综合图片| 99热在线看| 亚洲色色五月天| 久久99精品视频| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 丁香色六月婷婷| 那里有AV网址| 色噜综| 99色色| 婷婷五月天丁香| 亚洲A片成人无码久久精品青桔 | 国产真实乱对白精彩| 免费V片在线| 丁香狠狠色婷婷| 五月丁香六月婷婷,婷| 五月丁香婷婷六月天| 亚洲色优| 夜夜撸夜夜骑| av操逼网| 久久九九@| 成人视频一区| 99热这里只有精品1998| 九九色图| 五月色综合| 精品9l九九九九九77777| 99自拍视频网站| 婷婷综合网在线| 久久人妻人人| 亚洲色99| 思思干精品| 国产精品久久..4399| 丁香婷婷少妇| 激情小说五月天| 99热只有| 婷婷六月天| 99思思在线视频| 五月丁香婷婷激情澎湃四射| 天天噜日日噜综合无码| 伊人色综合网| av在线不卡播放| 涩涩涩,com| 婷婷五月天狠狠搞干| 婷婷丁香18| 精品一区二区三区三区| 天天色月| 久久婷婷五月| 中文字幕在线日亚洲9| 综合九九日本| 99r久久这里只有精品| 激情丁香五月天图片| AA丁香综合激情| 日本WWW九九九| 六月激情婷婷综合| 99热精品观看| 99精彩视频网站在线| 新97人人上人人| 色停停五月天| 亚洲精品色| 五月丁香婷婷婷激情爱爱| 色亚洲婷婷| 国産精品| 色约约视频一区二区三区四区五区 | AA片在线观看视频在线播放| www.1024久久| 激情五月丁香色婷婷| 天天综合网91| 91人人爱| 66久久视频在线| 99热爱爱干干日| 久热99中文字幕| se色99| 婷婷精品免费久久| YW无码| 99久久综合网| 91蜜桃婷婷狠狠久久综合9色| 久久国产高潮白浆免费观看99| 色五月丁香激情视频| 91精品综合久久久五月天| 色一情一乱一乱一区91| 丁香婷婷五月综合| 99九九在线视频| 天天添天天摸天天天天做| AV大香蕉| 欧美啪啪网| 播五月丁香六月| 日韩少妇内射免费播放| 丁香六月啪| 99在线免费视频| 九九99九九精品视频| 激情五月天在线| 成人在线99| 婷婷伊人网| 色婷婷激情| 中文字幕久久婷九女同| 婷婷激情丁五月| 欧美性爱五月天| 成片免费观看视频大全| 激情99| 九月停停| 99er视频在线| 一本道在线电影| 天天日日人| 色99色| 成人视屏在线观看| 九色91国产| 51XX午夜影福利| 九九色大香蕉| 天天日综合| 亚洲AV永久无码影院黑人| 色色免费网战视频| www久久久久久久久久久| 六月综和久久| 九九热精品| 日韩色色小视频| 久久久免费精彩视频| 4399亚洲视频| 综合色五月天| 任你爽免费视频| 激情丁香六月| 婷婷99中文字幕| 免费观看亚洲AV片| 综合激情四射一theav| 天堂草在线看www| 极品少妇婷婷五月| 五月天婷婷激情小说| 无遮挡国产高潮视频免费观看| 丁香五月日本| 国产成人精品123区免费视频| 激情5月婷婷狠狠干| 国产精品扒开腿做爽爽爽A片唱戏| 五月天婷亚洲天综合网综合| 久久伊人五月天| 婷婷深爱五月天在线| 五月丁香| 思思久久96热在精品国产,| 色五天综合| 五月天婷婷永久免费视频| 91呦呦呦| 日本五月天激情| 天天干天天干天天干天天干天天干| 五月天色小说| 欧美va精品va老师va| 另类综合色| 丁香五月婷婷啪啪视频| 激情五月第四色| 激情av| 亚洲视频1区| 色噜综| 亚洲欧洲中文日韩久久AV乱码| 国产激情在线| 日本人人xxx| 五月婷婷 婷婷五月 一区二区 久久久 | 色婷婷五月天| 五月天大香蕉| 99啪99| 99精品丰满| 激情丁香五月激情婷婷| 丁香五月av| www.久久久久久久| www.夜夜操.con| 欧亚成人A片一区二区| 天天综合天天玩夜夜玩天天玩夜夜玩| 亚州欧美黄色电影| 超碰网站在线观看| 站长推荐无码播放| 久久99网| 99re26视频| 五月婷婷丁香网| PORNY九色9l自拍视频成人| 蜜乳9188| 91制片厂久久久国产电影| 99这里只有精品视频| 97精品自拍| 欧美色综合天天久久综合精品| 婷婷成人综合免费视频| 91免费试看| 成人在线网| 色青青视频| 青草青草久9视频在线视频| 丁香五月欧美成人| 五月天色五月天| 天天视频精品9| 亚洲综合九九| 婷婷五月天激情亚洲小说| 人妻六月天| 天天插综合| 99热这里只有精品一区| 啪啪99| 国产精品国产成人国产三级 | 超碰97干| 婷婷九月| 99热这里只有精品22| 五月停亭六月,六月停亭的英语| 99久热这里只有精品| 99热在线观看亚洲区| 天天色图| 8050一级网| 色女人久久| 五月婷色丁香| 五月丁香久久呀| 狠狠干狠狠干| 五月婷婷激情中文字幕| 五月天婷婷在线观看精品男人| 亚洲综合婷婷| 五月天播播| 青青草色在线视频观看| 国产99久久久国产精品免费看| 色婷婷婷婷五月天| 久久婷婷激情五月天一区二区| 大香蕉色婷婷伊人在线| 日日噜噜夜夜狠狠久久丁香六月| 婷婷丁香基地在线| 久99热在线观看| 日韩黄在免| 婷婷五月激情网| 丁香婷在线| 91人人爽狠狠狠| 久超免费视频| 天天色粽合合合合合合合| 狠狠久综合| 五月天婷婷网站888| 国产毛片操B| 亚洲激情五月| 五月天色社区| 色婷婷国色天香综合| 伊人色综合影院视频| 久热A片| 激情综合五月| 79精品视频在线观看,| 美女100%露全身无挡网站| 9久热在线视频| 国产这里只有精品| 日韩性视频| 亚洲视频99| 国产欧美婷婷五月| 久99久在线| 男人視頻站| 丁香五月婷婷色综合| 婷婷亚洲色| 第四色大香蕉| 婷婷五月美女直播| 亚洲射激情| 日本色婷婷| www.五月丁香| 中文字幕成人日韩| 五月丁香久久| 五月丁香影视| 五月天婷婷丁香社区| 在线综合婷婷| 九九精品网站| 婷婷激情九月| 91chinese 在线| 国产亚洲99久久精品熟女| 欧美人与性动交CCOO| 婷婷激情图片|