|
@@ -1,9 +1,7 @@
|
|
|
package cn.ezhizao.project.business.controller;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Stream;
|
|
|
import java.util.stream.Collectors;
|
|
|
import javax.annotation.Resource;
|
|
@@ -110,6 +108,36 @@ public class BizOutsourcedOrderController extends BaseController
|
|
|
|
|
|
item.setProcessNames(processNames);
|
|
|
});
|
|
|
+ outsourcedOrderDetails.forEach(detail -> {
|
|
|
+ // 将字符串拆分转为对象
|
|
|
+ List<BizCarrier> carriers = new ArrayList<>();
|
|
|
+ // 因为需要显示箱号,所以需要拆分出code重新拼接到NewCarrier
|
|
|
+ List<String> codeList = new ArrayList<>();
|
|
|
+ // 为了减少前段的逻辑,所以需要先将拆分后的id也拼接起来
|
|
|
+ List<Long> carrierIds = new ArrayList<>();
|
|
|
+
|
|
|
+ //使用 StringTokenizer 来分割字符串
|
|
|
+ StringTokenizer tokenizer = new StringTokenizer(detail.getNewCarrier(), ",");
|
|
|
+ while (tokenizer.hasMoreTokens()) {
|
|
|
+ String token = tokenizer.nextToken();
|
|
|
+ // 检查当前 token 是否包含 "|" 字符 如果没有表示不是新箱,则跳过当前 token
|
|
|
+ if (token.contains("|")) {
|
|
|
+ String[] idCode = token.split("\\|"); // 安全地分割 token
|
|
|
+ if (idCode.length == 2) {
|
|
|
+ codeList.add(idCode[1]);
|
|
|
+ carrierIds.add(Long.parseLong(idCode[0]));
|
|
|
+ BizCarrier bizCarrier = new BizCarrier();
|
|
|
+ bizCarrier.setId(Long.parseLong(idCode[0]));
|
|
|
+ bizCarrier.setCode(idCode[1]);
|
|
|
+ carriers.add(bizCarrier);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(codeList.size()>0){
|
|
|
+ detail.setNewCarrier(String.join(",", codeList));
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
// 将外协明细赋值给外协订单
|
|
|
outsourcedOrder.setDetails(outsourcedOrderDetails);
|