|
@@ -1,6 +1,7 @@
|
|
package cn.ezhizao.project.business.controller;
|
|
package cn.ezhizao.project.business.controller;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.StringTokenizer;
|
|
import java.util.StringTokenizer;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -9,7 +10,9 @@ import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import cn.ezhizao.project.business.domain.BizCarrier;
|
|
import cn.ezhizao.project.business.domain.BizCarrier;
|
|
|
|
+import cn.ezhizao.project.business.domain.BizOutsourcedOrderDetail;
|
|
import cn.ezhizao.project.business.domain.BizReturnReceiptDetail;
|
|
import cn.ezhizao.project.business.domain.BizReturnReceiptDetail;
|
|
|
|
+import cn.ezhizao.project.business.service.IBizOutsourcedOrderDetailService;
|
|
import cn.ezhizao.project.business.service.IBizReturnReceiptDetailService;
|
|
import cn.ezhizao.project.business.service.IBizReturnReceiptDetailService;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -37,6 +40,8 @@ public class BizOutsourcedOrderDetailProcessController extends BaseController
|
|
@Resource
|
|
@Resource
|
|
private IBizReturnReceiptDetailService returnReceiptDetailService;
|
|
private IBizReturnReceiptDetailService returnReceiptDetailService;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ private IBizOutsourcedOrderDetailService bizOutsourcedOrderDetailService;
|
|
|
|
+ @Resource
|
|
private HttpServletRequest request;
|
|
private HttpServletRequest request;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -58,12 +63,39 @@ public class BizOutsourcedOrderDetailProcessController extends BaseController
|
|
startPage();
|
|
startPage();
|
|
bizOutsourcedOrderDetailProcess.setSupplierId(Long.valueOf(request.getHeader("tenantId")));
|
|
bizOutsourcedOrderDetailProcess.setSupplierId(Long.valueOf(request.getHeader("tenantId")));
|
|
List<BizOutsourcedOrderDetailProcess> list = bizOutsourcedOrderDetailProcessService.getList(bizOutsourcedOrderDetailProcess);
|
|
List<BizOutsourcedOrderDetailProcess> list = bizOutsourcedOrderDetailProcessService.getList(bizOutsourcedOrderDetailProcess);
|
|
|
|
+ List<BizOutsourcedOrderDetail> details = bizOutsourcedOrderDetailService.query().in("id", list.isEmpty() ? Collections.singletonList(0L) : list.stream().map(BizOutsourcedOrderDetailProcess::getDetailId).collect(Collectors.toList())).list();
|
|
//收回状态
|
|
//收回状态
|
|
list.forEach(item ->{
|
|
list.forEach(item ->{
|
|
item.setReturnStatus(0);
|
|
item.setReturnStatus(0);
|
|
if(item.getReturnReceiptDetails()!=null &&item.getReturnReceiptDetails().size()>0&&item.getReturnReceiptDetails().get(0).getIsAudit() == 1 ) {
|
|
if(item.getReturnReceiptDetails()!=null &&item.getReturnReceiptDetails().size()>0&&item.getReturnReceiptDetails().get(0).getIsAudit() == 1 ) {
|
|
item.setReturnStatus(1);
|
|
item.setReturnStatus(1);
|
|
}
|
|
}
|
|
|
|
+ BizOutsourcedOrderDetail detail = details.stream().filter(v -> v.getId().equals(item.getDetailId())).findFirst().orElse(null);
|
|
|
|
+ if(detail != null) {
|
|
|
|
+ // 将字符串拆分转为对象
|
|
|
|
+ List<BizCarrier> carriers = 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) {
|
|
|
|
+ carrierIds.add(Long.parseLong(idCode[0]));
|
|
|
|
+ BizCarrier bizCarrier = new BizCarrier();
|
|
|
|
+ bizCarrier.setId(Long.parseLong(idCode[0]));
|
|
|
|
+ bizCarrier.setCode(idCode[1]);
|
|
|
|
+ carriers.add(bizCarrier);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ item.setNewCarriers(carriers);
|
|
|
|
+ item.setCarrierIds(carrierIds);
|
|
|
|
+ item.setCarriers(carriers);
|
|
|
|
+ }
|
|
});
|
|
});
|
|
return getDataTable(list);
|
|
return getDataTable(list);
|
|
}
|
|
}
|