From 7ea1537c02273a796781bb05f8b0c87969aeccc6 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 14 五月 2025 16:48:38 +0800 Subject: [PATCH] 问题清单修改 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java index 011bd52..beaad9f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java @@ -254,6 +254,7 @@ * @version 1.0 */ @Override + @Transactional(rollbackFor = Exception.class) public R createByPo(Map<String, Object> params) { Long purchaseId = Long.parseLong(params.get("purchaseId").toString()); List<PurchaseItem> itemList = JSONArray.parseArray(JSONObject.toJSONString(params.get("items")), PurchaseItem.class); @@ -286,6 +287,12 @@ String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item); if (StringUtils.isBlank(trackCode)) { throw new CoolException("鍗曟嵁璺熻釜鐮佺敓鎴愬け璐ワ細璇锋鏌ャ�宻ys_asn_mantr_label銆嶆槸鍚﹂厤缃畬鎴愶紒锛�"); + } + + PurchaseItem service = purchaseItemService.getById(item.getId()); + Double qty = service.getQty() + item.getAnfme(); + if (qty.compareTo(service.getAnfme()) > 0) { + throw new CoolException("鏂板缓鍗曟嵁鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺锛侊紒"); } orderItem.setAnfme(item.getAnfme()) .setAsnId(order.getId()) @@ -373,17 +380,18 @@ } } - if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>() - .in(AsnOrderItem::getAsnId, ids))) { - throw new CoolException("Details Delete Fail"); - } - if (!this.remove(new LambdaQueryWrapper<AsnOrder>() .in(AsnOrder::getId, ids) .eq(AsnOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val))) { throw new CoolException("浠诲姟涓崟鎹笉鍙垹闄わ紒锛�"); } + + if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>() + .in(AsnOrderItem::getAsnId, ids))) { +// throw new CoolException("Details Delete Fail"); + } + return R.ok("鎿嶄綔鎴愬姛锛侊紒"); } -- Gitblit v1.9.1