From 87fe29649a03b0451928eda38e0247a30c56aec7 Mon Sep 17 00:00:00 2001 From: CCass Date: Sun, 28 Sep 2025 18:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8modules=E5=8C=85=E4=B8=8B=E6=96=B0?= =?UTF-8?q?=E5=BB=BAasset-management=E5=8C=85=EF=BC=8C=E5=B0=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8C=AA=E8=BF=87=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: CCass --- pom.xml | 12 +++ ruoyi-admin/pom.xml | 5 + .../src/main/resources/application-dev.yml | 2 +- ruoyi-modules-api/pom.xml | 1 + .../ruoyi-asset-management-api/pom.xml | 90 ++++++++++++++++++ .../asset}/domain/AssetClassification.java | 2 +- .../ruoyi/asset}/domain/MinUsagePeriod.java | 2 +- .../domain/bo/AssetClassificationBo.java | 2 +- .../asset}/domain/bo/MinUsagePeriodBo.java | 4 +- .../vo/AssetClassificationImportVo.java | 2 +- .../domain/vo/AssetClassificationVo.java | 2 +- .../domain/vo/MinUsagePeriodImportVo.java | 2 +- .../asset}/domain/vo/MinUsagePeriodVo.java | 4 +- .../mapper/AssetClassificationMapper.java | 6 +- .../asset}/mapper/MinUsagePeriodMapper.java | 6 +- .../service/IAssetClassificationService.java | 18 ++-- .../service/IMinUsagePeriodService.java | 13 ++- ruoyi-modules/pom.xml | 3 +- ruoyi-modules/ruoyi-asset-management/pom.xml | 93 +++++++++++++++++++ .../MinUsagePeriodImportListener.java | 10 +- .../impl/MinUsagePeriodServiceImpl.java | 22 +++-- .../resources/sql/asset_classification.sql | 16 ++++ .../main/resources/sql/min_usage_period.sql | 17 ++++ .../src/main/resources/sql/scrap_audit.sql | 27 ++++++ .../asset}/service/ExcelImportSimpleTest.java | 5 +- .../asset}/service/NewExcelAnalysisTest.java | 2 +- .../SimpleAssetClassificationTest.java | 2 +- .../asset}/service/SimpleDatabaseTest.java | 5 +- .../asset}/service/SimpleExcelImportTest.java | 4 +- ruoyi-modules/ruoyi-system/pom.xml | 5 + .../src/test/resources/application-test.yml | 59 ++++++++---- 31 files changed, 375 insertions(+), 68 deletions(-) create mode 100644 ruoyi-modules-api/ruoyi-asset-management-api/pom.xml rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/AssetClassification.java (95%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/MinUsagePeriod.java (96%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/bo/AssetClassificationBo.java (97%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/bo/MinUsagePeriodBo.java (94%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/vo/AssetClassificationImportVo.java (95%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/vo/AssetClassificationVo.java (97%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/vo/MinUsagePeriodImportVo.java (95%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/domain/vo/MinUsagePeriodVo.java (93%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/mapper/AssetClassificationMapper.java (80%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/mapper/MinUsagePeriodMapper.java (68%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/service/IAssetClassificationService.java (75%) rename ruoyi-modules-api/{ruoyi-system-api/src/main/java/org/ruoyi/system => ruoyi-asset-management-api/src/main/java/org/ruoyi/asset}/service/IMinUsagePeriodService.java (79%) create mode 100644 ruoyi-modules/ruoyi-asset-management/pom.xml rename ruoyi-modules/{ruoyi-system/src/main/java/org/ruoyi/system => ruoyi-asset-management/src/main/java/org/ruoyi/asset}/listener/MinUsagePeriodImportListener.java (94%) rename ruoyi-modules/{ruoyi-system/src/main/java/org/ruoyi/system => ruoyi-asset-management/src/main/java/org/ruoyi/asset}/service/impl/MinUsagePeriodServiceImpl.java (91%) create mode 100644 ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/asset_classification.sql create mode 100644 ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/min_usage_period.sql create mode 100644 ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/scrap_audit.sql rename ruoyi-modules/{ruoyi-system/src/test/java/org/ruoyi/system => ruoyi-asset-management/src/test/java/org/ruoyi/asset}/service/ExcelImportSimpleTest.java (98%) rename ruoyi-modules/{ruoyi-system/src/test/java/org/ruoyi/system => ruoyi-asset-management/src/test/java/org/ruoyi/asset}/service/NewExcelAnalysisTest.java (99%) rename ruoyi-modules/{ruoyi-system/src/test/java/org/ruoyi/system => ruoyi-asset-management/src/test/java/org/ruoyi/asset}/service/SimpleAssetClassificationTest.java (99%) rename ruoyi-modules/{ruoyi-system/src/test/java/org/ruoyi/system => ruoyi-asset-management/src/test/java/org/ruoyi/asset}/service/SimpleDatabaseTest.java (98%) rename ruoyi-modules/{ruoyi-system/src/test/java/org/ruoyi/system => ruoyi-asset-management/src/test/java/org/ruoyi/asset}/service/SimpleExcelImportTest.java (98%) diff --git a/pom.xml b/pom.xml index 4e85322d..535c5c94 100644 --- a/pom.xml +++ b/pom.xml @@ -345,6 +345,18 @@ ${revision} + + org.ruoyi + ruoyi-asset-management-api + ${revision} + + + + org.ruoyi + ruoyi-asset-management + ${revision} + + org.ruoyi ruoyi-generator diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 6f84d8b5..7c032ba4 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -57,6 +57,11 @@ ruoyi-generator + + org.ruoyi + ruoyi-asset-management + + diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 1fd51a25..763c6e39 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -18,7 +18,7 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: root - password: root + password: 666666 hikari: # 最大连接池数量 diff --git a/ruoyi-modules-api/pom.xml b/ruoyi-modules-api/pom.xml index a3f0ef00..35e148e5 100644 --- a/ruoyi-modules-api/pom.xml +++ b/ruoyi-modules-api/pom.xml @@ -17,6 +17,7 @@ ruoyi-chat-api ruoyi-knowledge-api ruoyi-system-api + ruoyi-asset-management-api diff --git a/ruoyi-modules-api/ruoyi-asset-management-api/pom.xml b/ruoyi-modules-api/ruoyi-asset-management-api/pom.xml new file mode 100644 index 00000000..7fe348c6 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-asset-management-api/pom.xml @@ -0,0 +1,90 @@ + + + 4.0.0 + + ruoyi-ai + org.ruoyi + ${revision} + ../../pom.xml + + + ruoyi-asset-management-api + jar + + + 资产管理API模块 + + + + 17 + 17 + UTF-8 + + + + + + org.ruoyi + ruoyi-common-core + + + + + org.ruoyi + ruoyi-common-mybatis + + + + + org.ruoyi + ruoyi-common-sensitive + + + + + org.ruoyi + ruoyi-common-excel + + + + + org.ruoyi + ruoyi-common-tenant + + + + + org.ruoyi + ruoyi-common-translation + + + + + org.ruoyi + ruoyi-common-log + + + + + io.github.linpeilie + mapstruct-plus-spring-boot-starter + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + org.projectlombok + lombok + true + + + + + diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/AssetClassification.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/AssetClassification.java similarity index 95% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/AssetClassification.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/AssetClassification.java index c280be39..134f0a75 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/AssetClassification.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/AssetClassification.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain; +package org.ruoyi.asset.domain; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/MinUsagePeriod.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/MinUsagePeriod.java similarity index 96% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/MinUsagePeriod.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/MinUsagePeriod.java index 33185882..4fe1df58 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/MinUsagePeriod.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/MinUsagePeriod.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain; +package org.ruoyi.asset.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/AssetClassificationBo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/AssetClassificationBo.java similarity index 97% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/AssetClassificationBo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/AssetClassificationBo.java index 10f2aec8..64e7446a 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/AssetClassificationBo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/AssetClassificationBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.asset.domain.bo; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/MinUsagePeriodBo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/MinUsagePeriodBo.java similarity index 94% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/MinUsagePeriodBo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/MinUsagePeriodBo.java index eb3c8ab9..a58ec368 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/bo/MinUsagePeriodBo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/bo/MinUsagePeriodBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.asset.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.core.domain.BaseEntity; -import org.ruoyi.system.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.MinUsagePeriod; /** * 最低使用年限表业务对象 min_usage_period diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationImportVo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationImportVo.java similarity index 95% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationImportVo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationImportVo.java index bf47610b..eea26980 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationImportVo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationImportVo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.asset.domain.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationVo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationVo.java similarity index 97% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationVo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationVo.java index 67b9de35..4eceab70 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/AssetClassificationVo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/AssetClassificationVo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.asset.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodImportVo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodImportVo.java similarity index 95% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodImportVo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodImportVo.java index 4ffa7c87..b86a328f 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodImportVo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodImportVo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.asset.domain.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodVo.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodVo.java similarity index 93% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodVo.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodVo.java index 806ecf93..f3bcb72d 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/domain/vo/MinUsagePeriodVo.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/domain/vo/MinUsagePeriodVo.java @@ -1,10 +1,10 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.asset.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.ruoyi.system.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.MinUsagePeriod; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/AssetClassificationMapper.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/AssetClassificationMapper.java similarity index 80% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/AssetClassificationMapper.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/AssetClassificationMapper.java index 5539c52b..7c6b6477 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/AssetClassificationMapper.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/AssetClassificationMapper.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.mapper; +package org.ruoyi.asset.mapper; import org.apache.ibatis.annotations.Param; import org.ruoyi.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.AssetClassification; -import org.ruoyi.system.domain.vo.AssetClassificationVo; +import org.ruoyi.asset.domain.AssetClassification; +import org.ruoyi.asset.domain.vo.AssetClassificationVo; /** * 高等学校固定资产分类与代码Mapper接口 diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/MinUsagePeriodMapper.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/MinUsagePeriodMapper.java similarity index 68% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/MinUsagePeriodMapper.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/MinUsagePeriodMapper.java index 70d89c14..16dd037d 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/mapper/MinUsagePeriodMapper.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/mapper/MinUsagePeriodMapper.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.mapper; +package org.ruoyi.asset.mapper; import org.apache.ibatis.annotations.Mapper; import org.ruoyi.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.MinUsagePeriod; -import org.ruoyi.system.domain.vo.MinUsagePeriodVo; +import org.ruoyi.asset.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.vo.MinUsagePeriodVo; /** * 最低使用年限表 数据层 diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IAssetClassificationService.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IAssetClassificationService.java similarity index 75% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IAssetClassificationService.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IAssetClassificationService.java index 3c1a9963..b088c89c 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IAssetClassificationService.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IAssetClassificationService.java @@ -1,9 +1,10 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import org.ruoyi.core.page.TableDataInfo; -import org.ruoyi.system.domain.AssetClassification; -import org.ruoyi.system.domain.bo.AssetClassificationBo; -import org.ruoyi.system.domain.vo.AssetClassificationVo; +import org.ruoyi.core.page.PageQuery; +import org.ruoyi.asset.domain.AssetClassification; +import org.ruoyi.asset.domain.bo.AssetClassificationBo; +import org.ruoyi.asset.domain.vo.AssetClassificationVo; import java.util.Collection; import java.util.List; @@ -26,10 +27,15 @@ public interface IAssetClassificationService { */ AssetClassification queryByClassificationCode(String classificationCode); + /** + * 根据分类名称查询 + */ + AssetClassification queryByClassificationName(String classificationName); + /** * 查询高等学校固定资产分类与代码列表 */ - TableDataInfo queryPageList(AssetClassificationBo bo); + TableDataInfo queryPageList(AssetClassificationBo bo, PageQuery pageQuery); /** * 查询高等学校固定资产分类与代码列表 @@ -59,5 +65,5 @@ public interface IAssetClassificationService { * @param operName 操作用户 * @return 结果 */ - String importData(List dataList, Boolean isUpdateSupport, String operName); + String importData(List dataList, Boolean isUpdateSupport, String operName); } diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IMinUsagePeriodService.java b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IMinUsagePeriodService.java similarity index 79% rename from ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IMinUsagePeriodService.java rename to ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IMinUsagePeriodService.java index 3a5157ee..f29f0b3b 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IMinUsagePeriodService.java +++ b/ruoyi-modules-api/ruoyi-asset-management-api/src/main/java/org/ruoyi/asset/service/IMinUsagePeriodService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import org.ruoyi.core.page.TableDataInfo; -import org.ruoyi.system.domain.MinUsagePeriod; -import org.ruoyi.system.domain.bo.MinUsagePeriodBo; -import org.ruoyi.system.domain.vo.MinUsagePeriodVo; +import org.ruoyi.asset.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.bo.MinUsagePeriodBo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodVo; import org.ruoyi.core.page.PageQuery; import java.util.Collection; @@ -27,6 +27,11 @@ public interface IMinUsagePeriodService { */ MinUsagePeriod queryByGbCode(String gbCode); + /** + * 根据国标代码前缀查询最低使用年限表 + */ + MinUsagePeriod queryByGbCodePrefix(String gbCodePrefix); + /** * 查询最低使用年限表列表 */ diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 80af4ecd..b4420806 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -21,7 +21,8 @@ ruoyi-chat ruoyi-system ruoyi-generator - ruoyi-wechat + ruoyi-wechat + ruoyi-asset-management diff --git a/ruoyi-modules/ruoyi-asset-management/pom.xml b/ruoyi-modules/ruoyi-asset-management/pom.xml new file mode 100644 index 00000000..d245f4cd --- /dev/null +++ b/ruoyi-modules/ruoyi-asset-management/pom.xml @@ -0,0 +1,93 @@ + + + 4.0.0 + + org.ruoyi + ruoyi-modules + ${revision} + ../pom.xml + + + ruoyi-asset-management + + + 资产管理模块 + + + + + + org.ruoyi + ruoyi-common-core + + + + org.ruoyi + ruoyi-common-doc + + + + + org.ruoyi + ruoyi-common-oss + + + + + org.ruoyi + ruoyi-common-excel + + + + + org.ruoyi + ruoyi-common-sms + + + + org.ruoyi + ruoyi-common-mail + + + + + org.ruoyi + ruoyi-asset-management-api + + + + + commons-io + commons-io + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.junit.jupiter + junit-jupiter + test + + + + org.springframework + spring-test + test + + + + mysql + mysql-connector-java + + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/MinUsagePeriodImportListener.java b/ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/listener/MinUsagePeriodImportListener.java similarity index 94% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/MinUsagePeriodImportListener.java rename to ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/listener/MinUsagePeriodImportListener.java index cee95e20..2e49d39a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/MinUsagePeriodImportListener.java +++ b/ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/listener/MinUsagePeriodImportListener.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.listener; +package org.ruoyi.asset.listener; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; @@ -8,10 +8,10 @@ import lombok.extern.slf4j.Slf4j; import org.ruoyi.common.core.utils.SpringUtils; import org.ruoyi.common.excel.core.ExcelListener; import org.ruoyi.common.excel.core.ExcelResult; -import org.ruoyi.system.domain.MinUsagePeriod; -import org.ruoyi.system.domain.bo.MinUsagePeriodBo; -import org.ruoyi.system.domain.vo.MinUsagePeriodImportVo; -import org.ruoyi.system.service.IMinUsagePeriodService; +import org.ruoyi.asset.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.bo.MinUsagePeriodBo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodImportVo; +import org.ruoyi.asset.service.IMinUsagePeriodService; import java.util.ArrayList; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/MinUsagePeriodServiceImpl.java b/ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/service/impl/MinUsagePeriodServiceImpl.java similarity index 91% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/MinUsagePeriodServiceImpl.java rename to ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/service/impl/MinUsagePeriodServiceImpl.java index 2e106ec7..8345c6ec 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/MinUsagePeriodServiceImpl.java +++ b/ruoyi-modules/ruoyi-asset-management/src/main/java/org/ruoyi/asset/service/impl/MinUsagePeriodServiceImpl.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.service.impl; +package org.ruoyi.asset.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -10,11 +10,11 @@ import org.ruoyi.common.core.utils.MapstructUtils; import org.ruoyi.common.core.utils.StringUtils; import org.ruoyi.core.page.PageQuery; import org.ruoyi.core.page.TableDataInfo; -import org.ruoyi.system.domain.MinUsagePeriod; -import org.ruoyi.system.domain.bo.MinUsagePeriodBo; -import org.ruoyi.system.domain.vo.MinUsagePeriodVo; -import org.ruoyi.system.mapper.MinUsagePeriodMapper; -import org.ruoyi.system.service.IMinUsagePeriodService; +import org.ruoyi.asset.domain.MinUsagePeriod; +import org.ruoyi.asset.domain.bo.MinUsagePeriodBo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodVo; +import org.ruoyi.asset.mapper.MinUsagePeriodMapper; +import org.ruoyi.asset.service.IMinUsagePeriodService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -52,6 +52,16 @@ public class MinUsagePeriodServiceImpl implements IMinUsagePeriodService { return baseMapper.selectOne(lqw); } + /** + * 根据国标代码前缀查询最低使用年限表 + */ + @Override + public MinUsagePeriod queryByGbCodePrefix(String gbCodePrefix) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.likeRight(MinUsagePeriod::getGbCode, gbCodePrefix); + return baseMapper.selectOne(lqw); + } + /** * 查询最低使用年限表列表 */ diff --git a/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/asset_classification.sql b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/asset_classification.sql new file mode 100644 index 00000000..52755abd --- /dev/null +++ b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/asset_classification.sql @@ -0,0 +1,16 @@ +-- 高等学校固定资产分类与代码表 +CREATE TABLE `asset_classification` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `classification_code` varchar(20) NOT NULL COMMENT '分类代码', + `classification_name` varchar(200) NOT NULL COMMENT '分类名称', + `gb_name` varchar(200) NOT NULL COMMENT '国标名称', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_classification_code` (`classification_code`), + KEY `idx_classification_name` (`classification_name`), + KEY `idx_gb_name` (`gb_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='高等学校固定资产分类与代码表'; diff --git a/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/min_usage_period.sql b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/min_usage_period.sql new file mode 100644 index 00000000..6b8399f8 --- /dev/null +++ b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/min_usage_period.sql @@ -0,0 +1,17 @@ +-- 最低使用年限表 +CREATE TABLE `min_usage_period` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `category` varchar(100) NOT NULL COMMENT '固定资产类别', + `content` varchar(200) NOT NULL COMMENT '内容', + `min_years` int(11) NOT NULL COMMENT '最低使用年限(年)', + `gb_code` varchar(20) NOT NULL COMMENT '国标代码', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_gb_code` (`gb_code`), + KEY `idx_category` (`category`), + KEY `idx_content` (`content`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='最低使用年限表'; \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/scrap_audit.sql b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/scrap_audit.sql new file mode 100644 index 00000000..a55d1de3 --- /dev/null +++ b/ruoyi-modules/ruoyi-asset-management/src/main/resources/sql/scrap_audit.sql @@ -0,0 +1,27 @@ +-- 报废审核表 +CREATE TABLE `scrap_audit` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `serial_number` varchar(64) DEFAULT NULL COMMENT '序号', + `asset_number` varchar(64) NOT NULL COMMENT '资产编号', + `asset_name` varchar(255) NOT NULL COMMENT '资产名称', + `original_min_usage_period` int(11) DEFAULT NULL COMMENT '原始最低使用年限(年)', + `used_time` decimal(10,2) DEFAULT NULL COMMENT '已使用时间(年)', + `matched_classification_code` varchar(64) DEFAULT NULL COMMENT '匹配的分类代码', + `matched_classification_name` varchar(255) DEFAULT NULL COMMENT '匹配的分类名称', + `actual_min_usage_period` int(11) DEFAULT NULL COMMENT '实际最低使用年限(年)', + `is_scrap_eligible` tinyint(1) DEFAULT NULL COMMENT '是否达到报废标准', + `match_status` varchar(20) DEFAULT NULL COMMENT '匹配状态:SUCCESS-匹配成功,FAILED-匹配失败', + `judgment_basis` varchar(500) DEFAULT NULL COMMENT '判断依据', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_asset_number` (`asset_number`), + KEY `idx_asset_name` (`asset_name`), + KEY `idx_match_status` (`match_status`), + KEY `idx_is_scrap_eligible` (`is_scrap_eligible`), + KEY `idx_serial_number` (`serial_number`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报废审核表'; + diff --git a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/ExcelImportSimpleTest.java b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/ExcelImportSimpleTest.java similarity index 98% rename from ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/ExcelImportSimpleTest.java rename to ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/ExcelImportSimpleTest.java index 569c7bd9..c09d278d 100644 --- a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/ExcelImportSimpleTest.java +++ b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/ExcelImportSimpleTest.java @@ -1,9 +1,10 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import com.alibaba.excel.EasyExcel; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; -import org.ruoyi.system.domain.vo.MinUsagePeriodImportVo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodImportVo; + import java.io.File; import java.io.FileInputStream; diff --git a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/NewExcelAnalysisTest.java b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/NewExcelAnalysisTest.java similarity index 99% rename from ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/NewExcelAnalysisTest.java rename to ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/NewExcelAnalysisTest.java index ec77171c..f1864ad8 100644 --- a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/NewExcelAnalysisTest.java +++ b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/NewExcelAnalysisTest.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import com.alibaba.excel.EasyExcel; import lombok.extern.slf4j.Slf4j; diff --git a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleAssetClassificationTest.java b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleAssetClassificationTest.java similarity index 99% rename from ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleAssetClassificationTest.java rename to ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleAssetClassificationTest.java index 8a364ec0..4b7f84c0 100644 --- a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleAssetClassificationTest.java +++ b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleAssetClassificationTest.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import com.alibaba.excel.EasyExcel; import lombok.extern.slf4j.Slf4j; diff --git a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleDatabaseTest.java b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleDatabaseTest.java similarity index 98% rename from ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleDatabaseTest.java rename to ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleDatabaseTest.java index 53d903f5..4a116e12 100644 --- a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleDatabaseTest.java +++ b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleDatabaseTest.java @@ -1,10 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import com.alibaba.excel.EasyExcel; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; -import org.ruoyi.system.domain.MinUsagePeriod; -import org.ruoyi.system.domain.vo.MinUsagePeriodImportVo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodImportVo; import java.io.File; import java.io.FileInputStream; diff --git a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleExcelImportTest.java b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleExcelImportTest.java similarity index 98% rename from ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleExcelImportTest.java rename to ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleExcelImportTest.java index e5b5db85..5daae5d4 100644 --- a/ruoyi-modules/ruoyi-system/src/test/java/org/ruoyi/system/service/SimpleExcelImportTest.java +++ b/ruoyi-modules/ruoyi-asset-management/src/test/java/org/ruoyi/asset/service/SimpleExcelImportTest.java @@ -1,8 +1,8 @@ -package org.ruoyi.system.service; +package org.ruoyi.asset.service; import com.alibaba.excel.EasyExcel; import lombok.extern.slf4j.Slf4j; -import org.ruoyi.system.domain.vo.MinUsagePeriodImportVo; +import org.ruoyi.asset.domain.vo.MinUsagePeriodImportVo; import java.io.File; import java.io.FileInputStream; diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index bdaf6558..a93fefa2 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -68,6 +68,11 @@ spring-boot-starter-test test + + org.ruoyi + ruoyi-asset-management-api + test + diff --git a/ruoyi-modules/ruoyi-system/src/test/resources/application-test.yml b/ruoyi-modules/ruoyi-system/src/test/resources/application-test.yml index 97e3ae2d..51b6863b 100644 --- a/ruoyi-modules/ruoyi-system/src/test/resources/application-test.yml +++ b/ruoyi-modules/ruoyi-system/src/test/resources/application-test.yml @@ -1,5 +1,6 @@ # 测试环境配置 spring: + # 数据源配置 datasource: type: com.zaxxer.hikari.HikariDataSource dynamic: @@ -31,27 +32,45 @@ spring: database: 0 timeout: 10S -# MyBatis Plus配置 -mybatis-plus: - mapper-locations: classpath*:mapper/**/*Mapper.xml - type-aliases-package: org.ruoyi.**.domain - configuration: - map-underscore-to-camel-case: true - cache-enabled: false - call-setters-on-nulls: true - jdbc-type-for-null: 'null' - global-config: - db-config: - id-type: AUTO - logic-delete-field: delFlag - logic-delete-value: 2 - logic-not-delete-value: 0 + # MyBatis Plus配置 + mybatis-plus: + # 搜索指定包别名 + typeAliasesPackage: org.ruoyi.**.domain + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapperLocations: classpath*:mapper/**/*Mapper.xml + # 加载全局的配置文件 + configLocation: classpath:mybatis/mybatis-config.xml + configuration: + # 自动驼峰命名规则(camel case)映射 + mapUnderscoreToCamelCase: true + # MyBatis 自动映射策略 + # NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射 + autoMappingBehavior: PARTIAL + # MyBatis 自动映射时未知列或未知属性处理策 + # NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息 + autoMappingUnknownColumnBehavior: NONE + # 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl + # 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl + # 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl + logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl + global-config: + # 是否打印 Logo banner + banner: true + dbConfig: + # 主键类型 + # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID + idType: ASSIGN_ID + # 逻辑删除配置 + logicDeleteField: delFlag + logicDeleteValue: 2 + logicNotDeleteValue: 0 + insertStrategy: NOT_NULL + updateStrategy: NOT_NULL + where-strategy: NOT_NULL # 日志配置 logging: level: - org.ruoyi: DEBUG - org.springframework: WARN - com.baomidou.mybatisplus: WARN - pattern: - console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n' + org.ruoyi: debug + org.springframework: warn + com.alibaba.excel: debug \ No newline at end of file