From 1b6280be76da5dfc74b3170dc800eec88b317e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B6=9B?= Date: Thu, 4 Jun 2026 21:32:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=86=E6=B4=BE=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/YieldOrderDailyAssignMapper.java | 6 ++ .../mapper/YieldOrderDailyAssignMapper.xml | 55 +++++++++++++++++++ .../IYieldOrderDailyAssignService.java | 13 +++++ .../impl/YieldOrderCraftServiceImpl.java | 21 ++++--- .../impl/YieldOrderDailyAssignImpl.java | 44 +++++++++------ .../service/impl/WorkOrderServiceImpl.java | 3 +- 6 files changed, 116 insertions(+), 26 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.java index 6990443ab..d1d3c4af4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springblade.desk.order.pojo.dto.YieldOrderAssignCount; import org.springblade.desk.order.pojo.entity.YieldOrderAssignDaily; +import java.util.List; + /** * 生产订单日分派Mapper * @@ -20,4 +22,8 @@ public interface YieldOrderDailyAssignMapper extends BaseMapper findSuitableByParams(Long hostCaId, List wcList, Double quantity, int batch, double area, String time); + + List findMinNum(Long abilityId, List wcList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.xml index decefbd6f..9b6c48f90 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderDailyAssignMapper.xml @@ -16,4 +16,59 @@ AND a.OEM_ID IS NOT NULL + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderDailyAssignService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderDailyAssignService.java index 511319ac2..8cb344c59 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderDailyAssignService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderDailyAssignService.java @@ -43,4 +43,17 @@ public interface IYieldOrderDailyAssignService extends BaseService workCenterIdList); void init() throws Exception; + + /** + * @Description: 根据条件匹配最合适的作业中心 + * @param hostCaId 工艺能力 + * @param wcList 作业中心集合 + * @param quantity 数量 + * @param batch 批数 + * @param area 面积 + * @return PjDayAbilityAssignment + * @Author dxl + * @CreateTime 2023/3/8 10:50 + */ + YieldOrderAssignDaily findSuitableByParams(Long hostCaId, List wcList, Double quantity, int batch, double area); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java index 49e8593cc..8556a6c85 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java @@ -379,7 +379,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl workCenterIdList) { - LocalDate today = LocalDate.now(); - LocalDateTime startOfDay = today.atStartOfDay(); - LocalDateTime endOfDay = today.atTime(LocalTime.MAX); - LambdaQueryWrapper wrapper = Wrappers.query().lambda() - .eq(YieldOrderAssignDaily::getIsDeleted, CommonConstant.BOOLEAN_FALSE) - .eq(YieldOrderAssignDaily::getCraftAbilityId, abilityId) - .between(YieldOrderAssignDaily::getCreateTime, - DateUtil.toDate(startOfDay), - DateUtil.toDate(endOfDay)); - if (Func.isNotEmpty(workCenterIdList)) { - wrapper.in(YieldOrderAssignDaily::getWorkCenterId, workCenterIdList); - } - List list = baseMapper.selectList(wrapper); - if(CollectionUtils.isEmpty(list)){ - return null; - } - return list.get(0); +// LocalDate today = LocalDate.now(); +// LocalDateTime startOfDay = today.atStartOfDay(); +// LocalDateTime endOfDay = today.atTime(LocalTime.MAX); +// LambdaQueryWrapper wrapper = Wrappers.query().lambda() +// .eq(YieldOrderAssignDaily::getIsDeleted, CommonConstant.BOOLEAN_FALSE) +// .eq(YieldOrderAssignDaily::getCraftAbilityId, abilityId) +// .between(YieldOrderAssignDaily::getCreateTime, +// DateUtil.toDate(startOfDay), +// DateUtil.toDate(endOfDay)); +// if (Func.isNotEmpty(workCenterIdList)) { +// wrapper.in(YieldOrderAssignDaily::getWorkCenterId, workCenterIdList); +// } +// List list = baseMapper.selectList(wrapper); +// if(CollectionUtils.isEmpty(list)){ +// return null; +// } +// return list.get(0); + List list = baseMapper.findMinNum(abilityId, workCenterIdList); + return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; } @Override @@ -148,6 +151,13 @@ public class YieldOrderDailyAssignImpl extends BaseServiceImpl wcList, Double quantity, int batch, double area) { + String format = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm")); + List list = baseMapper.findSuitableByParams(hostCaId, wcList, quantity, batch, area, format); + return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; + } + private void handelPlanAssignSteer(Long ocId, Double area, Long caId, String partCode) throws Exception { //开始处理所有有这个工艺能力或者零件能力的厂家 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 9e9d0b290..2050a8bd3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -2951,11 +2951,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl