| | |
| | | import com.vincent.rsf.server.manager.enums.AsnExceStatus; |
| | | import com.vincent.rsf.server.manager.enums.TaskStsType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.system.entity.FieldsItem; |
| | | import com.vincent.rsf.server.system.service.FieldsItemService; |
| | | import com.vincent.rsf.server.system.service.impl.FieldsItemServiceImpl; |
| | | import lombok.Synchronized; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private AsnOrderItemService asnOrderItemService; |
| | | @Autowired |
| | | private WaveOrderRelaService waveOrderRelaService; |
| | | @Autowired |
| | | private FieldsItemService fieldsItemService; |
| | | |
| | | @Override |
| | | public R getOutStockTaskItem(String barcode) { |
| | |
| | | List<WkOrderItem> orderItem = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getOrderId, wkOrder.getId()) |
| | | .eq(StringUtils.isNotEmpty(taskItem.getMatnrCode()), WkOrderItem::getMatnrCode, taskItem.getMatnrCode()) |
| | | // .eq(StringUtils.isNotEmpty(taskItem.getBatch()), WkOrderItem::getSplrBatch, taskItem.getBatch()) |
| | | ); |
| | | .eq(StringUtils.isNotEmpty(taskItem.getBatch()), WkOrderItem::getSplrBatch, taskItem.getBatch())); |
| | | if (null != orderItem) { |
| | | list.addAll(orderItem); |
| | | } |
| | |
| | | return R.ok(containerWaveDtos); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @date 2025/11/5 |
| | | * @description: 波次拣货 |
| | | * @version 1.0 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Synchronized |
| | |
| | | if (!asnOrderService.updateById(wkOrder)) { |
| | | throw new CoolException("出库单更新状态失败"); |
| | | } |
| | | |
| | | if (!Objects.isNull(oldOrderItem.getFieldsIndex())) { |
| | | throw new CoolException("票号不能为空!!"); |
| | | } |
| | | //Fix 这里只针对希日项目的票号功能,票号和uuid为一对一的情况,不会出现重复的情况 |
| | | FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getValue, oldOrderItem.getFieldsIndex()).last("limit 1")); |
| | | if (!Objects.isNull(fieldsItem)) { |
| | | orderItem.setFieldsIndex(fieldsItem.getUuid()); |
| | | } |
| | | orderItem.setQty(new BigDecimal(orderItem.getQty().toString()).add(orderDemandQty).doubleValue()); |
| | | if (!asnOrderItemService.updateById(orderItem)) { |
| | | throw new CoolException("单据明细更新失败"); |