| | |
| | | return sku+sign_F+po+sign_F+upc; |
| | | } |
| | | |
| | | public static OrderToLine GetOrderToLine(List<GroupedLockerOptimizerUtils.Item> items,OrderToLine orderToLine){ |
| | | Long bindingTag = System.currentTimeMillis();//混搭标记 |
| | | public static OrderToLine GetOrderToLineGro(List<GroupedLockerOptimizerUtils.Item> items,OrderToLine orderToLine){ |
| | | List<OrderToLine.MatList> matLists = new ArrayList<>(); |
| | | // 使用分组优先算法 |
| | | GroupedLockerOptimizerUtils.PackingSolution solution = GroupedLockerOptimizerUtils.packItemsWithGrouping(items); |
| | |
| | | split[2], //barcode -> upc -> s2 |
| | | 1, |
| | | null, //origin -> supplier 货源 |
| | | bindingTag |
| | | locker.bindingTags |
| | | ); |
| | | matLists.add(mat); |
| | | } |
| | | bindingTag++; |
| | | } |
| | | orderToLine.setMatList(matLists); |
| | | return orderToLine; |
| | | } |
| | | |
| | | public static OrderToLine GetOrderToLineOpt(List<OptimizedLockerPackingUtils.Item> items,OrderToLine orderToLine){ |
| | | List<OrderToLine.MatList> matLists = new ArrayList<>(); |
| | | // 使用分组优先算法 |
| | | OptimizedLockerPackingUtils.PackingSolution packingSolution = OptimizedLockerPackingUtils.optimizedPacking(items); |
| | | for (OptimizedLockerPackingUtils.Locker locker:packingSolution.lockers) { |
| | | for (String mantnr : locker.contents.keySet()){ |
| | | System.out.println(mantnr+"<===>"+locker.contents.get(mantnr)); |
| | | String[] split = mantnr.split(Pattern.quote(sign_F)); |
| | | OrderToLine.MatList mat = new OrderToLine.MatList( |
| | | split[0], // matnr -> sku |
| | | split[1], // supp -> po -> s1 |
| | | locker.contents.get(mantnr).doubleValue(), //整料 |
| | | split[2], //barcode -> upc -> s2 |
| | | 1, |
| | | null, //origin -> supplier 货源 |
| | | locker.bindingTags |
| | | ); |
| | | matLists.add(mat); |
| | | } |
| | | } |
| | | orderToLine.setMatList(matLists); |
| | | return orderToLine; |