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; + } }