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