欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
婷婷五月色丁香在线看| 丰满少妇猛烈A片免费看观看| 99人碰碰碰| 国产99精品免费视频| 亚洲久热| 欧美色图天堂网| 五月永久激情| 婷婷五月中文在线| 欧美日韩成人在线观看| 丁香婷婷久久五月天| 五月丁香激情综合| AA丁香综合激情| 综合色五月| 丁香五月亚洲综合丝袜| 免费做A爰片77777| 岛国AV网| 在线99热| 色婷婷狠狠爱| 99精品一二三四视频| 99re这里只有精品视频6| 婷婷综合干| 天天插天天干| 六月丁香网| 操逼三区| 天天综合网站| 狠狠xx| 婷婷五月在线综合| 婷婷久久网| 五月婷婷综合天天操| 精品人妻一区| 伊人啪啪网| 日日夜夜狠狠操| 中文字幕丁香五月| 成人色五月天| 亚洲五月天综合| www九九热| 精品九九网| 香蕉人妻AV久久久久天天| 91九色熟女| 激情五月视频在线婷婷| 欧美国产一区二区三区| 精品A√| 深爱激情小说五月婷婷| 天天干天天操天天上| 五月天激情综合首页| 丁香六月婷婷久久高清| 另类图片色五月| 国产小网站| 99在线免费视频播放| 无码一区精品一区视频| 综合色在线| 亚洲精品又粗又大又爽A片| 亚洲天天| 丁香六月综合激情| 日本三级黄色大片| 五月天婷婷影院| 大香网伊人久久综合| 99精品在线观看视频| 五月天精品综合| 这里只有九九精品| 日日操夜夜骑| www.色五月.com| 思思99久久| 九九自拍网| 成人在线综合| 五月婷在线观看| 久热91| 亚洲综合色色| 被男人添B超爽视频| 婷婷激情五月| 9|人妻人人操| 成人av观看| 久久九九re热| WWW色色色COm| 91碰碰视频| 国产免费一区二区三州老师F1F1| 久久丁香五月综合六月激情红杏视频 | 99热骚货| 五月欧美丁香在线观看| 午夜大香蕉| 这里只有精品免费视频| 97超碰,人人舔,人人操,人人摸 | 五月婷婷六月丁香综合在线| 超碰人人干| 亚洲婷婷五月| 国产AV国片偷人妻麻豆| 强奸幻女毛片| 狠狠操狠狠爱| 特级片神马电影| 99思思热只有在这里看| 丁香婷婷六月天| 99色热| 丰满女老板BD高清A片| 丁香六月丁香婷婷激情| 五月婷婷六月丁香玖玖玫瑰91| 五月婷婷综合影院| 99er国产| 99视频| 色婷婷婷婷| 久久激情五月| 欧美乱码国产一级A片| 六月激情丁香一道本7777| 97超碰在线免费观看| 激情五月丁香五月| 色99欧洲色19| 五月婷婷六月丁香| 人妻中文av| 99久久精品色老| 只有精品视频在线观看| 天天狠狠六月婷丁香影院| 先锋资源婷婷| 久久ri精品| 久久视频婷婷| 五月丁香六月婷婷在线播放| 婷香五月| 激情婷婷激情在线不卡| 视频综合网| www.夜夜.com| 久热婷婷| 婷婷五月激情的图片| www.激情五月天.com| 色婷五月天综合网| 午夜69成人做爰视频| 色约约视频一区二区三区四区五区 | 樱花99视频| 五月天婷网| 久色激情| 婷婷99狠| 五月丁香婷婷婷婷综合网| 五月开心色| 婷婷伊人网| 91男人资源站| 深爱五月天婷综合| 天天综合色| 91人人妻人人操人人爽| 婷婷六月综合在线| 六月天婷婷| 色开心五月丁香| 99精品色色| 成人在线99| 国产精品第一国产精品| 伊人久久激情图区五月| 久久性爱视频| 亚洲天堂九九九| 欧美五月丁香啪啪响视频| 久久久久人妻网址| 婷婷五月开心六月AV| 99丁香五月婷| 婷婷五月成人| 香蕉综合网| 婷婷婷婷色| 久久丁香| 婷婷色5月天在线。| 性欧美日本| 超碰免费电影| 色五月丁香婷婷综合| 日韩999| 超碰在线网站| 极品人妻VideOssS人妻| 色婷婷五月影视| 天天干夜夜欢| 51精品国自产在线| 色婷婷成人在线| 国产精品久久..4399| 亚洲国产网站| 色婷婷五月天久久| 亚洲黄3级片网站欧美| 日本激情五月天‘| 玖玖婷婷免费| 99在线亚洲| 无码成人AAAAA毛片AI换脸| 久久er这里只有精品| 久久色五月| 色色影院黄大片| 色婷婷视频综合| 日日操夜夜擼| 热久久99热欧美国产亚洲| 五月婷婷色在线| 丁香六月婷婷综合网| 九九热AV| VA婷婷亚洲| 精品一区二区三区四区五区六区| 天天免费成年人视频| 久久久久9| 97人人射| 国产AV一区二区三区最新精品| 久草五月婷婷| 这里只有精彩视频| 天天激情夜夜干| 99热成人| 亚洲人妻五月丁香婷婷| 丁香六月激情综合网| 婷婷五月天免费视频| 狠狠色综合久久久久| 色色aⅤ網| 一起草AV入口| 日本va欧美va国产激情| 日本色频| 婷婷在线五月综合| 97se视频在线| 激情五月天噢美| 搡BBBB搡BBB搡18| 开心激情久久久久久久| 九九热婷婷| www.婷婷,com| 性色播| 免费观看全黄做爰的视频| 色婷婷五月天小说网| 婷婷综合国产| 99视频内射三四| 狠狠做五月| 五月婷婷激情综合| 五月婷婷六月少妇激情| 色色婷婷丁香| 色五月婷婷在线观看第一页舔| 激情综合色五月丁香六月亚洲| www.一起草av| 九九九色综合| 色婷婷五月综合网| 亚洲综合99| 五月激情视频| 爱草人视频| 日本激情91| 婷婷五月影院| 色色com| 热九九精品| 成人综合网站| 51XX午夜影福利| 狠狠狠狠免费| 激情五月色婷婷| 久久久久9| 日日操人人操| 久热欧美| 五月天丁香啪啪啪啪| 丁香五月网址| 另类五月激情| 五月婷婷播| 欲求不满的人妻| 五月天激情四射| 五月丁香久久综合精品| 色六月婷婷| 亚洲精品又粗又大又爽A片 | 久热九九| 丁香五月色| 婷婷激情五月天天天开心| 五月天婷婷色综合| 色狠狠色噜噜AV天堂五区| 五月婷婷之综合激情| 综合久久婷婷| 五月开心久久| 日本韩国视频在线观看社区免费的9| 色色色婷婷五月| 激情小说五月天社区丁香 | 激情五月丁香色婷婷| 色9月| 人人操99| 5月丁香六月婷婷| 丁香久久综合| 五月天婷婷色色首页| 99久久久久| 日本色婷婷| 内射丰满人妻| 99在线观看免费精品视频| 色9月| 九九9久九9国产视频| 六月丁香色色| 狠狠穞A片一區二區三區| 玖玖在线资源视频| 久鲁鲁色网| 任你操精品免费| A片试看120分钟做受图片| 激情久久久久久| 99热这里只有精品国产精品| 五月综合激情综合久| 五月婷婷丁香| 超碰超碰在线| 婷婷丁香宗合888| 丁香婷婷老司机久操| 少妇人妻偷人精品无码视频新浪 | 五月婷婷丁香狠狠撸久久| 掩去也综合五月视频| 一级二级色大片| 亚洲a片免费观看| 久草丁香婷婷1024| 激情性爱五月天网页| www激情| 丁香婷婷网| 婷婷五月综激情| 婷婷五月天精品| 亚洲另类久久| 久久人妻高清中文| 99日这里只有精品| 夜夜干天天干| 99看片| 99热精地址| 五月综合激情综合久| 色天天综合色| 日日操夜夜操狠狠操| 色性综合| 国内婷婷丁香社区在线播放| 亚洲综合网激情五月天| 99热这里只有精品一| 这里只有精品99视频| 超碰在线人妻| 青青草性爱视频| 色婷婷99| 久热这里只有国产| 欧美综合婷婷网| 久久婷婷五月综合激情国产| 五月丁香欧美在线| 色五月激情五月天| 久操激情| 91狠狠综合久久久| 婷婷五月激情欧美大胆视频| 性爱五月婷| 禁片二区| 人妻AV在线观看| 久久婷婷综合网| 色五月色五天色情网| 婷婷伊人中文字幕| 色欲日日躁| 婷婷日日天天| 丁香六月激情综合| 五月天婷婷在线播放| 午夜爱爱网站| 久热这里| 亚洲综合欧美色丁香婷婷888月图片| 色综合久久无码| 99精品偷拍视频| 婷婷丁香亚洲色综合91| 亚洲婷婷五月天综合| 情五月亚洲婷婷| 丁香五月色五月婷婷宗合| 婷婷五月天黄色小说| 五月丁香激情综合网| 久久婷婷五月丁香网| 99热这里只有精品22| 国产av天堂| 丁香五月天AV在线 | 六月丁香婷婷大香蕉| 99热加勒比| 婷婷五月av| 五月社区丁香| 亚洲熟妇无码乱子AV电影| 久久久香| 久操香蕉| 色综合色色| 婷婷五月激情欧美大胆视频| 日本99在线视频| 婷婷综合亚洲| AV中文网| 午夜激情综合| 天天摸天天日天天舔| 超碰色综合| 色色激情五月天| 久久九九Com| 99在线视频播放| 99热精品10| 热思思| www久久99| 成人草榴视频| 99久久精| 婷婷色色婷婷| 久久久av久av久片一区二区| 操人91| 久久婷婷丁香六月天| 日本久久婷婷| 大香蕉在线观看9| 丁香综合婷婷开心激情网| 激情五月婷在线精品| 久99久精品| 97caop| 无码人妻电影| 激情六月综合| 色色欧美色色色| 1024手机在线观看看片_日韩精品| 99视频在线观看视频| 五月丁香啪综合| 丁香五月婷婷综合啪啪| 六月丁香停| 天天操天天操天天操| 婷婷五月AV| 婷婷在线日韩综合| 五月丁香六月日逼| 玖玖综合网| 在线成人国产| 欧美色色色| 婷婷五月天久久久| 五月色婷| 五月婷婷av| 无码一级片| 青草久久五月婷伊人| 欧美久久网| 99精品视频播放| 性爱在线播放av| www.91操| 久久伦乱| 婷婷成人AV| 雪千夏麻豆| 久久久er热| 狠狠操综合| 97午夜一区二区| 无码G高清天| 99亚洲视频| 伊人久久婷| 五月激情六月丁香| 91综合在线观看首页| 五月丁香婷婷激情| 丁香五月在线观看| 色愛综合网| 日韩AV片| 亚洲AV网站| 免费啪啪亚州视频| 国产脫衣舞一区二区三区| 五月激情偷拍| 超碰AV成人| 久久久久久性爱视频| www.ywav| 五月五婷婷| 九月婷婷在线观看| 狠狠高潮精品亚洲1| 壅壅儕家a| 色久五月| 日日躁夜夜躁狠狠久久AV| 色五月婷婷五月丁香五月激情五月视频| 中文字幕在线观看视频www| 欧美久久网| 日本婷婷在线| 操一区| 婷婷色五月丁香六月欧美啪| 99久久99视频只有精品| www五月| 丁香色情五月天| www.夜夜| 日本激情五月| 欧美碰碰| 婷婷五月综合体验看| 久久新地此| 欧美日本国产欧美日本韩国99| XX久久| 啪啪激情综合| 色99亚洲| 狠狠色婷| 日韩久热| 我爱宗和色| 婷婷丁香18| 天天做天天摸| 人妻九九九九| 大地资源色婷婷视频在线| 丁香五月综合在线| 国产成人精品一区二区三区视频| 久久精品视频在这里有| av色婷婷| 黑人巨粗进入警花疼哭A片| 亚洲精品五月| 99福利导航| 97人人干人人操| 337p午夜影院| www狠狠com| 激情五月六月婷婷| 久久久久久综合五月婷婷| 伊人激情网| 香蕉国产2013| 婷婷六月激情啪啪| 狠狠干狠狠操狠狠爱| 伊人婷婷色| 五月丁香综合啪啪啪啪啪| 国外亚洲成AV人片在线观看| 丁香五月天激情网| 婷婷久久综合久| 香蕉人妻AV久久久久天天| 99re热视频这里只精品| 狠狠舔| 牛牛澡牛牛爽| 久热这里| 五月婷婷黄色视频| 丁香六月激情四射| 91干婷婷| 色九月婷婷| 色婷婷丁香五月色综合网| 91热视频色网站| 中文字幕网伦射乱中文| 丁香婷婷色情| 99爱免费在线视频| 在线不卡视频| 超碰A V在线| 五月天婷婷在线观看| 激情婷婷丁香色五月| 色吧五月婷婷| 20253AV| 丁香五月天啪啪| 天天爽天天草| 色色色色色色色综合| 大香蕉娱乐| 五月天成人免费视频| 强伦轩人妻一区二区电影| 色婷婷婷av| 激情婷婷综合网| 国产乱妇无乱码大黄AA片| 日日日日日| 夜夜操夜夜姧| 婷婷五月中文在线| 婷婷射图五月天| 国精产品一区一区三区免费视频| 熟女激情网| 五月激情婷婷女| 久久永久网址| 超碰在线9| 九九九九九九热| 色狠狠色| 五月天婷婷在线播放| 色九月综合网| 影音 五月 婷婷 久久| 超碰精品在线| 五月婷婷精品视频| 成人婷婷桔色| 99re这里只有精品99| 亚洲有码在线视频| 99操不停| 骚逼视频一区2区| 色婷婷电影| 成人亚洲精品| 国产精品色| 丁香六月无码播放| 久久五月激情| 五月丁香六月花| 91啪级电影| 肏屄色播伊人97婷婷| 五月婷视频在线观看| 亚洲精品一区中文字幕乱码| 国产日韩精品SUV| 色婷婷在线视频| 日本综合久久| 97香蕉碰碰人妻国产欧美| 丁五月激情视频免费| 99色免费视频| 天天碰夜夜爽| 日韩1区2区| 丁香五月综合网亚洲综合欧美狠狠| 26UUU亚洲欧美| 五月花综合网| 婷婷五月丁香狠狠| 久久午夜理论| 婷婷久久六月费| 开心五月婷婷在线视频免费观看| 亚洲女婷婷五月基地综合久久久| 婷婷色香六月综合激情| 五月丁香啪啪啪啪| 亚洲国产色色| 亚洲色a| 婷婷激情六月综合| 色婷五月| 五月天婷婷综合免费| 丁香六月婷婷综合缴| 久久538| 五月综合丁香婷婷| 91丨九色丨白浆秘| 色情综合网| 婷婷欧美偷拍综合| 日在线V视频在线播放| 婷婷丁香五月激情图片| 日日操日日干| 99热这里精| 亚洲色综合性| 女人被男人吃奶到高潮| 久久五月综合| 天天插天天干| 国产av第一专区| 91热久| 九九99热| 丁香亭亭久久| 久久aaaa片一区二区| 六月丁香婷婷尤物| 可以看的AV网站| 少妇性按摩无码中文A片| 婷婷射丁香| 97碰在线视频| 91人人人人人人人| 国产三级片91| 久久久久综合激动五月天| 99这里只有精品在线观看| 黄色激情五月天| WWW免费视频碰碰碰碰| 99热国产这里只有精品| www.9操| 色色丁香五月天社区| 五月丁香亭亭操逼| 伊人六月无码视频| 婷婷成人五月天| 天天舔天天爽| 狠狠 久久| 另类视频综合| 欧美激情五月| 操久久网| 182tv992tv人之初午夜免费观看| 97操碰碰无码视频| 青青五月天婷婷| 色五月丁香五月| 婷婷激情综合| 色站9/| 久久综合丁香| 亚洲国产成人裸舞| 九九黄色网| 九九色婷| 久久综合丁香五月| 色情五月婷婷| 少妇被下春药玩弄A片| 琪琪色影音先锋| 好好日激情五月天| 26uuu欧美日本| 五月天亭亭俺也| 婷五月天| 丁香五月狠狠综合欧美| 久久总和99| 人妻第九页| 色婷婷av在线| 激情五月天伊人影院| 天天爽夜爽| 丁香五月www| 丁香5月综合啪啪| 日韩成人电影在线播放| 超碰97在线观看免费| 色婷婷影视| 思思热99热| 黑人巨粗进入警花疼哭A片| 丁香五月情| 天天综合网亚洲综合网| 色色婷| 婷婷久久婷婷| 五月天激情美女久久| 深爱激情五月婷婷| 伊人狠狠色婷婷综合丁香一区| 五月天天天开心激情网| 五月激情六月综合| 99在线观看精品| 五月激情婷婷六月| 青草视频在线播放| WWW.夜夜操.com| 久久婷婷五月综合伊人| 青草青草久9视频在线视频| 五月丁香久久久| 99在线精品观看99| 色99在线| 激情丁香社区| 久久九九@| 99思思| 国产成人精品一区二三区熟女在线| 99欧州偷拍视频| 五月色亚洲| 99久久人人| 99色播| 丁香五月天啪啪| 婷婷六月色| 六月婷婷av| 国产avapp 网| 成人色图情色成人网 www.5b5b5bcom 五月天| 激情六月婷婷啪啪| 99久久婷婷五月天| 国产精产国品一二三在观看| 97干婷婷五月天| 99热66| 九九久久高清| 月婷婷婷婷五月| 97久久超级| 91人人爽久久涩噜噜噜| 日本色色色色色色色色一色二色| 婷婷 亚洲图片 丁香| 99热这里只有精品9| 99热这里在线精品| 丁香九月激情| 色婷婷六月激情| 亚洲妇女熟BBW| 激情婷婷丁香色五月综合| 成人在线日韩| 人人添人人| 天堂成人A片永久免费网站| 精品色情一区二区三区四区| 国产精品国产成人国产三级| 天天模,夜夜模夜夜爽| 久久久天堂国产精品女人| 五月婷综合性中心| 婷婷六久久| 色婷婷久综合久久一本国产AV| 色综合网页| 激情五月婷婷综合| 丁香五婷婷| 色五月综合| 五月婷婷偷| 激情五月婷婷| 久久一热| 日本三级日本三级三级人妇四虎| 五月综合无码| 激情婷婷丁香色五月综合| 婷婷五月天 丁香五月天 裸体| 欧美激情五月| 亚洲欧洲中文日韩久久AV乱码| 偷拍视频五月天| 91 久热| 丁香五月先锋| 婷丁五月| 依人大香蕉在钱1| 极品五月天| 99热精品超碰| 激情图片五月天| 九九热在线观看视频网站| 天天色凹凸| 久久激情五月婷婷| 南京搡BBBB搡BBBB| 色444综合网| 久久久91| 开心五月色婷| 在线观看996精品| 综合网激情| 婷婷五月天BBw| 成人丁香色| 精品一二三区久久AAA片| 五月婷婷网五月在线| 中文网婷婷字幕婷| 97久久超碰| 天天射色五月天| www.99久| 丁香五月天91| 亚洲这里只有精品| 停停五月丁香| 激情影院内射| 九九99在线| 欧美激情五月天| 丁香五月综合网亚洲综合欧美狠狠| 99视频九九热| 国产成人综合电影| 国产激情AV| 操射国产日本| 婷婷成人网五月天| 丁香九月激情久久| 疯狂做受XXXX高潮A片| AV成人在线播放| 午夜 外网 精品 在线| 啪精品| 国产精品第一国产精品| 翔田千里 50岁 无码| 男女久久婷婷五月天| 日本超碰在线| 日本9区视频| 91狠狠综合久久久久久| 色五月超碰| 久久五月激情| 婷五月天在线草| 99热99| 丁香网五月天| 天天日综合| 69色婷婷| 久久视频在线| 六月婷婷色五月| 东京热伊人| 日韩黄色AV无码| 99精品偷自拍| 97色婷| 激情综合区| 亚洲天堂aaaa| 久热精品视频| 五月永久激情| AAAA亚洲| 久久九九怡红院| 97操碰碰无码视频| 午夜丁香 婷婷| 大香蕉福利导航| 99在线精品免费视频| 色中色综合| 婷婷综合亚洲| 五月丁香婷婷三级| 亚洲看av的网站| 天天摸天天舔在线视频| 人人97碰| 丁香九月综合| 亚洲乱码w在线观看| 日本色色色色色色色色一色二色| 婷婷五月天伊人| 99视频精品在线| 天天搞天天爽| 色五月在线播放| 国产亚洲精久久久久| 婷婷五月中文字幕国产| 森林影视大全,最好看的2019年视频 | 久机视频这只有精品| 伊久久婷婷| 日本天堂免费99| 96丁香六月婷婷蜜桃综合久久| 噜噜色噜噜网| 九九色99| 色色丁香激情五月| 99热这里只有免费| 婷婷综合色五月天| 亚洲色A| 激情婷婷五月天日本系列| 婷婷五月综合在线视频| 丁香激情六月天婷婷| 另类图片 五月激情| 婷婷丁香五月视频| 影音先锋 91工厂| 婷婷丁香亚洲五月天| 99视频精品全部免费观看| 天天在线天天综合网色| 人人干女人| 69人人操人人爽| 一区二区你懂的| 久久五月天免费网站| 色综合久久综合| 在线成人视频免费| 婷婷五月综合网| 香蕉中文在线| 久久九九@| 婷婷久久综合久| 99精品视频免费在线播放| 深爱五月婷婷开心中文字幕| 丁香五月婷婷色综合基地| 五月丁香久久久| 国产VA亚洲VA96| 九九热视频在线观看| 美女精品一级不卡视频| 26UUU欧美| 国产XXXX搡XXXXX搡麻豆| 色婷婷很很十八禁| 五月婷免费视频| 超碰人人射| 婷婷综合网在线| 久久精品66| 五月婷婷六月情| 9久视频| 另类少妇人与禽zOZZ0性伦| 伊人喵咪a V| 1024操逼视频| 天天搞夜夜叫| 亚洲 六月 综合| 深爱激情六月| 97精品欧美91久久久久久久| 欧美激情综合| 婷色综合| 亚洲av网站| 婷婷五月天深爱| www.99情趣网| 婷婷综合激情| 国产成人AV不卡| 91狼友视频在线观看| 亚洲性视频| 十月丁香婷婷| 五月天综合在线观看视频| 久久激情五月天| 国产毛片欧美毛片久久久| 人操人| 久久之人妻| 丁香五月婷婷在线视频| 亚洲天堂热| 亚州第一黄网| 狠狠色丁香久久久婷| 久久成人天| 婷婷丁香97| 伊人网色婷婷五月天| 丁香五月区| 噜噜噜色噜噜| 大香蕉综合| 99视频| 丁香五月色网| sS丁香五月婷婷| 五月激情婷婷在线| 婷婷久久久| 五月丁香综合成人社区| wwccc久久久| AV在线免费播放| 97碰碰九九视频| 亚洲欧洲另类| 五月婷婷成人| 99ER热精品视频| 9l视频自拍九色9l视频自拍九色9l社区 | 欧美精品999| 熟美女麻豆| 99热都是精品| 丁香六月婷婷综合缴| 天天干电影| 7777精品伊人久久久大香线蕉最新版| 五月丁香久久| 人人摸人人澡人人| av免费在线看不卡无毒| 性韩日色婷婷五月天激情啪啪XXX| 激情文学五月丁香六月婷婷 | 亚洲激情AV| 婷婷色五月色| 国产AV熟妇人震精品一品二区| 五月天色色网站| 色五月天电影| 色婷婷播放| 日韩av大全| 九九热精品| 色综合中文色综合网| 噜噜久| 久久五月天视频| 婷婷丁香五月天色色| 五月婷婷中文网| 超碰久热| ww亚洲ww在线观看| 91色噜噜狠狠狠狠色综合| 狠狠色噜噜色狠狠狠综合色 | 丁香六月天AV| 人妻内射视频| 色99在线观看| 99色视频| 超级碰碰一区| 播五月丁香六月| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | www.99riav99| 丁香五月丁香伊人| 亚洲欧洲中文日韩久久AV乱码| 欧美天天爽| 丁香五月色| 99操99| 婷婷五月在线观看| 中文字幕av久久爽| 天天摸色吧天天摸色吧| 99色综合久久| 五月婷婷天天色| www.婷婷五月天.com| 网色99| 人人操AV| 久久综合中文| 色五月综合| 91色久| 婷婷伊人| 欧美狠狠一在草| 色色色99| 九热在线这里有精品6| 99色色网| 亚洲 激情 中文| 天堂成人A片永久免费网站| 五月婷婷亚洲综合网| 少妇性BBB搡BBB爽爽爽电影| 色情播放| 91人人爱| 五月婷婷丁香婷婷| 99精品女人天堂| 久久婷婷丁香| 超碰99热| 97天堂| 五月综合激情综合久| 第九色区AV在线| 激情小说之五月| 另类国产欧美视频| 99精品免费| 六月婷婷日| 激情五月天开心| 武则天精品久久| 天天操天天干天天日| 黄色三级日本| 99热网站| 五月婷婷开心亚州在线| 噢美99| 五月丁香影视| 久婷婷婷| 99无码精品| 五月深爱婷婷| 婷婷五月欧美| 久久东京热婷婷五月| 中文字幕婷婷| 色五月综合在线| 亚洲九九九九| 五月天激情综合网| 色婷婷六月天| 千人斩操逼| 欧美 日韩 人妻 高清 中文| 午夜激情五月天| 黄色精品五月婷婷| 天天爽天天操| 中文乱子伦视频| 五月天久久久| 九九久久色| 黄色片区子| 国产另类综合| 大香蕉精品视频| aV直接看| AV电影在线播放| 99re这里只有精品首页| 久久激情五月婷婷| 激情婷婷狠狠干综合| 色偷偷色婷婷| 色情五月天A片| 亚洲成人在线播放| 狠狠狠狠狠狠草| 丁香五月成人网| 五月丁香六月婷婷开心网| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 婷婷精品在线| 亚洲欧州色情在线观看| 丁香婷婷黄网站| 婷婷五月天久| 九九热免费视频| 色99在线| 日日做夜夜爱| www.日韩国产| 色综合网页| 97人人干| 超碰爱爱爱| 婷婷五月天欧美图片在线播放电驴| 97色婷婷| 停停六月 综合| 熟女人妻视频| 婷婷五月婷婷| 色色色热热热| 色五月天视频| 欧美色色色色色色色色色色影视| 五月天婷婷AV| 嫩草视频。| 亚洲五月天激情| 九九热欧美| 色婷久久| www.sezonghe| 日本婷婷综合精品| 综合亚洲六月婷婷在线| 狠干综合| 嫩草视频。| 九九色婷婷五月天| 婷婷丁香人妻天天爽| 狼人狠狠操| 无码色色色| 久久婷婷一级片| 激情五月综合色婷婷| 色婷婷黄色网络| 婷婷久久精品| 日本情色一区二区| 五月天久久久| 丁香成人五月天| www色色色com| 色婷婷综合影院| 色五月激情五月| 五月丁香婷爱在线| 五月社区丁香| 色婷婷五月基地在线| 少妇高潮A片无套内谢麻豆传| 丁香婷婷基地| 欧美丁香五月97色| 色色色婷| 久久久久久人妻| 99精品视频网站| 99乱视频| 深爱激情网综合| 五月综合色播播丁香婷婷| 婷婷综合在线观看视频| 五月丁香直播| 狠狠狠狠狠狠狠狠草| 日日干夜夜撸夜夜骑| 天天综合亚洲综合网天天αⅴ| 亚洲小视频免费播放| 青草网在线观看| 337p大胆噜噜噜噜噜91Av| 97视频久久| 婷婷久久五月| WWW99热| 六月丁香av| 丁香婷婷啪啪| 99色色热| 国产精品久久久99视频| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚洲欧洲美女在线观| 三级毛片视频| 五月婷婷综合成人| 性爱网六月丁香| 69精品人妻不卡视频| 激情综合99| 亚洲五月婷| 99久久精| 婷婷5月开心6月| 丁香丝袜五月| 性天天中文网| 色婷久久| 婷婷金品综合视频| 丁香五月电影| 日本精品人妻无码77777| 婷婷五月天免费99| 婷婷六月偷拍| 久久五月婷婷丁香| 色婷婷狠狠爱| 精品婷婷五| 婷婷丁香五月噜噜噜| 亚洲av骚货| 91视频综合网| 99久在线精品99re8| 日韩成人无码| 丁香六月综合激情| 在线色婷婷| 久热91精品| 久er7久热| 色丁香婷婷美女视频网站| 日韩无码色色| 亚洲色在线观看| 成人免费120分钟啪啪| 婷婷激情五月天桃花网| 亚洲激情综| 爱性综合网| 天天色天天色天天色天天色天天色| 五月丁香亭亭| 五月色影院| 久操香蕉| 91人人网| 五月婷婷与六月丁香图片激情| 一级A片天天操夜夜操| 久久久27操| 丁香六月激情综合| 国自产拍偷拍精品啪啪一区二区 | 噜噜久| 亚州操操| 日本不卡一区二区三区| 五月综合激情| 精品久久久人妻| 五月丁香色停停啪啪啪| 九九这里是免费的视频5| 高清无码.com| 丁香婷婷视频| 婷婷五月色| 99色在线视频观看| 日本色婷婷| 玖久精品视频9| 丁香五月激情五月| 欧美性生交XXXXX无码小说| 亚洲九九婷婷| site:xmssd.com| 久久狠狠干| 天天插天天射| 丁香狠狠色婷婷久久无码视频| 九月婷婷色色| 天天插天天干天天舔| 殴美日比视频| 久久R激情| 26uuu青青| 综合五月婷婷| 色色婷婷丁香| 99ri精品在线| 狠婷婷五月| 夜夜躁爽日日| 激情国产五月| 色婷丁香五月| 狠狠色噜噜狠狠| 久久久99精品免费观看| 色琪琪一综合久久激情五月视频| 婷婷综合六月| 99色视频| 日本3级片一区2区| 天天爽综合| AV九九| 无码动漫av| 五月婷丁香亚洲| 天天做天天爱天天高潮| 99狠狠| 这里只有精品视频一区| 婷婷精品| 婷婷五月丁香六月| 五月婷天天搞视频| 国产欧美精品AAAAAA片| 99久久久99久久91熟女| 婷婷五月丁香色综合| 五月天sesese| 国产色婷婷亚洲| 狠狠狠狠狠狠狠狠| 99丁香五月婷| 五月天久久网站| 五月丁香六月片| 久久久久久久久久久久久久人妻视频| 丁香六月婷婷色播| 色婷婷91激情小说| 啪啪啪五月天| 狠狠精品干练久久久无码中文字幕| www.久久爱.com| 裸体美女丁香五月天。| 91久久久久| 激情婷婷亚洲五月| 我爱大香蕉| 五月丁香亚洲校园欧美| www.99婷婷| 久操人| 99热官网精品在线| 91丨九色丨老熟女激情| 99这里只有精品在线观看| 99热精品在线播放| 日木狠狠干| 五月天婷婷久久视频| 午夜爱插插| 亚洲综合草草| 大香蕉天堂| 丁香六月激情| 99热99操| 久re热视频| 色色五月婷婷久久| 欧美日韩成人在线网站| 久操大屁股女人av| 天天做天天摸| 婷婷五月天丁香久久| 操久久网| 六月婷婷中文字幕| ai97re99一本| 五月情色天| 91xxxx九色| 五月丁香花激情综合网| 九九成人电影婷婷| 久久机热这里只有精品| 狠狠色噜噜狠狠狠777奇米| 激情五月综合色婷婷| 欧美成人AAA片一区国产精品| 婷婷五月开心中文字幕在线| 逼特逼在线免费播放| 五月综合777| 精品少妇人妻AV无码专区偷人 | ri电影在线| 欧美精品XXXXBBBB| 五月花婷婷最新| 91妻人人爽人人看片| 狠狠色丁香久久婷婷综合五月| 久久综合综合综合| 伊人玖玖婷婷| 色吊丝永久访问网址| 激情综合无码| 激情五月天激情网| 精品欧美一区二区三区久久久| 日本ww亚洲| www.婷婷五月.com| 久久 天天| 色色婷婷五月| 久久98热re| 中文网AV| 婷婷欠久少妇| 天天色天天日| 婷婷五月天堂| 色色色综合色| 五月丁香六月情婷婷久久| 婷婷五月天丁香久久| 大香蕉天堂| 亚洲成人在线播放| 亚洲熟妇AV乱码在线观看| 亚洲99热| 久久婷婷色| 天天操夜夜操| 九九精品在线观看视频6| 日韩AV在线免费观看| 五月天色婷婷综合| 丁香月五月天婷婷久久| 嫩草视频| 99久久婷婷国产综合| 天天射射夜| 国产黄色大片| 玖玖综合色| 色大综合| 亚洲天堂啪啪| 欧亚成人A片一区二区| 欧美狠狠地| 人妻综合网| 99久操视频| 色婷婷操逼| 五月情四婷婷| 91婷婷五月丁香碰| 国产成人综合网| 岛国AV网| 国产永久一黄| 狠狠色婷婷777| 色五月婷婷激情| 五月丁香久人妻中文| 色爱爱综合网| 色久九| 亚洲性色XXXXX| 日本三级黄色大片| 精品国产a| 婷婷五月综激情|