工单物料明细模块提供了对工单物料的完整增删改查功能,支持多表关联查询,展示物料的详细信息。
WorkOrderMaterialDO.javaWorkOrdDetail@InterceptorIgnore 注解)IsActive 字段标记状态)@TableField 注解指定实际数据库字段名(大写开头)WorkOrderMaterialMapper.java, WorkOrderMaterialMapper.xmlselectPageWithJoin: 分页查询(多表关联)selectListWithJoin: 列表查询(多表关联)WorkOrdMaster: 工单主表(获取Batch, QtyOrded)ItemMaster: 物料主表(获取Descr物料名称)RoutingOpDetail: 工序明细表(获取工序描述)NbrDetail: 数量明细表(获取QtyRec收货数量)WorkOrderMaterialService.java, WorkOrderMaterialServiceImpl.javacreateWorkOrderMaterial: 创建物料明细updateWorkOrderMaterial: 更新物料明细deleteWorkOrderMaterial: 删除物料明细(逻辑删除,设置IsActive=0)getWorkOrderMaterial: 获取单条记录getWorkOrderMaterialPage: 分页查询WorkOrderMaterialController.javaPOST /makeplan/work-order-material/create: 创建PUT /makeplan/work-order-material/update: 更新DELETE /makeplan/work-order-material/delete: 删除GET /makeplan/work-order-material/get: 获取详情GET /makeplan/work-order-material/page: 分页查询WorkOrderMaterialPageReqVO.java: 分页查询请求WorkOrderMaterialRespVO.java: 响应VOWorkOrderMaterialSaveReqVO.java: 保存请求VOWorkOrderMaterialConvert.javasrc/api/makeplan/workorderMaterial.tsgetWorkOrderMaterialPage: 分页查询getWorkOrderMaterial: 获取详情createWorkOrderMaterial: 创建updateWorkOrderMaterial: 更新deleteWorkOrderMaterial: 删除src/views/jiaohuo/WorkOrderMaterial.vuesrc/views/jiaohuo/components/WorkOrderMaterialForm.vue原始SQL Server语法已转换为MySQL语法:
| SQL Server | MySQL |
|---|---|
ISNULL(field, default) |
IFNULL(field, default) |
cast(field as nvarchar(10)) + ' ' + field2 |
CONCAT(CAST(field AS CHAR), ' ', field2) |
wd.[Domain] |
wd.Domain |
upper(Type)='SM' |
UPPER(nd.Type)='SM' |
CAST(field as int) |
CAST(field AS SIGNED) |
FROM WorkOrdDetail wd
INNER JOIN WorkOrdMaster wm ON wd.Domain = wm.Domain AND wd.WorkOrd = wm.WorkOrd
INNER JOIN ItemMaster im ON wd.Domain = im.Domain AND wd.ItemNum = im.ItemNum
LEFT JOIN RoutingOpDetail rd ON wd.Domain = rd.Domain AND wd.ItemNum = rd.RoutingCode AND wd.Op = rd.Op
LEFT JOIN NbrDetail nd ON wd.WorkOrd = nd.WorkOrd
AND nd.ItemNum = wd.ItemNum
AND nd.IsActive = wd.IsActive
AND wd.Domain = nd.Domain
AND UPPER(nd.Type) = 'SM'
UPPER(wm.Status) IN ('', 'P', 'R', 'W', 'S')UPPER(IFNULL(wm.Typed, '')) IN ('', 'RW', 'TEST', 'TCN')OpDescr: 工序号 + 工序描述background: 根据IsActive状态返回背景色QtyRec: 收货数量(默认0)cd yudao-server
mvn spring-boot:run -Dspring-boot.run.profiles=local
cd yudao-ui/yudao-ui-admin-vue3
pnpm dev
访问 Swagger 文档: http://localhost:48080/doc.html
WorkOrd, ItemNum),不是下划线命名@InterceptorIgnore 注解IsActive 字段(1-有效,0-已删除)@TableField 注解指定实际字段名exist = false1_003_002_001: 工单物料明细不存在yudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/dal/dataobject/workorder/WorkOrderMaterialDO.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/dal/mysql/workorder/WorkOrderMaterialMapper.javayudao-module-makeplan/src/main/resources/mapper/workorder/WorkOrderMaterialMapper.xmlyudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/service/WorkOrderMaterialService.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/service/WorkOrderMaterialServiceImpl.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/controller/admin/workorder/WorkOrderMaterialController.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/controller/admin/workorder/vo/WorkOrderMaterialPageReqVO.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/controller/admin/workorder/vo/WorkOrderMaterialRespVO.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/controller/admin/workorder/vo/WorkOrderMaterialSaveReqVO.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/convert/WorkOrderMaterialConvert.javayudao-module-makeplan/src/main/java/cn/iocoder/yudao/module/makeplan/enums/ErrorCodeConstants.javayudao-ui/yudao-ui-admin-vue3/src/api/makeplan/workorderMaterial.tsyudao-ui/yudao-ui-admin-vue3/src/views/jiaohuo/WorkOrderMaterial.vueyudao-ui/yudao-ui-admin-vue3/src/views/jiaohuo/components/WorkOrderMaterialForm.vue