| | |
| | | // 1.2 校验可开票金额超过上限 |
| | | validatePurchaseInvoicePriceExceedsLimit(createReqVO); |
| | | // 1.3 生成来票编号 |
| | | String no = noRedisDAO.generate(ErpNoRedisDAO.PURCHASE_INVOICE_NO_PREFIX); |
| | | if (invoiceMapper.selectByNo(no) != null) { |
| | | throw exception(PURCHASE_INVOICE_NO_EXISTS); |
| | | } |
| | | String no = noRedisDAO.generate(ErpNoRedisDAO.PURCHASE_INVOICE_NO_PREFIX, |
| | | candidate -> invoiceMapper.selectByNo(candidate) != null); |
| | | |
| | | // 2.1 插入来票(创建后即为有效状态,无需审核) |
| | | ErpPurchaseInvoiceDO invoice = BeanUtils.toBean(createReqVO, ErpPurchaseInvoiceDO.class).setNo(no); |
| | |
| | | */ |
| | | private void validateItemReceipt(ErpPurchaseInvoiceSaveReqVO reqVO, ErpPurchaseOrderDO purchaseOrder) { |
| | | if (reqVO.getItemReceiptId() == null) { |
| | | return; // 存量/未绑定时允许为空 |
| | | throw new ServiceException(PURCHASE_INVOICE_CREATE_FAIL_RECEIPT_NOT_EXISTS.getCode(), |
| | | "采购来票必须绑定已完成的采购入库单。请先在 MES 完成入库,再选择对应入库单。"); |
| | | } |
| | | MesWmItemReceiptRespDTO receipt = mesWmItemReceiptApi.getItemReceipt(reqVO.getItemReceiptId()); |
| | | if (receipt == null) { |