From 3ed169a55218b717a80882808c4cb1bd9f2ecf53 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Tue, 12 Nov 2024 22:09:31 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E5=8D=95=E6=8D=AE=E6=8C=89=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=97=B6=E9=97=B4=E5=80=92=E5=BA=8F=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/handler/impl/ToPickPlatformTask.java | 5 +- .../service/impl/CockpitServiceImpl.java | 69 ++++++++++--------- .../cockpit/service/mapper/CockpitMapper.xml | 5 +- .../dao/mapper/xml/PmFormDataMapper.xml | 1 + 4 files changed, 43 insertions(+), 37 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/ToPickPlatformTask.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/ToPickPlatformTask.java index 592786b8..ca27c75b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/ToPickPlatformTask.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/ToPickPlatformTask.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.exception.BadRequestException; import org.nl.common.enums.StatusEnum; @@ -79,7 +80,9 @@ public class ToPickPlatformTask extends AbstractTask { throw new BadRequestException("当前载具存在任务:"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); } StIvtStructattr struct = iStIvtStructattrService.getOne(new QueryWrapper().eq("vehicle_code", vehicle_code)); - + if (ObjectUtils.isEmpty(struct)){ + throw new BadRequestException("创建任务失败:未找到该物料对应起点仓位"); + } SchBaseTask task = new SchBaseTask(); task.setId(IdUtil.getStringId()); task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java index ddd51c1c..afa8fe52 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java @@ -224,42 +224,42 @@ public class CockpitServiceImpl implements CockpitService { List materList = cockpitMapper.getMaterInfos(); if (ObjectUtil.isNotEmpty(materList)) { List fstockList = materList.stream().filter(r -> "FStockId".equals(r.getProduct_area())).collect(Collectors.toList()); - List fstockPalletList = materList.stream().filter(r -> "FStockPallet".equals(r.getProduct_area())).collect(Collectors.toList()); - if (ObjectUtil.isNotEmpty(fstockList)) { - getMaterialAnalysis(jsonArray1, obj0, obj1, fstockList); - } else { - obj0.put("total", "0"); - jsonArray1.add(obj0); - } - if (ObjectUtil.isNotEmpty(fstockPalletList)) { - getMaterialAnalysis(jsonArray2, obj2, obj3, fstockPalletList); - } else { - obj1.put("total", "0"); - jsonArray2.add(obj1); - } + List fstockPalletList = materList.stream().filter(r -> "FStockPallet".equals(r.getProduct_area())).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(fstockList)) { + getMaterialAnalysis(jsonArray1, obj0, obj1, fstockList); } else { obj0.put("total", "0"); - obj1.put("total", "0"); jsonArray1.add(obj0); + } + if (ObjectUtil.isNotEmpty(fstockPalletList)) { + getMaterialAnalysis(jsonArray2, obj2, obj3, fstockPalletList); + } else { + obj1.put("total", "0"); jsonArray2.add(obj1); } - jsonObject.put("lx_inventory", jsonArray1); - jsonObject.put("tp_inventory", jsonArray2); - log.info("获取实时物料库存信息耗时:{}", System.currentTimeMillis() - startTime3); - return null; - }, pool); + } else { + obj0.put("total", "0"); + obj1.put("total", "0"); + jsonArray1.add(obj0); + jsonArray2.add(obj1); + } + jsonObject.put("lx_inventory", jsonArray1); + jsonObject.put("tp_inventory", jsonArray2); + log.info("获取实时物料库存信息耗时:{}", System.currentTimeMillis() - startTime3); + return null; + }, pool); task3.exceptionally((e) -> - { - log.error("获取实时物料库存信息异常:{}", e.getMessage(), e); - return null; - }); - CompletableFuture>> task4 = CompletableFuture.supplyAsync(() -> { - long startTime4 = System.currentTimeMillis(); - List> lx_in_default = new ArrayList<>(); - List> lx_out_default = new ArrayList<>(); - List> tp_in_default = new ArrayList<>(); - List> tp_out_default = new ArrayList<>(); - List result = cockpitMapper.getTaskCountsByDays(); + { + log.error("获取实时物料库存信息异常:{}", e.getMessage(), e); + return null; + }); + CompletableFuture>> task4 = CompletableFuture.supplyAsync(() -> { + long startTime4 = System.currentTimeMillis(); + List> lx_in_default = new ArrayList<>(); + List> lx_out_default = new ArrayList<>(); + List> tp_in_default = new ArrayList<>(); + List> tp_out_default = new ArrayList<>(); + List result = cockpitMapper.getTaskCountsByDays(); //料箱库入库 List stockList1 = result.stream() .filter(r -> Integer.parseInt(r.getTask_type()) <= 14 && "FStockId".equals(r.getStor_code())) @@ -387,11 +387,11 @@ public class CockpitServiceImpl implements CockpitService { private static JSONObject getElapsedTime(JSONObject item, List stockList1) { //计算数量 - BigDecimal total = stockList1.stream().map(TaskInfo::getQty) + BigDecimal total = stockList1.stream().filter(r->StringUtils.isNotBlank(r.getUpdate_time())).map(TaskInfo::getQty) .reduce(BigDecimal.ZERO, BigDecimal::add).setScale(0, RoundingMode.HALF_UP); item.put("total", total); //计算箱数 - int box = stockList1.stream() + int box = stockList1.stream().filter(r->StringUtils.isNotBlank(r.getUpdate_time())) .mapToInt(taskInfo -> taskInfo.getVehicle_code().split(",").length) .sum(); item.put("box", box); @@ -423,9 +423,10 @@ public class CockpitServiceImpl implements CockpitService { } if (ObjectUtil.isNotEmpty(real_qty)) { Map ghRealQtyMap = real_qty.stream() - .collect(Collectors.toMap( + .filter(r -> StringUtils.isNotBlank(r.getUpdate_time())) + .collect(Collectors.groupingBy( TaskInfo::getCreate_time, - TaskInfo::getQty + Collectors.reducing(BigDecimal.ZERO, TaskInfo::getQty, BigDecimal::add) )); real_qty_default.forEach(tbItem -> { String date = (String) tbItem.get("date"); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml index 3612dec1..2fa342ca 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml @@ -23,7 +23,7 @@ `st_ivt_iostorinvdtl` d LEFT JOIN st_ivt_iostorinv i ON d.inv_id = i.id WHERE - d.`status` = '80' + i.`status`='80' AND i.create_time >= @@ -38,6 +38,7 @@ SELECT i.`bill_type` as task_type, DATE_FORMAT(i.create_time,'%m-%d') as create_time , + i.update_time, d.stor_code, d.qty, d.vehicle_code @@ -45,7 +46,7 @@ `st_ivt_iostorinvdtl` d LEFT JOIN st_ivt_iostorinv i ON d.inv_id = i.id WHERE - d.`status` = '80' + i.`status` = '80' AND i.create_time >= CURDATE() - INTERVAL 7 DAY