From 41f946ee012ca2c87b6007f39788ee5fe0193ef0 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Mon, 18 May 2026 16:27:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/CostStatisticsEntity.java | 13 ++++++++ .../impl/CostStatisticsServiceImpl.java | 6 ++-- .../service/impl/WorkOrderServiceImpl.java | 30 ++++++++++++++----- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/CostStatisticsEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/CostStatisticsEntity.java index 104456efa..97ad66961 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/CostStatisticsEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/CostStatisticsEntity.java @@ -120,4 +120,17 @@ public class CostStatisticsEntity extends BaseEntity { @Schema(description = "备注") private String remarks; + /** + * erp作业中心材料费用 + */ + @Schema(description = "erp作业中心材料费用") + private BigDecimal erpWorkCenterMaterialCost; + + + /** + * 作业中心id + */ + @Schema(description = "交付中心") + private Long jcId; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java index 3c1b53109..0685aa687 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java @@ -117,13 +117,13 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl processList = costCalculationProcessService.list(Wrappers.lambdaQuery().eq(CostCalculationProcessEntity::getWorkCenterId,workCenter.getId())); BigDecimal monthOutputArea = BigDecimal.ZERO; @@ -147,11 +147,13 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl { processMap.put(item.getId(), item.getName()); }); + Map mainProcessMap = new HashMap<>(); + processList.forEach(item -> { + mainProcessMap.put(item.getId(), item.getIsMain()); + }); //初始化作业中心 List workCenterList = workCenterService.list(); Map workCenterMap = workCenterList.stream().collect(Collectors.toMap(BaseEntity::getId, WorkCenterEntity::getWcName)); @@ -238,14 +242,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> planMap = dealCommonCraftOrders(); + Map> planMap = dealCommonCraftOrders(mainProcessMap); //多线程排产 ExecutorService threadPool = new ThreadPoolExecutor( map.size(), map.size(), 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), r -> new Thread(r, "scheduling-thread-" + System.currentTimeMillis())); map.forEach((workcenter, orders) -> { - threadPool.execute(() -> allocateResources(orders, personAbilityMap, mainProducerMap, planMap, processMap, sintMap, workCenterMap, craftAbilityMap)); + threadPool.execute(() -> allocateResources(orders, personAbilityMap, mainProducerMap, planMap, processMap, sintMap, workCenterMap, craftAbilityMap, mainProcessMap)); }); } @@ -454,7 +458,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl processMap, Map> sintMap, Map workCenterMap, - Map craftAbilityMap) { + Map craftAbilityMap, + Map mainProcessMap) { List glassCakeOutList = new ArrayList<>(); List workOrderList = new ArrayList<>(); //list = mergeYieldOrderList(list); @@ -534,6 +539,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> dealCommonCraftOrders() { + public Map> dealCommonCraftOrders(Map mainProcessMap) { log.info("处理前置公共工序开始!"); List commonCraftOrderList = yieldOrderService.selectCommonCraftOrderList(); Map> planMap = new HashMap<>(); @@ -1368,6 +1376,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workPlanList, - LocalDateTime prevProcessEnd) { + LocalDateTime prevProcessEnd, + Map mainProcessMap) { Map map = new HashMap<>(); Boolean isSameTrough = false; SameTroughEntity sameTrough = sameTroughService.getOne(Wrappers.lambdaQuery() @@ -1519,6 +1529,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> sintMap, PartEntity part, Map processMap, - LocalDateTime prevProcessEnd) { + LocalDateTime prevProcessEnd, + Map mainProcessMap) { Map map = new HashMap<>(); Boolean isSameFurnace = false; if (order.getYieldType() != YieldOrderEnum.YIELD_TYPE_1.getCode()) {//烧结订单 @@ -1805,6 +1818,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl