完成了工单下达功能的完整后端开发和前端问题修复,实现了工单池查询、工单下达、物料齐套检查、物料需求计划生成等核心功能。
文件: WorkOrderController.java
实现的接口:
GET /jiaohuo/workorder/pool/list - 工单池分页列表GET /jiaohuo/workorder/{id} - 工单详情PUT /jiaohuo/workorder - 更新工单POST /jiaohuo/workorder/release - 工单下达GET /jiaohuo/workorder/{id}/check-material - 物料齐套检查POST /jiaohuo/workorder/generate-material-requirement - 生成物料需求计划文件:
WorkOrderService.java (接口)WorkOrderServiceImpl.java (实现)核心功能:
目录: controller/admin/workorder/vo/
已创建的VO类:
WorkOrderPoolPageReqVO.java - 工单池分页查询请求WorkOrderPoolRespVO.java - 工单池响应WorkOrderUpdateReqVO.java - 工单更新请求WorkOrderReleaseReqVO.java - 工单下达请求MaterialCheckReqVO.java - 物料齐套检查请求MaterialRequirementReqVO.java - 物料需求生成请求文件:
WorkOrdMasterMapper.javaWorkOrdMasterMapper.xml实现的方法:
selectWorkOrderPoolPage - 工单池分页查询selectByWorkOrd - 根据工单编号查询selectByRecId - 根据RecID查询updateStatusToRelease - 更新工单状态为下达文件: WorkOrdMasterDO.java
映射数据库表:WorkOrdMaster
文件: ErrorCodeConstants.java
定义的错误码:
WORK_ORDER_NOT_EXISTS (120010) - 工单不存在WORK_ORDER_STATUS_ERROR (120011) - 工单状态不正确WORK_ORDER_ALREADY_RELEASED (120012) - 工单已下达文件: LogRecordConstants.java
添加的日志常量:
WORK_ORDER_TYPE - "ORDER 工单"WORK_ORDER_UPDATE_SUB_TYPE - "更新工单"WORK_ORDER_UPDATE_SUCCESS - 更新成功日志模板WORK_ORDER_RELEASE_SUB_TYPE - "工单下达"WORK_ORDER_RELEASE_SUCCESS - 下达成功日志模板文件: OrderWebConfiguration.java
配置内容:
文件: WorkOrdMasterMapper.xml
修复的问题:
WHERE a.Status = 'p' → WHERE UPPER(a.Status) = 'P'ISNULL() → IFNULL()+ 运算符 → CONCAT() 函数CONVERT() → DATE_FORMAT()文件: WorkOrderPool.vue
修复的问题:
handleSearch()文件: WorkOrderReleaseForm.vue
修复的问题:
@TenantIgnore 注解忽略租户隔离@LogRecord 注解自动记录操作日志@PreAuthorize 注解进行权限校验jiaohuo:workorder:*http://123.60.180.165:9898/api/business/resource-examine/producedayplankittingcheckhttp://123.60.180.165:9898/api/business/resource-examine/AutomaticPrAdjustDateGET /jiaohuo/workorder/pool/list
参数:
- pageNo: 页码
- pageSize: 每页数量
- workOrd: 工单编号(可选)
- itemNum: 物料编码(可选)
- descr: 物料名称(可选)
- ordDate: 开工日期(可选)
响应:
{
"code": 0,
"data": {
"list": [...],
"total": 4
}
}
GET /jiaohuo/workorder/{id}
参数:
- id: 工单ID
响应:
{
"code": 0,
"data": { ... }
}
PUT /jiaohuo/workorder
Body:
{
"id": 工单ID,
"lotSerial": "生产批号",
"ordDate": "开工日期",
"status": "状态",
"remark": "备注"
}
POST /jiaohuo/workorder/release
Body:
{
"workOrderNo": "工单编号",
"lotSerial": "生产批号",
"ordDate": "开工日期",
"companyId": "公司ID(可选)",
"userAccount": "用户账号(可选)"
}
GET /jiaohuo/workorder/{id}/check-material
参数:
- id: 工单ID
POST /jiaohuo/workorder/generate-material-requirement
Body:
{
"companyId": "公司ID(可选)",
"domain": "域(可选)"
}
主要字段:
| 前端字段 | 后端字段 | 数据库字段 | 说明 |
|---|---|---|---|
| workOrd | workOrd | WorkOrd | 工单编号 |
| itemNum | itemNum | ItemNum | 物料编码 |
| descr | descr | Descr | 物料名称 |
| priority | priority | Priority | 优先级 |
| qtyOrded | qtyOrded | QtyOrded | 工单数量 |
| materialSituation | materialSituation | MaterialSituation | 物料齐套 |
| ordDate | ordDate | OrdDate | 开工日期 |
| dueDate | dueDate | DueDate | 完成日期 |
| status | status | Status | 状态 |
| lotSerial | lotSerial | LotSerial | 生产批号 |
# 编译打包
cd yudao-order-server
mvn clean package -DskipTests
# 运行
java -jar target/yudao-order-server.jar --spring.profiles.active=prod
# 安装依赖
cd yudao-ui/yudao-ui-admin-vue3
pnpm install
# 构建生产版本
pnpm build:prod
# 部署到Nginx
cp -r dist/* /usr/share/nginx/html/
确保数据库中存在以下表:
在 application.yaml 中配置:
order:
default:
domain: 8010 # 默认域名
WORKORDER_BACKEND_SUMMARY.md - 后端开发总结WORKORDER_FIX_SUMMARY.md - SQL问题修复总结WORKORDER_FRONTEND_FIX_SUMMARY.md - 前端问题修复总结WORKORDER_COMPLETE_SUMMARY.md - 完整开发总结(本文档)✅ 开发完成 ✅ 问题修复完成 ✅ 测试验证通过 ✅ 文档编写完成 🚀 可以上线使用
如有问题,请联系开发团队或查看相关文档。