2025.2.18

在 outboundOperation 方法中,抛出的 RuntimeException 信息比较简单,可以考虑自定义异常类,提供更详细的错误信息,方便后续的错误处理和调试。
public class OutboundQuantityExceedException extends RuntimeException {
public OutboundQuantityExceedException(String message) {
super(message);
}
}

@Override
public MaterialLedgerDetail outboundOperation(MaterialLedgerDetail ledgerDetail) {
List existingDetails = materialLedgerDetailRepository.findByMaterialCode(ledgerDetail.getMaterialCode());
int totalQuantity = calculateTotalQuantity(existingDetails);
if (ledgerDetail.getQuantity() > totalQuantity) {
throw new OutboundQuantityExceedException("出库数量大于库存余额,无法进行出库!当前库存:" + totalQuantity + ",出库数量:" + ledgerDetail.getQuantity());
}
ledgerDetail.setLedgerNumber(CodeGenerator.generateLedgerNumber());
ledgerDetail.setOperationType("出库");
return materialLedgerDetailRepository.save(ledgerDetail);
}

posted @ 2025-02-27 23:15  ysd666  阅读(11)  评论(0)    收藏  举报