feat(MES): 添加MES接口相关实体和DTO JS扩展文件至JSX格式并更新配置
- 添加 Dt_MesApiLog 日志实体
- 添加 MesApiLogDto 及各接口请求DTO
- 支持进站、出站、绑定、解绑、NG上报接口
feat: 迁移JS扩展文件至JSX格式并更新配置
refactor: 重构Vue组件导入路径为JSX扩展文件
build: 添加@vitejs/plugin-vue-jsx依赖支持JSX
build: 更新vite配置为mjs格式并添加JSX插件
style: 统一扩展文件代码格式
chore: 清理旧的JS扩展文件
chore: 更新状态和配置文件
docs: 添加注释说明JSX扩展文件用途
perf: 优化库存页面按钮渲染逻辑
test: 更新测试相关配置
ci: 调整构建配置支持JSX语法
refactor(MES): 扩展文件改用JSX语法重写
- 将扩展文件从.js重命名为.jsx以支持JSX语法
- 使用JSX语法重写按钮render函数
- 更新Vue组件中的import语句引用.jsx文件
fix(MES): 修正扩展文件使用h()函数语法
.js文件不支持JSX语法,改用h()函数渲染按钮:
- 使用h()创建el-button组件
- 使用props定义组件属性
- 使用on: { click: ... }绑定点击事件
- 使用style定义内联样式
fix(MES): 根据实际库存状态枚举修正按钮显示逻辑
根据 StockStatusEmun 枚举更新按钮显示规则:
stockInfo.js (库存信息页面):
- 进站按钮: status ∈ [1, 3, 12, 13]
1=组盘暂存, 3=入库确认, 12=手动组盘暂存, 13=手动组盘入库确认
- 出站按钮: status ∈ [6, 7, 8, 10, 22]
6=入库完成, 7=出库锁定, 8=出库完成, 10=入库完成未建出库单, 22=空托盘库存
stockInfoDetail.js (库存明细页面):
- 锁定状态: status ∈ [7, 9, 99, 199]
7=出库锁定, 9=移库锁定, 99=组盘撤销, 199=入库撤销
feat(MES): 库存页面添加MES操作列(扩展文件实现)
在扩展文件中实现MES操作逻辑:
- stockInfo.js: 添加进站/出站按钮和API调用
- stockInfoDetail.js: 添加绑定/解绑/NG上报按钮和API调用
- 使用this.columns.push()添加操作列
- 使用h()函数渲染按钮
- 使用this.()显示确认对话框
- 使用this.http.post()调用后端API
feat(MES): 新增MES确认对话框组件
创建可复用的MesConfirmDialog.vue组件,用于在执行MES操作前显示确认信息。
功能特性:
- 支持5种操作类型(进站/出站/绑定/解绑/NG上报)
- 动态显示操作标题和提示文本
- 展示关键信息(托盘码、电芯数量、库位)
- 错误消息展示区域,带图标提示
- 确认/取消按钮,支持loading状态
- 通过回调函数处理操作成功/失败结果
技术实现:
- Vue 3 Composition API (defineComponent)
- 双向绑定支持 (v-model)
- Element Plus UI组件库
- Less预处理器样式
- 完整的JSDoc注释
该组件将被stockInfo.vue和stockInfoDetail.vue使用,提供统一的MES操作确认体验。
fix(MES API): 使用项目统一的http模块替代直接axios调用
- 将mes.js中的axios导入替换为项目统一的http模块
- 所有5个API方法改用http.post()以确保正确处理:
* Authorization token自动管理
* 全局错误处理和401重定向
* Loading指示器
* Token刷新拦截器
- 为所有MES接口添加application/json Content-Type头
- 增强模块文档注释
修复问题:
- 之前直接使用axios绕过了项目的认证和错误处理机制
- 修复Content-Type配置问题(项目默认为x-www-form-urlencoded)
feat(MES): 添加前端MES API调用模块
- 封装库存信息进站/出站接口
- 封装库存明细绑定/解绑/NG上报接口
fix(MES): 添加库存明细状态验证到MES接口
在三个MES接口中添加电芯状态验证,拒绝已锁定状态(Status=99)的操作:
- BindContainer: 绑定前验证电芯状态
- UnbindContainer: 解绑前验证电芯状态
- ContainerNgReport: NG上报前验证电芯状态
使用QueryDataAsync查询SerialNumber匹配的库存明细,检查Status是否为99(已锁定)
feat(MES): 库存明细页面添加绑定/解绑/NG上报接口
- POST /api/StockInfoDetail/bindContainer 托盘电芯绑定
- POST /api/StockInfoDetail/unbindContainer 托盘电芯解绑
- POST /api/StockInfoDetail/containerNgReport NG电芯上报
- 记录完整调用日志
fix(MES): 修正StockInfoController进站出站接口
- 修正库存状态验证使用正确的枚举值
- 优化数据库查询使用单条记录查询
- 改进async/await模式
feat(WMS): 扩展StockInfoController添加MES进站/出站接口
- 添加托盘进站接口 inboundInContainer
- 添加托盘出站接口 outboundInContainer
- 集成MES服务调用和日志记录
- 支持系统配置获取(设备编码、资源编码)
- 库存状态验证(进站:待入库, 出站:在库/出库中)
- 性能计时和异常处理
fix(WMS): 添加WIDESEA_MesService项目引用到WIDESEA_WMSServer
修复Task 3实施中遗漏的项目引用。WIDESEA_MesService实现项目现在已被引用,从而允许Autofac DI注册在运行时成功。
feat(MES): 添加MES日志服务
- 实现 IMesLogService 接口
- 支持记录和查询MES接口调用日志
- 异常处理不影响主流程
fix(MES): 修正DTO命名空间大小写以匹配现有代码
将所有新增的MES相关DTO的命名空间从 WIDESEA_DTO.Mes 改为 WIDESEA_DTO.MES,以符合现有代码库的命名规范。
修改文件:
- InboundInContainerRequestDto.cs
- OutboundInContainerRequestDto.cs
- BindContainerRequestDto.cs
- UnbindContainerRequestDto.cs
- ContainerNgReportRequestDto.cs
- MesApiLogDto.cs
feat(MES): 添加MES接口日志表和系统配置
- 创建 Dt_MesApiLog 表记录接口调用日志
- 添加MES相关系统配置项(设备编码、资源编码、接口地址等)
docs: 添加WMS库存页面MES接口集成实现计划
- 9个任务:数据库、实体DTO、服务、控制器、前端组件
- 详细的代码步骤和测试检查清单
- 遵循TDD、DRY、YAGNI原则
docs: 添加WMS库存页面MES接口集成设计文档
- 新增库存信息页面进站/出站操作设计
- 新增库存明细页面绑定/解绑/NG上报操作设计
- 定义API接口、数据库表结构、服务层设计
- 完整的交互流程和错误处理方案