diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java index 6f305c09..09a32653 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.dto.PdfPageDTO; +import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest; import com.nflg.wms.admin.service.ComponentPackingControllerService; import com.nflg.wms.admin.service.SapService; import com.nflg.wms.admin.util.PdfGeneratorUtil; @@ -19,16 +20,20 @@ import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.WmsComponentPacking; import com.nflg.wms.repository.entity.WmsComponentPackingItem; +import com.nflg.wms.repository.entity.WmsOutProduceItem; import com.nflg.wms.repository.service.IWmsBomService; import com.nflg.wms.repository.service.IWmsComponentPackingItemService; import com.nflg.wms.repository.service.IWmsComponentPackingService; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -90,6 +95,43 @@ public class ComponentPackingController { return packingVO; } + /** + * 修改订单项数量 + */ + @PostMapping("updateItemNum") + public ApiResult updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) { + WmsComponentPackingItem item = wmsComponentPackingItemService.getById(request.getId()); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在"); + VUtil.trueThrowBusinessError(item.getOutQty().compareTo(BigDecimal.ZERO)!=0) + .throwMessage("修改失败:该订单项已出库"); + item.setMenge(request.getNum()); + wmsComponentPackingItemService.updateById(item); + return ApiResult.success(); + } + + /** + * 删除订单项 + * @param ids 订单项id列表 + */ + @Transactional + @PostMapping("deleteItems") + public ApiResult deleteItems(@RequestBody @NotEmpty List ids) { + List items = wmsComponentPackingItemService.lambdaQuery() + .in(WmsComponentPackingItem::getId, ids) + .list(); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); + items.removeIf(item -> item.getOutQty().compareTo(BigDecimal.ZERO) != 0); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); + wmsComponentPackingItemService.removeByIds(items.stream().map(WmsComponentPackingItem::getId).collect(Collectors.toList())); + if (!wmsComponentPackingItemService.lambdaQuery() + .eq(WmsComponentPackingItem::getPackingId, items.get(0).getPackingId()) + .exists() + ) { + wmscomponentPackingService.removeById(items.get(0).getPackingId()); + } + return ApiResult.success(); + } + /** * 零部件订单信息 * diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java index ebb0537d..0e871c97 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java @@ -225,7 +225,7 @@ public class OutAssistanceController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); outAssistanceItemService.removeByIds(items.stream().map(WmsOutAssistanceItem::getId).collect(Collectors.toList())); if (!outAssistanceItemService.lambdaQuery() .eq(WmsOutAssistanceItem::getOrderId, items.get(0).getOrderId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java index a9fbb691..8ddd1306 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java @@ -228,7 +228,7 @@ public class OutCostCenterController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); outCostcenterItemService.removeByIds(items.stream().map(WmsOutCostcenterItem::getId).collect(Collectors.toList())); if (!outCostcenterItemService.lambdaQuery() .eq(WmsOutCostcenterItem::getOrderId, items.get(0).getOrderId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index 4baa9a5e..a1f9c276 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -354,7 +354,7 @@ public class OutProduceController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); outProduceItemService.removeByIds(items.stream().map(WmsOutProduceItem::getId).collect(Collectors.toList())); if (!outProduceItemService.lambdaQuery() .eq(WmsOutProduceItem::getOrderId, items.get(0).getOrderId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java index 592a06c3..5b069d1c 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java @@ -138,7 +138,7 @@ public class PurchaseReturnController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getRequestQuantity().compareTo(item.getLeft()) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); returnRequestItemService.removeByIds(items.stream().map(WmsReturnRequestItem::getId).collect(Collectors.toList())); if (!returnRequestItemService.lambdaQuery() .eq(WmsReturnRequestItem::getApplicationId, items.get(0).getApplicationId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index 603b5ba4..6ac09e99 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -252,7 +252,7 @@ public class TransferCompanyController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); transferCompanyItemService.removeByIds(items.stream().map(WmsTransferCompanyItem::getId).collect(Collectors.toList())); if (!transferCompanyItemService.lambdaQuery() .eq(WmsTransferCompanyItem::getOrderId, items.get(0).getOrderId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index bd8f8572..e087237f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -250,7 +250,7 @@ public class TransferFactoryController extends BaseController { .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在"); items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有可以删除的订单项"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("删除失败:选择的订单项均已领料"); transferFactoryItemService.removeByIds(items.stream().map(WmsTransferFactoryItem::getId).collect(Collectors.toList())); if (!transferFactoryItemService.lambdaQuery() .eq(WmsTransferFactoryItem::getOrderId, items.get(0).getOrderId()) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java index f96d7977..d6a41e69 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java @@ -146,7 +146,7 @@ public class TransferCompanyItemVO { private BigDecimal numLimit; public BigDecimal getNumLimit() { - return outNum; + return getOutNum(); } /**