From 22f87b2bf7c743b7506b06ded0fd47cc1dd5bd35 Mon Sep 17 00:00:00 2001 From: qinyulong Date: Tue, 30 Dec 2025 11:18:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BB=AA=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E8=A1=A8=E3=80=81=E8=AE=B0=E5=BD=95=E4=BB=AA=E6=9B=B2=E7=BA=BF?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=A1=A8=E9=80=86=E5=90=91=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90+=E5=88=86=E9=A1=B5=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=A3=80=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/RecorderCompareEntity.java | 60 ++++++++ .../pojo/entity/RecorderTypeEntity.java | 42 ++++++ .../pojo/excel/RecorderCompareExcel.java | 88 ++++++++++++ .../device/pojo/excel/RecorderTypeExcel.java | 64 +++++++++ .../device/pojo/vo/RecorderCompareVO.java | 31 ++++ .../desk/device/pojo/vo/RecorderTypeVO.java | 31 ++++ .../controller/RecorderCompareController.java | 136 ++++++++++++++++++ .../controller/RecorderTypeController.java | 135 +++++++++++++++++ .../device/mapper/RecorderCompareMapper.java | 39 +++++ .../device/mapper/RecorderCompareMapper.xml | 37 +++++ .../device/mapper/RecorderTypeMapper.java | 39 +++++ .../desk/device/mapper/RecorderTypeMapper.xml | 33 +++++ .../service/IRecorderCompareService.java | 62 ++++++++ .../device/service/IRecorderTypeService.java | 37 +++++ .../impl/RecorderCompareServiceImpl.java | 54 +++++++ .../service/impl/RecorderTypeServiceImpl.java | 52 +++++++ .../wrapper/RecorderCompareWrapper.java | 35 +++++ .../device/wrapper/RecorderTypeWrapper.java | 35 +++++ 18 files changed, 1010 insertions(+) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderCompareEntity.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderTypeEntity.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderCompareExcel.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderTypeExcel.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderCompareVO.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderTypeVO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderCompareController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderTypeController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderCompareService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderTypeService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderCompareServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderTypeServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderCompareWrapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderTypeWrapper.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderCompareEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderCompareEntity.java new file mode 100644 index 00000000..205b7859 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderCompareEntity.java @@ -0,0 +1,60 @@ +package org.springblade.desk.device.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.math.BigDecimal; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 记录仪曲线设置 实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@TableName("MES_RECORDER_COMPARE") +@Schema(description = "RecorderCompare对象") +@EqualsAndHashCode(callSuper = true) +public class RecorderCompareEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @Schema(description = "设备编号") + private String code; + /** + * 参数名称 + */ + @Schema(description = "参数名称") + private String name; + /** + * 参数显示名称 + */ + @Schema(description = "参数显示名称") + private String showName; + /** + * 是否显示曲线图 + */ + @Schema(description = "是否显示曲线图") + private String showGraph; + /** + * 曲线X间隔 + */ + @Schema(description = "曲线X间隔") + private BigDecimal crcX; + /** + * 曲线Y比例尺 + */ + @Schema(description = "曲线Y比例尺") + private BigDecimal crcY; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderTypeEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderTypeEntity.java new file mode 100644 index 00000000..58ff8075 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/RecorderTypeEntity.java @@ -0,0 +1,42 @@ +package org.springblade.desk.device.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.math.BigDecimal; +import java.util.Date; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * 记录仪分类 实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@TableName("MES_RECORDER_TYPE") +@Schema(description = "RecorderType对象") +@EqualsAndHashCode(callSuper = true) +public class RecorderTypeEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 编码 + */ + @Schema(description = "编码") + private String crtCode; + /** + * 备注 + */ + @Schema(description = "备注") + private String memo; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderCompareExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderCompareExcel.java new file mode 100644 index 00000000..0de7e035 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderCompareExcel.java @@ -0,0 +1,88 @@ +package org.springblade.desk.device.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 记录仪曲线设置 Excel实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class RecorderCompareExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流水号 + */ + @ColumnWidth(20) + @ExcelProperty("流水号") + private BigDecimal id; + /** + * + */ + @ColumnWidth(20) + @ExcelProperty("") + private String tenantId; + /** + * 删除标记;1:删除,0:正常 + */ + @ColumnWidth(20) + @ExcelProperty("删除标记;1:删除,0:正常") + private Long isDeleted; + /** + * 设备编号 + */ + @ColumnWidth(20) + @ExcelProperty("设备编号") + private String code; + /** + * 参数名称 + */ + @ColumnWidth(20) + @ExcelProperty("参数名称") + private String name; + /** + * 参数显示名称 + */ + @ColumnWidth(20) + @ExcelProperty("参数显示名称") + private String showName; + /** + * 是否显示曲线图 + */ + @ColumnWidth(20) + @ExcelProperty("是否显示曲线图") + private String showGraph; + /** + * 曲线X间隔 + */ + @ColumnWidth(20) + @ExcelProperty("曲线X间隔") + private BigDecimal crcX; + /** + * 曲线Y比例尺 + */ + @ColumnWidth(20) + @ExcelProperty("曲线Y比例尺") + private BigDecimal crcY; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderTypeExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderTypeExcel.java new file mode 100644 index 00000000..5d068166 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/RecorderTypeExcel.java @@ -0,0 +1,64 @@ +package org.springblade.desk.device.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 记录仪分类 Excel实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class RecorderTypeExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流水号 + */ + @ColumnWidth(20) + @ExcelProperty("流水号") + private BigDecimal id; + /** + * + */ + @ColumnWidth(20) + @ExcelProperty("") + private String tenantId; + /** + * 删除标记;1:删除,0:正常 + */ + @ColumnWidth(20) + @ExcelProperty("删除标记;1:删除,0:正常") + private Long isDeleted; + /** + * 编码 + */ + @ColumnWidth(20) + @ExcelProperty("编码") + private String crtCode; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String memo; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderCompareVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderCompareVO.java new file mode 100644 index 00000000..1a36d0e8 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderCompareVO.java @@ -0,0 +1,31 @@ +package org.springblade.desk.device.pojo.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 记录仪曲线设置 视图实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class RecorderCompareVO extends RecorderCompareEntity { + @Serial + private static final long serialVersionUID = 1L; + /** + * 主键ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + /** + * 状态名称 + */ + String statusName; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderTypeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderTypeVO.java new file mode 100644 index 00000000..b4ec794a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/RecorderTypeVO.java @@ -0,0 +1,31 @@ +package org.springblade.desk.device.pojo.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 记录仪分类 视图实体类 + * + * @author qyl + * @since 2025-12-29 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class RecorderTypeVO extends RecorderTypeEntity { + @Serial + private static final long serialVersionUID = 1L; + /** + * 主键ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + /** + * 状态名称 + */ + String statusName; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderCompareController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderCompareController.java new file mode 100644 index 00000000..f78fe493 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderCompareController.java @@ -0,0 +1,136 @@ +package org.springblade.desk.device.controller; + +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.device.pojo.excel.RecorderCompareExcel; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import org.springblade.desk.device.pojo.vo.RecorderCompareVO; +import org.springblade.desk.device.wrapper.RecorderCompareWrapper; +import org.springblade.desk.device.service.IRecorderCompareService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 记录仪曲线设置 控制器 + * + * @author qyl + * @since 2025-12-29 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/recorderCompare") +@Tag(name = "记录仪曲线设置", description = "记录仪曲线设置接口") +public class RecorderCompareController extends BladeController { + + private final IRecorderCompareService recorderCompareService; + + /** + * 记录仪曲线设置 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入recorderCompare") + public R detail(RecorderCompareEntity recorderCompare) { + RecorderCompareEntity detail = recorderCompareService.getOne(Condition.getQueryWrapper(recorderCompare)); + return R.data(RecorderCompareWrapper.build().entityVO(detail)); + } + + /** + * 记录仪曲线设置 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "") + @Parameters({ + @Parameter(name = "code", description = "设备编码", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "name", description = "参数名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "showName", description = "参数显示名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + }) + public R> page(RecorderCompareEntity recorderCompare, Query query) { + IPage pages = recorderCompareService.selectRecorderComparePage(Condition.getPage(query), recorderCompare); + return R.data(RecorderCompareWrapper.build().pageVO(pages)); + } + + /** + * 记录仪曲线设置 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入recorderCompare") + public R save(@Valid @RequestBody RecorderCompareEntity recorderCompare) { + return R.status(recorderCompareService.save(recorderCompare)); + } + + /** + * 记录仪曲线设置 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入recorderCompare") + public R update(@Valid @RequestBody RecorderCompareEntity recorderCompare) { + return R.status(recorderCompareService.updateById(recorderCompare)); + } + + /** + * 记录仪曲线设置 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入recorderCompare") + public R submit(@Valid @RequestBody RecorderCompareEntity recorderCompare) { + return R.status(recorderCompareService.saveOrUpdate(recorderCompare)); + } + + /** + * 记录仪曲线设置 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(recorderCompareService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-recorderCompare") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入recorderCompare") + public void exportRecorderCompare(@Parameter(hidden = true) @RequestParam Map recorderCompare, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(recorderCompare, RecorderCompareEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(RecorderCompare::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(RecorderCompareEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = recorderCompareService.exportRecorderCompare(queryWrapper); + ExcelUtil.export(response, "记录仪曲线设置数据" + DateUtil.time(), "记录仪曲线设置数据表", list, RecorderCompareExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderTypeController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderTypeController.java new file mode 100644 index 00000000..c7acba48 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RecorderTypeController.java @@ -0,0 +1,135 @@ +package org.springblade.desk.device.controller; + +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.device.pojo.excel.RecorderTypeExcel; +import org.springblade.desk.device.wrapper.RecorderCompareWrapper; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import org.springblade.desk.device.pojo.vo.RecorderTypeVO; +import org.springblade.desk.device.wrapper.RecorderTypeWrapper; +import org.springblade.desk.device.service.IRecorderTypeService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 记录仪分类 控制器 + * + * @author qyl + * @since 2025-12-29 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/recorderType") +@Tag(name = "记录仪分类", description = "记录仪分类接口") +public class RecorderTypeController extends BladeController { + + private final IRecorderTypeService recorderTypeService; + + /** + * 记录仪分类 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入recorderType") + public R detail(RecorderTypeEntity recorderType) { + RecorderTypeEntity detail = recorderTypeService.getOne(Condition.getQueryWrapper(recorderType)); + return R.data(RecorderTypeWrapper.build().entityVO(detail)); + } + + /** + * 记录仪分类 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "") + @Parameters({ + @Parameter(name = "crtCode", description = "记录仪编码", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + }) + public R> page(RecorderTypeEntity recorderType, Query query) { + IPage pages = recorderTypeService.selectRecorderTypePage(Condition.getPage(query), recorderType); + return R.data(RecorderTypeWrapper.build().pageVO(pages)); + } + + /** + * 记录仪分类 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入recorderType") + public R save(@Valid @RequestBody RecorderTypeEntity recorderType) { + return R.status(recorderTypeService.save(recorderType)); + } + + /** + * 记录仪分类 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入recorderType") + public R update(@Valid @RequestBody RecorderTypeEntity recorderType) { + return R.status(recorderTypeService.updateById(recorderType)); + } + + /** + * 记录仪分类 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入recorderType") + public R submit(@Valid @RequestBody RecorderTypeEntity recorderType) { + return R.status(recorderTypeService.saveOrUpdate(recorderType)); + } + + /** + * 记录仪分类 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(recorderTypeService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-recorderType") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入recorderType") + public void exportRecorderType(@Parameter(hidden = true) @RequestParam Map recorderType, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(recorderType, RecorderTypeEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(RecorderType::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(RecorderTypeEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = recorderTypeService.exportRecorderType(queryWrapper); + ExcelUtil.export(response, "记录仪分类数据" + DateUtil.time(), "记录仪分类数据表", list, RecorderTypeExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.java new file mode 100644 index 00000000..98f90deb --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.java @@ -0,0 +1,39 @@ +package org.springblade.desk.device.mapper; + +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import org.springblade.desk.device.pojo.excel.RecorderCompareExcel; +import org.springblade.desk.device.pojo.vo.RecorderCompareVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 记录仪曲线设置 Mapper 接口 + * + * @author qyl + * @since 2025-12-29 + */ +public interface RecorderCompareMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param recorderCompare 查询参数 + * @return List + */ + List selectRecorderComparePage(IPage page, RecorderCompareVO recorderCompare); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportRecorderCompare(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.xml new file mode 100644 index 00000000..7496b044 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderCompareMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.java new file mode 100644 index 00000000..fb41d720 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.java @@ -0,0 +1,39 @@ +package org.springblade.desk.device.mapper; + +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import org.springblade.desk.device.pojo.excel.RecorderTypeExcel; +import org.springblade.desk.device.pojo.vo.RecorderTypeVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 记录仪分类 Mapper 接口 + * + * @author qyl + * @since 2025-12-29 + */ +public interface RecorderTypeMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param recorderType 查询参数 + * @return List + */ + List selectRecorderTypePage(IPage page, RecorderTypeVO recorderType); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportRecorderType(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.xml new file mode 100644 index 00000000..55bbc462 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/RecorderTypeMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderCompareService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderCompareService.java new file mode 100644 index 00000000..31189d82 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderCompareService.java @@ -0,0 +1,62 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.device.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import org.springblade.desk.device.pojo.excel.RecorderCompareExcel; +import org.springblade.desk.device.pojo.vo.RecorderCompareVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 记录仪曲线设置 服务类 + * + * @author qyl + * @since 2025-12-29 + */ +public interface IRecorderCompareService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param recorderCompare 查询参数 + * @return IPage + */ + IPage selectRecorderComparePage(IPage page, RecorderCompareEntity recorderCompare); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportRecorderCompare(Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderTypeService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderTypeService.java new file mode 100644 index 00000000..0eef2af8 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRecorderTypeService.java @@ -0,0 +1,37 @@ +package org.springblade.desk.device.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import org.springblade.desk.device.pojo.excel.RecorderTypeExcel; +import org.springblade.desk.device.pojo.vo.RecorderTypeVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 记录仪分类 服务类 + * + * @author qyl + * @since 2025-12-29 + */ +public interface IRecorderTypeService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param recorderType 查询参数 + * @return IPage + */ + IPage selectRecorderTypePage(IPage page, RecorderTypeEntity recorderType); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportRecorderType(Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderCompareServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderCompareServiceImpl.java new file mode 100644 index 00000000..c79d2c98 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderCompareServiceImpl.java @@ -0,0 +1,54 @@ +package org.springblade.desk.device.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.desk.device.pojo.entity.RackSetEntity; +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import org.springblade.desk.device.pojo.excel.RecorderCompareExcel; +import org.springblade.desk.device.pojo.vo.RecorderCompareVO; +import org.springblade.desk.device.mapper.RecorderCompareMapper; +import org.springblade.desk.device.service.IRecorderCompareService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; + +import java.util.List; +import java.util.Objects; + +/** + * 记录仪曲线设置 服务实现类 + * + * @author qyl + * @since 2025-12-29 + */ +@Service +public class RecorderCompareServiceImpl extends BaseServiceImpl implements IRecorderCompareService { + + @Override + public IPage selectRecorderComparePage(IPage page, RecorderCompareEntity recorderCompare) { +// return page.setRecords(baseMapper.selectRecorderComparePage(page, recorderCompare)); + // 1. 创建条件构造器 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + + // 2. 动态添加条件(核心!) + // 根据实体对象 entity 中字段是否为空,来动态拼接WHERE条件 + wrapper.like(Objects.nonNull(recorderCompare.getCode()), RecorderCompareEntity::getCode, recorderCompare.getCode()) + .like(Objects.nonNull(recorderCompare.getName()), RecorderCompareEntity::getName, recorderCompare.getName()) + .like(Objects.nonNull(recorderCompare.getShowName()), RecorderCompareEntity::getShowName, recorderCompare.getShowName()); + + // 3. 执行分页查询 + return baseMapper.selectPage(page, wrapper); + } + + + @Override + public List exportRecorderCompare(Wrapper queryWrapper) { + List recorderCompareList = baseMapper.exportRecorderCompare(queryWrapper); + //recorderCompareList.forEach(recorderCompare -> { + // recorderCompare.setTypeName(DictCache.getValue(DictEnum.YES_NO, RecorderCompare.getType())); + //}); + return recorderCompareList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderTypeServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderTypeServiceImpl.java new file mode 100644 index 00000000..bd606ce0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RecorderTypeServiceImpl.java @@ -0,0 +1,52 @@ +package org.springblade.desk.device.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.desk.device.pojo.entity.RackSetEntity; +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import org.springblade.desk.device.pojo.excel.RecorderTypeExcel; +import org.springblade.desk.device.pojo.vo.RecorderTypeVO; +import org.springblade.desk.device.mapper.RecorderTypeMapper; +import org.springblade.desk.device.service.IRecorderTypeService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; + +import java.util.List; +import java.util.Objects; + +/** + * 记录仪分类 服务实现类 + * + * @author qyl + * @since 2025-12-29 + */ +@Service +public class RecorderTypeServiceImpl extends BaseServiceImpl implements IRecorderTypeService { + + @Override + public IPage selectRecorderTypePage(IPage page, RecorderTypeEntity recorderType) { +// return page.setRecords(baseMapper.selectRecorderTypePage(page, recorderType)); + // 1. 创建条件构造器 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + + // 2. 动态添加条件(核心!) + // 根据实体对象 entity 中字段是否为空,来动态拼接WHERE条件 + wrapper.like(Objects.nonNull(recorderType.getCrtCode()), RecorderTypeEntity::getCrtCode, recorderType.getCrtCode()); + + // 3. 执行分页查询 + return baseMapper.selectPage(page, wrapper); + } + + + @Override + public List exportRecorderType(Wrapper queryWrapper) { + List recorderTypeList = baseMapper.exportRecorderType(queryWrapper); + //recorderTypeList.forEach(recorderType -> { + // recorderType.setTypeName(DictCache.getValue(DictEnum.YES_NO, RecorderType.getType())); + //}); + return recorderTypeList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderCompareWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderCompareWrapper.java new file mode 100644 index 00000000..122614a2 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderCompareWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.device.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.device.pojo.entity.RecorderCompareEntity; +import org.springblade.desk.device.pojo.vo.RecorderCompareVO; + +import java.util.Objects; + +/** + * 记录仪曲线设置 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2025-12-29 + */ +public class RecorderCompareWrapper extends BaseEntityWrapper { + + public static RecorderCompareWrapper build() { + return new RecorderCompareWrapper(); + } + + @Override + public RecorderCompareVO entityVO(RecorderCompareEntity recorderCompare) { + RecorderCompareVO recorderCompareVO = Objects.requireNonNull(BeanUtil.copyProperties(recorderCompare, RecorderCompareVO.class)); + + //User createUser = UserCache.getUser(recorderCompare.getCreateUser()); + //User updateUser = UserCache.getUser(recorderCompare.getUpdateUser()); + //recorderCompareVO.setCreateUserName(createUser.getName()); + //recorderCompareVO.setUpdateUserName(updateUser.getName()); + + return recorderCompareVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderTypeWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderTypeWrapper.java new file mode 100644 index 00000000..98f361d4 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/RecorderTypeWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.device.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.device.pojo.entity.RecorderTypeEntity; +import org.springblade.desk.device.pojo.vo.RecorderTypeVO; + +import java.util.Objects; + +/** + * 记录仪分类 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2025-12-29 + */ +public class RecorderTypeWrapper extends BaseEntityWrapper { + + public static RecorderTypeWrapper build() { + return new RecorderTypeWrapper(); + } + + @Override + public RecorderTypeVO entityVO(RecorderTypeEntity recorderType) { + RecorderTypeVO recorderTypeVO = Objects.requireNonNull(BeanUtil.copyProperties(recorderType, RecorderTypeVO.class)); + + //User createUser = UserCache.getUser(recorderType.getCreateUser()); + //User updateUser = UserCache.getUser(recorderType.getUpdateUser()); + //recorderTypeVO.setCreateUserName(createUser.getName()); + //recorderTypeVO.setUpdateUserName(updateUser.getName()); + + return recorderTypeVO; + } + + +}