From e068f4e6a61122c781f81d9e2f57d777590bcbf0 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Mon, 15 Dec 2025 11:09:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E7=9B=B8=E5=85=B3-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkOrderController.java | 11 ++++++++++ .../scheduling/dto/WorkOrderDto.java | 8 +++++++ .../scheduling/mapper/WorkOrderMapper.java | 2 ++ .../scheduling/mapper/WorkOrderMapper.xml | 21 +++++++++++++++++++ .../scheduling/service/IWorkOrderService.java | 2 ++ .../service/impl/WorkOrderServiceImpl.java | 18 +++++++++++++++- 6 files changed, 61 insertions(+), 1 deletion(-) diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java index 74ab3d7..ab86042 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java @@ -180,4 +180,15 @@ public class WorkOrderController extends BladeController { return R.data(workOrderService.schedulingBoard(workOrderDto)); } + + /** + * 车间订单表 排产 + */ + @PostMapping("/schedulingCount") + @ApiOperationSupport(order = 6) + @Operation(summary = "排产统计", description = "传入WorkOrderDto") + public R> schedulingCount(@RequestBody WorkOrderDto workOrderDto) { + return R.data(workOrderService.schedulingCount(workOrderDto)); + } + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java index 6b38cc0..49502ff 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java @@ -2,6 +2,8 @@ package org.springblade.scheduling.scheduling.dto; import lombok.Data; +import java.math.BigDecimal; + /** * TODO:功能描述 * @@ -32,4 +34,10 @@ public class WorkOrderDto { private String orderStatus; private String planStatus; private String makeQty; + + private String workCenterName; + private Integer totalCount; + private Integer schedulingCount; + private String schedulingRate; + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java index af6ac8c..72ae9ed 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java @@ -67,4 +67,6 @@ public interface WorkOrderMapper extends BaseMapper { String getMaxByCodePattern(@Param("woCode") String woCode); + List selectSchedulingCount(WorkOrderDto workOrderDto); + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml index 08ebbbe..b036afa 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml @@ -138,4 +138,25 @@ wo_code LIKE concat(#{woCode},'%') + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java index 48093c6..9f6d20f 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java @@ -78,4 +78,6 @@ public interface IWorkOrderService extends BaseService { * @param workOrderEntityList */ void sendWorkOrderToOldMes(List workOrderEntityList); + + List schedulingCount(WorkOrderDto workOrder); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index 13e2e1d..3ddafce 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -30,6 +30,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; @@ -404,7 +405,22 @@ public class WorkOrderServiceImpl extends BaseServiceImpl list) { + @Override + public List schedulingCount(WorkOrderDto workOrder) { + if(StringUtils.isNotEmpty(workOrder.getStartTime())){ + workOrder.setStartTime(workOrder.getStartTime().concat(" 00:00:00")); + } + if(StringUtils.isNotEmpty(workOrder.getEndTime())){ + workOrder.setEndTime(workOrder.getEndTime().concat(" 23:59:59")); + } + List list = baseMapper.selectSchedulingCount(workOrder); + list.forEach(item -> { + item.setSchedulingRate(String.format("%.2f", (double)item.getSchedulingCount()/item.getTotalCount()*100)); + }); + return list; + } + + void calculateCr(List list) { //查询订单下的工序,计算cr值 for (YieldOrderEntity entity : list) { List craftList = yieldOrderCraftService.list(Wrappers.lambdaQuery().eq(YieldOrderCraftEntity::getYoId, entity.getId()));