From 9f535f9c6ff8640d0cbbc915235a59d2ee39c702 Mon Sep 17 00:00:00 2001 From: L <L@123> Date: 星期四, 17 七月 2025 18:02:21 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java | 100 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 73 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java index 3febe69..a4e877f 100644 --- a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java +++ b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java @@ -1,42 +1,88 @@ package com.zy.asrs.utils; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.param.StockOutParam; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; +import java.util.*; public class OutboundAllocationUtil { +// public static void main(String[] args) { +// List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{ +// add(101);add(102);add(104);add(105);add(107);add(108); +// add(111);add(1202);add(1104);add(33105);add(1307);add(108); +// }}; +// List<Integer> integersStaArr = new ArrayList<>(); +// List<int[]> stalistArr = new ArrayList<>(); +// for(Integer staNo : STA_WORK_CU){ +// int selectCount = staNo*2; +// if (staNo == 111){ +// selectCount = 9999999; +// } +// stalistArr.add(new int[]{staNo, selectCount}); +// } +// +//// 鎸塻electCount闄嶅簭鎺掑簭锛堟渶澶х殑鎺掔涓�浣嶏級 +// Collections.sort(stalistArr, (a, b) -> b[1] - a[1]); // 闄嶅簭鎺掑垪 +//// 濡傛灉鎮ㄩ渶瑕佽浆涓烘暟缁勶紙鍙�夛級 +// for (int[] staNowArr : stalistArr){ +// integersStaArr.add(staNowArr[0]); +// } +// System.out.println(JSON.toJSONString(integersStaArr)); +// } public static void main(String[] args) { - int numLanes = 3; - int numWarehouses = 2; - List<Integer> goods = new ArrayList<>(); - - // Generate random goods// 鐢熸垚闅忔満璐х墿鏁伴噺 - Random random = new Random(); - for (int i = 0; i < numLanes; i++) { - int goodsCount = random.nextInt(10) + 1; // Randomly generate goods count (1-10)// 闅忔満鐢熸垚璐х墿鏁伴噺 (1-10) - goods.add(goodsCount); + int[] staNos =new int[]{118,120,121}; + List<Integer> integersStaArr = new ArrayList<>(); + List<Long[]> stalistArr = new ArrayList<>(); + for(Integer staNo : staNos){ + Date modiTime = new Date(); + stalistArr.add(new Long[]{staNo.longValue(), modiTime.getTime()-staNo.longValue()}); } - int[] warehouses = distributeGoods(numLanes, numWarehouses,goods); + System.out.println(JSON.toJSONString(stalistArr)); + if (!stalistArr.isEmpty() && stalistArr.size()>1){ +// Collections.sort(stalistArr, (a, b) -> a[1] - b[1]); // 闄嶅簭鎺掑垪 - System.out.println("Goods distribution:");//璐х墿鍒嗛厤鎯呭喌 - for (int i = 0; i < numWarehouses; i++) { - System.out.println("Warehouse " + (i + 1) + ": " + warehouses[i] + " goods"); + Collections.sort(stalistArr, Comparator.comparingLong(arr -> arr[1])); + for (Long[] staNowArr : stalistArr){ + integersStaArr.add(staNowArr[0].intValue()); + } } + System.out.println(JSON.toJSONString(integersStaArr)); - int[] warehouses2 = distributeGoods2(numLanes, numWarehouses,goods); - - System.out.println("Goods distribution2:");//璐х墿鍒嗛厤鎯呭喌 - for (int i = 0; i < numWarehouses; i++) { - System.out.println("Warehouse " + (i + 1) + ": " + warehouses2[i] + " goods"); - } - - int totalItems = 1000; // 鏇挎崲涓哄疄闄呯殑鍑哄簱绠卞瓙鏁伴噺 - distributeItemsToTrucks(totalItems); } +// public static void main(String[] args) { +// int numLanes = 3; +// int numWarehouses = 2; +// List<Integer> goods = new ArrayList<>(); +// +// // Generate random goods// 鐢熸垚闅忔満璐х墿鏁伴噺 +// Random random = new Random(); +// for (int i = 0; i < numLanes; i++) { +// int goodsCount = random.nextInt(10) + 1; // Randomly generate goods count (1-10)// 闅忔満鐢熸垚璐х墿鏁伴噺 (1-10) +// goods.add(goodsCount); +// } +// int[] warehouses = distributeGoods(numLanes, numWarehouses,goods); +// +// +// System.out.println("Goods distribution:");//璐х墿鍒嗛厤鎯呭喌 +// for (int i = 0; i < numWarehouses; i++) { +// System.out.println("Warehouse " + (i + 1) + ": " + warehouses[i] + " goods"); +// } +// +// int[] warehouses2 = distributeGoods2(numLanes, numWarehouses,goods); +// +// System.out.println("Goods distribution2:");//璐х墿鍒嗛厤鎯呭喌 +// for (int i = 0; i < numWarehouses; i++) { +// System.out.println("Warehouse " + (i + 1) + ": " + warehouses2[i] + " goods"); +// } +// +// int totalItems = 1000; // 鏇挎崲涓哄疄闄呯殑鍑哄簱绠卞瓙鏁伴噺 +// distributeItemsToTrucks(totalItems); +// } public static int[] distributeGoods(int numLanes, int numWarehouses,List<Integer> goods) { int[] warehouses = new int[numWarehouses]; @@ -207,7 +253,7 @@ int sign = 0; int staA=118; - int staB=119; + int staB=118; for (List<StockOutParam.LocDetl> locDetlList:lists){ sign++; if (locDetlList.size()==0){ @@ -314,7 +360,7 @@ int sign = 0; int staA=118; - int staB=119; + int staB=118; for (List<StockOutParam.LocDetl> locDetlList:lists){ sign++; if (locDetlList.size()==0){ -- Gitblit v1.9.1