| | |
| | | package com.vincent.rsf.server.manager.schedules; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.manager.entity.WaitPakin; |
| | | import com.vincent.rsf.server.manager.entity.WaitPakinItem; |
| | | import com.vincent.rsf.server.manager.entity.WaitPakinItemLog; |
| | | import com.vincent.rsf.server.manager.entity.WaitPakinLog; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.AsnExceStatus; |
| | | import com.vincent.rsf.server.manager.enums.PakinIOStatus; |
| | | import com.vincent.rsf.server.manager.service.WaitPakinItemLogService; |
| | | import com.vincent.rsf.server.manager.service.WaitPakinItemService; |
| | | import com.vincent.rsf.server.manager.service.WaitPakinLogService; |
| | | import com.vincent.rsf.server.manager.service.WaitPakinService; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Component |
| | |
| | | private WaitPakinLogService waitPakinLogService; |
| | | @Autowired |
| | | private WaitPakinItemLogService waitPakinItemLogService; |
| | | @Autowired |
| | | private AsnOrderService asnOrderService; |
| | | @Autowired |
| | | private AsnOrderItemService asnOrderItemService; |
| | | |
| | | /** |
| | | * @param |
| | |
| | | if (pakinItems.isEmpty()) { |
| | | throw new CoolException("组拖明细为空!!"); |
| | | } |
| | | List<String> pkinItems = pakinItems.stream().map(WaitPakinItem::getAsnCode).collect(Collectors.toList()); |
| | | |
| | | pkinItems.forEach(item -> { |
| | | List<WkOrderItem> wkOrders = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderCode, item)); |
| | | if (wkOrders.isEmpty()) { |
| | | throw new CoolException("数据错误,原单据不存在或已丢失!!"); |
| | | } |
| | | Set<Long> orderIds = wkOrders.stream().map(WkOrderItem::getOrderId).collect(Collectors.toSet()); |
| | | orderIds.forEach(itemId -> { |
| | | WkOrder wkOrder = asnOrderService.getById(itemId); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("数据错误,原单据不存在或已丢失!!"); |
| | | } |
| | | if (wkOrder.getAnfme().compareTo(wkOrder.getQty()) == 0) { |
| | | if (!asnOrderService.update(new LambdaUpdateWrapper<WkOrder>() |
| | | .eq(WkOrder::getId, itemId) |
| | | .set(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val))) { |
| | | throw new CoolException("单据修改失败!!"); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // Double sum = wkOrders.stream().mapToDouble(WkOrderItem::getAnfme).sum(); |
| | | // List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getAsnCode, item)); |
| | | // if (waitPakinItems.isEmpty()) { |
| | | // throw new CoolException("数据错误,组托明细不存在!!"); |
| | | // } |
| | | // Double sum1 = waitPakinItems.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); |
| | | // if (sum.compareTo(sum1) == 0) { |
| | | // if (!asnOrderService.update(new LambdaUpdateWrapper<WkOrder>() |
| | | // .eq(WkOrder::getCode, item) |
| | | // .set(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val))) { |
| | | // throw new CoolException("单据修改失败!!"); |
| | | // } |
| | | // } |
| | | }); |
| | | |
| | | List<WaitPakinItemLog> itemLogs = new ArrayList<>(); |
| | | |
| | | pakinItems.forEach(item -> { |