Merge branch 'master' into develop-QA

develop-QA
Tom Li 3 months ago
commit 7d231f19a5
  1. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/EquipmentEntity.java
  2. 87
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeteringRemindSetEntity.java
  3. 81
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/PackCycleEntity.java
  4. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/EquipmentExcel.java
  5. 70
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeteringRemindSetExcel.java
  6. 63
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/PackCycleExcel.java
  7. 32
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentStatusStatisticsVO.java
  8. 27
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/MeteringRemindSetVO.java
  9. 32
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/PackCycleVO.java
  10. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java
  11. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/FeiBaSetController.java
  12. 129
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeteringRemindSetController.java
  13. 129
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/PackCycleController.java
  14. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/RackSetController.java
  15. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java
  16. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml
  17. 39
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeteringRemindSetMapper.java
  18. 34
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeteringRemindSetMapper.xml
  19. 39
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/PackCycleMapper.java
  20. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/PackCycleMapper.xml
  21. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IEquipmentService.java
  22. 34
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IFeiBaSetService.java
  23. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeteringRemindSetService.java
  24. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IPackCycleService.java
  25. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRackSetService.java
  26. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java
  27. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/FeiBaSetServiceImpl.java
  28. 39
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeteringRemindSetServiceImpl.java
  29. 39
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/PackCycleServiceImpl.java
  30. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RackSetServiceImpl.java
  31. 35
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/MeteringRemindSetWrapper.java
  32. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/wrapper/PackCycleWrapper.java
  33. 193
      doc/sql/mes/increase-251231.sql

@ -114,5 +114,10 @@ public class EquipmentEntity extends BaseEntity {
*/
@Schema(description = "设备分类")
private String categorys;
/**
* 设备分类
*/
@Schema(description = "附件链接")
private String attachLink;
}

@ -0,0 +1,87 @@
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;
import java.util.HashMap;
import java.util.Map;
/**
* 计量提醒设置 实体类
*
* @author qyl
* @since 2026-01-04
*/
@Data
@TableName("MES_METERING_REMIND_SET")
@Schema(description = "MeteringRemindSet对象")
@EqualsAndHashCode(callSuper = true)
public class MeteringRemindSetEntity extends BaseEntity {
/**
* 黄色
*/
public static Long COLOR_YELLOW = 1L;
/**
* 浅红色
*/
public static Long COLOR_LIGHT_RED = 2L;
public static Map<Long, String> colorMap = new HashMap<Long, String>();
static {
colorMap.put(COLOR_YELLOW, "黄色");
colorMap.put(COLOR_LIGHT_RED, "浅红色");
}
/**
* 仪表量具
*/
public static Long CATEGORY_METER = 1L;
/**
* 设备
*/
public static Long CATEGORY_EQU = 2L;
public static Map<Long, String> categoryMap = new HashMap<Long, String>();
static {
categoryMap.put(CATEGORY_METER, "仪表量具");
categoryMap.put(CATEGORY_EQU, "设备");
}
@Serial
private static final long serialVersionUID = 1L;
/**
* 类别1仪表量具2设备
*/
@Schema(description = "类别1仪表量具、2设备")
private Long category;
/**
* 天数
*/
@Schema(description = "天数")
private BigDecimal days;
/**
* 颜色1黄色2浅红色
*/
@Schema(description = "颜色1、黄色;2、浅红色")
private Long color;
public String getCategoryText() {
return categoryMap.get(this.category);
}
public String getColorText() {
return colorMap.get(this.color);
}
}

@ -0,0 +1,81 @@
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;
import java.util.HashMap;
import java.util.Map;
/**
* 打包周期 实体类
*
* @author qyl
* @since 2026-01-04
*/
@Data
@TableName("MES_PACK_CYCLE")
@Schema(description = "PackCycle对象")
@EqualsAndHashCode(callSuper = true)
public class PackCycleEntity extends BaseEntity {
public static Map<Long, String> cpcUnitMap = new HashMap<>(6);
/**
*
*/
public static Long CPCUNIT_YEAR = 0L;
/**
*
*/
public static Long CPCUNIT_MONTH = 1L;
/**
*
*/
public static Long CPCUNIT_DAY = 2L;
/**
*
*/
public static Long CPCUNIT_HOUR = 3L;
/**
*
*/
public static Long CPCUNIT_MINUTE = 4L;
/**
*
*/
public static Long CPCUNIT_SECOND = 5L;
static {
cpcUnitMap.put(CPCUNIT_YEAR, "年");
cpcUnitMap.put(CPCUNIT_MONTH, "月");
cpcUnitMap.put(CPCUNIT_DAY, "日");
cpcUnitMap.put(CPCUNIT_HOUR, "时");
cpcUnitMap.put(CPCUNIT_MINUTE, "分");
cpcUnitMap.put(CPCUNIT_SECOND, "秒");
}
@Serial
private static final long serialVersionUID = 1L;
/**
* 周期数
*/
@Schema(description = "周期数")
private BigDecimal cpcQuantity;
/**
* 周期单位
*/
@Schema(description = "周期单位")
private Long cpcUnit;
public String getCpcUnitTitle() {
return cpcUnitMap.get(this.cpcUnit);
}
}

@ -142,5 +142,11 @@ public class EquipmentExcel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Long isDeleted;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("附件链接")
private String attachLink;
}

@ -0,0 +1,70 @@
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 2026-01-04
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class MeteringRemindSetExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ColumnWidth(20)
@ExcelProperty("主键")
private BigDecimal id;
/**
*
*/
@ColumnWidth(20)
@ExcelProperty("")
private String tenantId;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Long isDeleted;
/**
* 类别1仪表量具2设备
*/
@ColumnWidth(20)
@ExcelProperty("类别1仪表量具、2设备")
private Long category;
/**
* 天数
*/
@ColumnWidth(20)
@ExcelProperty("天数")
private BigDecimal days;
/**
* 颜色1黄色2浅红色
*/
@ColumnWidth(20)
@ExcelProperty("颜色1、黄色;2、浅红色")
private Long color;
}

@ -0,0 +1,63 @@
package org.springblade.desk.device.pojo.excel;
import lombok.Data;
import java.math.BigDecimal;
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 2026-01-04
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class PackCycleExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ColumnWidth(20)
@ExcelProperty("")
private BigDecimal id;
/**
*
*/
@ColumnWidth(20)
@ExcelProperty("")
private String tenantId;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Long isDeleted;
/**
* 周期数
*/
@ColumnWidth(20)
@ExcelProperty("周期数")
private BigDecimal cpcQuantity;
/**
* 周期单位
*/
@ColumnWidth(20)
@ExcelProperty("周期单位")
private Long cpcUnit;
}

@ -0,0 +1,32 @@
package org.springblade.desk.device.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
/**
* 设备状态统计 视图实体类
*
* @author qyl
* @since 2025-12-30
*/
@Data
@Schema(description = "设备状态统计结果")
public class EquipmentStatusStatisticsVO {
// 设备总数
@Schema(description = "设备总数")
private Integer totalCount;
// 运行中的设备数量
@Schema(description = "运行中的设备数量")
private Integer runningCount;
// 停机设备数量
@Schema(description = "停机设备数量")
private Integer stoppedCount;
// 故障设备数量
@Schema(description = "故障设备数量")
private Integer faultCount;
}

@ -0,0 +1,27 @@
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.MeteringRemindSetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 计量提醒设置 视图实体类
*
* @author qyl
* @since 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MeteringRemindSetVO extends MeteringRemindSetEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
}

@ -0,0 +1,32 @@
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.PackCycleEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 打包周期 视图实体类
*
* @author qyl
* @since 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class PackCycleVO extends PackCycleEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 时间单位名称
*/
String unitName;
}

@ -42,6 +42,7 @@ 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.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.order.wrapper.AssayContentWrapper;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -139,6 +140,16 @@ public class EquipmentController extends BladeController {
return R.status(equipmentService.deleteLogic(Func.toLongList(ids)));
}
/**
* 设备状态数量统计
*/
@GetMapping("/stateStatistics")
@ApiOperationSupport(order = 8)
@Operation(summary = "设备状态数量统计", description = "")
public R<EquipmentStatusStatisticsVO> stateStatistics() {
EquipmentStatusStatisticsVO equipmentStatusStatisticsVO = equipmentService.stateStatistics();
return R.data(equipmentStatusStatisticsVO);
}
/**
* 导出数据

@ -1,28 +1,3 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.device.controller;
import io.swagger.v3.oas.annotations.Parameters;
@ -141,6 +116,19 @@ public class FeiBaSetController extends BladeController {
return R.status(feiBaSetService.deleteLogic(Func.toLongList(ids)));
}
/**
* 飞靶设置 绑定设备
*/
@PostMapping("/bind")
@ApiOperationSupport(order = 8)
@Operation(summary = "绑定设备", description = "传入飞靶ids和设备id")
public R bind(
@Parameter(description = "主键集合", required = true) @RequestParam String ids,
@Parameter(description = "设备id", required = true) @RequestParam Integer deviceId) {
Boolean result = feiBaSetService.bind(Func.toLongList(ids), deviceId);
return R.status(result);
}
/**
* 导出数据

@ -0,0 +1,129 @@
package org.springblade.desk.device.controller;
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.MeteringRemindSetExcel;
import org.springblade.desk.device.wrapper.PackCycleWrapper;
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.MeteringRemindSetEntity;
import org.springblade.desk.device.pojo.vo.MeteringRemindSetVO;
import org.springblade.desk.device.wrapper.MeteringRemindSetWrapper;
import org.springblade.desk.device.service.IMeteringRemindSetService;
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 2026-01-04
*/
@RestController
@AllArgsConstructor
@RequestMapping("/meteringRemindSet")
@Tag(name = "计量提醒设置", description = "计量提醒设置接口")
public class MeteringRemindSetController extends BladeController {
private final IMeteringRemindSetService meteringRemindSetService;
/**
* 计量提醒设置 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入meteringRemindSet")
public R<MeteringRemindSetVO> detail(MeteringRemindSetEntity meteringRemindSet) {
MeteringRemindSetEntity detail = meteringRemindSetService.getOne(Condition.getQueryWrapper(meteringRemindSet));
return R.data(MeteringRemindSetWrapper.build().entityVO(detail));
}
/**
* 计量提醒设置 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入meteringRemindSet")
public R<IPage<MeteringRemindSetVO>> page(MeteringRemindSetVO meteringRemindSet, Query query) {
IPage<MeteringRemindSetEntity> pages = meteringRemindSetService.selectMeteringRemindSetPage(Condition.getPage(query), meteringRemindSet);
return R.data(MeteringRemindSetWrapper.build().pageVO(pages));
}
/**
* 计量提醒设置 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@Operation(summary = "新增", description = "传入meteringRemindSet")
public R save(@Valid @RequestBody MeteringRemindSetEntity meteringRemindSet) {
return R.status(meteringRemindSetService.save(meteringRemindSet));
}
/**
* 计量提醒设置 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@Operation(summary = "修改", description = "传入meteringRemindSet")
public R update(@Valid @RequestBody MeteringRemindSetEntity meteringRemindSet) {
return R.status(meteringRemindSetService.updateById(meteringRemindSet));
}
/**
* 计量提醒设置 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入meteringRemindSet")
public R submit(@Valid @RequestBody MeteringRemindSetEntity meteringRemindSet) {
return R.status(meteringRemindSetService.saveOrUpdate(meteringRemindSet));
}
/**
* 计量提醒设置 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(meteringRemindSetService.deleteLogic(Func.toLongList(ids)));
}
/**
* 导出数据
*/
@IsAdmin
@GetMapping("/export-meteringRemindSet")
@ApiOperationSupport(order = 9)
@Operation(summary = "导出数据", description = "传入meteringRemindSet")
public void exportMeteringRemindSet(@Parameter(hidden = true) @RequestParam Map<String, Object> meteringRemindSet, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<MeteringRemindSetEntity> queryWrapper = Condition.getQueryWrapper(meteringRemindSet, MeteringRemindSetEntity.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(MeteringRemindSet::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(MeteringRemindSetEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<MeteringRemindSetExcel> list = meteringRemindSetService.exportMeteringRemindSet(queryWrapper);
ExcelUtil.export(response, "计量提醒设置数据" + DateUtil.time(), "计量提醒设置数据表", list, MeteringRemindSetExcel.class);
}
}

@ -0,0 +1,129 @@
package org.springblade.desk.device.controller;
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.PackCycleExcel;
import org.springblade.desk.device.wrapper.RackSetWrapper;
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.PackCycleEntity;
import org.springblade.desk.device.pojo.vo.PackCycleVO;
import org.springblade.desk.device.wrapper.PackCycleWrapper;
import org.springblade.desk.device.service.IPackCycleService;
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 2026-01-04
*/
@RestController
@AllArgsConstructor
@RequestMapping("/packCycle")
@Tag(name = "打包周期", description = "打包周期接口")
public class PackCycleController extends BladeController {
private final IPackCycleService packCycleService;
/**
* 打包周期 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入packCycle")
public R<PackCycleVO> detail(PackCycleEntity packCycle) {
PackCycleEntity detail = packCycleService.getOne(Condition.getQueryWrapper(packCycle));
return R.data(PackCycleWrapper.build().entityVO(detail));
}
/**
* 打包周期 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入packCycle")
public R<IPage<PackCycleVO>> page(PackCycleVO packCycle, Query query) {
IPage<PackCycleEntity> pages = packCycleService.selectPackCyclePage(Condition.getPage(query), packCycle);
return R.data(PackCycleWrapper.build().pageVO(pages));
}
/**
* 打包周期 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@Operation(summary = "新增", description = "传入packCycle")
public R save(@Valid @RequestBody PackCycleEntity packCycle) {
return R.status(packCycleService.save(packCycle));
}
/**
* 打包周期 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@Operation(summary = "修改", description = "传入packCycle")
public R update(@Valid @RequestBody PackCycleEntity packCycle) {
return R.status(packCycleService.updateById(packCycle));
}
/**
* 打包周期 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入packCycle")
public R submit(@Valid @RequestBody PackCycleEntity packCycle) {
return R.status(packCycleService.saveOrUpdate(packCycle));
}
/**
* 打包周期 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(packCycleService.deleteLogic(Func.toLongList(ids)));
}
/**
* 导出数据
*/
@IsAdmin
@GetMapping("/export-packCycle")
@ApiOperationSupport(order = 9)
@Operation(summary = "导出数据", description = "传入packCycle")
public void exportPackCycle(@Parameter(hidden = true) @RequestParam Map<String, Object> packCycle, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<PackCycleEntity> queryWrapper = Condition.getQueryWrapper(packCycle, PackCycleEntity.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(PackCycle::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(PackCycleEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<PackCycleExcel> list = packCycleService.exportPackCycle(queryWrapper);
ExcelUtil.export(response, "打包周期数据" + DateUtil.time(), "打包周期数据表", list, PackCycleExcel.class);
}
}

@ -141,6 +141,18 @@ public class RackSetController extends BladeController {
return R.status(rackSetService.deleteLogic(Func.toLongList(ids)));
}
/**
* 挂具设置 绑定设备
*/
@PostMapping("/bind")
@ApiOperationSupport(order = 8)
@Operation(summary = "绑定设备", description = "传入挂具ids和设备id")
public R bind(
@Parameter(description = "主键集合", required = true) @RequestParam String ids,
@Parameter(description = "设备id", required = true) @RequestParam Integer deviceId) {
Boolean result = rackSetService.bind(Func.toLongList(ids), deviceId);
return R.status(result);
}
/**
* 导出数据

@ -1,32 +1,8 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.device.mapper;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.device.pojo.vo.EquipmentVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
@ -60,4 +36,10 @@ public interface EquipmentMapper extends BaseMapper<EquipmentEntity> {
*/
List<EquipmentExcel> exportEquipment(@Param("ew") Wrapper<EquipmentEntity> queryWrapper);
/**
* 设备状态统计
*
* @return
*/
EquipmentStatusStatisticsVO stateStatistics();
}

@ -25,8 +25,16 @@
<result column="UPDATE_TIME" property="updateTime"/>
<result column="STATUS" property="status"/>
<result column="IS_DELETED" property="isDeleted"/>
<result column="ATTACH_LINK" property="attachLink"/>
</resultMap>
<!-- 定义结果映射,将查询结果的列映射到VO的属性上 -->
<resultMap id="EquipmentStatusStatisticsResultMap"
type="org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO">
<result column="total_count" property="totalCount" javaType="java.lang.Integer"/>
<result column="running_count" property="runningCount" javaType="java.lang.Integer"/>
<result column="stopped_count" property="stoppedCount" javaType="java.lang.Integer"/>
<result column="fault_count" property="faultCount" javaType="java.lang.Integer"/>
</resultMap>
<select id="selectEquipmentPage" resultMap="equipmentResultMap">
select * from MES_EQUIPMENT where is_deleted = 0
@ -37,4 +45,13 @@
SELECT * FROM MES_EQUIPMENT ${ew.customSqlSegment}
</select>
<!-- 设备状态统计查询语句 -->
<select id="stateStatistics" resultMap="EquipmentStatusStatisticsResultMap">
SELECT COUNT(*) AS total_count,
SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END) AS running_count,
SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END) AS stopped_count,
SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END) AS fault_count
FROM MES_EQUIPMENT
where is_deleted = 0
</select>
</mapper>

@ -0,0 +1,39 @@
package org.springblade.desk.device.mapper;
import org.springblade.desk.device.pojo.entity.MeteringRemindSetEntity;
import org.springblade.desk.device.pojo.excel.MeteringRemindSetExcel;
import org.springblade.desk.device.pojo.vo.MeteringRemindSetVO;
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 2026-01-04
*/
public interface MeteringRemindSetMapper extends BaseMapper<MeteringRemindSetEntity> {
/**
* 自定义分页
*
* @param page 分页参数
* @param meteringRemindSet 查询参数
* @return List<MeteringRemindSetVO>
*/
List<MeteringRemindSetEntity> selectMeteringRemindSetPage(IPage page, MeteringRemindSetVO meteringRemindSet);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<MeteringRemindSetExcel>
*/
List<MeteringRemindSetExcel> exportMeteringRemindSet(@Param("ew") Wrapper<MeteringRemindSetEntity> queryWrapper);
}

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.device.mapper.MeteringRemindSetMapper">
<!-- 通用查询映射结果 -->
<resultMap id="mesMeteringRemindSetResultMap"
type="org.springblade.desk.device.pojo.entity.MeteringRemindSetEntity">
<result column="ID" property="id"/>
<result column="TENANT_ID" property="tenantId"/>
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_TIME" property="createTime"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="UPDATE_USER" property="updateUser"/>
<result column="UPDATE_TIME" property="updateTime"/>
<result column="IS_DELETED" property="isDeleted"/>
<result column="CATEGORY" property="category"/>
<result column="DAYS" property="days"/>
<result column="COLOR" property="color"/>
</resultMap>
<select id="selectMeteringRemindSetPage" resultMap="mesMeteringRemindSetResultMap">
select *
from MES_METERING_REMIND_SET
where is_deleted = 0
</select>
<select id="exportMeteringRemindSet" resultType="org.springblade.desk.device.pojo.excel.MeteringRemindSetExcel">
SELECT *
FROM MES_METERING_REMIND_SET ${ew.customSqlSegment}
</select>
</mapper>

@ -0,0 +1,39 @@
package org.springblade.desk.device.mapper;
import org.springblade.desk.device.pojo.entity.PackCycleEntity;
import org.springblade.desk.device.pojo.excel.PackCycleExcel;
import org.springblade.desk.device.pojo.vo.PackCycleVO;
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 2026-01-04
*/
public interface PackCycleMapper extends BaseMapper<PackCycleEntity> {
/**
* 自定义分页
*
* @param page 分页参数
* @param packCycle 查询参数
* @return List<PackCycleVO>
*/
List<PackCycleEntity> selectPackCyclePage(IPage page, PackCycleVO packCycle);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<PackCycleExcel>
*/
List<PackCycleExcel> exportPackCycle(@Param("ew") Wrapper<PackCycleEntity> queryWrapper);
}

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.device.mapper.PackCycleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="mesPackCycleResultMap" type="org.springblade.desk.device.pojo.entity.PackCycleEntity">
<result column="ID" property="id"/>
<result column="TENANT_ID" property="tenantId"/>
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_TIME" property="createTime"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="UPDATE_USER" property="updateUser"/>
<result column="UPDATE_TIME" property="updateTime"/>
<result column="IS_DELETED" property="isDeleted"/>
<result column="CPC_QUANTITY" property="cpcQuantity"/>
<result column="CPC_UNIT" property="cpcUnit"/>
</resultMap>
<select id="selectPackCyclePage" resultMap="mesPackCycleResultMap">
select *
from MES_PACK_CYCLE
where is_deleted = 0
</select>
<select id="exportPackCycle" resultType="org.springblade.desk.device.pojo.excel.PackCycleExcel">
SELECT *
FROM MES_PACK_CYCLE ${ew.customSqlSegment}
</select>
</mapper>

@ -28,6 +28,7 @@ package org.springblade.desk.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.device.pojo.vo.EquipmentVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
@ -58,4 +59,10 @@ public interface IEquipmentService extends BaseService<EquipmentEntity> {
*/
List<EquipmentExcel> exportEquipment(Wrapper<EquipmentEntity> queryWrapper);
/**
* 设备状态统计
*
* @return
*/
EquipmentStatusStatisticsVO stateStatistics();
}

@ -1,32 +1,8 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.validation.constraints.NotEmpty;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity;
import org.springblade.desk.device.pojo.excel.FeiBaSetExcel;
@ -58,4 +34,12 @@ public interface IFeiBaSetService extends BaseService<FeiBaSetEntity> {
*/
List<FeiBaSetExcel> exportFeiBaSet(Wrapper<FeiBaSetEntity> queryWrapper);
/**
* 飞靶批量绑定设备
*
* @param ids
* @param deviceId
* @return
*/
Boolean bind(@NotEmpty List<Long> ids, Integer deviceId);
}

@ -0,0 +1,37 @@
package org.springblade.desk.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.device.pojo.entity.MeteringRemindSetEntity;
import org.springblade.desk.device.pojo.excel.MeteringRemindSetExcel;
import org.springblade.desk.device.pojo.vo.MeteringRemindSetVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
/**
* 计量提醒设置 服务类
*
* @author qyl
* @since 2026-01-04
*/
public interface IMeteringRemindSetService extends BaseService<MeteringRemindSetEntity> {
/**
* 自定义分页
*
* @param page 分页参数
* @param mesMeteringRemindSet 查询参数
* @return IPage<MeteringRemindSetVO>
*/
IPage<MeteringRemindSetEntity> selectMeteringRemindSetPage(IPage<MeteringRemindSetEntity> page, MeteringRemindSetVO mesMeteringRemindSet);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<MeteringRemindSetExcel>
*/
List<MeteringRemindSetExcel> exportMeteringRemindSet(Wrapper<MeteringRemindSetEntity> queryWrapper);
}

@ -0,0 +1,37 @@
package org.springblade.desk.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.device.pojo.entity.PackCycleEntity;
import org.springblade.desk.device.pojo.excel.PackCycleExcel;
import org.springblade.desk.device.pojo.vo.PackCycleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
/**
* 打包周期 服务类
*
* @author qyl
* @since 2026-01-04
*/
public interface IPackCycleService extends BaseService<PackCycleEntity> {
/**
* 自定义分页
*
* @param page 分页参数
* @param packCycle 查询参数
* @return IPage<PackCycleVO>
*/
IPage<PackCycleEntity> selectPackCyclePage(IPage<PackCycleEntity> page, PackCycleVO packCycle);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<PackCycleExcel>
*/
List<PackCycleExcel> exportPackCycle(Wrapper<PackCycleEntity> queryWrapper);
}

@ -27,6 +27,7 @@ package org.springblade.desk.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.validation.constraints.NotEmpty;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.device.pojo.entity.RackSetEntity;
import org.springblade.desk.device.pojo.excel.RackSetExcel;
@ -58,4 +59,12 @@ public interface IRackSetService extends BaseService<RackSetEntity> {
*/
List<RackSetExcel> exportRackSet(Wrapper<RackSetEntity> queryWrapper);
/**
* 挂具批量绑定设备
*
* @param ids
* @param deviceId
* @return
*/
Boolean bind(@NotEmpty List<Long> ids, Integer deviceId);
}

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.device.pojo.vo.EquipmentVO;
import org.springblade.desk.device.mapper.EquipmentMapper;
import org.springblade.desk.device.service.IEquipmentService;
@ -74,4 +75,9 @@ public class EquipmentServiceImpl extends BaseServiceImpl<EquipmentMapper, Equip
return equipmentList;
}
@Override
public EquipmentStatusStatisticsVO stateStatistics() {
return baseMapper.stateStatistics();
}
}

@ -1,28 +1,3 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.device.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -32,11 +7,13 @@ import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity;
import org.springblade.desk.device.pojo.excel.FeiBaSetExcel;
import org.springblade.desk.device.service.IFeiBaSetService;
import org.springblade.desk.order.pojo.entity.YieldOrder;
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.ArrayList;
import java.util.List;
import java.util.Objects;
@ -75,4 +52,17 @@ public class FeiBaSetServiceImpl extends BaseServiceImpl<FeiBaSetMapper, FeiBaSe
return feiBaSetList;
}
@Override
public Boolean bind(List<Long> ids, Integer deviceId) {
List<FeiBaSetEntity> feiBaSetEntityList = new ArrayList<>();
ids.forEach(id -> {
FeiBaSetEntity feiBaSet = new FeiBaSetEntity();
feiBaSet.setId(id);
feiBaSet.setBindQty(deviceId.shortValue());
feiBaSetEntityList.add(feiBaSet);
});
return this.updateBatchById(feiBaSetEntityList);
}
}

@ -0,0 +1,39 @@
package org.springblade.desk.device.service.impl;
import org.springblade.desk.device.pojo.entity.MeteringRemindSetEntity;
import org.springblade.desk.device.pojo.excel.MeteringRemindSetExcel;
import org.springblade.desk.device.pojo.vo.MeteringRemindSetVO;
import org.springblade.desk.device.mapper.MeteringRemindSetMapper;
import org.springblade.desk.device.service.IMeteringRemindSetService;
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;
/**
* 计量提醒设置 服务实现类
*
* @author qyl
* @since 2026-01-04
*/
@Service
public class MeteringRemindSetServiceImpl extends BaseServiceImpl<MeteringRemindSetMapper, MeteringRemindSetEntity> implements IMeteringRemindSetService {
@Override
public IPage<MeteringRemindSetEntity> selectMeteringRemindSetPage(IPage<MeteringRemindSetEntity> page, MeteringRemindSetVO meteringRemindSet) {
return page.setRecords(baseMapper.selectMeteringRemindSetPage(page, meteringRemindSet));
}
@Override
public List<MeteringRemindSetExcel> exportMeteringRemindSet(Wrapper<MeteringRemindSetEntity> queryWrapper) {
List<MeteringRemindSetExcel> meteringRemindSetList = baseMapper.exportMeteringRemindSet(queryWrapper);
//meteringRemindSetList.forEach(meteringRemindSet -> {
// meteringRemindSet.setTypeName(DictCache.getValue(DictEnum.YES_NO, MeteringRemindSet.getType()));
//});
return meteringRemindSetList;
}
}

@ -0,0 +1,39 @@
package org.springblade.desk.device.service.impl;
import org.springblade.desk.device.pojo.entity.PackCycleEntity;
import org.springblade.desk.device.pojo.excel.PackCycleExcel;
import org.springblade.desk.device.pojo.vo.PackCycleVO;
import org.springblade.desk.device.mapper.PackCycleMapper;
import org.springblade.desk.device.service.IPackCycleService;
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;
/**
* 打包周期 服务实现类
*
* @author qyl
* @since 2026-01-04
*/
@Service
public class PackCycleServiceImpl extends BaseServiceImpl<PackCycleMapper, PackCycleEntity> implements IPackCycleService {
@Override
public IPage<PackCycleEntity> selectPackCyclePage(IPage<PackCycleEntity> page, PackCycleVO packCycle) {
return page.setRecords(baseMapper.selectPackCyclePage(page, packCycle));
}
@Override
public List<PackCycleExcel> exportPackCycle(Wrapper<PackCycleEntity> queryWrapper) {
List<PackCycleExcel> packCycleList = baseMapper.exportPackCycle(queryWrapper);
//packCycleList.forEach(packCycle -> {
// packCycle.setTypeName(DictCache.getValue(DictEnum.YES_NO, PackCycle.getType()));
//});
return packCycleList;
}
}

@ -37,6 +37,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@ -75,4 +76,16 @@ public class RackSetServiceImpl extends BaseServiceImpl<RackSetMapper, RackSetEn
return rackSetList;
}
@Override
public Boolean bind(List<Long> ids, Integer deviceId) {
List<RackSetEntity> rackSetEntityList = new ArrayList<>();
ids.forEach(id -> {
RackSetEntity rackSet = new RackSetEntity();
rackSet.setId(id);
rackSet.setBindQty(deviceId.shortValue());
rackSetEntityList.add(rackSet);
});
return this.updateBatchById(rackSetEntityList);
}
}

@ -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.MeteringRemindSetEntity;
import org.springblade.desk.device.pojo.vo.MeteringRemindSetVO;
import java.util.Objects;
/**
* 计量提醒设置 包装类,返回视图层所需的字段
*
* @author qyl
* @since 2026-01-04
*/
public class MeteringRemindSetWrapper extends BaseEntityWrapper<MeteringRemindSetEntity, MeteringRemindSetVO> {
public static MeteringRemindSetWrapper build() {
return new MeteringRemindSetWrapper();
}
@Override
public MeteringRemindSetVO entityVO(MeteringRemindSetEntity meteringRemindSet) {
MeteringRemindSetVO meteringRemindSetVO = Objects.requireNonNull(BeanUtil.copyProperties(meteringRemindSet, MeteringRemindSetVO.class));
//User createUser = UserCache.getUser(meteringRemindSet.getCreateUser());
//User updateUser = UserCache.getUser(meteringRemindSet.getUpdateUser());
//meteringRemindSetVO.setCreateUserName(createUser.getName());
//meteringRemindSetVO.setUpdateUserName(updateUser.getName());
return meteringRemindSetVO;
}
}

@ -0,0 +1,36 @@
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.PackCycleEntity;
import org.springblade.desk.device.pojo.vo.PackCycleVO;
import java.util.Objects;
/**
* 打包周期 包装类,返回视图层所需的字段
*
* @author qyl
* @since 2026-01-04
*/
public class PackCycleWrapper extends BaseEntityWrapper<PackCycleEntity, PackCycleVO> {
public static PackCycleWrapper build() {
return new PackCycleWrapper();
}
@Override
public PackCycleVO entityVO(PackCycleEntity packCycle) {
PackCycleVO packCycleVO = Objects.requireNonNull(BeanUtil.copyProperties(packCycle, PackCycleVO.class));
//User createUser = UserCache.getUser(packCycle.getCreateUser());
//User updateUser = UserCache.getUser(packCycle.getUpdateUser());
//packCycleVO.setCreateUserName(createUser.getName());
//packCycleVO.setUpdateUserName(updateUser.getName());
// String cpcUnitTitle = packCycle.getCpcUnitTitle();
// packCycleVO.setUnitName(cpcUnitTitle);
return packCycleVO;
}
}

@ -0,0 +1,193 @@
ALTER TABLE MES_EQUIPMENT
ADD (ATTACH_LINK NVARCHAR2(255) );
COMMENT
ON COLUMN MES_EQUIPMENT.ATTACH_LINK IS '附件链接';
/*CREATE TABLE MES_MEASURING_USAGE
(
ID NUMBER(20,0) NOT NULL ENABLE,
TENANT_ID NVARCHAR2(12),
CREATE_USER NUMBER(20,0),
CREATE_TIME DATE,
CREATE_DEPT NUMBER(20,0),
UPDATE_USER NUMBER(20,0),
UPDATE_TIME DATE,
STATUS NUMBER(11,0) NOT NULL ENABLE,
IS_DELETED NUMBER(11,0),
MATERIAL_CODE NVARCHAR2(255),
MATERIAL_NAME NVARCHAR2(255),
STORAGE_ROOM_NUMBER1 NVARCHAR2(255),
STORAGE_LOCATION_NUMBER NVARCHAR2(255),
DEPT NVARCHAR2(255),
ATTACH_LINK NVARCHAR2(255),
PLEASE_NOTE_THE_TIME DATE,
FLAG_STATE NUMBER(11,0),
TOOL_SPECIFICATIONS NVARCHAR2(255),
TYPE NVARCHAR2(255),
TOOL_BARCODE NVARCHAR2(255),
DEVICE_CODE NVARCHAR2(255),
LIFE_SPAN DATE,
CUMULATIVE_NUMBER NUMBER(20,0),
MAINTENANCE_DAYS NUMBER(20,0),
WARNING_DAYS NUMBER(20,0),
BORROWING_TIME DATE,
CONSTRAINT MES_MEASURING_USAGE_PK PRIMARY KEY (ID)
) TABLESPACE JONHON_MES_DATA;
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.ID IS '主键';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.CREATE_USER IS '创建人';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.CREATE_TIME IS '创建时间';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.CREATE_DEPT IS '创建部门';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.UPDATE_USER IS '更新人';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.UPDATE_TIME IS '更新时间';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.STATUS IS '状态';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.IS_DELETED IS '删除标记';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.MATERIAL_CODE IS '物料编码';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.MATERIAL_NAME IS '物料名称';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.STORAGE_ROOM_NUMBER1 IS '库房号';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.STORAGE_LOCATION_NUMBER IS '库位号';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.DEPT IS '部门';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.ATTACH_LINK IS '工具图片';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.PLEASE_NOTE_THE_TIME IS '提请时间';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.FLAG_STATE IS '标记状态';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.TOOL_SPECIFICATIONS IS '工具规格';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.TYPE IS '类型';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.TOOL_BARCODE IS '工具条码';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.DEVICE_CODE IS '设备编号';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.LIFE_SPAN IS '寿命';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.CUMULATIVE_NUMBER IS '历史累计次数';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.MAINTENANCE_DAYS IS '检修天数';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.WARNING_DAYS IS '预警天数';
COMMENT ON COLUMN JONHON_MES.MES_MEASURING_USAGE.BORROWING_TIME IS '借用时间';
COMMENT ON TABLE JONHON_MES.MES_MEASURING_USAGE IS '量具使用记录';*/
ALTER TABLE MES_MEASURING_UPKEEP
ADD (MATERIAL_NAME NVARCHAR2(255) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.MATERIAL_NAME IS '物料名称';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (MATERIAL_SPECIFICATIONS NVARCHAR2(255) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.MATERIAL_SPECIFICATIONS IS '物料规格';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (PRODUCTION_BATCH_NUMBER NVARCHAR2(255) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.PRODUCTION_BATCH_NUMBER IS '生产批次号';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (WAREHOUSE NVARCHAR2(255) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.WAREHOUSE IS '仓库';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (STORAGE_LOCATION_NUMBER NVARCHAR2(255) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.STORAGE_LOCATION_NUMBER IS '库位号';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (QUANTITY_IN_STOCK NUMBER(20, 0) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.QUANTITY_IN_STOCK IS '库存数量';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (GRADE NUMBER(20, 0) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.GRADE IS '等级';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (MONEY NUMBER(19, 4) );
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.MONEY IS '金额';
ALTER TABLE MES_MEASURING_UPKEEP
ADD (USAGE_COUNT NUMBER(20, 0) NOT NULL);
COMMENT
ON COLUMN MES_MEASURING_UPKEEP.USAGE_COUNT IS '累计使用次数';
CREATE TABLE MES_PACK_CYCLE
(
ID NUMBER(20,0) NOT NULL ENABLE,
TENANT_ID NVARCHAR2(12),
CREATE_USER NUMBER(20,0),
CREATE_TIME DATE,
CREATE_DEPT NUMBER(20,0),
UPDATE_USER NUMBER(20,0),
UPDATE_TIME DATE,
STATUS NUMBER(11,0),
IS_DELETED NUMBER(11,0) DEFAULT 0,
CPC_QUANTITY NUMBER(20,0) DEFAULT 0 NOT NULL ENABLE,
CPC_UNIT NUMBER(11,0) DEFAULT 0 NOT NULL ENABLE,
PRIMARY KEY (ID)
) TABLESPACE JONHON_MES_DATA;
COMMENT
ON COLUMN MES_PACK_CYCLE.CREATE_USER IS '创建人';
COMMENT
ON COLUMN MES_PACK_CYCLE.CREATE_TIME IS '创建时间';
COMMENT
ON COLUMN MES_PACK_CYCLE.CREATE_DEPT IS '创建部门';
COMMENT
ON COLUMN MES_PACK_CYCLE.UPDATE_USER IS '更新人';
COMMENT
ON COLUMN MES_PACK_CYCLE.UPDATE_TIME IS '更新时间';
COMMENT
ON COLUMN MES_PACK_CYCLE.STATUS IS '状态';
COMMENT
ON COLUMN MES_PACK_CYCLE.IS_DELETED IS '是否已删除';
COMMENT
ON COLUMN MES_PACK_CYCLE.CPC_QUANTITY IS '周期数';
COMMENT
ON COLUMN MES_PACK_CYCLE.CPC_UNIT IS '周期单位';
COMMENT
ON TABLE MES_PACK_CYCLE IS '打包周期';
CREATE TABLE MES_METERING_REMIND_SET
(
ID NUMBER(20,0) NOT NULL ENABLE,
TENANT_ID NVARCHAR2(12),
CREATE_USER NUMBER(20,0),
CREATE_TIME DATE,
CREATE_DEPT NUMBER(20,0),
UPDATE_USER NUMBER(20,0),
UPDATE_TIME DATE,
STATUS NUMBER(11,0),
IS_DELETED NUMBER(11,0) DEFAULT 0,
CATEGORY NUMBER(11,0) DEFAULT 0 NOT NULL ENABLE,
DAYS NUMBER(20,0) DEFAULT 0 NOT NULL ENABLE,
COLOR NUMBER(11,0) DEFAULT 0 NOT NULL ENABLE,
PRIMARY KEY (ID)
) TABLESPACE JONHON_MES_DATA;
COMMENT
ON COLUMN MES_METERING_REMIND_SET.ID IS '主键';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.CREATE_USER IS '创建人';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.CREATE_TIME IS '创建时间';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.CREATE_DEPT IS '创建部门';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.UPDATE_USER IS '更新人';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.UPDATE_TIME IS '更新时间';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.STATUS IS '状态';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.IS_DELETED IS '是否已删除';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.CATEGORY IS '类别1仪表量具、2设备';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.DAYS IS '天数';
COMMENT
ON COLUMN MES_METERING_REMIND_SET.COLOR IS '颜色1、黄色;2、浅红色';
COMMENT
ON TABLE MES_METERING_REMIND_SET IS '计量提醒设置';
Loading…
Cancel
Save