diff --git a/base-server/pom.xml b/base-server/pom.xml
index a4933a0..f82352d 100644
--- a/base-server/pom.xml
+++ b/base-server/pom.xml
@@ -40,7 +40,11 @@
zt-module-erp-server
${revision}
-
+
+ com.zt.plat
+ zt-module-unit-management-server
+ ${revision}
+
com.zt.plat
diff --git a/pom.xml b/pom.xml
index 3ba6dd9..0dc64ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,6 +12,7 @@
zt-module-contract-order
zt-module-erp
base-server
+ zt-module-unit-management
${project.artifactId}
diff --git a/zt-module-unit-management/pom.xml b/zt-module-unit-management/pom.xml
new file mode 100644
index 0000000..d23f6df
--- /dev/null
+++ b/zt-module-unit-management/pom.xml
@@ -0,0 +1,24 @@
+
+
+
+ dsc-base
+ com.zt.plat
+ ${revision}
+
+
+ zt-module-unit-management-api
+ zt-module-unit-management-server
+
+ 4.0.0
+
+ zt-module-unit-management
+ pom
+
+ ${project.artifactId}
+
+ 计量单位 模块。
+
+
+
diff --git a/zt-module-unit-management/zt-module-unit-management-api/pom.xml b/zt-module-unit-management/zt-module-unit-management-api/pom.xml
new file mode 100644
index 0000000..a3915ed
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-api/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ zt-module-unit-management
+ com.zt.plat
+ ${revision}
+
+ 4.0.0
+ zt-module-unit-management-api
+ jar
+
+ ${project.artifactId}
+
+ 暴露给其它模块调用
+
+
+
+
+ com.zt.plat
+ zt-common
+
+
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
+ provided
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ true
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+ true
+
+
+
+
diff --git a/zt-module-unit-management/zt-module-unit-management-api/src/main/java/com/zt/plat/module/unitmanagement/enums/UnitErrorCodeConstants.java b/zt-module-unit-management/zt-module-unit-management-api/src/main/java/com/zt/plat/module/unitmanagement/enums/UnitErrorCodeConstants.java
new file mode 100644
index 0000000..696c09b
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-api/src/main/java/com/zt/plat/module/unitmanagement/enums/UnitErrorCodeConstants.java
@@ -0,0 +1,22 @@
+package com.zt.plat.module.unitmanagement.enums;
+
+import com.zt.plat.framework.common.exception.ErrorCode;
+
+/**
+ * unit-management 模块的错误码常量
+ */
+public interface UnitErrorCodeConstants {
+
+ ErrorCode QUANTITY_UNIT_RELATION_NOT_EXISTS =
+ new ErrorCode(1_010_000_001, "计量单位量与单位关联不存在");
+
+ ErrorCode UNIT_CONVERSION_NOT_EXISTS =
+ new ErrorCode(1_010_000_002, "单位转换记录不存在");
+
+ ErrorCode UNIT_QUANTITY_NOT_EXISTS =
+ new ErrorCode(1_010_000_003, "单位数量记录不存在");
+
+ ErrorCode UNT_INFO_NOT_EXISTS =
+ new ErrorCode(1_010_000_004, "单位信息记录不存在");
+
+}
diff --git a/zt-module-unit-management/zt-module-unit-management-server/pom.xml b/zt-module-unit-management/zt-module-unit-management-server/pom.xml
new file mode 100644
index 0000000..d746339
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/pom.xml
@@ -0,0 +1,151 @@
+
+
+
+ zt-module-unit-management
+ com.zt.plat
+ ${revision}
+
+ 4.0.0
+ jar
+
+ zt-module-unit-management-server
+
+ ${project.artifactId}
+
+ 计量单位管理 模块。
+
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-env
+
+
+
+
+ com.zt.plat
+ zt-module-system-api
+ ${revision}
+
+
+ com.zt.plat
+ zt-module-infra-api
+ ${revision}
+
+
+
+ com.zt.plat
+ zt-module-unit-management-api
+ ${revision}
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-biz-data-permission
+
+
+ com.zt.plat
+ zt-spring-boot-starter-biz-tenant
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-web
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-security
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-mybatis
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-redis
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-rpc
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-job
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-mq
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-test
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-excel
+
+
+
+
+ com.zt.plat
+ zt-spring-boot-starter-monitor
+
+
+ com.zt.plat
+ zt-spring-boot-starter-biz-business
+ ${revision}
+
+
+
+
+
+ ${project.artifactId}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/QuantityUnitRelationController.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/QuantityUnitRelationController.java
new file mode 100644
index 0000000..6a48f14
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/QuantityUnitRelationController.java
@@ -0,0 +1,116 @@
+package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
+import com.zt.plat.module.unitmanagement.service.QuantityUnitRelation.QuantityUnitRelationService;
+
+@Tag(name = "管理后台 - 计量单位量与单位关联")
+@RestController
+@RequestMapping("/base/unit-management/quantity-unit-relation")
+@Validated
+public class QuantityUnitRelationController implements BusinessControllerMarker {
+
+
+ @Resource
+ private QuantityUnitRelationService quantityUnitRelationService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建计量单位量与单位关联")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:create')")
+ public CommonResult createQuantityUnitRelation(@Valid @RequestBody QuantityUnitRelationSaveReqVO createReqVO) {
+ return success(quantityUnitRelationService.createQuantityUnitRelation(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新计量单位量与单位关联")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:update')")
+ public CommonResult updateQuantityUnitRelation(@Valid @RequestBody QuantityUnitRelationSaveReqVO updateReqVO) {
+ quantityUnitRelationService.updateQuantityUnitRelation(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除计量单位量与单位关联")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:delete')")
+ public CommonResult deleteQuantityUnitRelation(@RequestParam("id") Long id) {
+ quantityUnitRelationService.deleteQuantityUnitRelation(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除计量单位量与单位关联")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:delete')")
+ public CommonResult deleteQuantityUnitRelationList(@RequestBody BatchDeleteReqVO req) {
+ quantityUnitRelationService.deleteQuantityUnitRelationListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得计量单位量与单位关联")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:query')")
+ public CommonResult getQuantityUnitRelation(@RequestParam("id") Long id) {
+ QuantityUnitRelationDO quantityUnitRelation = quantityUnitRelationService.getQuantityUnitRelation(id);
+ return success(BeanUtils.toBean(quantityUnitRelation, QuantityUnitRelationRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得计量单位量与单位关联分页")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:query')")
+ public CommonResult> getQuantityUnitRelationPage(@Valid QuantityUnitRelationPageReqVO pageReqVO) {
+ PageResult pageResult = quantityUnitRelationService.getQuantityUnitRelationPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, QuantityUnitRelationRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出计量单位量与单位关联 Excel")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportQuantityUnitRelationExcel(@Valid QuantityUnitRelationPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = quantityUnitRelationService.getQuantityUnitRelationPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "计量单位量与单位关联.xls", "数据", QuantityUnitRelationRespVO.class,
+ BeanUtils.toBean(list, QuantityUnitRelationRespVO.class));
+ }
+
+ @PostMapping("/batch-save")
+ @Operation(summary = "批量保存计量单位量与单位关联")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:quantity-unit-relation:create')")
+ public CommonResult batchSaveQuantityUnitRelations(@Valid @RequestBody QuantityUnitRelationBatchSaveReqVO batchSaveReqVO) {
+ quantityUnitRelationService.batchSaveQuantityUnitRelations(batchSaveReqVO);
+ return success(true);
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationBatchSaveReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationBatchSaveReqVO.java
new file mode 100644
index 0000000..d308cfe
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationBatchSaveReqVO.java
@@ -0,0 +1,35 @@
+package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 计量单位量与单位关联批量保存 Request VO")
+@Data
+public class QuantityUnitRelationBatchSaveReqVO {
+
+ @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11015")
+ @NotNull(message = "计量单位量ID不能为空")
+ private Long untQtyId;
+
+ @Schema(description = "单位关联列表", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "单位关联列表不能为空")
+ private List unitRelations;
+
+ @Schema(description = "单位关联项")
+ @Data
+ public static class UnitRelationItemVO {
+
+ @Schema(description = "主键ID(新增时为空,更新时必填)", example = "11015")
+ private Long id;
+
+ @Schema(description = "计量单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30976")
+ @NotNull(message = "计量单位ID不能为空")
+ private Long untId;
+
+ @Schema(description = "是否基准单位-标识该维度基准单位")
+ private Integer isBse;
+ }
+
+}
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationPageReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationPageReqVO.java
new file mode 100644
index 0000000..69c8aab
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationPageReqVO.java
@@ -0,0 +1,22 @@
+package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 计量单位量与单位关联分页 Request VO")
+@Data
+public class QuantityUnitRelationPageReqVO extends PageParam {
+
+ @Schema(description = "所属量纲")
+ private Long untQtyId;
+
+ @Schema(description = "是否基准单位-标识该维度基准单位")
+ private Integer isBse;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationRespVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationRespVO.java
new file mode 100644
index 0000000..f79d47b
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationRespVO.java
@@ -0,0 +1,34 @@
+package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 计量单位量与单位关联 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class QuantityUnitRelationRespVO {
+ @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11015")
+ @ExcelProperty("ID")
+ private Long id;
+
+ @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11015")
+ @ExcelProperty("计量单位量ID")
+ private Long untQtyId;
+
+ @Schema(description = "计量单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30976")
+ @ExcelProperty("计量单位ID")
+ private Long untId;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(description = "是否基准单位-标识该维度基准单位")
+ @ExcelProperty("是否基准单位-标识该维度基准单位")
+ private Integer isBse;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationSaveReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationSaveReqVO.java
new file mode 100644
index 0000000..8f40f60
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/QuantityUnitRelation/vo/QuantityUnitRelationSaveReqVO.java
@@ -0,0 +1,24 @@
+package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 计量单位量与单位关联新增/修改 Request VO")
+@Data
+public class QuantityUnitRelationSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11015")
+ private Long id;
+
+ @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11015")
+ private Long untQtyId;
+
+ @Schema(description = "计量单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30976")
+ private Long untId;
+
+ @Schema(description = "是否基准单位-标识该维度基准单位")
+ private Integer isBse;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/UnitConversionController.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/UnitConversionController.java
new file mode 100644
index 0000000..c3ddbfe
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/UnitConversionController.java
@@ -0,0 +1,108 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
+import com.zt.plat.module.unitmanagement.service.UnitConversion.UnitConversionService;
+
+@Tag(name = "管理后台 - 单位转换")
+@RestController
+@RequestMapping("/base/unit-management/unit-conversion")
+@Validated
+public class UnitConversionController implements BusinessControllerMarker {
+
+
+ @Resource
+ private UnitConversionService unitConversionService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建单位转换")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:create')")
+ public CommonResult createUnitConversion(@Valid @RequestBody UnitConversionSaveReqVO createReqVO) {
+ return success(unitConversionService.createUnitConversion(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新单位转换")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:update')")
+ public CommonResult updateUnitConversion(@Valid @RequestBody UnitConversionSaveReqVO updateReqVO) {
+ unitConversionService.updateUnitConversion(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除单位转换")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:delete')")
+ public CommonResult deleteUnitConversion(@RequestParam("id") Long id) {
+ unitConversionService.deleteUnitConversion(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除单位转换")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:delete')")
+ public CommonResult deleteUnitConversionList(@RequestBody BatchDeleteReqVO req) {
+ unitConversionService.deleteUnitConversionListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得单位转换")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:query')")
+ public CommonResult getUnitConversion(@RequestParam("id") Long id) {
+ UnitConversionDO unitConversion = unitConversionService.getUnitConversion(id);
+ return success(BeanUtils.toBean(unitConversion, UnitConversionRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得单位转换分页")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:query')")
+ public CommonResult> getUnitConversionPage(@Valid UnitConversionPageReqVO pageReqVO) {
+ PageResult pageResult = unitConversionService.getUnitConversionPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, UnitConversionRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出单位转换 Excel")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-conversion:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportUnitConversionExcel(@Valid UnitConversionPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = unitConversionService.getUnitConversionPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "单位转换.xls", "数据", UnitConversionRespVO.class,
+ BeanUtils.toBean(list, UnitConversionRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionPageReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionPageReqVO.java
new file mode 100644
index 0000000..77fb339
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionPageReqVO.java
@@ -0,0 +1,33 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 单位转换分页 Request VO")
+@Data
+public class UnitConversionPageReqVO extends PageParam {
+
+ @Schema(description = "源单位ID", example = "26239")
+ private Long srcUntId;
+
+ @Schema(description = "目标单位ID", example = "25640")
+ private Long tgtUntId;
+
+ @Schema(description = "转换因子")
+ private BigDecimal fctr;
+
+ @Schema(description = "转换公式")
+ private String fmu;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionRespVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionRespVO.java
new file mode 100644
index 0000000..7c59938
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionRespVO.java
@@ -0,0 +1,40 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 单位转换 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UnitConversionRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "339")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "源单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26239")
+ @ExcelProperty("源单位ID")
+ private Long srcUntId;
+
+ @Schema(description = "目标单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25640")
+ @ExcelProperty("目标单位ID")
+ private Long tgtUntId;
+
+ @Schema(description = "转换因子")
+ @ExcelProperty("转换因子")
+ private BigDecimal fctr;
+
+ @Schema(description = "转换公式", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("转换公式")
+ private String fmu;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionSaveReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionSaveReqVO.java
new file mode 100644
index 0000000..b8da368
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/UnitConversion/vo/UnitConversionSaveReqVO.java
@@ -0,0 +1,30 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+import java.math.BigDecimal;
+
+@Schema(description = "管理后台 - 单位转换新增/修改 Request VO")
+@Data
+public class UnitConversionSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "339")
+ private Long id;
+
+ @Schema(description = "源单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26239")
+ @NotNull(message = "源单位ID不能为空")
+ private Long srcUntId;
+
+ @Schema(description = "目标单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25640")
+ @NotNull(message = "目标单位ID不能为空")
+ private Long tgtUntId;
+
+ @Schema(description = "转换因子")
+ private BigDecimal fctr;
+
+ @Schema(description = "转换公式", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String fmu;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/UnitQuantityController.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/UnitQuantityController.java
new file mode 100644
index 0000000..b9de3d6
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/UnitQuantityController.java
@@ -0,0 +1,108 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
+import com.zt.plat.module.unitmanagement.service.UnitQuantity.UnitQuantityService;
+
+@Tag(name = "管理后台 - 计量单位量")
+@RestController
+@RequestMapping("/base/unit-management/unit-quantity")
+@Validated
+public class UnitQuantityController implements BusinessControllerMarker {
+
+
+ @Resource
+ private UnitQuantityService unitQuantityService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建计量单位量")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:create')")
+ public CommonResult createUnitQuantity(@Valid @RequestBody UnitQuantitySaveReqVO createReqVO) {
+ return success(unitQuantityService.createUnitQuantity(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新计量单位量")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:update')")
+ public CommonResult updateUnitQuantity(@Valid @RequestBody UnitQuantitySaveReqVO updateReqVO) {
+ unitQuantityService.updateUnitQuantity(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除计量单位量")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:delete')")
+ public CommonResult deleteUnitQuantity(@RequestParam("id") Long id) {
+ unitQuantityService.deleteUnitQuantity(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除计量单位量")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:delete')")
+ public CommonResult deleteUnitQuantityList(@RequestBody BatchDeleteReqVO req) {
+ unitQuantityService.deleteUnitQuantityListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得计量单位量")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:query')")
+ public CommonResult getUnitQuantity(@RequestParam("id") Long id) {
+ UnitQuantityDO unitQuantity = unitQuantityService.getUnitQuantity(id);
+ return success(BeanUtils.toBean(unitQuantity, UnitQuantityRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得计量单位量分页")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:query')")
+ public CommonResult> getUnitQuantityPage(@Valid UnitQuantityPageReqVO pageReqVO) {
+ PageResult pageResult = unitQuantityService.getUnitQuantityPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, UnitQuantityRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出计量单位量 Excel")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unit-quantity:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportUnitQuantityExcel(@Valid UnitQuantityPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = unitQuantityService.getUnitQuantityPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "计量单位量.xls", "数据", UnitQuantityRespVO.class,
+ BeanUtils.toBean(list, UnitQuantityRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityPageReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityPageReqVO.java
new file mode 100644
index 0000000..3ddd337
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityPageReqVO.java
@@ -0,0 +1,29 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 计量单位量分页 Request VO")
+@Data
+public class UnitQuantityPageReqVO extends PageParam {
+
+ @Schema(description = "计量名称", example = "王五")
+ private String name;
+
+ @Schema(description = "计量符号")
+ private String symbol;
+
+ @Schema(description = "计量描述")
+ private String dsp;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityRespVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityRespVO.java
new file mode 100644
index 0000000..ad653e3
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantityRespVO.java
@@ -0,0 +1,35 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 计量单位量 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UnitQuantityRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "314")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "计量名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @ExcelProperty("计量名称")
+ private String name;
+
+ @Schema(description = "计量符号", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("计量符号")
+ private String symbol;
+
+ @Schema(description = "计量描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("计量描述")
+ private String dsp;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantitySaveReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantitySaveReqVO.java
new file mode 100644
index 0000000..086ef77
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/unitQuantity/vo/UnitQuantitySaveReqVO.java
@@ -0,0 +1,27 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 计量单位量新增/修改 Request VO")
+@Data
+public class UnitQuantitySaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "314")
+ private Long id;
+
+ @Schema(description = "计量名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @NotEmpty(message = "计量名称不能为空")
+ private String name;
+
+ @Schema(description = "计量符号", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "计量符号不能为空")
+ private String symbol;
+
+ @Schema(description = "计量描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "计量描述不能为空")
+ private String dsp;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/UntInfoController.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/UntInfoController.java
new file mode 100644
index 0000000..6935276
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/UntInfoController.java
@@ -0,0 +1,108 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UntInfo;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
+import com.zt.plat.module.unitmanagement.service.UntInfo.UntInfoService;
+
+@Tag(name = "管理后台 - 计量单位")
+@RestController
+@RequestMapping("/base/unit-management/unt-info")
+@Validated
+public class UntInfoController implements BusinessControllerMarker {
+
+
+ @Resource
+ private UntInfoService untInfoService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建计量单位")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:create')")
+ public CommonResult createUntInfo(@Valid @RequestBody UntInfoSaveReqVO createReqVO) {
+ return success(untInfoService.createUntInfo(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新计量单位")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:update')")
+ public CommonResult updateUntInfo(@Valid @RequestBody UntInfoSaveReqVO updateReqVO) {
+ untInfoService.updateUntInfo(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除计量单位")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:delete')")
+ public CommonResult deleteUntInfo(@RequestParam("id") Long id) {
+ untInfoService.deleteUntInfo(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除计量单位")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:delete')")
+ public CommonResult deleteUntInfoList(@RequestBody BatchDeleteReqVO req) {
+ untInfoService.deleteUntInfoListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得计量单位")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:query')")
+ public CommonResult getUntInfo(@RequestParam("id") Long id) {
+ UntInfoDO untInfo = untInfoService.getUntInfo(id);
+ return success(BeanUtils.toBean(untInfo, UntInfoRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得计量单位分页")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:query')")
+ public CommonResult> getUntInfoPage(@Valid UntInfoPageReqVO pageReqVO) {
+ PageResult pageResult = untInfoService.getUntInfoPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, UntInfoRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出计量单位 Excel")
+ @PreAuthorize("@ss.hasPermission('unitmanagement:unt-info:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportUntInfoExcel(@Valid UntInfoPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = untInfoService.getUntInfoPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "计量单位.xls", "数据", UntInfoRespVO.class,
+ BeanUtils.toBean(list, UntInfoRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoPageReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoPageReqVO.java
new file mode 100644
index 0000000..b2582c3
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoPageReqVO.java
@@ -0,0 +1,26 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 计量单位分页 Request VO")
+@Data
+public class UntInfoPageReqVO extends PageParam {
+
+ @Schema(description = "单位名称", example = "王五")
+ private String name;
+
+ @Schema(description = "单位符号")
+ private String smb;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoRespVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoRespVO.java
new file mode 100644
index 0000000..1ca397a
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoRespVO.java
@@ -0,0 +1,31 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 计量单位 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UntInfoRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18527")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "单位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @ExcelProperty("单位名称")
+ private String name;
+
+ @Schema(description = "单位符号", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("单位符号")
+ private String smb;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoSaveReqVO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoSaveReqVO.java
new file mode 100644
index 0000000..32aabe3
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/controller/admin/untinfo/vo/UntInfoSaveReqVO.java
@@ -0,0 +1,23 @@
+package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 计量单位新增/修改 Request VO")
+@Data
+public class UntInfoSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18527")
+ private Long id;
+
+ @Schema(description = "单位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @NotEmpty(message = "单位名称不能为空")
+ private String name;
+
+ @Schema(description = "单位符号", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "单位符号不能为空")
+ private String smb;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/QuantityUnitRelation/QuantityUnitRelationMapper.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/QuantityUnitRelation/QuantityUnitRelationMapper.java
new file mode 100644
index 0000000..60ca4a0
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/QuantityUnitRelation/QuantityUnitRelationMapper.java
@@ -0,0 +1,38 @@
+package com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation;
+
+import java.util.*;
+
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
+import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
+
+/**
+ * 计量单位量与单位关联 Mapper
+ *
+ * @author 后台管理-1
+ */
+@Mapper
+public interface QuantityUnitRelationMapper extends BaseMapperX {
+
+ default PageResult selectPage(QuantityUnitRelationPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(QuantityUnitRelationDO::getUntQtyId, reqVO.getUntQtyId())
+ .eqIfPresent(QuantityUnitRelationDO::getIsBse, reqVO.getIsBse())
+ .orderByDesc(QuantityUnitRelationDO::getUntQtyId));
+ }
+
+ /**
+ * 根据量纲ID查询所有关联关系
+ *
+ * @param untQtyId 量纲ID
+ * @return 关联关系列表
+ */
+ default List selectListByUntQtyId(Long untQtyId) {
+ return selectList(new LambdaQueryWrapperX()
+ .eq(QuantityUnitRelationDO::getUntQtyId, untQtyId));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/UnitConversion/UnitConversionMapper.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/UnitConversion/UnitConversionMapper.java
new file mode 100644
index 0000000..a667ad7
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/UnitConversion/UnitConversionMapper.java
@@ -0,0 +1,30 @@
+package com.zt.plat.module.unitmanagement.dal.dao.UnitConversion;
+
+import java.util.*;
+
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
+
+/**
+ * 单位转换 Mapper
+ *
+ * @author 后台管理-1
+ */
+@Mapper
+public interface UnitConversionMapper extends BaseMapperX {
+
+ default PageResult selectPage(UnitConversionPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(UnitConversionDO::getSrcUntId, reqVO.getSrcUntId())
+ .eqIfPresent(UnitConversionDO::getTgtUntId, reqVO.getTgtUntId())
+ .eqIfPresent(UnitConversionDO::getFctr, reqVO.getFctr())
+ .eqIfPresent(UnitConversionDO::getFmu, reqVO.getFmu())
+ .betweenIfPresent(UnitConversionDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(UnitConversionDO::getId));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/unitQuantity/UnitQuantityMapper.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/unitQuantity/UnitQuantityMapper.java
new file mode 100644
index 0000000..56292e0
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/unitQuantity/UnitQuantityMapper.java
@@ -0,0 +1,29 @@
+package com.zt.plat.module.unitmanagement.dal.dao.UnitQuantity;
+
+import java.util.*;
+
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
+
+/**
+ * 计量单位量 Mapper
+ *
+ * @author 后台管理-1
+ */
+@Mapper
+public interface UnitQuantityMapper extends BaseMapperX {
+
+ default PageResult selectPage(UnitQuantityPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .likeIfPresent(UnitQuantityDO::getName, reqVO.getName())
+ .eqIfPresent(UnitQuantityDO::getSymbol, reqVO.getSymbol())
+ .eqIfPresent(UnitQuantityDO::getDsp, reqVO.getDsp())
+ .betweenIfPresent(UnitQuantityDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(UnitQuantityDO::getId));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/untinfo/UntInfoMapper.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/untinfo/UntInfoMapper.java
new file mode 100644
index 0000000..16640fb
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dao/untinfo/UntInfoMapper.java
@@ -0,0 +1,28 @@
+package com.zt.plat.module.unitmanagement.dal.dao.UntInfo;
+
+import java.util.*;
+
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
+import org.apache.ibatis.annotations.Mapper;
+import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
+
+/**
+ * 计量单位 Mapper
+ *
+ * @author 后台管理-1
+ */
+@Mapper
+public interface UntInfoMapper extends BaseMapperX {
+
+ default PageResult selectPage(UntInfoPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .likeIfPresent(UntInfoDO::getName, reqVO.getName())
+ .eqIfPresent(UntInfoDO::getSmb, reqVO.getSmb())
+ .betweenIfPresent(UntInfoDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(UntInfoDO::getId));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/QuantityUnitRelation/QuantityUnitRelationDO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/QuantityUnitRelation/QuantityUnitRelationDO.java
new file mode 100644
index 0000000..b8cf877
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/QuantityUnitRelation/QuantityUnitRelationDO.java
@@ -0,0 +1,49 @@
+package com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation;
+
+import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+import java.util.*;
+ import java.time.LocalDateTime;
+ import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+/**
+* 计量单位量与单位关联 DO
+*
+* @author 后台管理-1
+*/
+@TableName("bse_unt_qty_unt")
+@KeySequence("bse_unt_qty_unt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class QuantityUnitRelationDO extends BaseDO {
+
+ /**
+ * 主键ID
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+
+ /**
+ * 计量单位量ID
+ */
+ @TableField("UNT_QTY_ID")
+ private Long untQtyId;
+ /**
+ * 计量单位ID
+ */
+ @TableField("UNT_ID")
+ private Long untId;
+ /**
+ * 是否基准单位-标识该维度基准单位
+ */
+ @TableField("IS_BSE")
+ private Integer isBse;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/UnitConversion/UnitConversionDO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/UnitConversion/UnitConversionDO.java
new file mode 100644
index 0000000..05431d2
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/UnitConversion/UnitConversionDO.java
@@ -0,0 +1,56 @@
+package com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion;
+
+import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+import java.util.*;
+ import java.math.BigDecimal;
+ import java.time.LocalDateTime;
+ import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+/**
+* 单位转换 DO
+*
+* @author 后台管理-1
+*/
+@TableName("bse_unt_cnv")
+@KeySequence("bse_unt_cnv_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class UnitConversionDO extends BaseDO {
+
+
+
+ /**
+ * 主键ID
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+ /**
+ * 源单位ID
+ */
+ @TableField("SRC_UNT_ID")
+ private Long srcUntId;
+ /**
+ * 目标单位ID
+ */
+ @TableField("TGT_UNT_ID")
+ private Long tgtUntId;
+ /**
+ * 转换因子
+ */
+ @TableField("FCTR")
+ private BigDecimal fctr;
+ /**
+ * 转换公式
+ */
+ @TableField("FMU")
+ private String fmu;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/unitQuantity/UnitQuantityDO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/unitQuantity/UnitQuantityDO.java
new file mode 100644
index 0000000..a2cd8e2
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/unitQuantity/UnitQuantityDO.java
@@ -0,0 +1,50 @@
+package com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity;
+
+import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+import java.util.*;
+ import java.time.LocalDateTime;
+ import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+/**
+* 计量单位量 DO
+*
+* @author 后台管理-1
+*/
+@TableName("bse_unt_qty")
+@KeySequence("bse_unt_qty_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class UnitQuantityDO extends BaseDO {
+
+
+
+ /**
+ * 主键ID
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+ /**
+ * 计量名称
+ */
+ @TableField("NAME")
+ private String name;
+ /**
+ * 计量符号
+ */
+ @TableField("SYMBOL")
+ private String symbol;
+ /**
+ * 计量描述
+ */
+ @TableField("DSP")
+ private String dsp;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/untinfo/UntInfoDO.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/untinfo/UntInfoDO.java
new file mode 100644
index 0000000..1474f19
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/dal/dataobject/untinfo/UntInfoDO.java
@@ -0,0 +1,45 @@
+package com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo;
+
+import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+import java.util.*;
+ import java.time.LocalDateTime;
+ import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+/**
+* 计量单位 DO
+*
+* @author 后台管理-1
+*/
+@TableName("bse_unt_inf")
+@KeySequence("bse_unt_inf_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class UntInfoDO extends BaseDO {
+
+
+
+ /**
+ * 主键ID
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+ /**
+ * 单位名称
+ */
+ @TableField("NAME")
+ private String name;
+ /**
+ * 单位符号
+ */
+ @TableField("SMB")
+ private String smb;
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationService.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationService.java
new file mode 100644
index 0000000..cd2e715
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationService.java
@@ -0,0 +1,70 @@
+package com.zt.plat.module.unitmanagement.service.QuantityUnitRelation;
+
+import java.util.*;
+import jakarta.validation.*;
+import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+/**
+ * 计量单位量与单位关联 Service 接口
+ *
+ * @author 后台管理-1
+ */
+public interface QuantityUnitRelationService {
+
+ /**
+ * 创建计量单位量与单位关联
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ QuantityUnitRelationRespVO createQuantityUnitRelation(@Valid QuantityUnitRelationSaveReqVO createReqVO);
+
+ /**
+ * 更新计量单位量与单位关联
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateQuantityUnitRelation(@Valid QuantityUnitRelationSaveReqVO updateReqVO);
+
+ /**
+ * 删除计量单位量与单位关联
+ *
+ * @param id 编号
+ */
+ void deleteQuantityUnitRelation(Long id);
+
+ /**
+ * 批量删除计量单位量与单位关联
+ *
+ * @param ids 编号
+ */
+ void deleteQuantityUnitRelationListByIds(List ids);
+
+ /**
+ * 获得计量单位量与单位关联
+ *
+ * @param id 编号
+ * @return 计量单位量与单位关联
+ */
+ QuantityUnitRelationDO getQuantityUnitRelation(Long id);
+
+ /**
+ * 获得计量单位量与单位关联分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 计量单位量与单位关联分页
+ */
+ PageResult getQuantityUnitRelationPage(QuantityUnitRelationPageReqVO pageReqVO);
+
+ /**
+ * 批量保存计量单位量与单位关联
+ * 根据传入的量纲ID和单位列表,进行新增、更新和逻辑删除操作
+ *
+ * @param batchSaveReqVO 批量保存请求
+ */
+ void batchSaveQuantityUnitRelations(@Valid QuantityUnitRelationBatchSaveReqVO batchSaveReqVO);
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationServiceImpl.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationServiceImpl.java
new file mode 100644
index 0000000..3848e1c
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/QuantityUnitRelation/QuantityUnitRelationServiceImpl.java
@@ -0,0 +1,141 @@
+package com.zt.plat.module.unitmanagement.service.QuantityUnitRelation;
+
+import cn.hutool.core.collection.CollUtil;
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+
+import com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation.QuantityUnitRelationMapper;
+
+import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
+import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
+
+/**
+ * 计量单位量与单位关联 Service 实现类
+ *
+ * @author 后台管理-1
+ */
+@Service
+@Validated
+public class QuantityUnitRelationServiceImpl implements QuantityUnitRelationService {
+
+ @Resource
+ private QuantityUnitRelationMapper quantityUnitRelationMapper;
+
+ @Override
+ public QuantityUnitRelationRespVO createQuantityUnitRelation(QuantityUnitRelationSaveReqVO createReqVO) {
+ // 插入
+ QuantityUnitRelationDO quantityUnitRelation = BeanUtils.toBean(createReqVO, QuantityUnitRelationDO.class);
+ quantityUnitRelationMapper.insert(quantityUnitRelation);
+ // 返回
+ return BeanUtils.toBean(quantityUnitRelation, QuantityUnitRelationRespVO.class);
+ }
+
+ @Override
+ public void updateQuantityUnitRelation(QuantityUnitRelationSaveReqVO updateReqVO) {
+ // 校验存在
+ validateQuantityUnitRelationExists(updateReqVO.getId());
+ // 更新
+ QuantityUnitRelationDO updateObj = BeanUtils.toBean(updateReqVO, QuantityUnitRelationDO.class);
+ quantityUnitRelationMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteQuantityUnitRelation(Long id) {
+ // 校验存在
+ validateQuantityUnitRelationExists(id);
+ // 删除
+ quantityUnitRelationMapper.deleteById(id);
+ }
+
+ @Override
+ public void deleteQuantityUnitRelationListByIds(List ids) {
+ // 校验存在
+ validateQuantityUnitRelationExists(ids);
+ // 删除
+ quantityUnitRelationMapper.deleteByIds(ids);
+ }
+
+ private void validateQuantityUnitRelationExists(List ids) {
+ List list = quantityUnitRelationMapper.selectByIds(ids);
+ if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+ throw exception(QUANTITY_UNIT_RELATION_NOT_EXISTS);
+ }
+ }
+
+ private void validateQuantityUnitRelationExists(Long id) {
+ if (quantityUnitRelationMapper.selectById(id) == null) {
+ throw exception(QUANTITY_UNIT_RELATION_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public QuantityUnitRelationDO getQuantityUnitRelation(Long id) {
+ return quantityUnitRelationMapper.selectById(id);
+ }
+
+ @Override
+ public PageResult getQuantityUnitRelationPage(QuantityUnitRelationPageReqVO pageReqVO) {
+ return quantityUnitRelationMapper.selectPage(pageReqVO);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void batchSaveQuantityUnitRelations(QuantityUnitRelationBatchSaveReqVO batchSaveReqVO) {
+ Long untQtyId = batchSaveReqVO.getUntQtyId();
+ List requestItems = batchSaveReqVO.getUnitRelations();
+
+ // 1. 查询数据库中该量纲下的所有现有关联关系
+ List existingRelations = quantityUnitRelationMapper.selectListByUntQtyId(untQtyId);
+
+ // 2. 提取请求中的ID列表(排除null)
+ List requestIds = requestItems.stream()
+ .map(QuantityUnitRelationBatchSaveReqVO.UnitRelationItemVO::getId)
+ .filter(Objects::nonNull)
+ .toList();
+
+ // 3. 提取现有数据的ID列表
+ List existingIds = convertList(existingRelations, QuantityUnitRelationDO::getId);
+
+ // 4. 找出需要删除的ID(数据库有但请求中没有的)
+ List toDeleteIds = new ArrayList<>();
+ for (Long existingId : existingIds) {
+ if (!requestIds.contains(existingId)) {
+ toDeleteIds.add(existingId);
+ }
+ }
+
+ // 5. 执行逻辑删除
+ if (CollUtil.isNotEmpty(toDeleteIds)) {
+ quantityUnitRelationMapper.deleteByIds(toDeleteIds);
+ }
+
+ // 6. 处理新增和更新
+ for (QuantityUnitRelationBatchSaveReqVO.UnitRelationItemVO item : requestItems) {
+ QuantityUnitRelationDO relation = new QuantityUnitRelationDO();
+ relation.setUntQtyId(untQtyId);
+ relation.setUntId(item.getUntId());
+ relation.setIsBse(item.getIsBse());
+
+ if (item.getId() != null) {
+ // 更新操作
+ relation.setId(item.getId());
+ quantityUnitRelationMapper.updateById(relation);
+ } else {
+ // 新增操作
+ quantityUnitRelationMapper.insert(relation);
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionService.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionService.java
new file mode 100644
index 0000000..c5edb6d
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionService.java
@@ -0,0 +1,62 @@
+package com.zt.plat.module.unitmanagement.service.UnitConversion;
+
+import java.util.*;
+import jakarta.validation.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+/**
+ * 单位转换 Service 接口
+ *
+ * @author 后台管理-1
+ */
+public interface UnitConversionService {
+
+ /**
+ * 创建单位转换
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ UnitConversionRespVO createUnitConversion(@Valid UnitConversionSaveReqVO createReqVO);
+
+ /**
+ * 更新单位转换
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateUnitConversion(@Valid UnitConversionSaveReqVO updateReqVO);
+
+ /**
+ * 删除单位转换
+ *
+ * @param id 编号
+ */
+ void deleteUnitConversion(Long id);
+
+ /**
+ * 批量删除单位转换
+ *
+ * @param ids 编号
+ */
+ void deleteUnitConversionListByIds(List ids);
+
+ /**
+ * 获得单位转换
+ *
+ * @param id 编号
+ * @return 单位转换
+ */
+ UnitConversionDO getUnitConversion(Long id);
+
+ /**
+ * 获得单位转换分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 单位转换分页
+ */
+ PageResult getUnitConversionPage(UnitConversionPageReqVO pageReqVO);
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionServiceImpl.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionServiceImpl.java
new file mode 100644
index 0000000..23adef1
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/UnitConversion/UnitConversionServiceImpl.java
@@ -0,0 +1,92 @@
+package com.zt.plat.module.unitmanagement.service.UnitConversion;
+
+import cn.hutool.core.collection.CollUtil;
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+
+import com.zt.plat.module.unitmanagement.dal.dao.UnitConversion.UnitConversionMapper;
+
+import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
+import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
+
+/**
+ * 单位转换 Service 实现类
+ *
+ * @author 后台管理-1
+ */
+@Service
+@Validated
+public class UnitConversionServiceImpl implements UnitConversionService {
+
+ @Resource
+ private UnitConversionMapper unitConversionMapper;
+
+ @Override
+ public UnitConversionRespVO createUnitConversion(UnitConversionSaveReqVO createReqVO) {
+ // 插入
+ UnitConversionDO unitConversion = BeanUtils.toBean(createReqVO, UnitConversionDO.class);
+ unitConversionMapper.insert(unitConversion);
+ // 返回
+ return BeanUtils.toBean(unitConversion, UnitConversionRespVO.class);
+ }
+
+ @Override
+ public void updateUnitConversion(UnitConversionSaveReqVO updateReqVO) {
+ // 校验存在
+ validateUnitConversionExists(updateReqVO.getId());
+ // 更新
+ UnitConversionDO updateObj = BeanUtils.toBean(updateReqVO, UnitConversionDO.class);
+ unitConversionMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteUnitConversion(Long id) {
+ // 校验存在
+ validateUnitConversionExists(id);
+ // 删除
+ unitConversionMapper.deleteById(id);
+ }
+
+ @Override
+ public void deleteUnitConversionListByIds(List ids) {
+ // 校验存在
+ validateUnitConversionExists(ids);
+ // 删除
+ unitConversionMapper.deleteByIds(ids);
+ }
+
+ private void validateUnitConversionExists(List ids) {
+ List list = unitConversionMapper.selectByIds(ids);
+ if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+ throw exception(UNIT_CONVERSION_NOT_EXISTS);
+ }
+ }
+
+ private void validateUnitConversionExists(Long id) {
+ if (unitConversionMapper.selectById(id) == null) {
+ throw exception(UNIT_CONVERSION_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public UnitConversionDO getUnitConversion(Long id) {
+ return unitConversionMapper.selectById(id);
+ }
+
+ @Override
+ public PageResult getUnitConversionPage(UnitConversionPageReqVO pageReqVO) {
+ return unitConversionMapper.selectPage(pageReqVO);
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityService.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityService.java
new file mode 100644
index 0000000..3000f82
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityService.java
@@ -0,0 +1,62 @@
+package com.zt.plat.module.unitmanagement.service.UnitQuantity;
+
+import java.util.*;
+import jakarta.validation.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+/**
+ * 计量单位量 Service 接口
+ *
+ * @author 后台管理-1
+ */
+public interface UnitQuantityService {
+
+ /**
+ * 创建计量单位量
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ UnitQuantityRespVO createUnitQuantity(@Valid UnitQuantitySaveReqVO createReqVO);
+
+ /**
+ * 更新计量单位量
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateUnitQuantity(@Valid UnitQuantitySaveReqVO updateReqVO);
+
+ /**
+ * 删除计量单位量
+ *
+ * @param id 编号
+ */
+ void deleteUnitQuantity(Long id);
+
+ /**
+ * 批量删除计量单位量
+ *
+ * @param ids 编号
+ */
+ void deleteUnitQuantityListByIds(List ids);
+
+ /**
+ * 获得计量单位量
+ *
+ * @param id 编号
+ * @return 计量单位量
+ */
+ UnitQuantityDO getUnitQuantity(Long id);
+
+ /**
+ * 获得计量单位量分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 计量单位量分页
+ */
+ PageResult getUnitQuantityPage(UnitQuantityPageReqVO pageReqVO);
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityServiceImpl.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityServiceImpl.java
new file mode 100644
index 0000000..ff72621
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/unitQuantity/UnitQuantityServiceImpl.java
@@ -0,0 +1,92 @@
+package com.zt.plat.module.unitmanagement.service.UnitQuantity;
+
+import cn.hutool.core.collection.CollUtil;
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+
+import com.zt.plat.module.unitmanagement.dal.dao.UnitQuantity.UnitQuantityMapper;
+
+import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
+import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
+
+/**
+ * 计量单位量 Service 实现类
+ *
+ * @author 后台管理-1
+ */
+@Service
+@Validated
+public class UnitQuantityServiceImpl implements UnitQuantityService {
+
+ @Resource
+ private UnitQuantityMapper unitQuantityMapper;
+
+ @Override
+ public UnitQuantityRespVO createUnitQuantity(UnitQuantitySaveReqVO createReqVO) {
+ // 插入
+ UnitQuantityDO unitQuantity = BeanUtils.toBean(createReqVO, UnitQuantityDO.class);
+ unitQuantityMapper.insert(unitQuantity);
+ // 返回
+ return BeanUtils.toBean(unitQuantity, UnitQuantityRespVO.class);
+ }
+
+ @Override
+ public void updateUnitQuantity(UnitQuantitySaveReqVO updateReqVO) {
+ // 校验存在
+ validateUnitQuantityExists(updateReqVO.getId());
+ // 更新
+ UnitQuantityDO updateObj = BeanUtils.toBean(updateReqVO, UnitQuantityDO.class);
+ unitQuantityMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteUnitQuantity(Long id) {
+ // 校验存在
+ validateUnitQuantityExists(id);
+ // 删除
+ unitQuantityMapper.deleteById(id);
+ }
+
+ @Override
+ public void deleteUnitQuantityListByIds(List ids) {
+ // 校验存在
+ validateUnitQuantityExists(ids);
+ // 删除
+ unitQuantityMapper.deleteByIds(ids);
+ }
+
+ private void validateUnitQuantityExists(List ids) {
+ List list = unitQuantityMapper.selectByIds(ids);
+ if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+ throw exception(UNIT_QUANTITY_NOT_EXISTS);
+ }
+ }
+
+ private void validateUnitQuantityExists(Long id) {
+ if (unitQuantityMapper.selectById(id) == null) {
+ throw exception(UNIT_QUANTITY_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public UnitQuantityDO getUnitQuantity(Long id) {
+ return unitQuantityMapper.selectById(id);
+ }
+
+ @Override
+ public PageResult getUnitQuantityPage(UnitQuantityPageReqVO pageReqVO) {
+ return unitQuantityMapper.selectPage(pageReqVO);
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoService.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoService.java
new file mode 100644
index 0000000..37a8967
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoService.java
@@ -0,0 +1,62 @@
+package com.zt.plat.module.unitmanagement.service.UntInfo;
+
+import java.util.*;
+import jakarta.validation.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+/**
+ * 计量单位 Service 接口
+ *
+ * @author 后台管理-1
+ */
+public interface UntInfoService {
+
+ /**
+ * 创建计量单位
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ UntInfoRespVO createUntInfo(@Valid UntInfoSaveReqVO createReqVO);
+
+ /**
+ * 更新计量单位
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateUntInfo(@Valid UntInfoSaveReqVO updateReqVO);
+
+ /**
+ * 删除计量单位
+ *
+ * @param id 编号
+ */
+ void deleteUntInfo(Long id);
+
+ /**
+ * 批量删除计量单位
+ *
+ * @param ids 编号
+ */
+ void deleteUntInfoListByIds(List ids);
+
+ /**
+ * 获得计量单位
+ *
+ * @param id 编号
+ * @return 计量单位
+ */
+ UntInfoDO getUntInfo(Long id);
+
+ /**
+ * 获得计量单位分页
+ *
+ * @param pageReqVO 分页查询
+ * @return 计量单位分页
+ */
+ PageResult getUntInfoPage(UntInfoPageReqVO pageReqVO);
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoServiceImpl.java b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoServiceImpl.java
new file mode 100644
index 0000000..ea38763
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/java/com/zt/plat/module/unitmanagement/service/untinfo/UntInfoServiceImpl.java
@@ -0,0 +1,92 @@
+package com.zt.plat.module.unitmanagement.service.UntInfo;
+
+import cn.hutool.core.collection.CollUtil;
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
+import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+
+import com.zt.plat.module.unitmanagement.dal.dao.UntInfo.UntInfoMapper;
+
+import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
+import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
+import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
+
+/**
+ * 计量单位 Service 实现类
+ *
+ * @author 后台管理-1
+ */
+@Service
+@Validated
+public class UntInfoServiceImpl implements UntInfoService {
+
+ @Resource
+ private UntInfoMapper untInfoMapper;
+
+ @Override
+ public UntInfoRespVO createUntInfo(UntInfoSaveReqVO createReqVO) {
+ // 插入
+ UntInfoDO untInfo = BeanUtils.toBean(createReqVO, UntInfoDO.class);
+ untInfoMapper.insert(untInfo);
+ // 返回
+ return BeanUtils.toBean(untInfo, UntInfoRespVO.class);
+ }
+
+ @Override
+ public void updateUntInfo(UntInfoSaveReqVO updateReqVO) {
+ // 校验存在
+ validateUntInfoExists(updateReqVO.getId());
+ // 更新
+ UntInfoDO updateObj = BeanUtils.toBean(updateReqVO, UntInfoDO.class);
+ untInfoMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteUntInfo(Long id) {
+ // 校验存在
+ validateUntInfoExists(id);
+ // 删除
+ untInfoMapper.deleteById(id);
+ }
+
+ @Override
+ public void deleteUntInfoListByIds(List ids) {
+ // 校验存在
+ validateUntInfoExists(ids);
+ // 删除
+ untInfoMapper.deleteByIds(ids);
+ }
+
+ private void validateUntInfoExists(List ids) {
+ List list = untInfoMapper.selectByIds(ids);
+ if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+ throw exception(UNT_INFO_NOT_EXISTS);
+ }
+ }
+
+ private void validateUntInfoExists(Long id) {
+ if (untInfoMapper.selectById(id) == null) {
+ throw exception(UNT_INFO_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public UntInfoDO getUntInfo(Long id) {
+ return untInfoMapper.selectById(id);
+ }
+
+ @Override
+ public PageResult getUntInfoPage(UntInfoPageReqVO pageReqVO) {
+ return untInfoMapper.selectPage(pageReqVO);
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/QuantityUnitRelation/QuantityUnitRelationMapper.xml b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/QuantityUnitRelation/QuantityUnitRelationMapper.xml
new file mode 100644
index 0000000..d058a01
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/QuantityUnitRelation/QuantityUnitRelationMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/UnitConversion/UnitConversionMapper.xml b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/UnitConversion/UnitConversionMapper.xml
new file mode 100644
index 0000000..1cb67ca
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/UnitConversion/UnitConversionMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/unitQuantity/UnitQuantityMapper.xml b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/unitQuantity/UnitQuantityMapper.xml
new file mode 100644
index 0000000..a9130d8
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/unitQuantity/UnitQuantityMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/untinfo/UntInfoMapper.xml b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/untinfo/UntInfoMapper.xml
new file mode 100644
index 0000000..1823cc4
--- /dev/null
+++ b/zt-module-unit-management/zt-module-unit-management-server/src/main/resources/mapper/untinfo/UntInfoMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file