From a80419d9872b29c0abf5be65ec4233d628c04cba Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 10:14:26 +0800
Subject: [PATCH] feat: 为生产订单和计划添加车间信息支持
---
src/main/java/com/ruoyi/production/bean/dto/ProductionPlanDto.java | 3 +++
src/main/java/com/ruoyi/production/controller/ProductionPlanController.java | 4 ++++
src/main/java/com/ruoyi/production/service/impl/ProductionPlanServiceImpl.java | 1 +
src/main/java/com/ruoyi/production/pojo/ProductionOrder.java | 5 +++++
src/main/resources/mapper/production/ProductionOrderMapper.xml | 6 +++++-
src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java | 8 ++++++++
6 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/bean/dto/ProductionPlanDto.java b/src/main/java/com/ruoyi/production/bean/dto/ProductionPlanDto.java
index 60ab542..ed85c3f 100644
--- a/src/main/java/com/ruoyi/production/bean/dto/ProductionPlanDto.java
+++ b/src/main/java/com/ruoyi/production/bean/dto/ProductionPlanDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.production.bean.dto;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.production.pojo.ProductionPlan;
@@ -52,4 +53,6 @@
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate requiredDateEnd;
+ @Schema(description = "杞﹂棿id")
+ private Long workshopId;
}
diff --git a/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java b/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
index 1bb26a4..cdf442e 100644
--- a/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
+++ b/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
@@ -39,4 +39,12 @@
@Schema(description = "鏄惁宸查��鏂�")
private Boolean returned;
+
+ @Schema(description = "杞﹂棿id")
+ private Long workshopId;
+
+ @Schema(description = "杞﹂棿鍚嶇О")
+ private String workshopName;
+
+
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionPlanController.java b/src/main/java/com/ruoyi/production/controller/ProductionPlanController.java
index 6190a47..3cb9af3 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionPlanController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionPlanController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -53,6 +54,9 @@
if (productionPlanDto.getTotalAssignedQuantity() == null || productionPlanDto.getTotalAssignedQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return R.fail("璇疯緭鍏ヤ笅鍙戞暟閲�");
}
+ if(productionPlanDto.getWorkshopId() == null){
+ throw new BaseException("璇烽�夋嫨杞﹂棿淇℃伅");
+ }
return R.ok(productionPlanService.combine(productionPlanDto));
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
index 1f882b1..6689a8b 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
@@ -80,4 +80,9 @@
@Schema(description = "鏄惁缁撴潫锛�")
@TableField("is_end_order")
private Boolean endOrder;
+
+
+ @TableField("workshop_id")
+ @Schema(description = "杞﹂棿id")
+ private Long workshopId;
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionPlanServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionPlanServiceImpl.java
index b3ad742..0d1a982 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionPlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionPlanServiceImpl.java
@@ -131,6 +131,7 @@
productionOrder.setProductionPlanIds(formatPlanIds(issuedPlanIds));
productionOrder.setProductModelId(firstPlan.getProductModelId());
productionOrder.setQuantity(assignedQuantity);
+ productionOrder.setWorkshopId(productionPlanDto.getWorkshopId());
productionOrder.setPlanCompleteTime(productionPlanDto.getPlanCompleteTime());
boolean saved = productionOrderService.saveProductionOrder(productionOrder);
diff --git a/src/main/resources/mapper/production/ProductionOrderMapper.xml b/src/main/resources/mapper/production/ProductionOrderMapper.xml
index 1a304ef..50ebd4d 100644
--- a/src/main/resources/mapper/production/ProductionOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductionOrderMapper.xml
@@ -54,7 +54,9 @@
tr.process_route_code as processRouteCode,
ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
tb.bom_no as bomNo,
- pop_return.returned as returned
+ pop_return.returned as returned,
+ t7.name as workshop_name,
+ t7.id as workshop_id
</sql>
<sql id="ProductionOrderVoFrom">
@@ -81,6 +83,8 @@
from production_order_pick
group by production_order_id
) pop_return on pop_return.productionOrderId = po.id
+ left join workshop as t7 on po.workshop_id = t7.id
+
</sql>
<sql id="ProductionOrderWhere">
--
Gitblit v1.9.3