| | |
| | | import com.vincent.rsf.server.manager.service.QlyInspectService; |
| | | import com.vincent.rsf.server.manager.service.QlyIsptItemService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | throw new CoolException("单据明细数量修改失败!!"); |
| | | } |
| | | |
| | | WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId()); |
| | | if (Objects.isNull(orderItem)) { |
| | | throw new CoolException("收货单据不存在!!"); |
| | | } |
| | | // WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId()); |
| | | // if (Objects.isNull(orderItem)) { |
| | | // throw new CoolException("收货单据不存在!!"); |
| | | // } |
| | | |
| | | Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); |
| | | Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); |
| | | |
| | | Double sum = disQty + safeQty; |
| | | orderItem.setIsptQty(sum); |
| | | |
| | | if (sum.compareTo(0.0) > 0) { |
| | | if (!warehouseAreasItemService.updateById(orderItem)) { |
| | | throw new CoolException("收货区库存信息更新失败!!"); |
| | | } |
| | | |
| | | if (Objects.isNull(orderItem.getIsptResult())) { |
| | | operateReceipt(item, orderItem); |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | // Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); |
| | | // Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); |
| | | // |
| | | // Double sum = disQty + safeQty; |
| | | // orderItem.setIsptQty(sum); |
| | | // |
| | | // if (sum.compareTo(0.0) > 0) { |
| | | // if (!warehouseAreasItemService.updateById(orderItem)) { |
| | | // throw new CoolException("收货区库存信息更新失败!!"); |
| | | // } |
| | | // //新建质检单,不会有质检结果 |
| | | // confirmReceipt(item, orderItem); |
| | | // |
| | | //// if (Objects.isNull(orderItem.getIsptResult())) { |
| | | //// operateReceipt(item, orderItem); |
| | | //// } |
| | | // } |
| | | } |
| | | |
| | | Set<Long> isptIds = isptItem.stream().map(QlyIsptItem::getIspectId).collect(Collectors.toSet()); |
| | |
| | | .eq(QlyInspect::getId, isptItem.stream().findFirst().get().getIspectId())); |
| | | } |
| | | |
| | | // qlyIsptItemService.pageByIsptResult(null, new QueryWrapper<QlyIsptItem>()) |
| | | return true; |
| | | } |
| | | |
| | |
| | | * @description: 质检后修改收货区存信息 |
| | | * @version 1.0 |
| | | */ |
| | | private void operateReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) { |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void confirmReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) { |
| | | Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); |
| | | Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); |
| | | Double sum = disQty + safeQty; |
| | | if (sum.compareTo(orderItem.getAnfme()) >= 0) { |
| | | //完成质检,做更新操作 |
| | | if (safeQty.compareTo(0.0) > 0) { |
| | | orderItem.setIsptQty(safeQty); |
| | | orderItem.setIsptQty(safeQty).setAnfme(safeQty); |
| | | orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val); |
| | | if (!warehouseAreasItemService.updateById(orderItem)) { |
| | | throw new CoolException("收货区库存明细更新失败!!"); |
| | | } |
| | | } |
| | | |
| | | WarehouseAreasItem areasItem = new WarehouseAreasItem(); |
| | | BeanUtils.copyProperties(orderItem, areasItem); |
| | | if (disQty.compareTo(0.0) > 0) { |
| | | orderItem.setIsptQty(disQty) |
| | | areasItem.setIsptQty(disQty) |
| | | .setAnfme(disQty) |
| | | .setId(null) |
| | | .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val); |
| | | if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { |
| | | if (!warehouseAreasItemService.saveOrUpdate(areasItem)) { |
| | | throw new CoolException("收货区库存明细更新失败!!"); |
| | | } |
| | | } |
| | | } else { |
| | | orderItem.setAnfme(orderItem.getAnfme() - sum); |
| | | if (!warehouseAreasItemService.updateById(orderItem)) { |
| | | throw new CoolException("收货区库存明细更新失败!!"); |
| | | } |
| | | |
| | | WarehouseAreasItem areasItem = new WarehouseAreasItem(); |
| | | BeanUtils.copyProperties(orderItem, areasItem); |
| | | //未完成做添加操作 |
| | | if (safeQty.compareTo(0.0) > 0) { |
| | | orderItem.setIsptQty(safeQty) |
| | | areasItem.setIsptQty(safeQty) |
| | | .setAnfme(safeQty) |
| | | .setId(null) |
| | | .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val); |
| | | if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { |
| | | if (!warehouseAreasItemService.saveOrUpdate(areasItem)) { |
| | | throw new CoolException("收货区库存明细更新失败!!"); |
| | | } |
| | | } |
| | | |
| | | WarehouseAreasItem items = new WarehouseAreasItem(); |
| | | BeanUtils.copyProperties(orderItem, items); |
| | | if (disQty.compareTo(0.0) > 0) { |
| | | orderItem.setIsptQty(disQty) |
| | | items.setIsptQty(disQty) |
| | | .setAnfme(disQty) |
| | | .setId(null) |
| | | .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val); |
| | | if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { |
| | | if (!warehouseAreasItemService.saveOrUpdate(items)) { |
| | | throw new CoolException("收货区库存明细更新失败!!"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<QlyIsptItem> selectIsptResult(LambdaQueryWrapper<QlyIsptItem> eq) { |
| | | return this.baseMapper.selectIsptResult(eq); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @date 2025/5/12 |