From 55ccb0c5c6e4b0faaa16ba1763b9aea58ed64aae Mon Sep 17 00:00:00 2001
From: Joshi <3040996759@qq.com>
Date: Wed, 6 May 2026 15:04:20 +0800
Subject: [PATCH] =?UTF-8?q?feat(mill):=20=E6=B7=BB=E5=8A=A0=E7=94=9F?=
=?UTF-8?q?=E4=BA=A7=E8=AE=A1=E5=88=92=E5=AE=8C=E6=88=90=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E5=B9=B6=E4=BF=AE=E6=94=B9=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=AB=AF?=
=?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在 MillProductionPlanService 中新增 completePlan 方法用于完成计划
- 在 MillProductionPlanController 中新增 complete 接口用于完成计划操作
- 实现完成计划业务逻辑:更新计划状态为完成并创建生产实绩记录
- 修改 application.yml 配置文件将服务器端口从 8080 改为 8090
- 修改 pom.xml 文件将 artifactId 从 ruoyi-admin 改为 double-rack
- 集成事务管理确保数据一致性
---
ruoyi-admin/pom.xml | 16 ++++----
.../src/main/resources/application.yml | 2 +-
.../MillProductionPlanController.java | 9 ++++
.../service/IMillProductionPlanService.java | 3 ++
.../impl/MillProductionPlanServiceImpl.java | 41 +++++++++++++++++++
5 files changed, 62 insertions(+), 9 deletions(-)
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index e4515457..da27ffe4 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -9,7 +9,7 @@
4.0.0
jar
- ruoyi-admin
+ double-rack
web服务入口
@@ -86,17 +86,17 @@
-
- org.apache.maven.plugins
- maven-war-plugin
- 3.1.0
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 3.1.0
false
${project.artifactId}
-
-
+
+
${project.artifactId}
-
\ No newline at end of file
+
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index d85d110a..0606a0f8 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -16,7 +16,7 @@ ruoyi:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
- port: 8080
+ port: 8090
servlet:
# 应用的访问路径
context-path: /
diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillProductionPlanController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillProductionPlanController.java
index d0386c8b..1ba2037b 100644
--- a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillProductionPlanController.java
+++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MillProductionPlanController.java
@@ -51,4 +51,13 @@ public class MillProductionPlanController extends BaseController {
public AjaxResult moveDown(@PathVariable Long id) {
return toAjax(planService.moveDown(id));
}
+
+ /**
+ * 完成计划:将计划状态改为完成,并在实绩表中新建一条记录
+ * @param planId 计划ID
+ */
+ @PutMapping("/complete/{planId}")
+ public AjaxResult complete(@PathVariable Long planId) {
+ return toAjax(planService.completePlan(planId));
+ }
}
diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillProductionPlanService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillProductionPlanService.java
index 9cf8fa8b..ca08f00f 100644
--- a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillProductionPlanService.java
+++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMillProductionPlanService.java
@@ -11,4 +11,7 @@ public interface IMillProductionPlanService {
int deleteById(Long id);
int moveUp(Long id);
int moveDown(Long id);
+
+ /** 完成计划:将计划状态改为完成,并创建生产实绩记录 */
+ int completePlan(Long planId);
}
diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillProductionPlanServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillProductionPlanServiceImpl.java
index 54245a97..e1bda104 100644
--- a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillProductionPlanServiceImpl.java
+++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MillProductionPlanServiceImpl.java
@@ -1,18 +1,23 @@
package com.ruoyi.mill.service.impl;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.mill.domain.MillProductionActual;
import com.ruoyi.mill.domain.MillProductionPlan;
+import com.ruoyi.mill.mapper.MillProductionActualMapper;
import com.ruoyi.mill.mapper.MillProductionPlanMapper;
import com.ruoyi.mill.service.IMillProductionPlanService;
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 MillProductionPlanServiceImpl implements IMillProductionPlanService {
@Autowired private MillProductionPlanMapper planMapper;
+ @Autowired private MillProductionActualMapper actualMapper;
@Override
public List selectList(MillProductionPlan query) {
@@ -81,4 +86,40 @@ public class MillProductionPlanServiceImpl implements IMillProductionPlanService
planMapper.updateSortNo(next.getPlanId(), cur.getSortNo());
return 1;
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int completePlan(Long planId) {
+ // 1. 查询当前计划
+ MillProductionPlan plan = planMapper.selectById(planId);
+ if (plan == null) {
+ throw new RuntimeException("计划不存在: " + planId);
+ }
+
+ // 2. 更新计划状态为完成(2)
+ plan.setProdStatus("done");
+ plan.setUpdateBy(SecurityUtils.getUsername());
+ int updateResult = planMapper.update(plan);
+ if (updateResult <= 0) {
+ throw new RuntimeException("更新计划状态失败");
+ }
+
+ // 3. 创建生产实绩记录
+ MillProductionActual actual = new MillProductionActual();
+ actual.setPlanId(plan.getPlanId());
+ actual.setPlanNo(plan.getPlanNo());
+ actual.setEntryMatId(plan.getInMatNo()); // 来料卷号 = 生产计划钢卷号
+ actual.setSteelGrade(plan.getAlloyNo()); // 钢种
+ actual.setStatus("已完成"); // 实绩状态:已完成
+ actual.setEndTime(new Date()); // 结束时间
+ actual.setCreateBy(SecurityUtils.getUsername());
+ actual.setDelFlag("0"); // 正常状态
+
+ int actualResult = actualMapper.insertMillProductionActual(actual);
+ if (actualResult <= 0) {
+ throw new RuntimeException("创建生产实绩记录失败");
+ }
+
+ return 1;
+ }
}