| | |
| | | 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.Collections; |
| | | import java.util.List; |
| | | import java.util.Random; |
| | | import java.util.*; |
| | | |
| | | public class OutboundAllocationUtil { |
| | | // public static void main(String[] args) { |
| | |
| | | // 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]; |