| | |
| | | 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; |
| | |
| | | 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("数据错误,原单据不存在或已丢失!!"); |
| | | } |
| | | 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 -> { |