|
|
|
@ -47,10 +47,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_CHECK_PROCESS;
|
|
|
|
@ -767,11 +765,17 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
originOrder.setReplicateNo(orderNo);
|
|
|
|
|
List<IoCodeTempEntity> supplementCodes = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 生成业务单
|
|
|
|
|
List<IoCodeEntity> products = addOrderChangeRequest.getProducts();
|
|
|
|
|
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(originOrder.getBillNo());
|
|
|
|
|
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
|
|
|
|
|
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
|
|
|
|
|
// 计算出两个集合之间产品批次号组成的差异
|
|
|
|
|
List<IoOrderDetailBizEntity> IoStatDayEntityList = orderDetailBizEntities.stream()
|
|
|
|
|
.filter(comment -> products.stream()
|
|
|
|
|
.anyMatch(p -> Objects.equals(p.getBatchNo(), comment.getBatchNo()) // 使用 Objects.equals 来进行非空判断
|
|
|
|
|
&& Objects.equals(p.getRelId(), comment.getBindRlFk())))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
//生成业务单
|
|
|
|
|
if (CollUtil.isNotEmpty(IoStatDayEntityList)) {
|
|
|
|
|
for (IoOrderDetailBizEntity orderDetailBizEntity : IoStatDayEntityList) {
|
|
|
|
|
orderDetailBizEntity.setOrderIdFk(newOrder.getBillNo());
|
|
|
|
|
orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
orderDetailBizService.insert(orderDetailBizEntity);
|
|
|
|
@ -779,7 +783,7 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<IoCodeEntity> products = addOrderChangeRequest.getProducts();
|
|
|
|
|
|
|
|
|
|
originCodes.forEach(
|
|
|
|
|
code -> {
|
|
|
|
|
//复制选中的产品
|
|
|
|
|