From d683fa279217fbc303f1e3670d850a5513fd2253 Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 24 Jul 2024 14:57:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=B8=E9=98=80=E8=B0=83=E8=8A=82=E6=97=B6?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=EF=BC=9B?= =?UTF-8?q?=E9=97=B8=E9=98=80=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E5=8F=8A=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GateValveRealController.java | 18 +++- .../xyt/entity/vo/GateValveOplogVo.java | 64 +++++++++++++ .../xyt/mapper/GateValveRealMapper.java | 41 +++++++++ .../project/xyt/model/GateValveOplog.java | 91 +++++++++++++++++++ .../xyt/service/GateValveRService.java | 2 +- .../xyt/service/GateValveRealService.java | 35 ++++++- 6 files changed, 244 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java create mode 100644 src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java b/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java index 9a52e1d..bb7c4b6 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java @@ -1,7 +1,10 @@ package com.gunshi.project.xyt.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; +import com.gunshi.project.xyt.entity.so.GateHisPageSo; import com.gunshi.project.xyt.entity.vo.GateStautsVo; +import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; import com.gunshi.project.xyt.model.GateValveKey; import com.gunshi.project.xyt.model.GateValveReal; import com.gunshi.project.xyt.service.GateValveRealService; @@ -11,6 +14,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -70,12 +74,16 @@ public class GateValveRealController { return R.ok(service.control(gateValveKey)); } -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); + @Operation(summary = "闸阀操作日志-分页") + @PostMapping("/log/page") + public R> logPage(@RequestBody GateHisPageSo so) { + return R.ok(service.logPage(so)); } - + @Operation(summary = "闸阀操作日志-导出") + @PostMapping("/log/export") + public void logExport(@RequestBody GateHisPageSo so, HttpServletResponse response) { + service.logExport(so,response); + } } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java new file mode 100644 index 0000000..b7707f9 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java @@ -0,0 +1,64 @@ +package com.gunshi.project.xyt.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/7/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class GateValveOplogVo { + + @Schema(description="闸阀ID") + @ExcelIgnore + private String valveCode; + + /** + * 闸阀名称 + */ + @Schema(description="闸阀名称") + @ExcelProperty({"闸阀名称"}) + @ColumnWidth(20) + private String valveName; + + /** + * 操作人 + */ + @Schema(description="操作人") + @ExcelProperty({"操作人"}) + private String opUserName; + + /** + * 操作时间 + */ + @Schema(description="操作时间") + @ExcelProperty({"操作时间"}) + @ColumnWidth(25) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @Schema(description="操作内容") + @ExcelProperty({"操作内容"}) + @ColumnWidth(20) + private String opContent; + + @Schema(description="设定开度") + @ExcelProperty({"设定开度"}) + private String status; + + @Schema(description="操作前开度") + @ExcelProperty({"操作前开度"}) + private String beforeStatus; + +} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java index 50c69ff..1b6e78c 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java @@ -1,7 +1,10 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.xyt.entity.so.GateHisPageSo; import com.gunshi.project.xyt.entity.vo.GateStautsVo; +import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; import com.gunshi.project.xyt.model.GateValveReal; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -35,4 +38,42 @@ public interface GateValveRealMapper extends BaseMapper { """) BigDecimal realQ(@Param("valveCode") String valveCode); + + @Select(""" + + """) + Page logPage(Page page,@Param("obj") GateHisPageSo so); + + @Select(""" + + """) + List logList(@Param("obj") GateHisPageSo so); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java b/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java new file mode 100644 index 0000000..7d4d9b1 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java @@ -0,0 +1,91 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 闸阀操作日志表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀操作日志表") +@Data +@TableName("public.gate_valve_oplog") +public class GateValveOplog implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 闸阀ID + */ + @TableField(value="valve_code") + @Schema(description="闸阀ID") + private String valveCode; + + /** + * 设定开度 + */ + @TableField(value="status") + @Schema(description="设定开度") + private String status; + + /** + * 操作前开度 + */ + @TableField(value="before_status") + @Schema(description="操作前开度") + private String beforeStatus; + + /** + * 操作内容 + */ + @TableField(value="op_content") + @Schema(description="操作内容") + private String opContent; + + /** + * 操作人id + */ + @TableField(value="op_user_id") + @Schema(description="操作人id") + private Long opUserId; + + /** + * 操作人 + */ + @TableField(value="op_user_name") + @Schema(description="操作人") + private String opUserName; + + /** + * 操作时间 + */ + @TableField(value="tm") + @Schema(description="操作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java index be60ac2..f0db697 100644 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java +++ b/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java @@ -31,7 +31,7 @@ public class GateValveRService extends ServiceImpl public void export(GateHisPageSo so, HttpServletResponse response) { List list = baseMapper.hisList(so); - ExcelUtil.exportExcel(list,"闸阀历史记录",GateStautsVo.class,response,"闸阀历史记录"); + ExcelUtil.exportExcel(list,"闸阀开度历史",GateStautsVo.class,response,"闸阀开度历史"); } } diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java index 48a6c72..f0ffdbe 100644 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java +++ b/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java @@ -1,14 +1,22 @@ package com.gunshi.project.xyt.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.entity.so.GateHisPageSo; import com.gunshi.project.xyt.entity.vo.GateStautsVo; +import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; import com.gunshi.project.xyt.mapper.GateValveRMapper; import com.gunshi.project.xyt.mapper.GateValveRealMapper; import com.gunshi.project.xyt.model.GateValveKey; import com.gunshi.project.xyt.model.GateValveKeyAutoDao; +import com.gunshi.project.xyt.model.GateValveOplog; import com.gunshi.project.xyt.model.GateValveReal; import com.gunshi.project.xyt.util.DateUtil; +import com.gunshi.project.xyt.util.ExcelUtil; import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +38,9 @@ public class GateValveRealService extends ServiceImpl().eq("valve_code", valveCode)); + oplog.setBeforeStatus(valveReal == null ? "-" : valveReal.getStatus()); + gateValveOplogAutoDao.save(oplog); //todo 给闸阀下发调节指令 // GateValveR gateValveR = new GateValveR(); // BeanUtils.copyProperties(gateValveKey,gateValveR); @@ -66,7 +90,16 @@ public class GateValveRealService extends ServiceImpl().eq("valve_code",valveCode)); // this.save(real); - return "调节闸阀指令已下发"; + return "调节闸阀成功"; + } + + public Page logPage(GateHisPageSo so) { + return baseMapper.logPage(so.getPageSo().toPage(),so); + } + + public void logExport(GateHisPageSo so, HttpServletResponse response) { + List logList = baseMapper.logList(so); + ExcelUtil.exportExcel(logList,"闸阀操作日志",GateValveOplogVo.class,response,"闸阀操作日志"); } }