From 01b6b810a69a507fc2658bef836e545e870907eb Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Wed, 29 Apr 2026 13:53:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(roll):=20=E5=AE=8C=E6=88=90=E8=BD=A7?= =?UTF-8?q?=E8=BE=8A=E7=AE=A1=E7=90=86=E5=85=A8=E6=A0=88=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DB:mill_roll(轧辊库)+ mill_roll_change(换辊记录),已执行到服务器 后端: - MillRoll / MillRollChange domain - Mapper 接口 + XML(keyProperty 正确:rollId/changeId) - Service + ServiceImpl(换辊时自动更新轧辊 status 为 Online Use) - MillRollController /mill/roll + MillRollChangeController /mill/rollChange 前端: - api/mill/roll.js 8个接口函数 - views/mill/roll.vue 三段式布局 ·上:换辊数据历史表格 ·左下:当前辊系参数(6辊图形 CSS 圆圈 + 编号/径/时间展示) ·右下:轧辊库表格 + 条件查询 + 更换/添加/修改/删除操作 - 路由注册 /mill/roll Co-Authored-By: Claude Sonnet 4.6 --- .../controller/MillRollChangeController.java | 33 + .../mill/controller/MillRollController.java | 47 + .../java/com/ruoyi/mill/domain/MillRoll.java | 33 + .../com/ruoyi/mill/domain/MillRollChange.java | 60 ++ .../mill/mapper/MillRollChangeMapper.java | 13 + .../com/ruoyi/mill/mapper/MillRollMapper.java | 20 + .../mill/service/IMillRollChangeService.java | 13 + .../ruoyi/mill/service/IMillRollService.java | 17 + .../impl/MillRollChangeServiceImpl.java | 77 ++ .../service/impl/MillRollServiceImpl.java | 49 ++ .../mapper/mill/MillRollChangeMapper.xml | 70 ++ .../resources/mapper/mill/MillRollMapper.xml | 92 ++ ruoyi-ui/src/api/mill/roll.js | 33 + ruoyi-ui/src/router/index.js | 13 + ruoyi-ui/src/views/mill/roll.vue | 822 ++++++++++++++++++ sql/mill_roll_tables.sql | 44 + 16 files changed, 1436 insertions(+) create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollChangeController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRoll.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRollChange.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollChangeMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollChangeService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollChangeServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollServiceImpl.java create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/MillRollChangeMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/MillRollMapper.xml create mode 100644 ruoyi-ui/src/api/mill/roll.js create mode 100644 ruoyi-ui/src/views/mill/roll.vue create mode 100644 sql/mill_roll_tables.sql diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollChangeController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollChangeController.java new file mode 100644 index 00000000..0c1de0dc --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollChangeController.java @@ -0,0 +1,33 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.mill.domain.MillRollChange; +import com.ruoyi.mill.service.IMillRollChangeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/mill/rollChange") +public class MillRollChangeController extends BaseController { + + @Autowired + private IMillRollChangeService changeService; + + @GetMapping("/list") + public TableDataInfo list(MillRollChange query) { + startPage(); + return getDataTable(changeService.selectList(query)); + } + + @GetMapping("/current") + public AjaxResult current() { + return AjaxResult.success(changeService.selectLatest()); + } + + @PostMapping + public AjaxResult add(@RequestBody MillRollChange change) { + return toAjax(changeService.addChange(change)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollController.java new file mode 100644 index 00000000..fe6d48cc --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillRollController.java @@ -0,0 +1,47 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.mill.domain.MillRoll; +import com.ruoyi.mill.service.IMillRollService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/mill/roll") +public class MillRollController extends BaseController { + + @Autowired + private IMillRollService rollService; + + @GetMapping("/list") + public TableDataInfo list(MillRoll query) { + startPage(); + return getDataTable(rollService.selectList(query)); + } + + @GetMapping("/{id}") + public AjaxResult getInfo(@PathVariable Long id) { + return AjaxResult.success(rollService.selectById(id)); + } + + @PostMapping + public AjaxResult add(@RequestBody MillRoll roll) { + int rows = rollService.insert(roll); + if (rows > 0) { + return AjaxResult.success(roll.getRollId()); + } + return AjaxResult.error("新增失败"); + } + + @PutMapping + public AjaxResult edit(@RequestBody MillRoll roll) { + return toAjax(rollService.update(roll)); + } + + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(rollService.deleteByIds(ids)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRoll.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRoll.java new file mode 100644 index 00000000..b5543297 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRoll.java @@ -0,0 +1,33 @@ +package com.ruoyi.mill.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; +import java.math.BigDecimal; + +/** 轧辊库 */ +@Data +public class MillRoll extends BaseEntity { + + private Long rollId; + + /** 轧辊编号 */ + private String rollNo; + + /** 轧辊类型 WR/IR/BR */ + private String rollType; + + /** 使用状态 */ + private String status; + + /** 初始辊径(mm) */ + private BigDecimal initialDia; + + /** 当前辊径(mm) */ + private BigDecimal currentDia; + + /** 标志位 */ + private String flag; + + /** 删除标志 0正常 2删除 */ + private String delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRollChange.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRollChange.java new file mode 100644 index 00000000..1e417318 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MillRollChange.java @@ -0,0 +1,60 @@ +package com.ruoyi.mill.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import java.math.BigDecimal; +import java.util.Date; + +/** 换辊记录 */ +@Data +public class MillRollChange extends BaseEntity { + + private Long changeId; + + /** 换辊时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date changeTime; + + /** 换辊状态 */ + private String changeStatus; + + /** 上工作辊编号 */ + private String upperWrNo; + + /** 上工作辊径(mm) */ + private BigDecimal upperWrDia; + + /** 下工作辊编号 */ + private String lowerWrNo; + + /** 下工作辊径(mm) */ + private BigDecimal lowerWrDia; + + /** 上中间辊编号 */ + private String upperIrNo; + + /** 上中间辊径(mm) */ + private BigDecimal upperIrDia; + + /** 下中间辊编号 */ + private String lowerIrNo; + + /** 下中间辊径(mm) */ + private BigDecimal lowerIrDia; + + /** 上支承辊编号 */ + private String upperBrNo; + + /** 上支承辊径(mm) */ + private BigDecimal upperBrDia; + + /** 下支承辊编号 */ + private String lowerBrNo; + + /** 下支承辊径(mm) */ + private BigDecimal lowerBrDia; + + /** 删除标志 0正常 2删除 */ + private String delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollChangeMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollChangeMapper.java new file mode 100644 index 00000000..64de2eca --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollChangeMapper.java @@ -0,0 +1,13 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.MillRollChange; +import java.util.List; + +public interface MillRollChangeMapper { + + List selectList(MillRollChange query); + + MillRollChange selectLatest(); + + int insert(MillRollChange change); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollMapper.java new file mode 100644 index 00000000..708e3375 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MillRollMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.MillRoll; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +public interface MillRollMapper { + + List selectList(MillRoll query); + + MillRoll selectById(Long rollId); + + int insert(MillRoll roll); + + int update(MillRoll roll); + + int deleteByIds(Long[] ids); + + int updateStatus(@Param("rollId") Long rollId, @Param("status") String status); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollChangeService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollChangeService.java new file mode 100644 index 00000000..6da1149b --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollChangeService.java @@ -0,0 +1,13 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.MillRollChange; +import java.util.List; + +public interface IMillRollChangeService { + + List selectList(MillRollChange query); + + MillRollChange selectLatest(); + + int addChange(MillRollChange change); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollService.java new file mode 100644 index 00000000..f93e53d4 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillRollService.java @@ -0,0 +1,17 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.MillRoll; +import java.util.List; + +public interface IMillRollService { + + List selectList(MillRoll query); + + MillRoll selectById(Long rollId); + + int insert(MillRoll roll); + + int update(MillRoll roll); + + int deleteByIds(Long[] ids); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollChangeServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollChangeServiceImpl.java new file mode 100644 index 00000000..b601cf6b --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollChangeServiceImpl.java @@ -0,0 +1,77 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.mill.domain.MillRoll; +import com.ruoyi.mill.domain.MillRollChange; +import com.ruoyi.mill.mapper.MillRollChangeMapper; +import com.ruoyi.mill.mapper.MillRollMapper; +import com.ruoyi.mill.service.IMillRollChangeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +public class MillRollChangeServiceImpl implements IMillRollChangeService { + + @Autowired + private MillRollChangeMapper changeMapper; + + @Autowired + private MillRollMapper rollMapper; + + @Override + public List selectList(MillRollChange query) { + return changeMapper.selectList(query); + } + + @Override + public MillRollChange selectLatest() { + return changeMapper.selectLatest(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addChange(MillRollChange change) { + String user = SecurityUtils.getUsername(); + change.setCreateBy(user); + change.setUpdateBy(user); + change.setDelFlag("0"); + if (change.getChangeTime() == null) { + change.setChangeTime(new Date()); + } + if (change.getChangeStatus() == null || change.getChangeStatus().isEmpty()) { + change.setChangeStatus("新辊换上"); + } + + int rows = changeMapper.insert(change); + + // Update roll status to "Online Use" for each populated roll position + updateRollStatusByNo(change.getUpperWrNo(), "Online Use"); + updateRollStatusByNo(change.getLowerWrNo(), "Online Use"); + updateRollStatusByNo(change.getUpperIrNo(), "Online Use"); + updateRollStatusByNo(change.getLowerIrNo(), "Online Use"); + updateRollStatusByNo(change.getUpperBrNo(), "Online Use"); + updateRollStatusByNo(change.getLowerBrNo(), "Online Use"); + + return rows; + } + + /** + * Find roll by roll_no and update its status. + * Silently skips if roll_no is blank or roll not found. + */ + private void updateRollStatusByNo(String rollNo, String newStatus) { + if (rollNo == null || rollNo.trim().isEmpty()) { + return; + } + MillRoll query = new MillRoll(); + query.setRollNo(rollNo.trim()); + List list = rollMapper.selectList(query); + if (!list.isEmpty()) { + rollMapper.updateStatus(list.get(0).getRollId(), newStatus); + } + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollServiceImpl.java new file mode 100644 index 00000000..fc3ae291 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillRollServiceImpl.java @@ -0,0 +1,49 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.mill.domain.MillRoll; +import com.ruoyi.mill.mapper.MillRollMapper; +import com.ruoyi.mill.service.IMillRollService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; + +@Service +public class MillRollServiceImpl implements IMillRollService { + + @Autowired + private MillRollMapper rollMapper; + + @Override + public List selectList(MillRoll query) { + return rollMapper.selectList(query); + } + + @Override + public MillRoll selectById(Long rollId) { + return rollMapper.selectById(rollId); + } + + @Override + public int insert(MillRoll roll) { + String user = SecurityUtils.getUsername(); + roll.setCreateBy(user); + roll.setUpdateBy(user); + roll.setDelFlag("0"); + if (roll.getStatus() == null || roll.getStatus().isEmpty()) { + roll.setStatus("Offline"); + } + return rollMapper.insert(roll); + } + + @Override + public int update(MillRoll roll) { + roll.setUpdateBy(SecurityUtils.getUsername()); + return rollMapper.update(roll); + } + + @Override + public int deleteByIds(Long[] ids) { + return rollMapper.deleteByIds(ids); + } +} diff --git a/ruoyi-mill/src/main/resources/mapper/mill/MillRollChangeMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/MillRollChangeMapper.xml new file mode 100644 index 00000000..f8c11e28 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/MillRollChangeMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + change_id, change_time, change_status, + upper_wr_no, upper_wr_dia, lower_wr_no, lower_wr_dia, + upper_ir_no, upper_ir_dia, lower_ir_no, lower_ir_dia, + upper_br_no, upper_br_dia, lower_br_no, lower_br_dia, + del_flag, create_by, create_time, update_by, update_time, remark + + + + + + + + INSERT INTO mill_roll_change ( + change_time, change_status, + upper_wr_no, upper_wr_dia, lower_wr_no, lower_wr_dia, + upper_ir_no, upper_ir_dia, lower_ir_no, lower_ir_dia, + upper_br_no, upper_br_dia, lower_br_no, lower_br_dia, + del_flag, create_by, create_time, update_by, update_time, remark + ) VALUES ( + #{changeTime}, #{changeStatus}, + #{upperWrNo}, #{upperWrDia}, #{lowerWrNo}, #{lowerWrDia}, + #{upperIrNo}, #{upperIrDia}, #{lowerIrNo}, #{lowerIrDia}, + #{upperBrNo}, #{upperBrDia}, #{lowerBrNo}, #{lowerBrDia}, + '0', #{createBy}, NOW(), #{updateBy}, NOW(), #{remark} + ) + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/MillRollMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/MillRollMapper.xml new file mode 100644 index 00000000..a98b2c09 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/MillRollMapper.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + roll_id, roll_no, roll_type, status, initial_dia, current_dia, + flag, del_flag, create_by, create_time, update_by, update_time, remark + + + + + + + + INSERT INTO mill_roll ( + roll_no, roll_type, status, initial_dia, current_dia, + flag, del_flag, create_by, create_time, update_by, update_time, remark + ) VALUES ( + #{rollNo}, #{rollType}, + + #{status} + 'Offline' + , + #{initialDia}, #{currentDia}, + #{flag}, '0', + #{createBy}, NOW(), #{updateBy}, NOW(), #{remark} + ) + + + + UPDATE mill_roll + + roll_no = #{rollNo}, + roll_type = #{rollType}, + status = #{status}, + initial_dia = #{initialDia}, + current_dia = #{currentDia}, + flag = #{flag}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = NOW() + + WHERE roll_id = #{rollId} AND del_flag = '0' + + + + UPDATE mill_roll SET del_flag = '2', update_time = NOW() + WHERE roll_id IN + + #{id} + + + + + UPDATE mill_roll SET status = #{status}, update_time = NOW() + WHERE roll_id = #{rollId} + + + diff --git a/ruoyi-ui/src/api/mill/roll.js b/ruoyi-ui/src/api/mill/roll.js new file mode 100644 index 00000000..99887b87 --- /dev/null +++ b/ruoyi-ui/src/api/mill/roll.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' + +export function listRoll(query) { + return request({ url: '/mill/roll/list', method: 'get', params: query }) +} + +export function getRoll(id) { + return request({ url: `/mill/roll/${id}`, method: 'get' }) +} + +export function addRoll(data) { + return request({ url: '/mill/roll', method: 'post', data }) +} + +export function updateRoll(data) { + return request({ url: '/mill/roll', method: 'put', data }) +} + +export function delRoll(ids) { + return request({ url: `/mill/roll/${ids}`, method: 'delete' }) +} + +export function listRollChange(query) { + return request({ url: '/mill/rollChange/list', method: 'get', params: query }) +} + +export function getCurrentRolls() { + return request({ url: '/mill/rollChange/current', method: 'get' }) +} + +export function addRollChange(data) { + return request({ url: '/mill/rollChange', method: 'post', data }) +} diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index 2ff1dd07..b4259b6c 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -205,6 +205,19 @@ export const constantRoutes = [ } ] }, + { + path: '/mill', + component: Layout, + hidden: true, + children: [ + { + path: 'roll', + component: () => import('@/views/mill/roll'), + name: 'MillRoll', + meta: { title: '轧辊管理', icon: '' } + } + ] + }, ] // 动态路由,基于用户权限动态去加载 diff --git a/ruoyi-ui/src/views/mill/roll.vue b/ruoyi-ui/src/views/mill/roll.vue new file mode 100644 index 00000000..08f4f2ec --- /dev/null +++ b/ruoyi-ui/src/views/mill/roll.vue @@ -0,0 +1,822 @@ + + + + + diff --git a/sql/mill_roll_tables.sql b/sql/mill_roll_tables.sql new file mode 100644 index 00000000..3b6d3260 --- /dev/null +++ b/sql/mill_roll_tables.sql @@ -0,0 +1,44 @@ +DROP TABLE IF EXISTS `mill_roll`; +CREATE TABLE `mill_roll` ( + `roll_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `roll_no` varchar(20) NOT NULL COMMENT '轧辊编号', + `roll_type` char(2) NOT NULL COMMENT '轧辊类型 WR/IR/BR', + `status` varchar(20) DEFAULT 'Offline' COMMENT '使用状态', + `initial_dia` decimal(8,2) DEFAULT 0.00 COMMENT '初始辊径(mm)', + `current_dia` decimal(8,2) DEFAULT 0.00 COMMENT '当前辊径(mm)', + `flag` varchar(4) DEFAULT '' COMMENT '标志位 U/D/0等', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志 0正常 2删除', + PRIMARY KEY (`roll_id`), + UNIQUE KEY `uk_roll_no` (`roll_no`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='轧辊库'; + +DROP TABLE IF EXISTS `mill_roll_change`; +CREATE TABLE `mill_roll_change` ( + `change_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `change_time` datetime DEFAULT NULL COMMENT '换辊时间', + `change_status` varchar(20) DEFAULT '' COMMENT '换辊状态', + `upper_wr_no` varchar(20) DEFAULT '' COMMENT '上工作辊编号', + `upper_wr_dia` decimal(8,2) DEFAULT 0.00 COMMENT '上工作辊径(mm)', + `lower_wr_no` varchar(20) DEFAULT '' COMMENT '下工作辊编号', + `lower_wr_dia` decimal(8,2) DEFAULT 0.00 COMMENT '下工作辊径(mm)', + `upper_ir_no` varchar(20) DEFAULT '' COMMENT '上中间辊编号', + `upper_ir_dia` decimal(8,2) DEFAULT 0.00 COMMENT '上中间辊径(mm)', + `lower_ir_no` varchar(20) DEFAULT '' COMMENT '下中间辊编号', + `lower_ir_dia` decimal(8,2) DEFAULT 0.00 COMMENT '下中间辊径(mm)', + `upper_br_no` varchar(20) DEFAULT '' COMMENT '上支承辊编号', + `upper_br_dia` decimal(8,2) DEFAULT 0.00 COMMENT '上支承辊径(mm)', + `lower_br_no` varchar(20) DEFAULT '' COMMENT '下支承辊编号', + `lower_br_dia` decimal(8,2) DEFAULT 0.00 COMMENT '下支承辊径(mm)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志 0正常 2删除', + PRIMARY KEY (`change_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='换辊记录';