From 060d347933e81996483032f9ae7bd80c97340d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?yinjinlu-pc=5C=E5=B0=B9=E9=87=91=E8=B7=AF?= <411641505@qq.com> Date: Mon, 8 Jan 2024 17:04:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=94=9F=E4=BA=A7=E6=B4=BE=E5=B7=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pro/controller/ProTaskController.java | 36 +++++++++++++-- .../controller/ProWorkorderController.java | 14 ++++++ .../com/ktg/mes/pro/domain/ProWorkorder.java | 12 +++++ .../com/ktg/mes/pro/mapper/ProTaskMapper.java | 7 +++ .../ktg/mes/pro/service/IProTaskService.java | 8 ++++ .../pro/service/impl/ProTaskServiceImpl.java | 10 ++++ .../resources/mapper/pro/ProTaskMapper.xml | 46 ++++++++++++++++++- 7 files changed, 128 insertions(+), 5 deletions(-) diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java index 0761693..ea78298 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java @@ -9,12 +9,11 @@ import cn.hutool.core.collection.CollUtil; import com.ktg.common.constant.UserConstants; import com.ktg.common.utils.StringUtils; import com.ktg.mes.pro.domain.*; -import com.ktg.mes.pro.service.IProProcessService; -import com.ktg.mes.pro.service.IProRouteService; -import com.ktg.mes.pro.service.IProWorkorderService; +import com.ktg.mes.pro.service.*; import com.ktg.system.strategy.AutoCodeUtil; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -27,7 +26,6 @@ import com.ktg.common.annotation.Log; import com.ktg.common.core.controller.BaseController; import com.ktg.common.core.domain.AjaxResult; import com.ktg.common.enums.BusinessType; -import com.ktg.mes.pro.service.IProTaskService; import com.ktg.common.utils.poi.ExcelUtil; import com.ktg.common.core.page.TableDataInfo; @@ -47,6 +45,9 @@ public class ProTaskController extends BaseController @Autowired private IProWorkorderService proWorkorderService; + @Autowired + private IProRouteProductService proRouteProductService; + @Autowired private IProProcessService proProcessService; @@ -162,6 +163,33 @@ public class ProTaskController extends BaseController } + /** + * 按照最新的模式只展示工序级别的生产进度 + * @return + */ + @GetMapping("/listTaskListByWorkorder") + public AjaxResult getWorkorderProcessTypeTaskList(ProWorkorder proWorkorder){ + if(!StringUtils.isNotNull(proWorkorder.getWorkorderId())){ + return AjaxResult.error("请选择具体的生产工单!"); + } + + ProWorkorder workorder = proWorkorderService.selectProWorkorderByWorkorderId(proWorkorder.getWorkorderId()); + if(StringUtils.isNotNull(workorder)){ + //检查当前的产品是否配置了对应的工艺路线 + ProRouteProduct param = new ProRouteProduct(); + param.setItemId(workorder.getProductId()); + List routes = proRouteProductService.selectProRouteProductList(param); + if(CollectionUtils.isEmpty(routes)){ + return AjaxResult.error("当前工单生产的产品,未配置对应的生产工艺流程!"); + } + } + + //根据生产工单查询每个工序的生产情况 + List tasks = proTaskService.selectProTaskProcessViewByWorkorder(proWorkorder.getWorkorderId()); + return AjaxResult.success(tasks); + } + + /** * 新增生产任务 */ diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index f563b85..1fea0d3 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -2,6 +2,7 @@ package com.ktg.mes.pro.controller; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -73,6 +74,19 @@ public class ProWorkorderController extends BaseController return getDataTable(list); } + @GetMapping("/listWithTaskJson") + public TableDataInfo listWithTaskJson(ProWorkorder proWorkorder){ + startPage(); + List list = proWorkorderService.selectProWorkorderList(proWorkorder); + Iterator iterator = list.iterator(); + while (iterator.hasNext()){ + ProWorkorder workorder = iterator.next(); + List tasks = proTaskService.selectProTaskProcessViewByWorkorder(workorder.getWorkorderId()); + workorder.setTasks(tasks); + } + return getDataTable(list); + } + /** * 导出生产工单列表 */ diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProWorkorder.java b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProWorkorder.java index d27cf89..7554e91 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProWorkorder.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProWorkorder.java @@ -2,6 +2,8 @@ package com.ktg.mes.pro.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -132,6 +134,8 @@ public class ProWorkorder extends TreeEntity /** 预留字段4 */ private Long attr4; + private List tasks; + public void setWorkorderId(Long workorderId) { this.workorderId = workorderId; @@ -390,6 +394,14 @@ public class ProWorkorder extends TreeEntity this.finishDate = finishDate; } + public List getTasks() { + return tasks; + } + + public void setTasks(List tasks) { + this.tasks = tasks; + } + @Override public String toString() { return "ProWorkorder{" + diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java index 957dd34..1efff2e 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java @@ -28,6 +28,13 @@ public interface ProTaskMapper public List selectProTaskList(ProTask proTask); + /** + * 查询某个工单的各个工序生产进度 + * @param workorderId + * @return + */ + public List selectProTaskProcessViewByWorkorder(Long workorderId); + /** * 新增生产任务 * diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java index e794176..de4ee78 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java @@ -27,6 +27,14 @@ public interface IProTaskService */ public List selectProTaskList(ProTask proTask); + + /** + * 查询某个工单的各个工序生产进度 + * @param workorderId + * @return + */ + public List selectProTaskProcessViewByWorkorder(Long workorderId); + /** * 新增生产任务 * diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java index 2def50a..f5b628f 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java @@ -44,6 +44,16 @@ public class ProTaskServiceImpl implements IProTaskService return proTaskMapper.selectProTaskList(proTask); } + /** + * 查询某个工单的各个工序生产进度 + * @param workorderId + * @return + */ + @Override + public List selectProTaskProcessViewByWorkorder(Long workorderId) { + return proTaskMapper.selectProTaskProcessViewByWorkorder(workorderId); + } + /** * 新增生产任务 * diff --git a/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml index e712b70..ca1dc13 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml @@ -116,7 +116,51 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where task_id = #{taskId} - + + + insert into pro_task