diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java new file mode 100644 index 00000000..c5a4c489 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -0,0 +1,126 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Map; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.domain.bo.WmsMaterialCoilBo; +import com.klp.service.IWmsMaterialCoilService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 钢卷物料表 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/materialCoil") +public class WmsMaterialCoilController extends BaseController { + + private final IWmsMaterialCoilService iWmsMaterialCoilService; + + /** + * 查询钢卷物料表列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsMaterialCoilBo bo, PageQuery pageQuery) { + return iWmsMaterialCoilService.queryPageList(bo, pageQuery); + } + + /** + * 导出钢卷物料表列表 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsMaterialCoilBo bo, HttpServletResponse response) { + List list = iWmsMaterialCoilService.queryList(bo); + ExcelUtil.exportExcel(list, "钢卷物料表", WmsMaterialCoilVo.class, response); + } + + /** + * 获取钢卷物料表详细信息 + * + * @param coilId 主键 + */ + @GetMapping("/{coilId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long coilId) { + return R.ok(iWmsMaterialCoilService.queryById(coilId)); + } + + /** + * 新增钢卷物料表 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsMaterialCoilBo bo) { + return toAjax(iWmsMaterialCoilService.insertByBo(bo)); + } + + /** + * 修改钢卷物料表 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsMaterialCoilBo bo) { + return toAjax(iWmsMaterialCoilService.updateByBo(bo)); + } + + /** + * 简单更新钢卷物料表 + * 直接更新属性内容,不进行历史记录处理 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping("/update") + public R update(@Validated(EditGroup.class) @RequestBody WmsMaterialCoilBo bo) { + return toAjax(iWmsMaterialCoilService.updateSimple(bo)); + } + + /** + * 删除钢卷物料表 + * + * @param coilIds 主键串 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.DELETE) + @DeleteMapping("/{coilIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] coilIds) { + return toAjax(iWmsMaterialCoilService.deleteWithValidByIds(Arrays.asList(coilIds), true)); + } + + /** + * 钢卷溯源查询 + * 根据入场钢卷号查询二维码,解析content中的steps,然后根据steps中的钢卷号反向查询数据库 + * + * @param enterCoilNo 入场钢卷号 + * @param currentCoilNo 当前钢卷号(可选参数,用于查询特定子钢卷) + */ + @GetMapping("/trace") + public R> trace(@RequestParam @NotBlank(message = "入场钢卷号不能为空") String enterCoilNo, + @RequestParam(required = false) String currentCoilNo) { + Map traceResult = iWmsMaterialCoilService.queryTrace(enterCoilNo, currentCoilNo); + return R.ok(traceResult); + } +} + diff --git a/klp-wms/src/main/java/com/klp/controller/WmsStockController.java b/klp-wms/src/main/java/com/klp/controller/WmsStockController.java index d0726a16..ca72d545 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsStockController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsStockController.java @@ -6,7 +6,6 @@ import java.util.Arrays; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; -import cn.dev33.satoken.annotation.SaCheckPermission; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import com.klp.common.annotation.RepeatSubmit; @@ -109,4 +108,15 @@ public class WmsStockController extends BaseController { return R.ok("查询到 " + list.size() + " 条库存记录,仓库ID: " + warehouseId); } + /** + * 查询库存分布(按仓库统计) + * + * @param bo 查询参数(itemType和itemId必填) + */ + @GetMapping("/distribution") + public R distribution(WmsStockBo bo) { + WmsStockVo result = iWmsStockService.queryStockDistribution(bo); + return R.ok(result); + } + } diff --git a/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java new file mode 100644 index 00000000..36583fa0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java @@ -0,0 +1,91 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 钢卷物料表对象 wms_material_coil + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_material_coil") +public class WmsMaterialCoil extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "coil_id") + private Long coilId; + /** + * 入场钢卷号(年份后两位+月份+当月第几个,如25100001、25102422) + */ + private String enterCoilNo; + /** + * 当前钢卷号(入场钢卷号和当前钢卷号可能不同) + */ + private String currentCoilNo; + /** + * 厂家原料卷号 + */ + private String supplierCoilNo; + /** + * 数据类型(0=历史,1=现存) + */ + private Integer dataType; + /** + * 所在库区ID + */ + private Long warehouseId; + /** + * 下一库区ID + */ + private Long nextWarehouseId; + /** + * 关联二维码ID(wms_generate_record.record_id) + */ + private Long qrcodeRecordId; + /** + * 班组 + */ + private String team; + /** + * 是否合卷/分卷(0=否,1=分卷,2=合卷) + */ + private Integer hasMergeSplit; + /** + * 父卷号(合卷或分卷时用,逗号分隔) + */ + private String parentCoilNos; + /** + * 物品类型(raw_material/product) + */ + private String itemType; + /** + * 物品ID(指向原材料或产品主键) + */ + private Long itemId; + /** + * 状态(0=在库,1=在途,2=已出库) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} + diff --git a/klp-wms/src/main/java/com/klp/domain/WmsStock.java b/klp-wms/src/main/java/com/klp/domain/WmsStock.java index ed6975e5..e8d15731 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsStock.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsStock.java @@ -5,10 +5,8 @@ import com.klp.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.math.BigDecimal; - /** - * 库存:原材料/产品与库区/库位的存放关系对象 wms_stock + * 库存表:原材料-钢卷-库区的存放关系对象 wms_stock * * @author Joshi * @date 2025-07-18 @@ -38,13 +36,9 @@ public class WmsStock extends BaseEntity { */ private Long itemId; /** - * 库存数量 + * 钢卷ID(指向wms_material_coil.coil_id) */ - private BigDecimal quantity; - /** - * 单位 - */ - private String unit; + private Long coilId; /** * 批次号(可选) */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java new file mode 100644 index 00000000..dd94f4af --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -0,0 +1,103 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; +import java.util.List; + +/** + * 钢卷物料表业务对象 wms_material_coil + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsMaterialCoilBo extends BaseEntity { + + /** + * 主键ID + */ + private Long coilId; + + /** + * 入场钢卷号(年份后两位+月份+当月第几个,如25100001、25102422) + */ + @NotBlank(message = "入场钢卷号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String enterCoilNo; + + /** + * 当前钢卷号(入场钢卷号和当前钢卷号可能不同) + */ + private String currentCoilNo; + + /** + * 厂家原料卷号 + */ + private String supplierCoilNo; + + /** + * 数据类型(0=历史,1=现存) + */ + private Integer dataType; + + /** + * 所在库区ID + */ + private Long warehouseId; + + /** + * 下一库区ID + */ + private Long nextWarehouseId; + + /** + * 关联二维码ID(wms_generate_record.record_id) + */ + private Long qrcodeRecordId; + + /** + * 班组 + */ + private String team; + + /** + * 是否合卷/分卷(0=否,1=分卷,2=合卷) + */ + private Integer hasMergeSplit; + + /** + * 父卷号(合卷或分卷时用,逗号分隔) + */ + private String parentCoilNos; + + /** + * 物品类型(raw_material/product) + */ + private String itemType; + + /** + * 物品ID(指向原材料或产品主键) + */ + private Long itemId; + + /** + * 状态(0=在库,1=在途,2=已出库) + */ + private Integer status; + + /** + * 备注 + */ + private String remark; + + /** + * 分卷/合卷的新钢卷列表(用于批量更新) + */ + private List newCoils; + +} + diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java index 030965e2..a931f8a9 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java @@ -32,7 +32,7 @@ public class WmsStockBo extends BaseEntity { private Long warehouseId; /** - * 物品类型(raw_material/product) + * 原材料ID(指向wms_raw_material.raw_material_id) */ @NotBlank(message = "物品类型(raw_material/product)不能为空", groups = { AddGroup.class, EditGroup.class }) private String itemType; @@ -42,23 +42,9 @@ public class WmsStockBo extends BaseEntity { */ @NotNull(message = "物品ID(指向原材料或产品主键)不能为空", groups = { AddGroup.class, EditGroup.class }) private Long itemId; - - /** - * 库存数量 - */ - @NotNull(message = "库存数量不能为空", groups = { AddGroup.class, EditGroup.class }) - private BigDecimal quantity; - - /** - * 单位 - */ - @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) - private String unit; - /** * 批次号(可选) */ - @NotBlank(message = "批次号(可选)不能为空", groups = { AddGroup.class, EditGroup.class }) private String batchNo; /** diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java new file mode 100644 index 00000000..fdf24891 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java @@ -0,0 +1,144 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 钢卷物料表视图对象 wms_material_coil + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsMaterialCoilVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long coilId; + + /** + * 入场钢卷号 + */ + @ExcelProperty(value = "入场钢卷号") + private String enterCoilNo; + + /** + * 当前钢卷号 + */ + @ExcelProperty(value = "当前钢卷号") + private String currentCoilNo; + + /** + * 厂家原料卷号 + */ + @ExcelProperty(value = "厂家原料卷号") + private String supplierCoilNo; + + /** + * 数据类型(0=历史,1=现存) + */ + @ExcelProperty(value = "数据类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=历史,1=现存") + private Integer dataType; + + /** + * 所在库区ID + */ + @ExcelProperty(value = "所在库区ID") + private Long warehouseId; + + /** + * 下一库区ID + */ + @ExcelProperty(value = "下一库区ID") + private Long nextWarehouseId; + + /** + * 关联二维码ID + */ + @ExcelProperty(value = "关联二维码ID") + private Long qrcodeRecordId; + + /** + * 班组 + */ + @ExcelProperty(value = "班组") + private String team; + + /** + * 是否合卷/分卷 + */ + @ExcelProperty(value = "是否合卷/分卷", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=否,1=分卷,2=合卷") + private Integer hasMergeSplit; + + /** + * 父卷号 + */ + @ExcelProperty(value = "父卷号") + private String parentCoilNos; + + /** + * 物品类型 + */ + @ExcelProperty(value = "物品类型") + private String itemType; + + /** + * 物品ID + */ + @ExcelProperty(value = "物品ID") + private Long itemId; + + /** + * 状态 + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=在库,1=在途,2=已出库") + private Integer status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + // ========== 关联对象属性 ========== + + /** + * 所在库区信息 + */ + private WmsWarehouseVo warehouse; + + /** + * 下一库区信息 + */ + private WmsWarehouseVo nextWarehouse; + + /** + * 二维码信息 + */ + private WmsGenerateRecordVo qrcodeRecord; + + /** + * 原材料信息(当itemType为raw_material时) + */ + private WmsRawMaterialVo rawMaterial; + + /** + * 产品信息(当itemType为product时) + */ + private Object product; // 产品VO待定义 + + +} + diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java index cda0849d..7ef59bc7 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java @@ -29,7 +29,6 @@ public class WmsStockVo { /** * 仓库/库区/库位ID */ - @ExcelProperty(value = "仓库/库区/库位ID") private Long warehouseId; /** @@ -55,23 +54,11 @@ public class WmsStockVo { */ private String itemCode; - /** - * 库存数量 - */ - @ExcelProperty(value = "库存数量") - private BigDecimal quantity; - - /** - * 单位 - */ - @ExcelProperty(value = "单位") - private String unit; - /** * 批次号(可选) */ @ExcelProperty(value = "批次号", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "可=选") + @ExcelDictFormat(readConverterExp = "可选") private String batchNo; /** @@ -92,4 +79,15 @@ public class WmsStockVo { @ExcelProperty(value = "在途量") private BigDecimal onTheWay; + /** + * 总量(通过item_type和item_id查询对应的钢卷总量) + */ + @ExcelProperty(value = "总量") + private BigDecimal totalQuantity; + + /** + * 库存分布列表(按仓库统计) + */ + private java.util.List stockDistribution; + } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java new file mode 100644 index 00000000..0d9de9bd --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -0,0 +1,16 @@ +package com.klp.mapper; + +import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 钢卷物料表Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsMaterialCoilMapper extends BaseMapperPlus { + +} + diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java index 3cc54889..6fc4e1dd 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java @@ -29,4 +29,9 @@ public interface WmsStockMapper extends BaseMapperPlus selectVoPagePlus(Page page, @Param("ew") Wrapper wrapper); + /** + * 按仓库统计库存分布 + */ + List selectStockDistribution(@Param("itemType") String itemType, @Param("itemId") Long itemId); + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java new file mode 100644 index 00000000..37dbe738 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -0,0 +1,69 @@ +package com.klp.service; + +import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.domain.bo.WmsMaterialCoilBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 钢卷物料表Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsMaterialCoilService { + + /** + * 查询钢卷物料表 + */ + WmsMaterialCoilVo queryById(Long coilId); + + /** + * 查询钢卷物料表列表 + */ + TableDataInfo queryPageList(WmsMaterialCoilBo bo, PageQuery pageQuery); + + /** + * 查询钢卷物料表列表 + */ + List queryList(WmsMaterialCoilBo bo); + + /** + * 新增钢卷物料表 + */ + Boolean insertByBo(WmsMaterialCoilBo bo); + + /** + * 修改钢卷物料表 + * 如果newCoils不为空,则进行批量更新(分卷/合卷) + * 如果newCoils为空,则进行单个更新 + */ + Boolean updateByBo(WmsMaterialCoilBo bo); + + /** + * 简单更新钢卷物料表 + * 直接更新属性内容,不进行历史记录处理 + */ + Boolean updateSimple(WmsMaterialCoilBo bo); + + /** + * 校验并批量删除钢卷物料表信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 钢卷溯源查询 + * 根据入场钢卷号查询二维码,解析content中的steps,然后根据steps中的钢卷号反向查询数据库 + * + * @param enterCoilNo 入场钢卷号 + * @param currentCoilNo 当前钢卷号(可选,用于查询特定子钢卷) + * @return 溯源结果(包含二维码信息和数据库记录) + */ + Map queryTrace(String enterCoilNo, String currentCoilNo); +} + diff --git a/klp-wms/src/main/java/com/klp/service/IWmsStockService.java b/klp-wms/src/main/java/com/klp/service/IWmsStockService.java index 1a9c650b..8796bd70 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsStockService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsStockService.java @@ -53,5 +53,9 @@ public interface IWmsStockService { */ BigDecimal getStockByItemId(Long rawMaterialId); + /** + * 查询库存分布(按仓库统计) + */ + WmsStockVo queryStockDistribution(WmsStockBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java new file mode 100644 index 00000000..d8732fdc --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -0,0 +1,732 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.klp.domain.bo.WmsMaterialCoilBo; +import com.klp.domain.bo.WmsGenerateRecordBo; +import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.domain.vo.WmsGenerateRecordVo; +import com.klp.domain.vo.WmsWarehouseVo; +import com.klp.domain.vo.WmsRawMaterialVo; +import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.WmsStock; +import com.klp.domain.bo.WmsStockBo; +import com.klp.domain.vo.WmsStockVo; +import com.klp.mapper.WmsMaterialCoilMapper; +import com.klp.mapper.WmsStockMapper; +import com.klp.service.IWmsMaterialCoilService; +import com.klp.service.IWmsStockService; +import com.klp.service.IWmsGenerateRecordService; +import com.klp.service.IWmsWarehouseService; +import com.klp.service.IWmsRawMaterialService; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.util.List; +import java.util.Collection; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.stream.Collectors; +import java.util.HashSet; +import java.util.Set; + +/** + * 钢卷物料表Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { + + private final WmsMaterialCoilMapper baseMapper; + private final WmsStockMapper stockMapper; + private final IWmsStockService stockService; + private final IWmsGenerateRecordService generateRecordService; + private final IWmsWarehouseService warehouseService; + private final IWmsRawMaterialService rawMaterialService; + + /** + * 查询钢卷物料表 + */ + @Override + public WmsMaterialCoilVo queryById(Long coilId){ + WmsMaterialCoilVo vo = baseMapper.selectVoById(coilId); + if (vo == null) { + return null; + } + + // 查询关联对象 + fillRelatedObjects(vo); + + return vo; + } + + /** + * 填充关联对象信息 + */ + private void fillRelatedObjects(WmsMaterialCoilVo vo) { + // 查询所在库区信息 + if (vo.getWarehouseId() != null) { + WmsWarehouseVo warehouse = warehouseService.queryById(vo.getWarehouseId()); + vo.setWarehouse(warehouse); + } + + // 查询下一库区信息 + if (vo.getNextWarehouseId() != null) { + WmsWarehouseVo nextWarehouse = warehouseService.queryById(vo.getNextWarehouseId()); + vo.setNextWarehouse(nextWarehouse); + } + + // 查询二维码信息 + if (vo.getQrcodeRecordId() != null) { + WmsGenerateRecordVo qrcodeRecord = generateRecordService.queryById(vo.getQrcodeRecordId()); + vo.setQrcodeRecord(qrcodeRecord); + } + + // 查询原材料信息(当itemType为raw_material时) + if ("raw_material".equals(vo.getItemType()) && vo.getItemId() != null) { + WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId()); + vo.setRawMaterial(rawMaterial); + } + + // 查询产品信息(当itemType为product时) + // TODO: 当产品VO定义后,添加产品查询逻辑 + if ("product".equals(vo.getItemType()) && vo.getItemId() != null) { + // 产品查询逻辑待实现 + } + } + + /** + * 查询钢卷物料表列表 + */ + @Override + public TableDataInfo queryPageList(WmsMaterialCoilBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询钢卷物料表列表 + */ + @Override + public List queryList(WmsMaterialCoilBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsMaterialCoilBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getEnterCoilNo()), WmsMaterialCoil::getEnterCoilNo, bo.getEnterCoilNo()); + lqw.like(StringUtils.isNotBlank(bo.getCurrentCoilNo()), WmsMaterialCoil::getCurrentCoilNo, bo.getCurrentCoilNo()); + lqw.like(StringUtils.isNotBlank(bo.getSupplierCoilNo()), WmsMaterialCoil::getSupplierCoilNo, bo.getSupplierCoilNo()); + lqw.eq(bo.getDataType() != null, WmsMaterialCoil::getDataType, bo.getDataType()); + lqw.eq(bo.getWarehouseId() != null, WmsMaterialCoil::getWarehouseId, bo.getWarehouseId()); + lqw.eq(bo.getHasMergeSplit() != null, WmsMaterialCoil::getHasMergeSplit, bo.getHasMergeSplit()); + lqw.eq(bo.getStatus() != null, WmsMaterialCoil::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增钢卷物料表 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(WmsMaterialCoilBo bo) { + // 1. 生成二维码 + Long qrcodeRecordId = generateQrcodeForInsert(bo); + bo.setQrcodeRecordId(qrcodeRecordId); + + // 2. 如果warehouseId为空,查找或创建stock + if (bo.getWarehouseId() == null) { + Long warehouseId = findOrCreateStock(bo); + bo.setWarehouseId(warehouseId); + } + + // 3. 插入钢卷数据 + WmsMaterialCoil add = BeanUtil.toBean(bo, WmsMaterialCoil.class); + add.setDataType(1); // 新增的钢卷默认为当前数据 + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setCoilId(add.getCoilId()); + } + return flag; + } + + /** + * 生成二维码(新增) + */ + private Long generateQrcodeForInsert(WmsMaterialCoilBo bo) { + try { + Map contentMap = new HashMap<>(); + String currentCoilNo = bo.getCurrentCoilNo() != null ? bo.getCurrentCoilNo() : bo.getEnterCoilNo(); + + contentMap.put("enter_coil_no", bo.getEnterCoilNo()); // 入场钢卷号(唯一不变) + contentMap.put("current_coil_no", currentCoilNo); // 当前钢卷号(可变) + + // 创建steps数组 + List> steps = new ArrayList<>(); + Map step1 = new HashMap<>(); + step1.put("step", 1); + step1.put("action", "新增"); + step1.put("current_coil_no", currentCoilNo); + + // 判断是合卷还是分卷 + if (bo.getHasMergeSplit() != null && bo.getHasMergeSplit() == 2) { + // 合卷:父编号字符串用逗号分隔 + step1.put("operation", "合卷"); + step1.put("parent_coil_nos", bo.getParentCoilNos()); + } else if (bo.getHasMergeSplit() != null && bo.getHasMergeSplit() == 1) { + // 分卷:多个当前钢卷号用逗号分隔 + step1.put("operation", "分卷"); + step1.put("current_coil_nos", currentCoilNo); + } else { + // 默认:当前钢卷号 + step1.put("operation", "新增"); + } + + steps.add(step1); + contentMap.put("steps", steps); + + ObjectMapper objectMapper = new ObjectMapper(); + String contentJson = objectMapper.writeValueAsString(contentMap); + + WmsGenerateRecordBo recordBo = new WmsGenerateRecordBo(); + recordBo.setContent(contentJson); + recordBo.setSerialNumber(bo.getEnterCoilNo()); // 使用入场钢卷号作为编号 + recordBo.setQrcodeType(0L); + recordBo.setIsEnabled(0L); + recordBo.setSize(200L); + + WmsGenerateRecordVo record = generateRecordService.insertByBo(recordBo); + return record.getRecordId(); + } catch (Exception e) { + throw new RuntimeException("生成二维码失败: " + e.getMessage()); + } + } + + /** + * 查找或创建stock + */ + private Long findOrCreateStock(WmsMaterialCoilBo bo) { + if (bo.getItemType() == null || bo.getItemId() == null) { + throw new RuntimeException("物品类型和物品ID不能为空"); + } + + // 查询是否存在相同的stock + WmsStockBo stockBo = new WmsStockBo(); + stockBo.setItemType(bo.getItemType()); + stockBo.setItemId(bo.getItemId()); + List stockList = stockService.queryList(stockBo); + + if (!stockList.isEmpty()) { + // 如果找到相同的stock,返回第一个的warehouseId + return stockList.get(0).getWarehouseId(); + } else { + // 如果没有找到,创建一个新的stock + WmsStock newStock = new WmsStock(); + newStock.setItemType(bo.getItemType()); + newStock.setItemId(bo.getItemId()); + // 新创建的stock没有指定warehouse,可以为null + stockMapper.insert(newStock); + return newStock.getWarehouseId(); + } + } + + /** + * 修改钢卷物料表 + * 如果newCoils不为空,则进行批量更新(分卷/合卷) + * 如果newCoils为空,则进行单个更新 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(WmsMaterialCoilBo bo) { + if (bo.getCoilId() == null) { + throw new RuntimeException("钢卷ID不能为空"); + } + + // 判断是否批量更新 + if (bo.getNewCoils() != null && !bo.getNewCoils().isEmpty()) { + // 批量更新逻辑(分卷/合卷) + return updateByBatch(bo); + } else { + // 单个更新逻辑 + return updateBySingle(bo); + } + } + + /** + * 简单更新钢卷物料表 + * 直接更新属性内容,不进行历史记录处理 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateSimple(WmsMaterialCoilBo bo) { + if (bo.getCoilId() == null) { + throw new RuntimeException("钢卷ID不能为空"); + } + + // 查询原钢卷是否存在 + WmsMaterialCoil oldCoil = baseMapper.selectById(bo.getCoilId()); + if (oldCoil == null) { + throw new RuntimeException("钢卷不存在"); + } + + // 直接更新钢卷属性 + WmsMaterialCoil updateCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class); + validEntityBeforeSave(updateCoil); + + // 使用MyBatis-Plus的updateById方法直接更新 + boolean flag = baseMapper.updateById(updateCoil) > 0; + + return flag; + } + + /** + * 单个更新 + */ + private Boolean updateBySingle(WmsMaterialCoilBo bo) { + // 查询原钢卷 + WmsMaterialCoil oldCoil = baseMapper.selectById(bo.getCoilId()); + if (oldCoil == null) { + throw new RuntimeException("原钢卷不存在"); + } + + // 1. 更新二维码,添加操作记录 + updateQrcodeContent(oldCoil.getQrcodeRecordId(), bo); + + // 2. 将原数据更新为历史数据(data_type=0) + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId()) + .set(WmsMaterialCoil::getDataType, 0); // 设置为历史数据 + baseMapper.update(null, updateWrapper); + + // 3. 插入一条新的当前数据(data_type=1) + WmsMaterialCoil newCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class); + newCoil.setCoilId(null); // 清空ID,让数据库自动生成新的ID + newCoil.setDataType(1); // 设置为当前数据 + newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继承二维码ID + validEntityBeforeSave(newCoil); + boolean flag = baseMapper.insert(newCoil) > 0; + if (flag) { + bo.setCoilId(newCoil.getCoilId()); + } + return flag; + } + + /** + * 批量更新(分卷/合卷) + */ + private Boolean updateByBatch(WmsMaterialCoilBo bo) { + // 查询原钢卷 + WmsMaterialCoil oldCoil = baseMapper.selectById(bo.getCoilId()); + if (oldCoil == null) { + throw new RuntimeException("原钢卷不存在"); + } + + // 判断是分卷还是合卷 + boolean isSplit = false; + boolean isMerge = false; + for (WmsMaterialCoilBo newCoilBo : bo.getNewCoils()) { + if (newCoilBo.getHasMergeSplit() != null) { + if (newCoilBo.getHasMergeSplit() == 1) { + isSplit = true; + break; + } else if (newCoilBo.getHasMergeSplit() == 2) { + isMerge = true; + break; + } + } + } + + // 1. 将原数据更新为历史数据(data_type=0) + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId()) + .set(WmsMaterialCoil::getDataType, 0); // 设置为历史数据 + baseMapper.update(null, updateWrapper); + + // 2. 插入多条新的当前数据(data_type=1) + List newCoils = new ArrayList<>(); + List allNewCoilNos = new ArrayList<>(); + + // 收集所有新钢卷号 + for (WmsMaterialCoilBo newCoilBo : bo.getNewCoils()) { + allNewCoilNos.add(newCoilBo.getCurrentCoilNo()); + } + + if (isSplit) { + // 分卷:为每个子钢卷生成独立的二维码 + for (WmsMaterialCoilBo newCoilBo : bo.getNewCoils()) { + WmsMaterialCoil newCoil = BeanUtil.toBean(newCoilBo, WmsMaterialCoil.class); + newCoil.setCoilId(null); + newCoil.setDataType(1); + newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo()); + + // 为每个子钢卷生成独立二维码 + Long newQrcodeId = generateQrcodeForSplit(oldCoil, newCoilBo, allNewCoilNos); + newCoil.setQrcodeRecordId(newQrcodeId); + + validEntityBeforeSave(newCoil); + baseMapper.insert(newCoil); + newCoils.add(newCoil); + } + } else if (isMerge) { + // 合卷:合并多个二维码信息为一个 + Long mergedQrcodeId = generateQrcodeForMerge(oldCoil, bo.getNewCoils()); + + for (WmsMaterialCoilBo newCoilBo : bo.getNewCoils()) { + WmsMaterialCoil newCoil = BeanUtil.toBean(newCoilBo, WmsMaterialCoil.class); + newCoil.setCoilId(null); + newCoil.setDataType(1); + newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo()); + newCoil.setQrcodeRecordId(mergedQrcodeId); // 所有合卷后的钢卷共享一个二维码 + + validEntityBeforeSave(newCoil); + baseMapper.insert(newCoil); + newCoils.add(newCoil); + } + } + + return true; + } + + /** + * 为分卷生成新二维码(每个子钢卷一个) + */ + private Long generateQrcodeForSplit(WmsMaterialCoil oldCoil, WmsMaterialCoilBo newCoilBo, List allNewCoilNos) { + try { + Map contentMap = new HashMap<>(); + contentMap.put("enter_coil_no", oldCoil.getEnterCoilNo()); + contentMap.put("current_coil_no", newCoilBo.getCurrentCoilNo()); + + // 复制原钢卷的历史steps + List> steps = new ArrayList<>(); + if (oldCoil.getQrcodeRecordId() != null) { + WmsGenerateRecordVo oldRecord = generateRecordService.queryById(oldCoil.getQrcodeRecordId()); + if (oldRecord != null) { + ObjectMapper objectMapper = new ObjectMapper(); + @SuppressWarnings("unchecked") + Map oldContentMap = objectMapper.readValue(oldRecord.getContent(), Map.class); + @SuppressWarnings("unchecked") + List> oldSteps = (List>) oldContentMap.get("steps"); + if (oldSteps != null) { + steps.addAll(oldSteps); + } + } + } + + // 添加分卷步骤 + Map splitStep = new HashMap<>(); + splitStep.put("step", steps.size() + 1); + splitStep.put("action", "更新"); + splitStep.put("operation", "分卷"); + splitStep.put("old_current_coil_no", oldCoil.getCurrentCoilNo()); + splitStep.put("new_current_coil_nos", String.join(",", allNewCoilNos)); + splitStep.put("child_coils", allNewCoilNos); + steps.add(splitStep); + + contentMap.put("steps", steps); + + ObjectMapper objectMapper = new ObjectMapper(); + String contentJson = objectMapper.writeValueAsString(contentMap); + + WmsGenerateRecordBo recordBo = new WmsGenerateRecordBo(); + recordBo.setContent(contentJson); + recordBo.setSerialNumber(oldCoil.getEnterCoilNo() + "-" + newCoilBo.getCurrentCoilNo()); + recordBo.setQrcodeType(0L); + recordBo.setIsEnabled(0L); + recordBo.setSize(200L); + + WmsGenerateRecordVo record = generateRecordService.insertByBo(recordBo); + return record.getRecordId(); + } catch (Exception e) { + throw new RuntimeException("生成分卷二维码失败: " + e.getMessage()); + } + } + + /** + * 为合卷生成新二维码(合并多个父钢卷的二维码信息) + */ + private Long generateQrcodeForMerge(WmsMaterialCoil oldCoil, List newCoils) { + try { + if (newCoils.isEmpty()) { + throw new RuntimeException("合卷后的钢卷数据不能为空"); + } + + WmsMaterialCoilBo mergedCoilBo = newCoils.get(0); + + Map contentMap = new HashMap<>(); + contentMap.put("enter_coil_no", oldCoil.getEnterCoilNo()); + contentMap.put("current_coil_no", mergedCoilBo.getCurrentCoilNo()); + + // 合并所有父钢卷的历史steps + List> steps = new ArrayList<>(); + + // 如果有父钢卷号,获取它们的二维码信息并合并 + if (mergedCoilBo.getParentCoilNos() != null && !mergedCoilBo.getParentCoilNos().trim().isEmpty()) { + String[] parentCoilNos = mergedCoilBo.getParentCoilNos().split(","); + for (String parentCoilNo : parentCoilNos) { + // 查找父钢卷 + LambdaQueryWrapper parentLqw = Wrappers.lambdaQuery(); + parentLqw.eq(WmsMaterialCoil::getCurrentCoilNo, parentCoilNo.trim()) + .eq(WmsMaterialCoil::getDataType, 1); + List parentCoils = baseMapper.selectList(parentLqw); + + if (!parentCoils.isEmpty() && parentCoils.get(0).getQrcodeRecordId() != null) { + WmsGenerateRecordVo parentQr = generateRecordService.queryById(parentCoils.get(0).getQrcodeRecordId()); + if (parentQr != null) { + ObjectMapper objectMapper = new ObjectMapper(); + @SuppressWarnings("unchecked") + Map parentContentMap = objectMapper.readValue(parentQr.getContent(), Map.class); + @SuppressWarnings("unchecked") + List> parentSteps = (List>) parentContentMap.get("steps"); + if (parentSteps != null) { + steps.addAll(parentSteps); + } + } + } + } + } + + // 添加原钢卷的历史 + if (oldCoil.getQrcodeRecordId() != null) { + WmsGenerateRecordVo oldRecord = generateRecordService.queryById(oldCoil.getQrcodeRecordId()); + if (oldRecord != null) { + ObjectMapper objectMapper = new ObjectMapper(); + @SuppressWarnings("unchecked") + Map oldContentMap = objectMapper.readValue(oldRecord.getContent(), Map.class); + @SuppressWarnings("unchecked") + List> oldSteps = (List>) oldContentMap.get("steps"); + if (oldSteps != null) { + steps.addAll(oldSteps); + } + } + } + + // 添加合卷步骤 + Map mergeStep = new HashMap<>(); + mergeStep.put("step", steps.size() + 1); + mergeStep.put("action", "更新"); + mergeStep.put("operation", "合卷"); + mergeStep.put("parent_coil_nos", mergedCoilBo.getParentCoilNos()); + mergeStep.put("new_current_coil_no", mergedCoilBo.getCurrentCoilNo()); + steps.add(mergeStep); + + contentMap.put("steps", steps); + + ObjectMapper objectMapper = new ObjectMapper(); + String contentJson = objectMapper.writeValueAsString(contentMap); + + WmsGenerateRecordBo recordBo = new WmsGenerateRecordBo(); + recordBo.setContent(contentJson); + recordBo.setSerialNumber(oldCoil.getEnterCoilNo() + "-" + mergedCoilBo.getCurrentCoilNo()); + recordBo.setQrcodeType(0L); + recordBo.setIsEnabled(0L); + recordBo.setSize(200L); + + WmsGenerateRecordVo record = generateRecordService.insertByBo(recordBo); + return record.getRecordId(); + } catch (Exception e) { + throw new RuntimeException("生成合卷二维码失败: " + e.getMessage()); + } + } + /** + * 更新二维码内容(单个更新) + */ + private void updateQrcodeContent(Long qrcodeRecordId, WmsMaterialCoilBo bo) { + try { + // 获取原钢卷信息 + WmsMaterialCoil oldCoil = baseMapper.selectById(bo.getCoilId()); + + // 获取原二维码记录 + WmsGenerateRecordVo oldRecord = generateRecordService.queryById(qrcodeRecordId); + if (oldRecord == null) { + throw new RuntimeException("二维码记录不存在"); + } + + // 解析现有content + ObjectMapper objectMapper = new ObjectMapper(); + Map contentMap = objectMapper.readValue(oldRecord.getContent(), Map.class); + + // 获取现有steps + @SuppressWarnings("unchecked") + List> steps = (List>) contentMap.get("steps"); + if (steps == null) { + steps = new ArrayList<>(); + } + + // 添加新的step,记录钢卷号的变化 + Map newStep = new HashMap<>(); + newStep.put("step", steps.size() + 1); + newStep.put("action", "更新"); + newStep.put("old_current_coil_no", oldCoil.getCurrentCoilNo()); // 原当前钢卷号 + newStep.put("new_current_coil_no", bo.getCurrentCoilNo()); // 新当前钢卷号 + + // 判断操作类型 + if (bo.getHasMergeSplit() != null && bo.getHasMergeSplit() == 2) { + newStep.put("operation", "合卷"); + newStep.put("parent_coil_nos", bo.getParentCoilNos()); + } else if (bo.getHasMergeSplit() != null && bo.getHasMergeSplit() == 1) { + newStep.put("operation", "分卷"); + newStep.put("new_current_coil_nos", bo.getCurrentCoilNo()); + } else { + newStep.put("operation", "更新"); + } + + steps.add(newStep); + contentMap.put("steps", steps); + // 更新当前钢卷号到最外层(方便快速查看) + contentMap.put("current_coil_no", bo.getCurrentCoilNo()); + + // 更新二维码记录 + String newContentJson = objectMapper.writeValueAsString(contentMap); + WmsGenerateRecordBo updateBo = new WmsGenerateRecordBo(); + updateBo.setRecordId(qrcodeRecordId); + updateBo.setContent(newContentJson); + generateRecordService.updateByBo(updateBo); + } catch (Exception e) { + throw new RuntimeException("更新二维码失败: " + e.getMessage()); + } + } + + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsMaterialCoil entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除钢卷物料表 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } + + /** + * 钢卷溯源查询 + * 根据入场钢卷号查询二维码,解析content中的steps,然后根据steps中的钢卷号反向查询数据库 + * + * @param enterCoilNo 入场钢卷号 + * @param currentCoilNo 当前钢卷号(可选,用于查询特定子钢卷) + * @return 溯源结果(包含二维码信息和数据库记录) + */ + @Override + public Map queryTrace(String enterCoilNo, String currentCoilNo) { + try { + // 1. 根据入场钢卷号查询二维码记录 + WmsGenerateRecordBo qrBo = new WmsGenerateRecordBo(); + qrBo.setSerialNumber(enterCoilNo); + List qrRecords = generateRecordService.queryList(qrBo); + + if (qrRecords.isEmpty()) { + throw new RuntimeException("未找到对应的二维码记录"); + } + + // 取第一个(应该只有一个) + WmsGenerateRecordVo qrRecord = qrRecords.get(0); + + // 2. 解析二维码content中的steps + ObjectMapper objectMapper = new ObjectMapper(); + @SuppressWarnings("unchecked") + Map contentMap = objectMapper.readValue(qrRecord.getContent(), Map.class); + + @SuppressWarnings("unchecked") + List> steps = (List>) contentMap.get("steps"); + + // 3. 从steps中提取所有钢卷号 + Set coilNos = new HashSet<>(); + if (steps != null) { + for (Map step : steps) { + // 提取各种可能的钢卷号字段 + extractCoilNo(step, "current_coil_no", coilNos); + extractCoilNo(step, "new_current_coil_no", coilNos); + extractCoilNo(step, "old_current_coil_no", coilNos); + extractCoilNo(step, "new_current_coil_nos", coilNos); + extractCoilNo(step, "merged_from", coilNos); + extractCoilNo(step, "parent_coil_nos", coilNos); + } + } + + // 4. 如果指定了当前钢卷号,过滤出相关的钢卷号 + Set filteredCoilNos = coilNos; + if (currentCoilNo != null && !currentCoilNo.trim().isEmpty()) { + final String filterValue = currentCoilNo; // 用于lambda的final变量 + filteredCoilNos = coilNos.stream() + .filter(coilNo -> coilNo.contains(filterValue)) + .collect(Collectors.toSet()); + } + + // 5. 根据提取的钢卷号反向查询数据库 + List result = new ArrayList<>(); + if (!filteredCoilNos.isEmpty()) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(WmsMaterialCoil::getEnterCoilNo, enterCoilNo); + + // 查询包含提取出的钢卷号的记录 + final Set finalCoilNos = filteredCoilNos; // 用于lambda的final变量 + lqw.and(wrapper -> { + int count = 0; + for (String coilNo : finalCoilNos) { + if (count == 0) { + wrapper.like(WmsMaterialCoil::getCurrentCoilNo, coilNo); + } else { + wrapper.or().like(WmsMaterialCoil::getCurrentCoilNo, coilNo); + } + count++; + } + }); + + lqw.orderByAsc(WmsMaterialCoil::getCreateTime); + result = baseMapper.selectVoList(lqw); + } + + // 6. 构建返回结果 + Map resultMap = new HashMap<>(); + resultMap.put("qrcode", qrRecord); + resultMap.put("steps", steps); + resultMap.put("records", result); + + return resultMap; + } catch (Exception e) { + throw new RuntimeException("溯源查询失败: " + e.getMessage()); + } + } + + /** + * 从step中提取钢卷号 + */ + private void extractCoilNo(Map step, String fieldName, Set coilNos) { + Object value = step.get(fieldName); + if (value != null) { + String strValue = value.toString(); + if (strValue.contains(",")) { + // 如果是逗号分隔的多个钢卷号,分割后添加 + String[] coilArray = strValue.split(","); + for (String coilNo : coilArray) { + coilNos.add(coilNo.trim()); + } + } else { + coilNos.add(strValue.trim()); + } + } + } +} + diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java index 04832858..3103bf47 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java @@ -102,8 +102,6 @@ public class WmsStockServiceImpl implements IWmsStockService { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(StringUtils.isNotBlank(bo.getItemType()), WmsStock::getItemType, bo.getItemType()); lqw.eq(bo.getItemId() != null, WmsStock::getItemId, bo.getItemId()); - lqw.eq(bo.getQuantity() != null, WmsStock::getQuantity, bo.getQuantity()); - lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsStock::getUnit, bo.getUnit()); lqw.eq(StringUtils.isNotBlank(bo.getBatchNo()), WmsStock::getBatchNo, bo.getBatchNo()); return lqw; } @@ -125,8 +123,6 @@ public class WmsStockServiceImpl implements IWmsStockService { qw.eq(StringUtils.isNotBlank(bo.getItemType()), "s.item_type", bo.getItemType()); qw.eq(bo.getItemId() != null, "s.item_id", bo.getItemId()); - qw.eq(bo.getQuantity() != null, "s.quantity", bo.getQuantity()); - qw.eq(StringUtils.isNotBlank(bo.getUnit()), "s.unit", bo.getUnit()); qw.eq(StringUtils.isNotBlank(bo.getBatchNo()), "s.batch_no", bo.getBatchNo()); return qw; @@ -179,7 +175,37 @@ public class WmsStockServiceImpl implements IWmsStockService { return baseMapper.getStockByItemId(rawMaterialId); } - + /** + * 查询库存分布(按仓库统计) + */ + @Override + public WmsStockVo queryStockDistribution(WmsStockBo bo) { + if (bo.getItemType() == null || bo.getItemId() == null) { + throw new RuntimeException("物品类型和物品ID不能为空"); + } + + // 1. 计算总库存量 + BigDecimal totalQuantity = BigDecimal.ZERO; + + // 2. 按仓库统计库存分布 + List distributionList = baseMapper.selectStockDistribution(bo.getItemType(), bo.getItemId()); + + // 计算总量 + for (WmsStockVo vo : distributionList) { + if (vo.getTotalQuantity() != null) { + totalQuantity = totalQuantity.add(vo.getTotalQuantity()); + } + } + + // 构建返回对象 + WmsStockVo result = new WmsStockVo(); + result.setItemType(bo.getItemType()); + result.setItemId(bo.getItemId()); + result.setTotalQuantity(totalQuantity); + result.setStockDistribution(distributionList); + + return result; + } /** * 获取指定仓库ID及其所有子仓库ID diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml new file mode 100644 index 00000000..df473fad --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml index 4c2312e1..9aa5d083 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml @@ -9,8 +9,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - @@ -39,7 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN s.item_type = 'product' THEN p.product_code WHEN s.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL - END AS itemCode + END AS itemCode, + (SELECT COUNT(*) + FROM wms_material_coil mc + WHERE mc.item_type = s.item_type + AND mc.item_id = s.item_id + AND mc.del_flag = 0) AS totalQuantity FROM wms_stock s LEFT JOIN wms_product p ON s.item_type = 'product' AND s.item_id = p.product_id and p.del_flag = 0 LEFT JOIN wms_raw_material r ON s.item_type = 'raw_material' AND s.item_id = r.raw_material_id and r.del_flag = 0 @@ -47,4 +50,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${ew.customSqlSegment} + + + diff --git a/script/sql/mysql/klp-oa.sql b/script/sql/mysql/klp-oa.sql new file mode 100644 index 00000000..51e42289 --- /dev/null +++ b/script/sql/mysql/klp-oa.sql @@ -0,0 +1,3549 @@ +/* + Navicat Premium Dump SQL + + Source Server : klp + Source Server Type : MySQL + Source Server Version : 80042 (8.0.42-0ubuntu0.24.04.2) + Source Host : 140.143.206.120:3306 + Source Schema : klp-oa + + Target Server Type : MySQL + Target Server Version : 80042 (8.0.42-0ubuntu0.24.04.2) + File Encoding : 65001 + + Date: 28/10/2025 09:05:30 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ACT_EVT_LOG +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_EVT_LOG`; +CREATE TABLE `ACT_EVT_LOG` ( + `LOG_NR_` bigint NOT NULL AUTO_INCREMENT, + `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DATA_` longblob NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `IS_PROCESSED_` tinyint NULL DEFAULT 0, + PRIMARY KEY (`LOG_NR_`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_GE_BYTEARRAY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_BYTEARRAY`; +CREATE TABLE `ACT_GE_BYTEARRAY` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BYTES_` longblob NULL, + `GENERATED_` tinyint NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_FK_BYTEARR_DEPL`(`DEPLOYMENT_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_GE_PROPERTY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_PROPERTY`; +CREATE TABLE `ACT_GE_PROPERTY` ( + `NAME_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `VALUE_` varchar(300) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REV_` int NULL DEFAULT NULL, + PRIMARY KEY (`NAME_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_ACTINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ACTINST`; +CREATE TABLE `ACT_HI_ACTINST` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT 1, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) NULL DEFAULT NULL, + `TRANSACTION_ORDER_` int NULL DEFAULT NULL, + `DURATION_` bigint NULL DEFAULT NULL, + `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_ACT_INST_START`(`START_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ACT_INST_END`(`END_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ACT_INST_PROCINST`(`PROC_INST_ID_` ASC, `ACT_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ACT_INST_EXEC`(`EXECUTION_ID_` ASC, `ACT_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_ATTACHMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ATTACHMENT`; +CREATE TABLE `ACT_HI_ATTACHMENT` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `URL_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CONTENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TIME_` datetime(3) NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_COMMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_COMMENT`; +CREATE TABLE `ACT_HI_COMMENT` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACTION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `MESSAGE_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `FULL_MSG_` longblob NULL, + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_DETAIL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_DETAIL`; +CREATE TABLE `ACT_HI_DETAIL` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `VAR_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REV_` int NULL DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DOUBLE_` double NULL DEFAULT NULL, + `LONG_` bigint NULL DEFAULT NULL, + `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_DETAIL_PROC_INST`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_DETAIL_ACT_INST`(`ACT_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_DETAIL_TIME`(`TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_DETAIL_NAME`(`NAME_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_DETAIL_TASK_ID`(`TASK_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_ENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ENTITYLINK`; +CREATE TABLE `ACT_HI_ENTITYLINK` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_ENT_LNK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ENT_LNK_REF_SCOPE`(`REF_SCOPE_ID_` ASC, `REF_SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ENT_LNK_ROOT_SCOPE`(`ROOT_SCOPE_ID_` ASC, `ROOT_SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_ENT_LNK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_IDENTITYLINK`; +CREATE TABLE `ACT_HI_IDENTITYLINK` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_USER`(`USER_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_TASK`(`TASK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_IDENT_LNK_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_PROCINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_PROCINST`; +CREATE TABLE `ACT_HI_PROCINST` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT 1, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) NULL DEFAULT NULL, + `DURATION_` bigint NULL DEFAULT NULL, + `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `END_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUPER_PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + UNIQUE INDEX `PROC_INST_ID_`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PRO_INST_END`(`END_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PRO_I_BUSKEY`(`BUSINESS_KEY_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PRO_SUPER_PROCINST`(`SUPER_PROCESS_INSTANCE_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_TASKINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_TASKINST`; +CREATE TABLE `ACT_HI_TASKINST` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT 1, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `CLAIM_TIME_` datetime(3) NULL DEFAULT NULL, + `END_TIME_` datetime(3) NULL DEFAULT NULL, + `DURATION_` bigint NULL DEFAULT NULL, + `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PRIORITY_` int NULL DEFAULT NULL, + `DUE_DATE_` datetime(3) NULL DEFAULT NULL, + `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `LAST_UPDATED_TIME_` datetime(3) NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_TASK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_TASK_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_TASK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_TASK_INST_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_TSK_LOG +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_TSK_LOG`; +CREATE TABLE `ACT_HI_TSK_LOG` ( + `ID_` bigint NOT NULL AUTO_INCREMENT, + `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `TIME_STAMP_` timestamp(3) NOT NULL, + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DATA_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_HI_VARINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_VARINST`; +CREATE TABLE `ACT_HI_VARINST` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT 1, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `VAR_TYPE_` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DOUBLE_` double NULL DEFAULT NULL, + `LONG_` bigint NULL DEFAULT NULL, + `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NULL DEFAULT NULL, + `LAST_UPDATED_TIME_` datetime(3) NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_HI_PROCVAR_NAME_TYPE`(`NAME_` ASC, `VAR_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_VAR_SCOPE_ID_TYPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_VAR_SUB_ID_TYPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PROCVAR_PROC_INST`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PROCVAR_TASK_ID`(`TASK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_HI_PROCVAR_EXE`(`EXECUTION_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_PROCDEF_INFO +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_PROCDEF_INFO`; +CREATE TABLE `ACT_PROCDEF_INFO` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `INFO_JSON_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + UNIQUE INDEX `ACT_UNIQ_INFO_PROCDEF`(`PROC_DEF_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_INFO_PROCDEF`(`PROC_DEF_ID_` ASC) USING BTREE, + INDEX `ACT_FK_INFO_JSON_BA`(`INFO_JSON_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_INFO_JSON_BA` FOREIGN KEY (`INFO_JSON_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_INFO_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RE_DEPLOYMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_DEPLOYMENT`; +CREATE TABLE `ACT_RE_DEPLOYMENT` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL, + `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RE_MODEL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_MODEL`; +CREATE TABLE `ACT_RE_MODEL` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `VERSION_` int NULL DEFAULT NULL, + `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EDITOR_SOURCE_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_FK_MODEL_SOURCE`(`EDITOR_SOURCE_VALUE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_MODEL_SOURCE_EXTRA`(`EDITOR_SOURCE_EXTRA_VALUE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_MODEL_DEPLOYMENT`(`DEPLOYMENT_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_MODEL_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_MODEL_SOURCE` FOREIGN KEY (`EDITOR_SOURCE_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_MODEL_SOURCE_EXTRA` FOREIGN KEY (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RE_PROCDEF +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_PROCDEF`; +CREATE TABLE `ACT_RE_PROCDEF` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `VERSION_` int NOT NULL, + `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DGRM_RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HAS_START_FORM_KEY_` tinyint NULL DEFAULT NULL, + `HAS_GRAPHICAL_NOTATION_` tinyint NULL DEFAULT NULL, + `SUSPENSION_STATE_` int NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DERIVED_VERSION_` int NOT NULL DEFAULT 0, + PRIMARY KEY (`ID_`) USING BTREE, + UNIQUE INDEX `ACT_UNIQ_PROCDEF`(`KEY_` ASC, `VERSION_` ASC, `DERIVED_VERSION_` ASC, `TENANT_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_ACTINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_ACTINST`; +CREATE TABLE `ACT_RU_ACTINST` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT 1, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) NULL DEFAULT NULL, + `DURATION_` bigint NULL DEFAULT NULL, + `TRANSACTION_ORDER_` int NULL DEFAULT NULL, + `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_START`(`START_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_END`(`END_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_PROC`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_PROC_ACT`(`PROC_INST_ID_` ASC, `ACT_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_EXEC`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_EXEC_ACT`(`EXECUTION_ID_` ASC, `ACT_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_ACTI_TASK`(`TASK_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_DEADLETTER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_DEADLETTER_JOB`; +CREATE TABLE `ACT_RU_DEADLETTER_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_DEADLETTER_JOB_EXCEPTION_STACK_ID`(`EXCEPTION_STACK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_DEADLETTER_JOB_CUSTOM_VALUES_ID`(`CUSTOM_VALUES_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_DEADLETTER_JOB_CORRELATION_ID`(`CORRELATION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_DJOB_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_DJOB_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_DJOB_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_DEADLETTER_JOB_EXECUTION`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE`(`PROCESS_INSTANCE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_DEADLETTER_JOB_PROC_DEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_DEADLETTER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_ENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_ENTITYLINK`; +CREATE TABLE `ACT_RU_ENTITYLINK` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NULL DEFAULT NULL, + `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_ENT_LNK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_ENT_LNK_REF_SCOPE`(`REF_SCOPE_ID_` ASC, `REF_SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_ENT_LNK_ROOT_SCOPE`(`ROOT_SCOPE_ID_` ASC, `ROOT_SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_ENT_LNK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC, `LINK_TYPE_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_EVENT_SUBSCR +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EVENT_SUBSCR`; +CREATE TABLE `ACT_RU_EVENT_SUBSCR` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `EVENT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EVENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACTIVITY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CONFIGURATION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATED_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_EVENT_SUBSCR_CONFIG_`(`CONFIGURATION_` ASC) USING BTREE, + INDEX `ACT_IDX_EVENT_SUBSCR_SCOPEREF_`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_EVENT_EXEC`(`EXECUTION_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_EXECUTION +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EXECUTION`; +CREATE TABLE `ACT_RU_EXECUTION` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUPER_EXEC_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ROOT_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `IS_ACTIVE_` tinyint NULL DEFAULT NULL, + `IS_CONCURRENT_` tinyint NULL DEFAULT NULL, + `IS_SCOPE_` tinyint NULL DEFAULT NULL, + `IS_EVENT_SCOPE_` tinyint NULL DEFAULT NULL, + `IS_MI_ROOT_` tinyint NULL DEFAULT NULL, + `SUSPENSION_STATE_` int NULL DEFAULT NULL, + `CACHED_ENT_STATE_` int NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `START_TIME_` datetime(3) NULL DEFAULT NULL, + `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `IS_COUNT_ENABLED_` tinyint NULL DEFAULT NULL, + `EVT_SUBSCR_COUNT_` int NULL DEFAULT NULL, + `TASK_COUNT_` int NULL DEFAULT NULL, + `JOB_COUNT_` int NULL DEFAULT NULL, + `TIMER_JOB_COUNT_` int NULL DEFAULT NULL, + `SUSP_JOB_COUNT_` int NULL DEFAULT NULL, + `DEADLETTER_JOB_COUNT_` int NULL DEFAULT NULL, + `EXTERNAL_WORKER_JOB_COUNT_` int NULL DEFAULT NULL, + `VAR_COUNT_` int NULL DEFAULT NULL, + `ID_LINK_COUNT_` int NULL DEFAULT NULL, + `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_EXEC_BUSKEY`(`BUSINESS_KEY_` ASC) USING BTREE, + INDEX `ACT_IDC_EXEC_ROOT`(`ROOT_PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_EXEC_REF_ID_`(`REFERENCE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_EXE_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_FK_EXE_PARENT`(`PARENT_ID_` ASC) USING BTREE, + INDEX `ACT_FK_EXE_SUPER`(`SUPER_EXEC_` ASC) USING BTREE, + INDEX `ACT_FK_EXE_PROCDEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_EXE_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ACT_FK_EXE_SUPER` FOREIGN KEY (`SUPER_EXEC_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_EXTERNAL_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EXTERNAL_JOB`; +CREATE TABLE `ACT_RU_EXTERNAL_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RETRIES_` int NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_EXTERNAL_JOB_EXCEPTION_STACK_ID`(`EXCEPTION_STACK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_EXTERNAL_JOB_CUSTOM_VALUES_ID`(`CUSTOM_VALUES_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_EXTERNAL_JOB_CORRELATION_ID`(`CORRELATION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_EJOB_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_EJOB_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_EJOB_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_EXTERNAL_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_EXTERNAL_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_HISTORY_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_HISTORY_JOB`; +CREATE TABLE `ACT_RU_HISTORY_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RETRIES_` int NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ADV_HANDLER_CFG_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_IDENTITYLINK`; +CREATE TABLE `ACT_RU_IDENTITYLINK` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_IDENT_LNK_USER`(`USER_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_IDENT_LNK_GROUP`(`GROUP_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_IDENT_LNK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_IDENT_LNK_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_IDENT_LNK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_ATHRZ_PROCEDEF`(`PROC_DEF_ID_` ASC) USING BTREE, + INDEX `ACT_FK_TSKASS_TASK`(`TASK_ID_` ASC) USING BTREE, + INDEX `ACT_FK_IDL_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_ATHRZ_PROCEDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_IDL_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TSKASS_TASK` FOREIGN KEY (`TASK_ID_`) REFERENCES `ACT_RU_TASK` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_JOB`; +CREATE TABLE `ACT_RU_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RETRIES_` int NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_JOB_EXCEPTION_STACK_ID`(`EXCEPTION_STACK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_JOB_CUSTOM_VALUES_ID`(`CUSTOM_VALUES_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_JOB_CORRELATION_ID`(`CORRELATION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_JOB_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_JOB_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_JOB_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_JOB_EXECUTION`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_JOB_PROCESS_INSTANCE`(`PROCESS_INSTANCE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_JOB_PROC_DEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_SUSPENDED_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_SUSPENDED_JOB`; +CREATE TABLE `ACT_RU_SUSPENDED_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RETRIES_` int NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_SUSPENDED_JOB_EXCEPTION_STACK_ID`(`EXCEPTION_STACK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_SUSPENDED_JOB_CUSTOM_VALUES_ID`(`CUSTOM_VALUES_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_SUSPENDED_JOB_CORRELATION_ID`(`CORRELATION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_SJOB_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_SJOB_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_SJOB_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_SUSPENDED_JOB_EXECUTION`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE`(`PROCESS_INSTANCE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_SUSPENDED_JOB_PROC_DEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_SUSPENDED_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_TASK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TASK`; +CREATE TABLE `ACT_RU_TASK` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DELEGATION_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PRIORITY_` int NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `DUE_DATE_` datetime(3) NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUSPENSION_STATE_` int NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CLAIM_TIME_` datetime(3) NULL DEFAULT NULL, + `IS_COUNT_ENABLED_` tinyint NULL DEFAULT NULL, + `VAR_COUNT_` int NULL DEFAULT NULL, + `ID_LINK_COUNT_` int NULL DEFAULT NULL, + `SUB_TASK_COUNT_` int NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_TASK_CREATE`(`CREATE_TIME_` ASC) USING BTREE, + INDEX `ACT_IDX_TASK_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_TASK_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_TASK_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_TASK_EXE`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_TASK_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE, + INDEX `ACT_FK_TASK_PROCDEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_TASK_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TASK_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TASK_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_TIMER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TIMER_JOB`; +CREATE TABLE `ACT_RU_TIMER_JOB` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) NULL DEFAULT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RETRIES_` int NULL DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_TIMER_JOB_EXCEPTION_STACK_ID`(`EXCEPTION_STACK_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_TIMER_JOB_CUSTOM_VALUES_ID`(`CUSTOM_VALUES_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_TIMER_JOB_CORRELATION_ID`(`CORRELATION_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_TIMER_JOB_DUEDATE`(`DUEDATE_` ASC) USING BTREE, + INDEX `ACT_IDX_TJOB_SCOPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_TJOB_SUB_SCOPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_TJOB_SCOPE_DEF`(`SCOPE_DEFINITION_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_TIMER_JOB_EXECUTION`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_TIMER_JOB_PROCESS_INSTANCE`(`PROCESS_INSTANCE_ID_` ASC) USING BTREE, + INDEX `ACT_FK_TIMER_JOB_PROC_DEF`(`PROC_DEF_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_TIMER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TIMER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TIMER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TIMER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ACT_RU_VARIABLE +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_VARIABLE`; +CREATE TABLE `ACT_RU_VARIABLE` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `DOUBLE_` double NULL DEFAULT NULL, + `LONG_` bigint NULL DEFAULT NULL, + `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `ACT_IDX_RU_VAR_SCOPE_ID_TYPE`(`SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_IDX_RU_VAR_SUB_ID_TYPE`(`SUB_SCOPE_ID_` ASC, `SCOPE_TYPE_` ASC) USING BTREE, + INDEX `ACT_FK_VAR_BYTEARRAY`(`BYTEARRAY_ID_` ASC) USING BTREE, + INDEX `ACT_IDX_VARIABLE_TASK_ID`(`TASK_ID_` ASC) USING BTREE, + INDEX `ACT_FK_VAR_EXE`(`EXECUTION_ID_` ASC) USING BTREE, + INDEX `ACT_FK_VAR_PROCINST`(`PROC_INST_ID_` ASC) USING BTREE, + CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_CHANNEL_DEFINITION +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_CHANNEL_DEFINITION`; +CREATE TABLE `FLW_CHANNEL_DEFINITION` ( + `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `VERSION_` int NULL DEFAULT NULL, + `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `TYPE_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `IMPLEMENTATION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + UNIQUE INDEX `ACT_IDX_CHANNEL_DEF_UNIQ`(`KEY_` ASC, `VERSION_` ASC, `TENANT_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_EVENT_DEFINITION +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_DEFINITION`; +CREATE TABLE `FLW_EVENT_DEFINITION` ( + `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `VERSION_` int NULL DEFAULT NULL, + `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE, + UNIQUE INDEX `ACT_IDX_EVENT_DEF_UNIQ`(`KEY_` ASC, `VERSION_` ASC, `TENANT_ID_` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_EVENT_DEPLOYMENT +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_DEPLOYMENT`; +CREATE TABLE `FLW_EVENT_DEPLOYMENT` ( + `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DEPLOY_TIME_` datetime(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_EVENT_RESOURCE +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_RESOURCE`; +CREATE TABLE `FLW_EVENT_RESOURCE` ( + `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `RESOURCE_BYTES_` longblob NULL, + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_EV_DATABASECHANGELOG +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EV_DATABASECHANGELOG`; +CREATE TABLE `FLW_EV_DATABASECHANGELOG` ( + `ID` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `AUTHOR` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `FILENAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DATEEXECUTED` datetime NOT NULL, + `ORDEREXECUTED` int NOT NULL, + `EXECTYPE` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `MD5SUM` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DESCRIPTION` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `COMMENTS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `TAG` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `LIQUIBASE` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `CONTEXTS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `LABELS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `DEPLOYMENT_ID` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_EV_DATABASECHANGELOGLOCK +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EV_DATABASECHANGELOGLOCK`; +CREATE TABLE `FLW_EV_DATABASECHANGELOGLOCK` ( + `ID` int NOT NULL, + `LOCKED` bit(1) NOT NULL, + `LOCKGRANTED` datetime NULL DEFAULT NULL, + `LOCKEDBY` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_RU_BATCH +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_RU_BATCH`; +CREATE TABLE `FLW_RU_BATCH` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NOT NULL, + `COMPLETE_TIME_` datetime(3) NULL DEFAULT NULL, + `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `BATCH_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for FLW_RU_BATCH_PART +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_RU_BATCH_PART`; +CREATE TABLE `FLW_RU_BATCH_PART` ( + `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `REV_` int NULL DEFAULT NULL, + `BATCH_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, + `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `CREATE_TIME_` datetime(3) NOT NULL, + `COMPLETE_TIME_` datetime(3) NULL DEFAULT NULL, + `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `RESULT_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '', + PRIMARY KEY (`ID_`) USING BTREE, + INDEX `FLW_IDX_BATCH_PART`(`BATCH_ID_` ASC) USING BTREE, + CONSTRAINT `FLW_FK_BATCH_PART_PARENT` FOREIGN KEY (`BATCH_ID_`) REFERENCES `FLW_RU_BATCH` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_check_machinery +-- ---------------------------- +DROP TABLE IF EXISTS `dv_check_machinery`; +CREATE TABLE `dv_check_machinery` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '流水号', + `plan_id` bigint NOT NULL COMMENT '计划ID', + `machinery_id` bigint NOT NULL COMMENT '设备ID', + `machinery_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + `machinery_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称', + `machinery_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '品牌', + `machinery_spec` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 207 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '点检设备表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_check_plan +-- ---------------------------- +DROP TABLE IF EXISTS `dv_check_plan`; +CREATE TABLE `dv_check_plan` ( + `plan_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID', + `plan_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划编码', + `plan_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划名称', + `plan_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划类型', + `start_date` datetime NULL DEFAULT NULL COMMENT '开始日期', + `end_date` datetime NULL DEFAULT NULL COMMENT '结束日期', + `cycle_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频率', + `cycle_count` int NULL DEFAULT NULL COMMENT '次数', + `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`plan_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 210 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备点检保养计划头表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_check_record +-- ---------------------------- +DROP TABLE IF EXISTS `dv_check_record`; +CREATE TABLE `dv_check_record` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID', + `plan_id` bigint NULL DEFAULT NULL COMMENT '计划ID', + `plan_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划编码', + `plan_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划名称', + `plan_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划类型', + `machinery_id` bigint NOT NULL COMMENT '设备ID', + `machinery_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + `machinery_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称', + `machinery_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '品牌', + `machinery_spec` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `check_time` datetime NOT NULL COMMENT '点检时间', + `user_id` bigint NULL DEFAULT NULL COMMENT '点检人', + `user_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '点检人用户名', + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '点检人名称', + `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'PREPARE' COMMENT '状态', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 224 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备点检记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_check_record_line +-- ---------------------------- +DROP TABLE IF EXISTS `dv_check_record_line`; +CREATE TABLE `dv_check_record_line` ( + `line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID', + `record_id` bigint NOT NULL COMMENT '计划ID', + `subject_id` bigint NOT NULL COMMENT '项目ID', + `subject_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + `subject_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称', + `subject_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目类型', + `subject_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + `subject_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标准', + `check_status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点检结果', + `check_result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '异常描述', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`line_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 215 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备点检记录行表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_check_subject +-- ---------------------------- +DROP TABLE IF EXISTS `dv_check_subject`; +CREATE TABLE `dv_check_subject` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '流水号', + `plan_id` bigint NOT NULL COMMENT '计划ID', + `subject_id` bigint NOT NULL COMMENT '设备ID', + `subject_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + `subject_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称', + `subject_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目类型', + `subject_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + `subject_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标准', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '点检项目表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_machinery +-- ---------------------------- +DROP TABLE IF EXISTS `dv_machinery`; +CREATE TABLE `dv_machinery` ( + `machinery_id` bigint NOT NULL AUTO_INCREMENT COMMENT '设备类型ID', + `machinery_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型编码', + `machinery_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型名称', + `machinery_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '品牌', + `machinery_spec` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `machinery_type_id` bigint NOT NULL COMMENT '设备类型ID', + `machinery_type_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备类型编码', + `machinery_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备类型名称', + `workshop_id` bigint NOT NULL COMMENT '所属车间ID', + `workshop_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属车间编码', + `workshop_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属车间名称', + `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'STOP' COMMENT '设备状态', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `last_mainten_time` datetime NULL DEFAULT NULL COMMENT '最近保养时间', + `last_check_time` datetime NULL DEFAULT NULL COMMENT '最近点检时间', + PRIMARY KEY (`machinery_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 217 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_machinery_type +-- ---------------------------- +DROP TABLE IF EXISTS `dv_machinery_type`; +CREATE TABLE `dv_machinery_type` ( + `machinery_type_id` bigint NOT NULL AUTO_INCREMENT COMMENT '设备类型ID', + `machinery_type_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型编码', + `machinery_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型名称', + `parent_type_id` bigint NULL DEFAULT 0 COMMENT '父类型ID', + `ancestors` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '所有父节点ID', + `enable_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'Y' COMMENT '是否启用', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`machinery_type_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备类型表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_mainten_record +-- ---------------------------- +DROP TABLE IF EXISTS `dv_mainten_record`; +CREATE TABLE `dv_mainten_record` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID', + `plan_id` bigint NULL DEFAULT NULL COMMENT '计划ID', + `plan_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划编码', + `plan_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划名称', + `plan_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计划类型', + `machinery_id` bigint NOT NULL COMMENT '设备ID', + `machinery_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + `machinery_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称', + `machinery_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '品牌', + `machinery_spec` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `mainten_time` datetime NOT NULL COMMENT '保养时间', + `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID', + `user_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名', + `nick_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '昵称', + `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'PREPARE' COMMENT '状态', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 208 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备保养记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_mainten_record_line +-- ---------------------------- +DROP TABLE IF EXISTS `dv_mainten_record_line`; +CREATE TABLE `dv_mainten_record_line` ( + `line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID', + `record_id` bigint NOT NULL COMMENT '计划ID', + `subject_id` bigint NOT NULL COMMENT '项目ID', + `subject_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + `subject_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称', + `subject_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目类型', + `subject_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + `subject_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标准', + `mainten_status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '保养结果', + `mainten_result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '异常描述', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`line_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备保养记录行表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_repair +-- ---------------------------- +DROP TABLE IF EXISTS `dv_repair`; +CREATE TABLE `dv_repair` ( + `repair_id` bigint NOT NULL AUTO_INCREMENT COMMENT '维修单ID', + `repair_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '维修单编号', + `repair_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '维修单名称', + `machinery_id` bigint NOT NULL COMMENT '设备ID', + `machinery_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + `machinery_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称', + `machinery_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '品牌', + `machinery_spec` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `machinery_type_id` bigint NULL DEFAULT NULL COMMENT '设备类型ID', + `require_date` datetime NULL DEFAULT NULL COMMENT '报修日期', + `finish_date` datetime NULL DEFAULT NULL COMMENT '维修完成日期', + `confirm_date` datetime NULL DEFAULT NULL COMMENT '验收日期', + `repair_result` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '维修结果', + `accepted_id` bigint NULL DEFAULT NULL COMMENT '维修人员ID', + `accepted_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '维修人员用户名', + `accepted_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '维修人员名称', + `confirm_id` bigint NULL DEFAULT NULL COMMENT '验收人员ID', + `confirm_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '验收人员用户名', + `confirm_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '验收人员名称', + `source_doc_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源单据类型', + `source_doc_id` bigint NULL DEFAULT NULL COMMENT '来源单据ID', + `source_doc_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源单据编号', + `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'PREPARE' COMMENT '单据状态', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`repair_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 205 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备维修单' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_repair_line +-- ---------------------------- +DROP TABLE IF EXISTS `dv_repair_line`; +CREATE TABLE `dv_repair_line` ( + `line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '行ID', + `repair_id` bigint NOT NULL COMMENT '维修单ID', + `subject_id` bigint NULL DEFAULT NULL COMMENT '项目ID', + `subject_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目编码', + `subject_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称', + `subject_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目类型', + `subject_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目内容', + `subject_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标准', + `malfunction` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '故障描述', + `malfunction_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障描述资源', + `repair_des` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '维修情况', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`line_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 205 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备维修单行' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_special_equipment +-- ---------------------------- +DROP TABLE IF EXISTS `dv_special_equipment`; +CREATE TABLE `dv_special_equipment` ( + `equipment_id` bigint NOT NULL COMMENT '设备ID', + `equipment_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + `equipment_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称(如:锅炉、压力容器、压力管道、电梯、起重机械等)', + `specification_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号', + `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '制造单位', + `production_date` date NULL DEFAULT NULL COMMENT '制造日期', + `installation_date` date NULL DEFAULT NULL COMMENT '安装日期', + `use_start_date` date NULL DEFAULT NULL COMMENT '投入使用日期', + `registration_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '特种设备注册编号', + `safety_manager` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '安全负责人', + `attachment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件路径(多个附件用逗号分隔)', + `inspection_cycle` int NOT NULL COMMENT '检验周期(月)', + `last_inspection_time` datetime NULL DEFAULT NULL COMMENT '上次检验时间', + `next_inspection_time` datetime NULL DEFAULT NULL COMMENT '下次检验时间', + `current_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前状态(在用、停用、报废等)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`equipment_id`) USING BTREE, + INDEX `idx_equipment_code`(`equipment_code` ASC) USING BTREE, + INDEX `idx_equipment_type`(`equipment_name` ASC) USING BTREE, + INDEX `idx_next_inspection`(`next_inspection_time` ASC) USING BTREE, + INDEX `idx_safety_manager`(`safety_manager` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '特种设备表(包含锅炉、压力管道、电梯等特种设备信息)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for dv_subject +-- ---------------------------- +DROP TABLE IF EXISTS `dv_subject`; +CREATE TABLE `dv_subject` ( + `subject_id` bigint NOT NULL AUTO_INCREMENT COMMENT '项目ID', + `subject_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + `subject_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称', + `subject_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '项目类型', + `subject_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + `subject_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标准', + `enable_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'Y' COMMENT '是否启用', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + `attr1` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1', + `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2', + `attr3` int NULL DEFAULT 0 COMMENT '预留字段3', + `attr4` int NULL DEFAULT 0 COMMENT '预留字段4', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`subject_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 205 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备点检保养项目表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_alarm_device +-- ---------------------------- +DROP TABLE IF EXISTS `ems_alarm_device`; +CREATE TABLE `ems_alarm_device` ( + `device_id` bigint NOT NULL AUTO_INCREMENT, + `device_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备名称', + `device_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备编码', + `device_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备类型', + `location_id` bigint NOT NULL COMMENT '绑定的能源位置区域ID', + `status` tinyint NOT NULL DEFAULT 0 COMMENT '设备状态(0=正常 1=故障 2=离线)', + `ip_address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备IP地址', + `firmware_ver` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '固件版本', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`device_id`) USING BTREE, + UNIQUE INDEX `uk_device_code`(`device_code` ASC) USING BTREE, + INDEX `idx_device_location`(`location_id` ASC) USING BTREE, + INDEX `idx_device_status`(`status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1972864143538819074 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '安全警报设备表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_alarm_record +-- ---------------------------- +DROP TABLE IF EXISTS `ems_alarm_record`; +CREATE TABLE `ems_alarm_record` ( + `record_id` bigint NOT NULL AUTO_INCREMENT, + `device_id` bigint NOT NULL COMMENT '绑定的设备ID', + `alarm_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '警报类型', + `alarm_level` tinyint NOT NULL COMMENT '警报级别(1=低 2=中 3=高)', + `alarm_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '警报内容', + `alarm_time` datetime NOT NULL COMMENT '警报发生时间', + `handle_status` tinyint NOT NULL DEFAULT 0 COMMENT '处理状态(0=未处理 1=处理中 2=已处理)', + `handle_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理人', + `handle_time` datetime NULL DEFAULT NULL COMMENT '处理时间', + `handle_notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '处理备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`record_id`) USING BTREE, + INDEX `idx_record_device`(`device_id` ASC) USING BTREE, + INDEX `idx_record_alarm_time`(`alarm_time` ASC) USING BTREE, + INDEX `idx_record_handle_status`(`handle_status` ASC) USING BTREE, + INDEX `idx_record_alarm_level`(`alarm_level` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1978022967786717187 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '警报记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_alert +-- ---------------------------- +DROP TABLE IF EXISTS `ems_alert`; +CREATE TABLE `ems_alert` ( + `alert_id` bigint NOT NULL AUTO_INCREMENT, + `meter_id` bigint NOT NULL COMMENT '关联计量设备', + `alert_type` int NOT NULL COMMENT '告警类型:0=异常用量,1=高用量,2=设备故障', + `actual_value` decimal(15, 2) NULL DEFAULT NULL COMMENT '实际值', + `alert_time` datetime NOT NULL COMMENT '告警时间', + `status` int NOT NULL DEFAULT 0 COMMENT '告警状态:0=待处理,1=已处理', + `resolved_by` bigint NULL DEFAULT NULL COMMENT '处理人(不设外键)', + `resolved_time` datetime NULL DEFAULT NULL COMMENT '处理时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`alert_id`) USING BTREE, + INDEX `idx_alert_meter_time`(`meter_id` ASC, `alert_time` ASC) USING BTREE, + INDEX `idx_alert_status_time`(`status` ASC, `alert_time` ASC) USING BTREE, + CONSTRAINT `fk_alert_meter` FOREIGN KEY (`meter_id`) REFERENCES `ems_meter` (`meter_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `chk_alert_status` CHECK (`status` in (0,1)), + CONSTRAINT `chk_alert_type` CHECK (`alert_type` in (0,1,2)) +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '告警(alert_type 为 INT:0=异常用量,1=高用量,2=设备故障)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_energy_consumption +-- ---------------------------- +DROP TABLE IF EXISTS `ems_energy_consumption`; +CREATE TABLE `ems_energy_consumption` ( + `energy_consumption_id` bigint NOT NULL AUTO_INCREMENT, + `meter_id` bigint NOT NULL COMMENT '关联计量设备', + `start_reading` decimal(15, 2) NOT NULL COMMENT '起始读数', + `end_reading` decimal(15, 2) NOT NULL COMMENT '结束读数', + `consumption` decimal(15, 2) NOT NULL COMMENT '消耗量', + `start_time` datetime NOT NULL COMMENT '起始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `recorded_by` bigint NULL DEFAULT NULL COMMENT '记录人(不设外键)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`energy_consumption_id`) USING BTREE, + INDEX `idx_energy_consumption_meter_time`(`meter_id` ASC, `start_time` ASC, `end_time` ASC) USING BTREE, + CONSTRAINT `fk_energy_consumption_meter` FOREIGN KEY (`meter_id`) REFERENCES `ems_meter` (`meter_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `chk_consumption_readings` CHECK ((`start_reading` >= 0) and (`end_reading` >= `start_reading`)), + CONSTRAINT `chk_consumption_time` CHECK (`end_time` > `start_time`) +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '能耗记录' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_energy_rate +-- ---------------------------- +DROP TABLE IF EXISTS `ems_energy_rate`; +CREATE TABLE `ems_energy_rate` ( + `energy_rate_id` bigint NOT NULL AUTO_INCREMENT, + `energy_type_id` bigint NOT NULL COMMENT '关联能源类型', + `rate` decimal(10, 4) NOT NULL COMMENT '费率', + `currency` int NOT NULL DEFAULT 0 COMMENT '货币:0=CNY,1=USD,2=EUR', + `effective_date` date NOT NULL COMMENT '生效日期', + `expiry_date` date NULL DEFAULT NULL COMMENT '失效日期,NULL表示长期有效', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`energy_rate_id`) USING BTREE, + UNIQUE INDEX `uk_energy_rate_type_effective`(`energy_type_id` ASC, `effective_date` ASC) USING BTREE, + INDEX `idx_energy_rate_type_range`(`energy_type_id` ASC, `effective_date` ASC, `expiry_date` ASC) USING BTREE, + CONSTRAINT `fk_energy_rate_type` FOREIGN KEY (`energy_type_id`) REFERENCES `ems_energy_type` (`energy_type_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `chk_energy_rate_currency` CHECK (`currency` in (0,1,2)), + CONSTRAINT `chk_energy_rate_dates` CHECK ((`expiry_date` is null) or (`expiry_date` >= `effective_date`)), + CONSTRAINT `chk_energy_rate_nonneg` CHECK (`rate` >= 0) +) ENGINE = InnoDB AUTO_INCREMENT = 1972183276470505474 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '能源费率(currency 为 INT:0=CNY,1=USD,2=EUR)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_energy_type +-- ---------------------------- +DROP TABLE IF EXISTS `ems_energy_type`; +CREATE TABLE `ems_energy_type` ( + `energy_type_id` bigint NOT NULL AUTO_INCREMENT, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '能源名称,如:电力、自来水、天然气', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '计量单位,如:kWh、m³', + `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '能源编码', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '能源描述', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`energy_type_id`) USING BTREE, + UNIQUE INDEX `code`(`code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1972171221583654914 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '能源类型(阈值已移除)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_hazard_record +-- ---------------------------- +DROP TABLE IF EXISTS `ems_hazard_record`; +CREATE TABLE `ems_hazard_record` ( + `hazard_id` bigint NOT NULL AUTO_INCREMENT, + `device_id` bigint NOT NULL COMMENT '关联的设备ID', + `hazard_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '隐患类型', + `hazard_level` tinyint NOT NULL COMMENT '隐患级别(1=一般 2=较大 3=重大)', + `hazard_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '隐患描述', + `discovery_time` datetime NOT NULL COMMENT '发现时间', + `input_time` datetime NOT NULL COMMENT '录入时间', + `input_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '录入人', + `status` tinyint NOT NULL DEFAULT 0 COMMENT '处理状态(0=未处理 1=处理中 2=已整改 3=已关闭)', + `rectify_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '整改人', + `rectify_time` datetime NULL DEFAULT NULL COMMENT '整改时间', + `rectify_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '整改说明', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`hazard_id`) USING BTREE, + INDEX `idx_hazard_device`(`device_id` ASC) USING BTREE, + INDEX `idx_hazard_level`(`hazard_level` ASC) USING BTREE, + INDEX `idx_hazard_status`(`status` ASC) USING BTREE, + INDEX `idx_hazard_discovery_time`(`discovery_time` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备隐患记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_location +-- ---------------------------- +DROP TABLE IF EXISTS `ems_location`; +CREATE TABLE `ems_location` ( + `location_id` bigint NOT NULL AUTO_INCREMENT, + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区域名称', + `parent_id` bigint NULL DEFAULT NULL COMMENT '父级区域ID,用于构建区域层级', + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '区域描述', + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`location_id`) USING BTREE, + INDEX `idx_location_parent`(`parent_id` ASC) USING BTREE, + CONSTRAINT `fk_location_parent` FOREIGN KEY (`parent_id`) REFERENCES `ems_location` (`location_id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE = InnoDB AUTO_INCREMENT = 1972177408660180994 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '位置' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_meter +-- ---------------------------- +DROP TABLE IF EXISTS `ems_meter`; +CREATE TABLE `ems_meter` ( + `meter_id` bigint NOT NULL AUTO_INCREMENT, + `meter_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备编号', + `energy_type_id` bigint NOT NULL COMMENT '关联能源类型', + `location_id` bigint NULL DEFAULT NULL COMMENT '安装位置', + `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备型号', + `manufacturer` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '制造商', + `install_date` date NULL DEFAULT NULL COMMENT '安装日期', + `status` int NOT NULL DEFAULT 0 COMMENT '设备状态:0=在用,1=停用,2=维护', + `last_calibration_date` date NULL DEFAULT NULL COMMENT '上次校准日期', + `threshold_value` decimal(15, 2) NULL DEFAULT NULL COMMENT '阈值(按设备设置)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`meter_id`) USING BTREE, + UNIQUE INDEX `meter_code`(`meter_code` ASC) USING BTREE, + INDEX `idx_meter_energy_type`(`energy_type_id` ASC) USING BTREE, + INDEX `idx_meter_location`(`location_id` ASC) USING BTREE, + CONSTRAINT `fk_meter_energy_type` FOREIGN KEY (`energy_type_id`) REFERENCES `ems_energy_type` (`energy_type_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_meter_location` FOREIGN KEY (`location_id`) REFERENCES `ems_location` (`location_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `chk_meter_status` CHECK (`status` in (0,1,2)) +) ENGINE = InnoDB AUTO_INCREMENT = 1972180385030574083 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '计量设备(阈值移至此处)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for ems_safety_env_doc +-- ---------------------------- +DROP TABLE IF EXISTS `ems_safety_env_doc`; +CREATE TABLE `ems_safety_env_doc` ( + `doc_id` bigint NOT NULL AUTO_INCREMENT COMMENT '文档ID(主键)', + `doc_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文档编号(唯一)', + `doc_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文档名称', + `doc_category` tinyint NOT NULL COMMENT '文档分类(1=安全 2=环保)', + `doc_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文档类型(如:制度、规范、手册等)', + `accessory` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '附件', + `version` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1.0' COMMENT '文档版本', + `publish_status` tinyint NOT NULL DEFAULT 0 COMMENT '发布状态(0=草稿 1=已发布)', + `publish_time` date NULL DEFAULT NULL COMMENT '发布日期', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`doc_id`) USING BTREE, + INDEX `idx_doc_category`(`doc_category` ASC) USING BTREE, + INDEX `idx_doc_publish_status`(`publish_status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '安全环保制度文档表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for flyway_schema_history +-- ---------------------------- +DROP TABLE IF EXISTS `flyway_schema_history`; +CREATE TABLE `flyway_schema_history` ( + `installed_rank` int NOT NULL, + `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `script` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `checksum` int NULL DEFAULT NULL, + `installed_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `installed_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `execution_time` int NOT NULL, + `success` tinyint(1) NOT NULL, + PRIMARY KEY (`installed_rank`) USING BTREE, + INDEX `flyway_schema_history_s_idx`(`success` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL COMMENT '编号', + `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL COMMENT '编号', + `table_id` bigint NULL DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', + `sort` int NULL DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for is_inspection_commission +-- ---------------------------- +DROP TABLE IF EXISTS `is_inspection_commission`; +CREATE TABLE `is_inspection_commission` ( + `commission_id` bigint NOT NULL AUTO_INCREMENT COMMENT '委托单ID', + `commission_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '委托单号', + `client` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '委托单位', + `sample_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '样品名称', + `sample_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '样品类型', + `quantity` int NOT NULL COMMENT '样品数量', + `inspection_items` json NOT NULL COMMENT '检验项目(JSON数组)', + `commission_date` datetime NOT NULL COMMENT '委托日期', + `deadline` date NOT NULL COMMENT '要求完成日期', + `status` enum('待审核','已受理','已驳回') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '待审核' COMMENT '状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`commission_id`) USING BTREE, + UNIQUE INDEX `commission_no`(`commission_no` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1956229556746379267 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '检验委托单表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for is_inspection_task +-- ---------------------------- +DROP TABLE IF EXISTS `is_inspection_task`; +CREATE TABLE `is_inspection_task` ( + `task_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务单号', + `commission_id` bigint NOT NULL COMMENT '关联委托单ID', + `assigned_to` bigint NOT NULL COMMENT '负责人(用户ID)', + `start_time` datetime NULL DEFAULT NULL COMMENT '任务开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '任务完成时间', + `result` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '检验结果', + `conclusion` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '检验结论', + `status` enum('待分配','进行中','已完成','已审核') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '待分配' COMMENT '状态', + `priority` tinyint NULL DEFAULT 1 COMMENT '优先级(1-普通, 2-紧急)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE, + UNIQUE INDEX `task_no`(`task_no` ASC) USING BTREE, + INDEX `commission_id`(`commission_id` ASC) USING BTREE, + CONSTRAINT `is_inspection_task_ibfk_1` FOREIGN KEY (`commission_id`) REFERENCES `is_inspection_commission` (`commission_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1956230449726283778 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '检验任务表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for is_sample_inventory +-- ---------------------------- +DROP TABLE IF EXISTS `is_sample_inventory`; +CREATE TABLE `is_sample_inventory` ( + `sample_id` bigint NOT NULL AUTO_INCREMENT COMMENT '样品ID', + `commission_id` bigint NOT NULL COMMENT '关联委托单ID', + `location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存放位置(如:A区-3排-2架)', + `current_quantity` int NOT NULL COMMENT '当前库存量', + `storage_time` datetime NOT NULL COMMENT '入库时间', + `expiration_date` date NOT NULL COMMENT '有效期至', + `status` enum('在库','已出库','已销毁') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '在库' COMMENT '状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`sample_id`) USING BTREE, + INDEX `commission_id`(`commission_id` ASC) USING BTREE, + CONSTRAINT `is_sample_inventory_ibfk_1` FOREIGN KEY (`commission_id`) REFERENCES `is_inspection_commission` (`commission_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '样品库存表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for scan_result +-- ---------------------------- +DROP TABLE IF EXISTS `scan_result`; +CREATE TABLE `scan_result` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` bigint NOT NULL COMMENT '参数主键', + `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值', + `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL COMMENT '部门id', + `parent_id` bigint NULL DEFAULT 0 COMMENT '父部门id', + `ancestors` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称', + `order_num` int NULL DEFAULT 0 COMMENT '显示顺序', + `leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL COMMENT '字典编码', + `dict_sort` int NULL DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL COMMENT '字典主键', + `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL COMMENT '访问ID', + `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作系统', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息', + `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL COMMENT '菜单ID', + `menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', + `parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID', + `order_num` int NULL DEFAULT 0 COMMENT '显示顺序', + `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由地址', + `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件路径', + `query_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由参数', + `is_frame` int NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', + `is_cache` int NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '显示状态(0显示 1隐藏)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` bigint NOT NULL COMMENT '公告ID', + `notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告标题', + `notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob NULL COMMENT '公告内容', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL COMMENT '日志主键', + `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '模块标题', + `business_type` int NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求方式', + `operator_type` int NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '返回参数', + `status` int NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息', + `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`oper_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_oss +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss`; +CREATE TABLE `sys_oss` ( + `oss_id` bigint NOT NULL COMMENT '对象存储主键', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件名', + `original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '原名', + `file_suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件后缀名', + `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'URL地址', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '上传人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新人', + `service` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'minio' COMMENT '服务商', + PRIMARY KEY (`oss_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OSS对象存储表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_oss_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss_config`; +CREATE TABLE `sys_oss_config` ( + `oss_config_id` bigint NOT NULL COMMENT '主建', + `config_key` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配置key', + `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'accessKey', + `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '秘钥', + `bucket_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '桶名称', + `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '前缀', + `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '访问站点', + `domain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '自定义域名', + `is_https` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否https(Y=是,N=否)', + `region` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '域', + `access_policy` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1' COMMENT '桶权限类型(0=private 1=public 2=custom)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '状态(0=正常,1=停用)', + `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '扩展字段', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`oss_config_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对象存储配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL COMMENT '岗位ID', + `post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称', + `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`, `dept_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`, `menu_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户昵称', + `user_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'sys_user' COMMENT '用户类型(sys_user系统用户)', + `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '手机号码', + `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '头像地址', + `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '密码', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`, `post_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`, `role_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for test_flyway +-- ---------------------------- +DROP TABLE IF EXISTS `test_flyway`; +CREATE TABLE `test_flyway` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wf_category +-- ---------------------------- +DROP TABLE IF EXISTS `wf_category`; +CREATE TABLE `wf_category` ( + `category_id` bigint NOT NULL AUTO_INCREMENT COMMENT '流程分类id', + `category_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '流程分类名称', + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类编码', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + PRIMARY KEY (`category_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1958701110085033987 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程分类表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wf_copy +-- ---------------------------- +DROP TABLE IF EXISTS `wf_copy`; +CREATE TABLE `wf_copy` ( + `copy_id` bigint NOT NULL AUTO_INCREMENT COMMENT '抄送主键', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '抄送标题', + `process_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '流程主键', + `process_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '流程名称', + `category_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '流程分类主键', + `deployment_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部署主键', + `instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '流程实例主键', + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '任务主键', + `user_id` bigint NULL DEFAULT NULL COMMENT '用户主键', + `originator_id` bigint NULL DEFAULT NULL COMMENT '发起人主键', + `originator_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '发起人名称', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + PRIMARY KEY (`copy_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1958722386258305027 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程抄送表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wf_deploy_form +-- ---------------------------- +DROP TABLE IF EXISTS `wf_deploy_form`; +CREATE TABLE `wf_deploy_form` ( + `deploy_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程实例主键', + `form_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单Key', + `node_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节点Key', + `form_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表单名称', + `node_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '节点名称', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', + PRIMARY KEY (`deploy_id`, `form_key`, `node_key`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程实例关联表单' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wf_form +-- ---------------------------- +DROP TABLE IF EXISTS `wf_form`; +CREATE TABLE `wf_form` ( + `form_id` bigint NOT NULL AUTO_INCREMENT COMMENT '表单主键', + `form_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表单名称', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + PRIMARY KEY (`form_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1958790461590708227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程表单信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_account +-- ---------------------------- +DROP TABLE IF EXISTS `wms_account`; +CREATE TABLE `wms_account` ( + `account_id` bigint NOT NULL AUTO_INCREMENT COMMENT '科目ID(主键)', + `account_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '科目编码', + `account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '科目名称', + `account_type` enum('资产','负债','权益','收入','费用') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '科目类型', + `parent_id` bigint NULL DEFAULT NULL COMMENT '上级科目ID', + `balance` decimal(15, 2) NOT NULL DEFAULT 0.00 COMMENT '当前余额(可容忍暂时不准确,过账汇总)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`account_id`) USING BTREE, + UNIQUE INDEX `uk_wa_code`(`account_code` ASC) USING BTREE, + INDEX `idx_wa_parent`(`parent_id` ASC) USING BTREE, + CONSTRAINT `fk_wa_parent` FOREIGN KEY (`parent_id`) REFERENCES `wms_account` (`account_id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE = InnoDB AUTO_INCREMENT = 1955546179856822274 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '会计科目表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_batch +-- ---------------------------- +DROP TABLE IF EXISTS `wms_batch`; +CREATE TABLE `wms_batch` ( + `batch_id` bigint NOT NULL AUTO_INCREMENT COMMENT '批次ID', + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '批次编号', + `process_id` bigint NOT NULL COMMENT '关联工艺ID(合并的工艺)', + `total_quantity` int NOT NULL COMMENT '批次总数量(合并的任务总量)', + `merge_source` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '合并来源(记录被合并的工艺任务ID,用逗号分隔)', + `estimated_start_time` datetime NULL DEFAULT NULL COMMENT '预计开始时间', + `estimated_end_time` datetime NULL DEFAULT NULL COMMENT '预计结束时间', + `batch_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'created' COMMENT '批次状态:created-已创建/scheduled-已排产/executing-执行中/finished-已完成', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `plan_id` bigint NULL DEFAULT NULL COMMENT '排产计划ID', + PRIMARY KEY (`batch_id`) USING BTREE, + UNIQUE INDEX `batch_no`(`batch_no` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1956285268721086466 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '批次表(合并相同工艺的任务)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_bom +-- ---------------------------- +DROP TABLE IF EXISTS `wms_bom`; +CREATE TABLE `wms_bom` ( + `bom_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'BOM 主键ID', + `bom_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'BOM 编码(可选)', + `bom_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'BOM 名称(可选)', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`bom_id`) USING BTREE, + UNIQUE INDEX `uk_bom_code`(`bom_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1957714269335982082 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 表头,关联产品或原材料' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_bom_item +-- ---------------------------- +DROP TABLE IF EXISTS `wms_bom_item`; +CREATE TABLE `wms_bom_item` ( + `item_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'BOM 明细ID', + `bom_id` bigint NOT NULL COMMENT '关联 wms_bom.bom_id', + `attr_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '属性名称', + `attr_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性值', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`item_id`) USING BTREE, + INDEX `idx_item_bom`(`bom_id` ASC) USING BTREE, + INDEX `idx_item_attr`(`attr_key` ASC) USING BTREE, + CONSTRAINT `fk_item_bom` FOREIGN KEY (`bom_id`) REFERENCES `wms_bom` (`bom_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1954789306824245251 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 明细表,存放属性–值' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_camera_management +-- ---------------------------- +DROP TABLE IF EXISTS `wms_camera_management`; +CREATE TABLE `wms_camera_management` ( + `camera_id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键', + `camera_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摄像头编号(系统生成,如 camef8bd40d71795)', + `camera_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摄像头名称(如:仓库东门摄像头)', + `rtsp_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'RTSP 推流地址(摄像头原生地址)', + `ws_fmp4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ws - fmp4 播放地址', + `http_fmp4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'http - fmp4 播放地址', + `rtsp_addr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'rtsp 播放地址', + `hls_addr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'hls 播放地址', + `location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '安装位置(如:仓库 A 区货架 3)', + `group_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属分组/区域(直接存储名称,如:仓库 A 区)', + `warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属仓库(如:一号仓库)', + `status` tinyint NULL DEFAULT 0 COMMENT '状态:0-未启用 1-正常 2-离线 3-故障', + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '摄像头访问用户名', + `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '摄像头访问密码', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'system' COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` int NOT NULL DEFAULT 0 COMMENT '删除标志', + `remark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '无' COMMENT '备注', + PRIMARY KEY (`camera_id`) USING BTREE, + UNIQUE INDEX `camera_code`(`camera_code` ASC) USING BTREE, + INDEX `idx_warehouse_group`(`warehouse_name` ASC, `group_name` ASC) USING BTREE, + INDEX `idx_status`(`status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1953723053939109891 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '摄像头管理表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_category +-- ---------------------------- +DROP TABLE IF EXISTS `wms_category`; +CREATE TABLE `wms_category` ( + `category_id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类主键ID', + `category_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类类型(base_material|surface_treatment|customer_req|spec_packaging)', + `category_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类编码', + `category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称', + `category_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分类描述', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`category_id`) USING BTREE, + UNIQUE INDEX `uk_wms_cat_type_code`(`category_type` ASC, `category_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1953443038163619842 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通用分类表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_check_item +-- ---------------------------- +DROP TABLE IF EXISTS `wms_check_item`; +CREATE TABLE `wms_check_item` ( + `item_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '检查项名称', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`item_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1953341992732971011 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '检查项表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_check_task +-- ---------------------------- +DROP TABLE IF EXISTS `wms_check_task`; +CREATE TABLE `wms_check_task` ( + `task_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `task_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1956265897344868354 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '检查任务表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_check_task_item +-- ---------------------------- +DROP TABLE IF EXISTS `wms_check_task_item`; +CREATE TABLE `wms_check_task_item` ( + `item_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `check_task_id` bigint NOT NULL COMMENT '检查任务ID', + `check_item_id` bigint NOT NULL COMMENT '检查项ID', + `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0=未检测,1=通过,2=不通过', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`item_id`) USING BTREE, + INDEX `idx_task`(`check_task_id` ASC) USING BTREE, + INDEX `idx_item`(`check_item_id` ASC) USING BTREE, + CONSTRAINT `fk_item` FOREIGN KEY (`check_item_id`) REFERENCES `wms_check_item` (`item_id`) ON DELETE RESTRICT ON UPDATE CASCADE, + CONSTRAINT `fk_task` FOREIGN KEY (`check_task_id`) REFERENCES `wms_check_task` (`task_id`) ON DELETE RESTRICT ON UPDATE CASCADE +) ENGINE = InnoDB AUTO_INCREMENT = 1956265897416171522 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '检查任务与检查项关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_common_defect +-- ---------------------------- +DROP TABLE IF EXISTS `wms_common_defect`; +CREATE TABLE `wms_common_defect` ( + `defect_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `defect_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '缺陷名称', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`defect_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1953342215010111490 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '常见缺陷表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_contract +-- ---------------------------- +DROP TABLE IF EXISTS `wms_contract`; +CREATE TABLE `wms_contract` ( + `contract_id` bigint NOT NULL AUTO_INCREMENT COMMENT '合同ID(主键)', + `contract_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '合同编号(唯一)', + `amount` decimal(15, 2) NOT NULL COMMENT '合同金额', + `type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '合同类型(采购合同/销售合同/技术附件...)', + `accessory` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '附件', + `party_a` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '甲方', + `party_b` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '乙方', + `sign_date` date NULL DEFAULT NULL COMMENT '签约日期', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`contract_id`) USING BTREE, + UNIQUE INDEX `contract_no`(`contract_no` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955138633606180867 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '合同信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_customer +-- ---------------------------- +DROP TABLE IF EXISTS `wms_customer`; +CREATE TABLE `wms_customer` ( + `customer_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号,主键自增', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户名称', + `follow_up_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '跟进状态', + `contact_last_time` datetime NULL DEFAULT NULL COMMENT '最后跟进时间', + `contact_last_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后跟进内容', + `contact_next_time` datetime NULL DEFAULT NULL COMMENT '下次联系时间', + `owner_user_id` bigint NULL DEFAULT NULL COMMENT '负责人的用户编号', + `owner_time` datetime NULL DEFAULT NULL COMMENT '成为负责人的时间', + `deal_status` tinyint NULL DEFAULT 0 COMMENT '成交状态', + `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机', + `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话', + `qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'QQ', + `wechat` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱', + `area_id` bigint NULL DEFAULT NULL COMMENT '地区编号', + `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址', + `industry_id` int NULL DEFAULT NULL COMMENT '所属行业', + `level` int NULL DEFAULT NULL COMMENT '客户等级', + `source` int NULL DEFAULT NULL COMMENT '客户来源', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`customer_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955164883901079554 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'CRM 客户表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_express +-- ---------------------------- +DROP TABLE IF EXISTS `wms_express`; +CREATE TABLE `wms_express` ( + `express_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `express_code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流编号', + `status` int NULL DEFAULT 0 COMMENT '数据状态0未确认1进行中2已完成', + `supply_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '供应商姓名', + `supply_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '供应商联系方式', + `owner_id` bigint NULL DEFAULT NULL COMMENT '负责人id', + `owner_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人手机号(快递手机号)', + `plan_date` datetime NULL DEFAULT NULL COMMENT '计划到货时间', + `express_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司标识', + `last_update_time` datetime NULL DEFAULT NULL COMMENT '上次请求时间', + `last_status` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后一次查询状态', + `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`express_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1954858111651667971 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_express_question +-- ---------------------------- +DROP TABLE IF EXISTS `wms_express_question`; +CREATE TABLE `wms_express_question` ( + `question_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `express_id` bigint NULL DEFAULT NULL COMMENT '关联快递', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题描述', + `report_time` datetime NULL DEFAULT NULL COMMENT '汇报时间', + `report_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '汇报人', + `status` int NULL DEFAULT NULL COMMENT '0未解决1已解决', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`question_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_financial_document +-- ---------------------------- +DROP TABLE IF EXISTS `wms_financial_document`; +CREATE TABLE `wms_financial_document` ( + `document_id` bigint NOT NULL AUTO_INCREMENT COMMENT '单据ID(主键)', + `doc_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单据编号', + `doc_type` enum('收款单','付款单','转账单','调账单') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单据类型', + `doc_date` date NOT NULL COMMENT '单据日期', + `amount` decimal(15, 2) NOT NULL COMMENT '单据金额', + `related_order_id` bigint NULL DEFAULT NULL COMMENT '关联订单ID', + `status` enum('草稿','已提交','已审核','已过账') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '草稿' COMMENT '单据状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`document_id`) USING BTREE, + UNIQUE INDEX `uk_wfd_doc_no`(`doc_no` ASC) USING BTREE, + INDEX `idx_wfd_doc_date`(`doc_date` ASC) USING BTREE, + INDEX `idx_wfd_status`(`status` ASC) USING BTREE, + INDEX `idx_wfd_related_order_id`(`related_order_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955559888281001987 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '财务单据表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_generate_record +-- ---------------------------- +DROP TABLE IF EXISTS `wms_generate_record`; +CREATE TABLE `wms_generate_record` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `qrcode_type` tinyint NOT NULL DEFAULT 0 COMMENT '二维码类型(字典,默认为0)', + `content` json NOT NULL COMMENT '二维码内容(JSON格式)', + `is_enabled` tinyint NOT NULL DEFAULT 0 COMMENT '是否启用(0:启用,1:禁用)', + `serial_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '编号', + `size` int NULL DEFAULT 200 COMMENT '二维码尺寸(像素)', + `status` tinyint NULL DEFAULT 0 COMMENT '状态(0,1,2)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`record_id`) USING BTREE, + UNIQUE INDEX `uk_serial_number`(`serial_number` ASC) USING BTREE COMMENT '编号唯一约束' +) ENGINE = InnoDB AUTO_INCREMENT = 1971409268371587074 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '二维码生成记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_journal +-- ---------------------------- +DROP TABLE IF EXISTS `wms_journal`; +CREATE TABLE `wms_journal` ( + `journal_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `journal_date` date NOT NULL COMMENT '日期', + `summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '摘要', + `trans_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收支类型', + `counterpart` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对方户名', + `income_amount` decimal(18, 2) NULL DEFAULT 0.00 COMMENT '收入金额', + `expense_amount` decimal(18, 2) NULL DEFAULT 0.00 COMMENT '支出金额', + `balance_amount` decimal(18, 2) NULL DEFAULT 0.00 COMMENT '余额', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常 1删除)', + PRIMARY KEY (`journal_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955563037595033603 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '资金日记账表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_journal_entry +-- ---------------------------- +DROP TABLE IF EXISTS `wms_journal_entry`; +CREATE TABLE `wms_journal_entry` ( + `entry_id` bigint NOT NULL AUTO_INCREMENT COMMENT '分录ID(主键)', + `voucher_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '凭证编号', + `line_no` int NOT NULL DEFAULT 1 COMMENT '分录行号(同一凭证内序号)', + `entry_date` date NOT NULL COMMENT '记账日期', + `account_id` bigint NOT NULL COMMENT '科目ID', + `debit_amount` decimal(15, 2) NOT NULL DEFAULT 0.00 COMMENT '借方金额(可为0或负数用于调账/红冲)', + `credit_amount` decimal(15, 2) NOT NULL DEFAULT 0.00 COMMENT '贷方金额(可为0或负数用于调账/红冲)', + `document_id` bigint NULL DEFAULT NULL COMMENT '参考单据Id', + `related_order_id` bigint NULL DEFAULT NULL COMMENT '关联订单ID', + `status` enum('草稿','已过账','已冲销') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '草稿' COMMENT '状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`entry_id`) USING BTREE, + INDEX `idx_wje_voucher_date`(`voucher_no` ASC, `entry_date` ASC) USING BTREE, + INDEX `idx_wje_account_date`(`account_id` ASC, `entry_date` ASC) USING BTREE, + INDEX `idx_wje_status`(`status` ASC) USING BTREE, + INDEX `uk_wje_voucher_line`(`voucher_no` ASC, `line_no` ASC) USING BTREE, + CONSTRAINT `fk_wje_account` FOREIGN KEY (`account_id`) REFERENCES `wms_account` (`account_id`) ON DELETE RESTRICT ON UPDATE CASCADE +) ENGINE = InnoDB AUTO_INCREMENT = 1955559889128251395 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '凭证表(宽松版)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_manufacturing_spec +-- ---------------------------- +DROP TABLE IF EXISTS `wms_manufacturing_spec`; +CREATE TABLE `wms_manufacturing_spec` ( + `spec_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `spec_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '制造规范编码', + `spec_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '制造规范名称', + `business_unit` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属事业部', + `project_team` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属项目组', + `product_module` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品型号/模组', + `identifier` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标识', + `material` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '材质', + `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格/尺寸', + `process_route` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工艺路线', + `process_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工艺参数', + `scope` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '适用范围', + `inspection_standard` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '检验标准', + `status` int NULL DEFAULT 1 COMMENT '状态(字典:1=启用,2=未启用,3=作废)', + `spec_type` int NULL DEFAULT 1 COMMENT '规范类型(字典:1=普通规范,2=新试规范,3=临时规范)', + `version` decimal(4, 1) NULL DEFAULT 1.0 COMMENT '版本号', + `version_date` date NULL DEFAULT NULL COMMENT '版本日期', + `standard_hours` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '理论工时(h)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`spec_id`) USING BTREE, + UNIQUE INDEX `uq_spec_code`(`spec_code` ASC, `version` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960145395077926915 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '制造规范表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_order +-- ---------------------------- +DROP TABLE IF EXISTS `wms_order`; +CREATE TABLE `wms_order` ( + `order_id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID', + `order_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单编号', + `customer_id` bigint NULL DEFAULT NULL COMMENT '客户ID', + `customer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户名称', + `sales_manager` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售经理', + `order_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态(0=新建,1=生产中,2=已完成,3=已取消)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `tax_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '含税金额', + `no_tax_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '无税金额', + PRIMARY KEY (`order_id`) USING BTREE, + UNIQUE INDEX `uk_order_code`(`order_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960620329289330690 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_order_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_order_detail`; +CREATE TABLE `wms_order_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID', + `order_id` bigint NOT NULL COMMENT '订单ID', + `product_id` bigint NOT NULL COMMENT '产品ID', + `quantity` decimal(18, 0) NOT NULL COMMENT '产品数量', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `tax_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '含税单价', + `no_tax_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '无税单价', + `group_id` bigint NULL DEFAULT NULL COMMENT '产品规范组ID', + PRIMARY KEY (`detail_id`) USING BTREE, + INDEX `idx_order_detail_order`(`order_id` ASC) USING BTREE, + INDEX `fk_order_detail_product`(`product_id` ASC) USING BTREE, + CONSTRAINT `fk_order_detail_order` FOREIGN KEY (`order_id`) REFERENCES `wms_order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_order_detail_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1960236891496038403 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_order_profit +-- ---------------------------- +DROP TABLE IF EXISTS `wms_order_profit`; +CREATE TABLE `wms_order_profit` ( + `profit_id` bigint NOT NULL AUTO_INCREMENT COMMENT '盈亏ID(主键)', + `order_id` bigint NOT NULL COMMENT '订单ID', + `cost_amount` decimal(15, 2) NOT NULL COMMENT '成本金额', + `revenue_amount` decimal(15, 2) NOT NULL COMMENT '收入金额', + `profit_amount` decimal(15, 2) GENERATED ALWAYS AS ((`revenue_amount` - `cost_amount`)) VIRTUAL COMMENT '利润金额' NULL, + `profit_rate` decimal(5, 2) GENERATED ALWAYS AS (if((`revenue_amount` <> 0),(((`revenue_amount` - `cost_amount`) / `revenue_amount`) * 100),0)) VIRTUAL COMMENT '利润率(%)' NULL, + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`profit_id`) USING BTREE, + INDEX `idx_wop_order_id`(`order_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单盈亏表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_other_income +-- ---------------------------- +DROP TABLE IF EXISTS `wms_other_income`; +CREATE TABLE `wms_other_income` ( + `other_income_id` bigint NOT NULL AUTO_INCREMENT COMMENT '其他收入ID(主键)', + `income_date` date NOT NULL COMMENT '日期', + `income_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', + `amount` decimal(15, 2) NOT NULL COMMENT '金额', + `source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源', + `type` int NULL DEFAULT 0 COMMENT '收支类型(0=收入,1=值出)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`other_income_id`) USING BTREE, + INDEX `idx_oi_income_date`(`income_date` ASC) USING BTREE, + INDEX `idx_oi_income_type`(`income_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1971467204918308866 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '其他收支表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_payable +-- ---------------------------- +DROP TABLE IF EXISTS `wms_payable`; +CREATE TABLE `wms_payable` ( + `payable_id` bigint NOT NULL AUTO_INCREMENT COMMENT '应付ID(主键)', + `supplier_id` bigint NOT NULL COMMENT '供应商ID', + `order_id` bigint NOT NULL COMMENT '订单ID', + `due_date` date NOT NULL COMMENT '到期日', + `amount` decimal(15, 2) NOT NULL COMMENT '应付金额(可为负数用于调整)', + `paid_amount` decimal(15, 2) NOT NULL DEFAULT 0.00 COMMENT '已付金额(可为负数用于冲销)', + `balance_amount` decimal(15, 2) GENERATED ALWAYS AS ((`amount` - `paid_amount`)) VIRTUAL COMMENT '未付金额' NULL, + `status` enum('未结清','部分支付','已结清') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '未结清' COMMENT '状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`payable_id`) USING BTREE, + INDEX `idx_wp_supplier`(`supplier_id` ASC) USING BTREE, + INDEX `idx_wp_order`(`order_id` ASC) USING BTREE, + INDEX `idx_wp_due_status`(`due_date` ASC, `status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955477950484545538 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '应付款管理表(宽松版)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_process_task +-- ---------------------------- +DROP TABLE IF EXISTS `wms_process_task`; +CREATE TABLE `wms_process_task` ( + `task_id` bigint NOT NULL AUTO_INCREMENT COMMENT '工艺任务ID', + `plan_id` bigint NOT NULL COMMENT '关联生产计划ID', + `process_id` bigint NOT NULL COMMENT '所需工艺ID', + `product_id` bigint NOT NULL COMMENT '对应产品ID', + `task_quantity` int NOT NULL COMMENT '任务数量', + `task_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'pending' COMMENT '任务状态:pending-待处理/processing-处理中/completed-已完成', + `sequence` int NOT NULL COMMENT '工艺顺序', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955907289298587651 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工艺任务表(生产计划所需工艺任务)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_processe +-- ---------------------------- +DROP TABLE IF EXISTS `wms_processe`; +CREATE TABLE `wms_processe` ( + `process_id` bigint NOT NULL AUTO_INCREMENT COMMENT '工艺ID', + `process_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工艺编码', + `process_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工艺名称', + `output_product_id` int NULL DEFAULT NULL COMMENT '产出产品(关联产品表,可选)', + `process_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工艺描述', + `standard_time` decimal(10, 2) NULL DEFAULT NULL COMMENT '标准工时(小时)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`process_id`) USING BTREE, + UNIQUE INDEX `process_code`(`process_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955895750285971458 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工艺表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product`; +CREATE TABLE `wms_product` ( + `product_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `product_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品编号', + `product_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品名称', + `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人', + `base_material_id` bigint NULL DEFAULT NULL COMMENT '基础材质分类ID', + `surface_treatment_id` bigint NULL DEFAULT NULL COMMENT '表面处理分类ID', + `customer_req_id` bigint NULL DEFAULT NULL COMMENT '客户需求分类ID', + `packaging_id` bigint NULL DEFAULT NULL COMMENT '包装分类ID', + `thickness` decimal(10, 2) NULL DEFAULT NULL COMMENT '厚度(mm)', + `width` decimal(10, 2) NULL DEFAULT NULL COMMENT '宽度(mm)', + `inner_diameter` decimal(10, 2) NULL DEFAULT NULL COMMENT '内径(mm)', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单位', + `is_enabled` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `bom_id` bigint NULL DEFAULT NULL COMMENT 'BOM 表头ID', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品类型(product=产品,semi=半成品,raw=原料)', + PRIMARY KEY (`product_id`) USING BTREE, + UNIQUE INDEX `uk_wms_prod_code`(`product_code` ASC) USING BTREE, + INDEX `idx_prod_base_mat`(`base_material_id` ASC) USING BTREE, + INDEX `idx_prod_surf_treat`(`surface_treatment_id` ASC) USING BTREE, + INDEX `idx_prod_cust_req`(`customer_req_id` ASC) USING BTREE, + INDEX `idx_prod_packaging`(`packaging_id` ASC) USING BTREE, + INDEX `idx_prod_bom`(`bom_id` ASC) USING BTREE, + CONSTRAINT `fk_prod_base_mat` FOREIGN KEY (`base_material_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_prod_bom` FOREIGN KEY (`bom_id`) REFERENCES `wms_bom` (`bom_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_prod_cust_req` FOREIGN KEY (`customer_req_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_prod_packaging` FOREIGN KEY (`packaging_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_prod_surf_treat` FOREIGN KEY (`surface_treatment_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1957714250117681155 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product_bom +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product_bom`; +CREATE TABLE `wms_product_bom` ( + `bom_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'BOM主键ID', + `product_id` bigint NOT NULL COMMENT '产品ID', + `raw_material_id` bigint NOT NULL COMMENT '原材料ID', + `quantity` decimal(18, 4) NOT NULL COMMENT '每个产品所需原材料数量', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `del_flag` tinyint(1) NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + PRIMARY KEY (`bom_id`) USING BTREE, + INDEX `idx_bom_product`(`product_id` ASC) USING BTREE, + INDEX `fk_bom_raw_material`(`raw_material_id` ASC) USING BTREE, + CONSTRAINT `fk_bom_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_bom_raw_material` FOREIGN KEY (`raw_material_id`) REFERENCES `wms_raw_material` (`raw_material_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1966763832021696514 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品BOM表(产品-原材料清单)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product_processe +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product_processe`; +CREATE TABLE `wms_product_processe` ( + `pp_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `product_id` bigint NOT NULL COMMENT '产品ID(关联产品表)', + `process_id` bigint NOT NULL COMMENT '工艺ID(关联工艺表)', + `process_sequence` int NOT NULL COMMENT '工艺顺序(同一产品的工艺执行顺序)', + `is_required` tinyint NULL DEFAULT 1 COMMENT '是否必选工艺:1-是/0-否', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`pp_id`) USING BTREE, + UNIQUE INDEX `uk_product_process`(`product_id` ASC, `process_id` ASC) USING BTREE COMMENT '同一产品的同一工艺不重复' +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品生产工艺表(预定义产品所需工艺)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product_sales_script +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product_sales_script`; +CREATE TABLE `wms_product_sales_script` ( + `script_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `product_id` bigint NOT NULL COMMENT '关联产品ID', + `script_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '话术标题/场景', + `script_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '话术内容', + `feature_point` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品特性/亮点', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`script_id`) USING BTREE, + INDEX `idx_script_product`(`product_id` ASC) USING BTREE, + CONSTRAINT `fk_script_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1948314469833207811 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品销售话术表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product_spec +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product_spec`; +CREATE TABLE `wms_product_spec` ( + `spec_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `group_id` bigint NOT NULL COMMENT '所属产品规范组ID', + `spec_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规范键', + `spec_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规范值', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + PRIMARY KEY (`spec_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960229418756259843 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品规范表(键值对模式)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_product_spec_group +-- ---------------------------- +DROP TABLE IF EXISTS `wms_product_spec_group`; +CREATE TABLE `wms_product_spec_group` ( + `group_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `group_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品规范组编码', + `product_id` bigint NOT NULL COMMENT '绑定的产品ID', + `group_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品规范组名称', + `status` int NULL DEFAULT 1 COMMENT '状态(字典:1=启用,2=停用)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + PRIMARY KEY (`group_id`) USING BTREE, + UNIQUE INDEX `uq_group_code`(`group_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960229274291847170 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品规范组表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_production_line +-- ---------------------------- +DROP TABLE IF EXISTS `wms_production_line`; +CREATE TABLE `wms_production_line` ( + `line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '产线ID', + `line_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产线编号', + `line_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产线名称', + `capacity` decimal(18, 4) NOT NULL COMMENT '日产能(单位同产品)', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产能单位', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`line_id`) USING BTREE, + UNIQUE INDEX `uk_line_code`(`line_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1953348374098071554 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产线表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_production_task +-- ---------------------------- +DROP TABLE IF EXISTS `wms_production_task`; +CREATE TABLE `wms_production_task` ( + `task_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `product_spec_group_id` bigint NOT NULL COMMENT '产品规范组ID', + `manufacturing_spec_id` bigint NOT NULL COMMENT '制造规范ID', + `order_id` bigint NULL DEFAULT NULL COMMENT '订单ID', + `order_item_id` bigint NULL DEFAULT NULL COMMENT '订单明细ID', + `plan_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划名称', + `plan_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划编号', + `status` int NULL DEFAULT 0 COMMENT '状态(字典:0=未开始,1=进行中,2=完成,3=暂停,4=取消)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960239799453138947 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '生产任务表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_purchase_plan +-- ---------------------------- +DROP TABLE IF EXISTS `wms_purchase_plan`; +CREATE TABLE `wms_purchase_plan` ( + `plan_id` bigint NOT NULL AUTO_INCREMENT COMMENT '采购计划ID', + `plan_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '采购计划编号', + `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人', + `order_id` bigint NULL DEFAULT NULL COMMENT '关联订单ID', + `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态(0=新建,1=待审核,2=已审核,3=已完成,4=已取消)', + `attachment_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件信息', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`plan_id`) USING BTREE, + UNIQUE INDEX `uk_plan_code`(`plan_code` ASC) USING BTREE, + INDEX `idx_plan_order`(`order_id` ASC) USING BTREE, + CONSTRAINT `fk_plan_order` FOREIGN KEY (`order_id`) REFERENCES `wms_order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1953385691575734274 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购计划主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_purchase_plan_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_purchase_plan_detail`; +CREATE TABLE `wms_purchase_plan_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID', + `plan_id` bigint NULL DEFAULT NULL COMMENT '采购计划ID', + `detail_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '详情编码', + `raw_material_id` bigint NOT NULL COMMENT '原材料ID', + `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人', + `quantity` decimal(18, 0) NOT NULL COMMENT '计划采购数量', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `annex` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件', + `status` tinyint(1) NULL DEFAULT 0 COMMENT '状态(0=新建,1=在途\r,2=到货\r,3=待审核,4=采购完成)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `supplier_id` bigint NULL DEFAULT NULL COMMENT '供应商ID', + `contract_id` bigint NULL DEFAULT NULL COMMENT '合同ID', + PRIMARY KEY (`detail_id`) USING BTREE, + INDEX `idx_plan_detail_plan`(`plan_id` ASC) USING BTREE, + INDEX `fk_plan_detail_raw_material`(`raw_material_id` ASC) USING BTREE, + CONSTRAINT `fk_plan_detail_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_purchase_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_plan_detail_raw_material` FOREIGN KEY (`raw_material_id`) REFERENCES `wms_raw_material` (`raw_material_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1953385790485811203 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购计划明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_raw_material +-- ---------------------------- +DROP TABLE IF EXISTS `wms_raw_material`; +CREATE TABLE `wms_raw_material` ( + `raw_material_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `raw_material_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料编号', + `raw_material_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料名称', + `steel_grade` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '钢种/牌号(如SPHC、SPHE、S350GD等)', + `target_cold_grade` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标冷轧牌号(如SPCC、DC06、SGCC等)', + `base_material_id` bigint NULL DEFAULT NULL COMMENT '基础材质分类ID', + `surface_treatment_id` bigint NULL DEFAULT NULL COMMENT '表面处理分类ID', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `thickness` decimal(10, 2) NULL DEFAULT NULL COMMENT '厚度(mm)', + `thickness_deviation` decimal(10, 2) NULL DEFAULT NULL COMMENT '厚度偏差(mm)', + `width` decimal(10, 2) NULL DEFAULT NULL COMMENT '宽度(mm)', + `target_cold_width` decimal(10, 2) NULL DEFAULT NULL COMMENT '目标冷轧宽度(mm)', + `target_cold_thickness` decimal(10, 2) NULL DEFAULT NULL COMMENT '目标冷轧厚度(mm)', + `crown` decimal(10, 2) NULL DEFAULT NULL COMMENT '凸度(mm)', + `coil_weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '卷重(kg)', + `surface_quality` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表面质量', + `hardness_hv5` decimal(10, 2) NULL DEFAULT NULL COMMENT '硬度(HV5)', + `hardness_diff` decimal(10, 2) NULL DEFAULT NULL COMMENT '硬度差值(HV5差值≤15为合格)', + `composition_mn` decimal(5, 3) NULL DEFAULT NULL COMMENT '锰含量Mn(%)', + `composition_p` decimal(5, 3) NULL DEFAULT NULL COMMENT '磷含量P(%)', + `grain_size` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '晶粒级别(如ASTM 6-8级,仅电工钢)', + `head_tail_cut_flag` tinyint(1) NULL DEFAULT NULL COMMENT '头尾切除标记(0=否,1=是,汽车板专用)', + `inspection_result` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '检测结论(如合格/条纹/微裂纹/成分偏析等)', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `bom_id` bigint NULL DEFAULT NULL COMMENT 'BOM 表头ID', + PRIMARY KEY (`raw_material_id`) USING BTREE, + UNIQUE INDEX `uk_wms_raw_material_code`(`raw_material_code` ASC) USING BTREE, + INDEX `idx_raw_base_mat`(`base_material_id` ASC) USING BTREE, + INDEX `idx_raw_surf_treat`(`surface_treatment_id` ASC) USING BTREE, + INDEX `idx_raw_bom`(`bom_id` ASC) USING BTREE, + CONSTRAINT `fk_raw_base_mat` FOREIGN KEY (`base_material_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_raw_bom` FOREIGN KEY (`bom_id`) REFERENCES `wms_bom` (`bom_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_raw_surf_treat` FOREIGN KEY (`surface_treatment_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1957714054361124866 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '原材料表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_receivable +-- ---------------------------- +DROP TABLE IF EXISTS `wms_receivable`; +CREATE TABLE `wms_receivable` ( + `receivable_id` bigint NOT NULL AUTO_INCREMENT COMMENT '应收ID(主键)', + `customer_id` bigint NOT NULL COMMENT '客户ID', + `order_id` bigint NOT NULL COMMENT '订单ID', + `due_date` date NOT NULL COMMENT '到期日', + `amount` decimal(15, 2) NOT NULL COMMENT '应收金额(可为负数用于调整)', + `paid_amount` decimal(15, 2) NOT NULL DEFAULT 0.00 COMMENT '已收金额(可为负数用于冲销)', + `balance_amount` decimal(15, 2) GENERATED ALWAYS AS ((`amount` - `paid_amount`)) VIRTUAL COMMENT '未收金额' NULL, + `status` enum('未结清','部分支付','已结清') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '未结清' COMMENT '状态', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`receivable_id`) USING BTREE, + INDEX `idx_wr_customer`(`customer_id` ASC) USING BTREE, + INDEX `idx_wr_order`(`order_id` ASC) USING BTREE, + INDEX `idx_wr_due_status`(`due_date` ASC, `status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955523535342260226 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '应收款管理表(宽松版)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_report_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_report_detail`; +CREATE TABLE `wms_report_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `summary_id` bigint NOT NULL COMMENT '关联汇报概述ID(oa_report_summary.id)', + `device_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备唯一编号', + `category` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备类别', + `device_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '设备生产说明', + `report_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '汇报详情内容(含文字、图像说明等)', + `oss_ids` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关联图像 OSS ID 列表(逗号分隔)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0 正常,1 删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`detail_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1954858755527663618 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设计项目汇报详情表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_report_summary +-- ---------------------------- +DROP TABLE IF EXISTS `wms_report_summary`; +CREATE TABLE `wms_report_summary` ( + `summary_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `report_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '汇报标题', + `report_date` date NOT NULL COMMENT '汇报日期', + `reporter` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '汇报人', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0 正常,1 删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `type` int NULL DEFAULT NULL COMMENT '1为施工进度2为收发货', + PRIMARY KEY (`summary_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1960882697093197826 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设计项目汇报概述表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_schedule_plan +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_plan`; +CREATE TABLE `wms_schedule_plan` ( + `plan_id` bigint NOT NULL AUTO_INCREMENT COMMENT '排产计划ID', + `plan_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '排产计划编号', + `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '版本控制', + `order_id` bigint NOT NULL COMMENT '关联订单ID', + `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态(0=新建,1=已排产,2=生产中,3=已完成)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `priority` tinyint NULL DEFAULT NULL COMMENT '优先级(0=低,1=中,2=高,3=vip ....)', + `process_route` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工艺路线', + `start_date` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_date` datetime NULL DEFAULT NULL COMMENT '结束时间', + PRIMARY KEY (`plan_id`) USING BTREE, + UNIQUE INDEX `uk_schedule_plan_code`(`plan_code` ASC) USING BTREE, + INDEX `idx_schedule_order`(`order_id` ASC) USING BTREE, + CONSTRAINT `fk_schedule_order` FOREIGN KEY (`order_id`) REFERENCES `wms_order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1953437444170043395 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产计划主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_schedule_plan_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_plan_detail`; +CREATE TABLE `wms_schedule_plan_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID', + `plan_id` bigint NULL DEFAULT NULL COMMENT '排产计划ID', + `line_id` bigint NOT NULL COMMENT '产线ID', + `task_id` bigint NOT NULL COMMENT '生产任务id(原批次batch_id)', + `product_id` bigint NULL DEFAULT NULL COMMENT '产品ID', + `quantity` decimal(18, 4) NOT NULL COMMENT '排产数量', + `start_date` date NOT NULL COMMENT '计划开始日期', + `end_date` date NOT NULL COMMENT '计划结束日期', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`detail_id`) USING BTREE, + INDEX `idx_schedule_detail_plan`(`plan_id` ASC) USING BTREE, + INDEX `idx_schedule_detail_line`(`line_id` ASC) USING BTREE, + INDEX `fk_schedule_detail_product`(`product_id` ASC) USING BTREE, + CONSTRAINT `fk_schedule_detail_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_schedule_detail_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_schedule_detail_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1960266841070575618 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产计划明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_stock +-- ---------------------------- +DROP TABLE IF EXISTS `wms_stock`; +CREATE TABLE `wms_stock` ( + `stock_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `warehouse_id` bigint NOT NULL COMMENT '仓库/库区/库位ID', + `item_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物品类型(raw_material/product)', + `item_id` bigint NOT NULL COMMENT '物品ID(指向原材料或产品主键)', + `quantity` decimal(18, 0) NOT NULL DEFAULT 0 COMMENT '库存数量', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号(可选)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`stock_id`) USING BTREE, + INDEX `idx_stock_warehouse`(`warehouse_id` ASC) USING BTREE, + INDEX `idx_stock_item`(`item_type` ASC, `item_id` ASC) USING BTREE, + CONSTRAINT `fk_stock_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `wms_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1966396534640320515 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库存表:原材料/产品与库区/库位的存放关系' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_stock_io +-- ---------------------------- +DROP TABLE IF EXISTS `wms_stock_io`; +CREATE TABLE `wms_stock_io` ( + `stock_io_id` bigint NOT NULL AUTO_INCREMENT COMMENT '出入库单ID', + `stock_io_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '出入库单号', + `io_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型(in=入库,out=出库,transfer=移库,withdraw=退库)', + `biz_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '业务类型(purchase=采购,sales=销售,return=退货,relocation=调拨,other=其他)', + `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '单据状态(0=草稿,1=已提交,2=已审核,3=已完成)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `parent_id` bigint NULL DEFAULT NULL COMMENT '退库的话会挂载出库单id(自关联stock_io_id)', + PRIMARY KEY (`stock_io_id`) USING BTREE, + UNIQUE INDEX `uk_stock_io_code`(`stock_io_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1966398756827725826 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '出入库单主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_stock_io_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_stock_io_detail`; +CREATE TABLE `wms_stock_io_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID', + `stock_io_id` bigint NOT NULL COMMENT '出入库单ID', + `warehouse_id` bigint NOT NULL COMMENT '库区/库位ID', + `from_warehouse_id` bigint NULL DEFAULT NULL COMMENT '源库区/库位ID(移库时使用)', + `item_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物品类型(raw_material/product)', + `item_id` bigint NOT NULL COMMENT '物品ID', + `quantity` decimal(18, 0) NOT NULL COMMENT '数量', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号', + `record_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '记录类型,0:详情,1:扫码枪记录', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`detail_id`) USING BTREE, + INDEX `idx_io_detail_stock_io`(`stock_io_id` ASC) USING BTREE, + INDEX `fk_io_detail_warehouse`(`warehouse_id` ASC) USING BTREE, + CONSTRAINT `fk_io_detail_stock_io` FOREIGN KEY (`stock_io_id`) REFERENCES `wms_stock_io` (`stock_io_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_io_detail_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `wms_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1966424094483382274 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '出入库单明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_stock_log +-- ---------------------------- +DROP TABLE IF EXISTS `wms_stock_log`; +CREATE TABLE `wms_stock_log` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `warehouse_id` bigint NOT NULL COMMENT '仓库/库区/库位ID', + `item_id` bigint NOT NULL COMMENT '物品ID(指向原材料或产品主键)', + `item_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物品类型(raw_material/product)', + `change_qty` decimal(18, 0) NOT NULL COMMENT '变动数量(正=入库,负=出库)', + `after_qty` decimal(18, 0) NOT NULL COMMENT '变动后的库存数量', + `change_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '变动类型(入库/出库等)', + `change_time` datetime NULL DEFAULT NULL COMMENT '实际库存变动时间', + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '修改人', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1966419732219113474 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库存流水表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_supplier +-- ---------------------------- +DROP TABLE IF EXISTS `wms_supplier`; +CREATE TABLE `wms_supplier` ( + `supplier_id` bigint NOT NULL AUTO_INCREMENT COMMENT '供应商ID(主键)', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '供应商名称', + `contact_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人', + `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系电话', + `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`supplier_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1955139407119724547 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '供应商信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_warehouse +-- ---------------------------- +DROP TABLE IF EXISTS `wms_warehouse`; +CREATE TABLE `wms_warehouse` ( + `warehouse_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `parent_id` bigint NULL DEFAULT NULL COMMENT '父节点ID(指向同表 warehouse_id)', + `warehouse_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库/库区编码', + `warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库/库区名称', + `warehouse_type` tinyint NOT NULL DEFAULT 0 COMMENT '类型:0=仓库,1=库区,2=库位,…', + `sort_no` int NULL DEFAULT NULL COMMENT '同级排序号', + `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`warehouse_id`) USING BTREE, + INDEX `idx_wms_wh_parent`(`parent_id` ASC) USING BTREE, + CONSTRAINT `fk_wms_wh_parent` FOREIGN KEY (`parent_id`) REFERENCES `wms_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1966388138204069891 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '仓库/库区/库位自关联表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_group +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_group`; +CREATE TABLE `xxl_job_group` ( + `id` int NOT NULL AUTO_INCREMENT, + `app_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '执行器AppName', + `title` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '执行器名称', + `address_type` tinyint NOT NULL DEFAULT 0 COMMENT '执行器地址类型:0=自动注册、1=手动录入', + `address_list` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '执行器地址列表,多地址逗号分隔', + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_info +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_info`; +CREATE TABLE `xxl_job_info` ( + `id` int NOT NULL AUTO_INCREMENT, + `job_group` int NOT NULL COMMENT '执行器主键ID', + `job_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `add_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + `author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '作者', + `alarm_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报警邮件', + `schedule_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'NONE' COMMENT '调度类型', + `schedule_conf` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', + `misfire_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略', + `executor_route_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器路由策略', + `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器任务handler', + `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器任务参数', + `executor_block_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '阻塞处理策略', + `executor_timeout` int NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒', + `executor_fail_retry_count` int NOT NULL DEFAULT 0 COMMENT '失败重试次数', + `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'GLUE类型', + `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT 'GLUE源代码', + `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'GLUE备注', + `glue_updatetime` datetime NULL DEFAULT NULL COMMENT 'GLUE更新时间', + `child_jobid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', + `trigger_status` tinyint NOT NULL DEFAULT 0 COMMENT '调度状态:0-停止,1-运行', + `trigger_last_time` bigint NOT NULL DEFAULT 0 COMMENT '上次调度时间', + `trigger_next_time` bigint NOT NULL DEFAULT 0 COMMENT '下次调度时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_lock +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_lock`; +CREATE TABLE `xxl_job_lock` ( + `lock_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '锁名称', + PRIMARY KEY (`lock_name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_log`; +CREATE TABLE `xxl_job_log` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `job_group` int NOT NULL COMMENT '执行器主键ID', + `job_id` int NOT NULL COMMENT '任务,主键ID', + `executor_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器地址,本次执行的地址', + `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器任务handler', + `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器任务参数', + `executor_sharding_param` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', + `executor_fail_retry_count` int NOT NULL DEFAULT 0 COMMENT '失败重试次数', + `trigger_time` datetime NULL DEFAULT NULL COMMENT '调度-时间', + `trigger_code` int NOT NULL COMMENT '调度-结果', + `trigger_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '调度-日志', + `handle_time` datetime NULL DEFAULT NULL COMMENT '执行-时间', + `handle_code` int NOT NULL COMMENT '执行-状态', + `handle_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '执行-日志', + `alarm_status` tinyint NOT NULL DEFAULT 0 COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败', + PRIMARY KEY (`id`) USING BTREE, + INDEX `I_trigger_time`(`trigger_time` ASC) USING BTREE, + INDEX `I_handle_code`(`handle_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_log_report +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_log_report`; +CREATE TABLE `xxl_job_log_report` ( + `id` int NOT NULL AUTO_INCREMENT, + `trigger_day` datetime NULL DEFAULT NULL COMMENT '调度-时间', + `running_count` int NOT NULL DEFAULT 0 COMMENT '运行中-日志数量', + `suc_count` int NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量', + `fail_count` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量', + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `i_trigger_day`(`trigger_day` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_logglue +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_logglue`; +CREATE TABLE `xxl_job_logglue` ( + `id` int NOT NULL AUTO_INCREMENT, + `job_id` int NOT NULL COMMENT '任务,主键ID', + `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'GLUE类型', + `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT 'GLUE源代码', + `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'GLUE备注', + `add_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_registry +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_registry`; +CREATE TABLE `xxl_job_registry` ( + `id` int NOT NULL AUTO_INCREMENT, + `registry_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `registry_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `registry_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `i_g_k_v`(`registry_group` ASC, `registry_key` ASC, `registry_value` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for xxl_job_user +-- ---------------------------- +DROP TABLE IF EXISTS `xxl_job_user`; +CREATE TABLE `xxl_job_user` ( + `id` int NOT NULL AUTO_INCREMENT, + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', + `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', + `role` tinyint NOT NULL COMMENT '角色:0-普通用户、1-管理员', + `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `i_username`(`username` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/script/sql/mysql/stock.sql b/script/sql/mysql/stock.sql new file mode 100644 index 00000000..443004e4 --- /dev/null +++ b/script/sql/mysql/stock.sql @@ -0,0 +1,79 @@ + +DROP TABLE IF EXISTS `wms_stock`; + +create table wms_stock +( + stock_id bigint auto_increment comment '主键ID' + primary key, + warehouse_id bigint not null comment '仓库/库区/库位ID', + item_id bigint not null comment '物品ID(指向原材料或产品主键)', + item_type varchar(20) not null comment '物品类型(raw_material/product)', + batch_no varchar(50) null comment '批次号(可选)', + remark varchar(255) null comment '备注', + del_flag tinyint(1) default 0 not null comment '删除标志(0=正常,1=已删除)', + create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间', + create_by varchar(50) null comment '创建人', + update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间', + update_by varchar(50) null comment '更新人', + constraint fk_stock_warehouse + foreign key (warehouse_id) references wms_warehouse (warehouse_id), + constraint fk_stock_raw_material + foreign key (raw_material_id) references wms_raw_material (raw_material_id), + constraint fk_stock_coil + foreign key (coil_id) references wms_material_coil (coil_id) +) + comment '库存表:原材料-钢卷-库区的存放关系' charset = utf8mb4; + +create index idx_stock_raw_material + on wms_stock (raw_material_id); + +create index idx_stock_coil + on wms_stock (coil_id); + +create index idx_stock_warehouse + on wms_stock (warehouse_id); + + +create table wms_material_coil +( + coil_id bigint auto_increment comment '主键ID' + primary key, + enter_coil_no varchar(50) not null comment '入场钢卷号(年份后两位+月份+当月第几个,如25100001、25102422)', + current_coil_no varchar(50) not null comment '当前钢卷号(入场钢卷号和当前钢卷号可能不同)', + supplier_coil_no varchar(50) null comment '厂家原料卷号', + data_type tinyint(1) default 1 not null comment '数据类型(0=历史,1=现存)', + warehouse_id bigint null comment '所在库区ID', + next_warehouse_id bigint null comment '下一库区ID', + qrcode_record_id bigint null comment '关联二维码ID(wms_generate_record.record_id)', + team varchar(50) null comment '班组', + has_merge_split tinyint(1) default 0 not null comment '是否合卷/分卷(0=否,1=分卷,2=合卷)', + parent_coil_nos varchar(500) null comment '父卷号(合卷或分卷时用,逗号分隔)', + item_id bigint not null comment '物品ID(指向原材料或产品主键)', + item_type varchar(20) not null comment '物品类型(raw_material/product)', + status tinyint(1) default 0 null comment '状态(0=在库,1=在途,2=已出库)', + remark varchar(255) null comment '备注', + del_flag tinyint(1) default 0 not null comment '删除标志(0=正常,1=已删除)', + create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间', + create_by varchar(50) null comment '创建人', + update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间', + update_by varchar(50) null comment '更新人', + constraint uk_enter_coil_no + unique (enter_coil_no) comment '入场钢卷号唯一约束', + constraint fk_coil_warehouse + foreign key (warehouse_id) references wms_warehouse (warehouse_id), + constraint fk_coil_next_warehouse + foreign key (next_warehouse_id) references wms_warehouse (warehouse_id), + constraint fk_coil_qrcode + foreign key (qrcode_record_id) references wms_generate_record (record_id) +) + comment '钢卷物料表' charset = utf8mb4; + +create index idx_coil_current_no + on wms_material_coil (current_coil_no); + +create index idx_coil_type + on wms_material_coil (data_type); + +create index idx_coil_warehouse + on wms_material_coil (warehouse_id); +