增加设备维护信息管理
This commit is contained in:
parent
5e8e1586fc
commit
e28d4aa921
|
|
@ -22,6 +22,7 @@ public interface BusinessConstant {
|
|||
String SPEAKER_AUDIO_BUCKET = "speaker-audio";//喊话器音频桶
|
||||
String GEO_MARK_BUCKET = "geo-mark";//地图标注文件桶
|
||||
String DICT_IMAGE_BUCKET = "source-material";//字典图片桶
|
||||
String MAINTENANCE_IMAGE_BUCKET = "maintenance-images";//字典图片桶
|
||||
|
||||
//********************************* route action *********************************//
|
||||
String DEFAULT_ACTION_TRIGGER_TYPE = "reachPoint";//默认动作触发器类型 到达航点执行
|
||||
|
|
|
|||
|
|
@ -0,0 +1,99 @@
|
|||
package com.multictrl.modules.business.controller;
|
||||
|
||||
import com.multictrl.common.annotation.ApiOrder;
|
||||
import com.multictrl.common.annotation.LogOperation;
|
||||
import com.multictrl.common.constant.Constant;
|
||||
import com.multictrl.common.page.PageData;
|
||||
import com.multictrl.common.utils.Result;
|
||||
import com.multictrl.common.validator.AssertUtils;
|
||||
import com.multictrl.common.validator.ValidatorUtils;
|
||||
import com.multictrl.common.validator.group.AddGroup;
|
||||
import com.multictrl.common.validator.group.UpdateGroup;
|
||||
import com.multictrl.modules.business.dto.MaintenanceDTO;
|
||||
import com.multictrl.modules.business.service.MaintenanceService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Parameters;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("business/maintenance")
|
||||
@Tag(name = "设备维护")
|
||||
@ApiOrder(23)
|
||||
@RequiredArgsConstructor
|
||||
public class MaintenanceController {
|
||||
private final MaintenanceService maintenanceService;
|
||||
|
||||
@GetMapping("page")
|
||||
@Operation(summary = "分页")
|
||||
@Parameters({
|
||||
@Parameter(name = Constant.PAGE, description = "当前页码,从1开始"),
|
||||
@Parameter(name = Constant.LIMIT, description = "每页显示记录数"),
|
||||
@Parameter(name = "dockSn", description = "机库SN"),
|
||||
@Parameter(name = "date", description = "维保日期 yyyy-MM-dd")
|
||||
})
|
||||
@RequiresPermissions("bus:maintenance:page")
|
||||
public Result<PageData<MaintenanceDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
|
||||
PageData<MaintenanceDTO> page = maintenanceService.pageList(params);
|
||||
|
||||
return new Result<PageData<MaintenanceDTO>>().ok(page);
|
||||
}
|
||||
|
||||
@GetMapping("{id}")
|
||||
@Operation(summary = "信息")
|
||||
@RequiresPermissions("bus:maintenance:info")
|
||||
public Result<MaintenanceDTO> get(@PathVariable("id") Long id) {
|
||||
MaintenanceDTO data = maintenanceService.getInfo(id);
|
||||
|
||||
return new Result<MaintenanceDTO>().ok(data);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Operation(summary = "保存")
|
||||
@LogOperation("保存")
|
||||
@RequiresPermissions("bus:maintenance:save")
|
||||
public Result<Object> save(@RequestBody MaintenanceDTO dto) {
|
||||
//效验数据
|
||||
ValidatorUtils.validateEntity(dto, AddGroup.class);
|
||||
maintenanceService.addMaintenance(dto);
|
||||
|
||||
return new Result<>();
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Operation(summary = "修改")
|
||||
@LogOperation("修改")
|
||||
@RequiresPermissions("bus:maintenance:update")
|
||||
public Result<Object> update(@RequestBody MaintenanceDTO dto) {
|
||||
//效验数据
|
||||
ValidatorUtils.validateEntity(dto, UpdateGroup.class);
|
||||
maintenanceService.updateMaintenance(dto);
|
||||
|
||||
return new Result<>();
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@Operation(summary = "删除")
|
||||
@LogOperation("删除")
|
||||
@RequiresPermissions("bus:maintenance:delete")
|
||||
public Result<Object> delete(@RequestBody Long[] ids) {
|
||||
//效验数据
|
||||
AssertUtils.isArrayEmpty(ids, "id");
|
||||
maintenanceService.deleteMaintenance(ids);
|
||||
|
||||
return new Result<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -64,6 +64,17 @@ public class MinioController {
|
|||
return new Result<String>().error(ErrorCode.UPLOAD_FILE_EMPTY);
|
||||
}
|
||||
|
||||
return new Result<String>().ok(minioService.uploadDictImage( file));
|
||||
return new Result<String>().ok(minioService.uploadDictImage(file));
|
||||
}
|
||||
|
||||
@Operation(summary = "上传维保图片")
|
||||
@PostMapping("/uploadMaintenanceImage/{dockSn}")
|
||||
public Result<String> uploadMaintenanceImage(@PathVariable String dockSn,
|
||||
@RequestParam("file") MultipartFile file) {
|
||||
if (file.isEmpty()) {
|
||||
return new Result<String>().error(ErrorCode.UPLOAD_FILE_EMPTY);
|
||||
}
|
||||
|
||||
return new Result<String>().ok(minioService.uploadMaintenanceImage(dockSn, file));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package com.multictrl.modules.business.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.multictrl.common.dao.BaseDao;
|
||||
import com.multictrl.modules.business.entity.MaintenanceEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@Mapper
|
||||
public interface MaintenanceDao extends BaseDao<MaintenanceEntity> {
|
||||
|
||||
//分页列表查询
|
||||
IPage<MaintenanceEntity> pageList(IPage<MaintenanceEntity> page, @Param("ew") QueryWrapper<MaintenanceEntity> wrapper);
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.multictrl.modules.business.dao;
|
||||
|
||||
import com.multictrl.common.dao.BaseDao;
|
||||
import com.multictrl.modules.business.entity.MaintenanceImgEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 维保图片
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@Mapper
|
||||
public interface MaintenanceImgDao extends BaseDao<MaintenanceImgEntity> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package com.multictrl.modules.business.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.multictrl.common.validator.group.AddGroup;
|
||||
import com.multictrl.common.validator.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Null;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "设备维护信息")
|
||||
public class MaintenanceDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Null(message = "标识必须为空", groups = {AddGroup.class})
|
||||
@NotNull(message = "标识不能为空", groups = {UpdateGroup.class})
|
||||
@Schema(description = "标识")
|
||||
private Long id;
|
||||
|
||||
@NotBlank(message = "机库SN不能为空", groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Schema(description = "机库SN")
|
||||
private String dockSn;
|
||||
|
||||
@Schema(description = "维护内容")
|
||||
private String content;
|
||||
|
||||
@NotBlank(message = "操作人不能为空", groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Schema(description = "操作人")
|
||||
private String operator;
|
||||
|
||||
@NotNull(message = "操作时间不能为空", groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Schema(description = "操作时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date operationDate;
|
||||
|
||||
@Schema(description = "图片集合")
|
||||
private List<String> imageUrls;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
@Schema(description = "机库名称")
|
||||
private String dockName;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
@Schema(description = "机库型号")
|
||||
private String dockModel;
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package com.multictrl.modules.business.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.multictrl.common.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("bus_maintenance")
|
||||
public class MaintenanceEntity extends BaseEntity {
|
||||
/**
|
||||
* 机库SN
|
||||
*/
|
||||
private String dockSn;
|
||||
/**
|
||||
* 维护内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
private String operator;
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private Date operationDate;
|
||||
|
||||
/**
|
||||
* $column.comments
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Long updater;
|
||||
/**
|
||||
* $column.comments
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateDate;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String dockName;
|
||||
@TableField(exist = false)
|
||||
private String dockModel;
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.multictrl.modules.business.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 维保图片
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@Data
|
||||
@TableName("bus_maintenance_img")
|
||||
public class MaintenanceImgEntity {
|
||||
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* $column.comments
|
||||
*/
|
||||
private Long maintenanceId;
|
||||
/**
|
||||
* $column.comments
|
||||
*/
|
||||
private String imageUrl;
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.multictrl.modules.business.service;
|
||||
|
||||
import com.multictrl.common.page.PageData;
|
||||
import com.multictrl.common.service.CrudService;
|
||||
import com.multictrl.modules.business.dto.MaintenanceDTO;
|
||||
import com.multictrl.modules.business.entity.MaintenanceEntity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
public interface MaintenanceService extends CrudService<MaintenanceEntity, MaintenanceDTO> {
|
||||
|
||||
//分页列表
|
||||
PageData<MaintenanceDTO> pageList(Map<String, Object> params);
|
||||
|
||||
//获取详情
|
||||
MaintenanceDTO getInfo(Long id);
|
||||
|
||||
//新增设备维护
|
||||
void addMaintenance(MaintenanceDTO dto);
|
||||
|
||||
//修改设备维护
|
||||
void updateMaintenance(MaintenanceDTO dto);
|
||||
|
||||
//删除设备维护
|
||||
void deleteMaintenance(Long[] ids);
|
||||
}
|
||||
|
|
@ -45,4 +45,7 @@ public interface MinioService {
|
|||
|
||||
//上传字典图片
|
||||
String uploadDictImage(MultipartFile file);
|
||||
|
||||
//上传维保图片
|
||||
String uploadMaintenanceImage(String dockSn, MultipartFile file);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,127 @@
|
|||
package com.multictrl.modules.business.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.multictrl.common.constant.BusinessConstant;
|
||||
import com.multictrl.common.page.PageData;
|
||||
import com.multictrl.common.service.impl.CrudServiceImpl;
|
||||
import com.multictrl.common.utils.ConvertUtils;
|
||||
import com.multictrl.common.utils.DateUtils;
|
||||
import com.multictrl.modules.business.dao.MaintenanceDao;
|
||||
import com.multictrl.modules.business.dao.MaintenanceImgDao;
|
||||
import com.multictrl.modules.business.dto.MaintenanceDTO;
|
||||
import com.multictrl.modules.business.entity.MaintenanceEntity;
|
||||
import com.multictrl.modules.business.entity.MaintenanceImgEntity;
|
||||
import com.multictrl.modules.business.service.DockService;
|
||||
import com.multictrl.modules.business.service.MaintenanceService;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 设备维护信息
|
||||
*
|
||||
* @author Sdy
|
||||
* @since 1.0.0 2026-06-12
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MaintenanceServiceImpl extends CrudServiceImpl<MaintenanceDao, MaintenanceEntity, MaintenanceDTO> implements MaintenanceService {
|
||||
private final MaintenanceImgDao maintenanceImgDao;
|
||||
private final DockService dockService;
|
||||
|
||||
@Override
|
||||
public QueryWrapper<MaintenanceEntity> getWrapper(Map<String, Object> params) {
|
||||
String id = (String) params.get("id");
|
||||
String dockSn = (String) params.get("dockSn");
|
||||
String date = (String) params.get("date");
|
||||
|
||||
QueryWrapper<MaintenanceEntity> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(StrUtil.isNotBlank(id), "m.id", id);
|
||||
wrapper.eq(StrUtil.isNotBlank(dockSn), "m.dock_sn", dockSn);
|
||||
if (StrUtil.isNotBlank(date)) {
|
||||
wrapper.between("m.operation_date", DateUtils.parse(date + " 00:00:00", DateUtils.DATE_TIME_PATTERN)
|
||||
, DateUtils.parse(date + " 23:59:59", DateUtils.DATE_TIME_PATTERN));
|
||||
}
|
||||
wrapper.orderByDesc("m.update_date");
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageData<MaintenanceDTO> pageList(Map<String, Object> params) {
|
||||
IPage<MaintenanceEntity> iPage = baseDao.pageList(getPage(params, null, false), getWrapper(params));
|
||||
List<MaintenanceDTO> list = ConvertUtils.sourceToTarget(iPage.getRecords(), MaintenanceDTO.class);
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
for (MaintenanceDTO dto : list) {
|
||||
List<MaintenanceImgEntity> entityList = maintenanceImgDao.selectList(new QueryWrapper<MaintenanceImgEntity>()
|
||||
.eq("maintenance_id", dto.getId()));
|
||||
if (CollUtil.isNotEmpty(entityList)) {
|
||||
List<String> imageList = entityList.stream().map(v -> BusinessConstant.IMAGE_PATH + v.getImageUrl()).toList();
|
||||
dto.setImageUrls(imageList);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new PageData<>(list, iPage.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaintenanceDTO getInfo(Long id) {
|
||||
MaintenanceEntity maintenanceEntity = selectById(id);
|
||||
MaintenanceDTO dto = ConvertUtils.sourceToTarget(maintenanceEntity, MaintenanceDTO.class);
|
||||
List<MaintenanceImgEntity> imgEntities = maintenanceImgDao.selectList(new QueryWrapper<MaintenanceImgEntity>()
|
||||
.eq("maintenance_id", id));
|
||||
List<String> imgList = Optional.ofNullable(imgEntities).orElse(Collections.emptyList())
|
||||
.stream().map(MaintenanceImgEntity::getImageUrl).collect(Collectors.toList());
|
||||
dto.setImageUrls(imgList);
|
||||
return dto;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void addMaintenance(MaintenanceDTO dto) {
|
||||
MaintenanceEntity maintenanceEntity = ConvertUtils.sourceToTarget(dto, MaintenanceEntity.class);
|
||||
insert(maintenanceEntity);
|
||||
|
||||
//增加图片
|
||||
addImages(maintenanceEntity.getId(), dto.getImageUrls());
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateMaintenance(MaintenanceDTO dto) {
|
||||
MaintenanceEntity maintenanceEntity = ConvertUtils.sourceToTarget(dto, MaintenanceEntity.class);
|
||||
updateById(maintenanceEntity);
|
||||
|
||||
//删除图片
|
||||
maintenanceImgDao.delete(new QueryWrapper<MaintenanceImgEntity>().eq("maintenance_id", maintenanceEntity.getId()));
|
||||
//新增照片
|
||||
addImages(maintenanceEntity.getId(), dto.getImageUrls());
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void deleteMaintenance(Long[] ids) {
|
||||
delete(ids);
|
||||
|
||||
//删除图片
|
||||
maintenanceImgDao.delete(new QueryWrapper<MaintenanceImgEntity>().in("maintenance_id", Arrays.asList(ids)));
|
||||
}
|
||||
|
||||
//新增照片
|
||||
private void addImages(Long maintenanceId, List<String> imageUrls) {
|
||||
if (CollUtil.isNotEmpty(imageUrls)) {
|
||||
for (String imageUrl : imageUrls) {
|
||||
MaintenanceImgEntity imgEntity = new MaintenanceImgEntity();
|
||||
imgEntity.setMaintenanceId(maintenanceId);
|
||||
imgEntity.setImageUrl(imageUrl);
|
||||
maintenanceImgDao.insert(imgEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -211,6 +211,20 @@ public class MinioServiceImpl implements MinioService {
|
|||
return BusinessConstant.DICT_IMAGE_BUCKET + "/" + path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String uploadMaintenanceImage(String dockSn, MultipartFile file) {
|
||||
//文件路径
|
||||
String path = dockSn + "/" + DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN_COMPACT) + "." + FileNameUtil.extName(file.getOriginalFilename());
|
||||
try {
|
||||
uploadFile(file.getInputStream(), BusinessConstant.MAINTENANCE_IMAGE_BUCKET, path);
|
||||
} catch (Exception e) {
|
||||
log.error(ExceptionUtils.getErrorStackTrace(e));
|
||||
throw new RenException(ErrorCode.OSS_UPLOAD_FILE_ERROR, file.getOriginalFilename());
|
||||
}
|
||||
|
||||
return BusinessConstant.MAINTENANCE_IMAGE_BUCKET + "/" + path;
|
||||
}
|
||||
|
||||
private String getMimeType(String fileName) {
|
||||
if (fileName == null) return "application/octet-stream";
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<?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="com.multictrl.modules.business.dao.MaintenanceDao">
|
||||
<resultMap type="com.multictrl.modules.business.entity.MaintenanceEntity" id="busMaintenanceMap">
|
||||
<result property="id" column="id"/>
|
||||
<result property="dockSn" column="dock_sn"/>
|
||||
<result property="content" column="content"/>
|
||||
<result property="operator" column="operator"/>
|
||||
<result property="operationDate" column="operation_date"/>
|
||||
<result property="creator" column="creator"/>
|
||||
<result property="createDate" column="create_date"/>
|
||||
<result property="updater" column="updater"/>
|
||||
<result property="updateDate" column="update_date"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="pageList" resultType="com.multictrl.modules.business.entity.MaintenanceEntity">
|
||||
SELECT m.*, d.dock_name, d.dock_model
|
||||
FROM bus_maintenance m
|
||||
LEFT JOIN bus_dock d on m.dock_sn = d.dock_sn
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -2295,3 +2295,55 @@ ON TABLE "public"."bus_nofly_zone" IS '禁飞区';
|
|||
-- ----------------------------
|
||||
ALTER TABLE "public"."bus_nofly_zone"
|
||||
ADD CONSTRAINT "uav_no_flying_pkey" PRIMARY KEY ("id");
|
||||
|
||||
--2026/6/15
|
||||
DROP TABLE IF EXISTS "public"."bus_maintenance";
|
||||
CREATE TABLE "public"."bus_maintenance"
|
||||
(
|
||||
"id" int8 NOT NULL,
|
||||
"dock_sn" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
|
||||
"content" text COLLATE "pg_catalog"."default",
|
||||
"operator" varchar(255) COLLATE "pg_catalog"."default",
|
||||
"operation_date" timestamp(6),
|
||||
"creator" int8,
|
||||
"create_date" timestamp(6),
|
||||
"updater" int8,
|
||||
"update_date" timestamp(6)
|
||||
)
|
||||
;
|
||||
COMMENT
|
||||
ON COLUMN "public"."bus_maintenance"."dock_sn" IS '机库SN';
|
||||
COMMENT
|
||||
ON COLUMN "public"."bus_maintenance"."content" IS '维护内容';
|
||||
COMMENT
|
||||
ON COLUMN "public"."bus_maintenance"."operator" IS '操作人';
|
||||
COMMENT
|
||||
ON COLUMN "public"."bus_maintenance"."operation_date" IS '操作时间';
|
||||
COMMENT
|
||||
ON TABLE "public"."bus_maintenance" IS '设备维护信息';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for bus_maintenance_img
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS "public"."bus_maintenance_img";
|
||||
CREATE TABLE "public"."bus_maintenance_img"
|
||||
(
|
||||
"id" int8 NOT NULL,
|
||||
"maintenance_id" int8 NOT NULL,
|
||||
"image_url" varchar(255) COLLATE "pg_catalog"."default"
|
||||
)
|
||||
;
|
||||
COMMENT
|
||||
ON TABLE "public"."bus_maintenance_img" IS '维保图片';
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table bus_maintenance
|
||||
-- ----------------------------
|
||||
ALTER TABLE "public"."bus_maintenance"
|
||||
ADD CONSTRAINT "bus_maintenance_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table bus_maintenance_img
|
||||
-- ----------------------------
|
||||
ALTER TABLE "public"."bus_maintenance_img"
|
||||
ADD CONSTRAINT "bus_maintenance_img_pkey" PRIMARY KEY ("id");
|
||||
Loading…
Reference in New Issue