| | |
| | | * @return |
| | | * @time 2025/3/3 15:44 |
| | | */ |
| | | @Scheduled(cron = "0 0/30 * * * ? ") |
| | | @Scheduled(cron = "0 0/05 * * * ? ") |
| | | // @Scheduled(cron = "0/5 * * * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void genAsnOrder() { |
| | | //判断是否开启自动生成ASN单据 |
| | |
| | | List<AsnOrderItem> orderItems = new ArrayList<>(); |
| | | items.forEach(item -> { |
| | | AsnOrderItem orderItem = new AsnOrderItem(); |
| | | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getId, item.getMatnrCode())); |
| | | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, item.getMatnrCode())); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("数据错误:当前物料不存在!!"); |
| | | } |
| | | //TODO barcode生成策略 |
| | | String barcode = code + matnr.getCode(); |
| | | orderItem.setAnfme(item.getAnfme()) |
| | | .setAsnId(order.getId()) |
| | | .setQty(item.getQty()) |
| | |
| | | .setSplrCode(item.getSplrCode()) |
| | | .setMatnk(item.getMatnrName()) |
| | | .setPoDetlId(item.getId()) |
| | | .setBarcode(barcode) |
| | | .setPoCode(purchase.getCode()) |
| | | .setPurQty(item.getAnfme()) |
| | | .setPurUnit(item.getUnit()) |
| | |
| | | //任务执行完成,修改已完成数量和PO单执行状态 |
| | | purchase.setQty(purchase.getAnfme()).setStatus(1); |
| | | |
| | | if (!purchaseService.save(purchase)) { |
| | | if (!purchaseService.saveOrUpdate(purchase)) { |
| | | throw new CoolException("PO单执行完成后,保存失败!!"); |
| | | } |
| | | |