inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java
@@ -133,10 +133,25 @@
        receipt.setReceiveUserId(SecurityUtils.getUserId().intValue());
        receipt.setReceiveTime(LocalDateTime.now());
        receiptMapper.updateById(receipt);
        InsOrder currentOrder = insOrderMapper.selectById(receipt.getInsOrderId());
        if (currentOrder == null || StringUtils.isBlank(currentOrder.getEntrustCode())) {
            throw new ErrorException("委托编号不存在,不能作废");
        }
        String originalCode = currentOrder.getEntrustCode();
        String voidCode = originalCode + "-zf";
        int suffix = 2;
        // 同一原编号可能经历多次下单、拒收,保留每张作废单的唯一编号。
        while (insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
                .eq(InsOrder::getEntrustCode, voidCode)
                .ne(InsOrder::getId, currentOrder.getId())) > 0) {
            voidCode = originalCode + "-" + suffix++ + "-zf";
        }
        InsOrder order = new InsOrder();
        order.setId(receipt.getInsOrderId());
        order.setId(currentOrder.getId());
        order.setEntrustCode(voidCode);
        order.setState(5);
        insOrderMapper.updateById(order);
        insOrderMapper.updateInspectionOrderEntrustCode(order.getId(), voidCode);
    }
    private void ensurePending(InsSampleReceipt receipt) {