bug-1504 各出库单据的编辑和删除功能,未过账单据允许编辑数量(只能改小,不能改大),也可删除

This commit is contained in:
曹鹏飞 2026-05-26 10:26:48 +08:00
parent 020881c450
commit 76ccd680a0
6 changed files with 141 additions and 1 deletions

View File

@ -96,6 +96,7 @@ public class OutAssistanceController extends BaseController {
private IOptRecordService optRecordService; private IOptRecordService optRecordService;
@Resource @Resource
private IWmsOutProduceService outProduceService; private IWmsOutProduceService outProduceService;
/** /**
* 查询SAP领料订单数据 * 查询SAP领料订单数据
*/ */
@ -138,7 +139,7 @@ public class OutAssistanceController extends BaseController {
List<InventoryLockVO> itemLocks = inventoryService.getLockList(order.getWerks(), order.getLgort1(), item.getMatnr1()); List<InventoryLockVO> itemLocks = inventoryService.getLockList(order.getWerks(), order.getLgort1(), item.getMatnr1());
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(itemLocks)).throwMessage("库存不足:" + item.getMatnr1()); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(itemLocks)).throwMessage("库存不足:" + item.getMatnr1());
lockVOS.addAll(itemLocks); lockVOS.addAll(itemLocks);
}else { } else {
data.setLeft(data.getNum()); data.setLeft(data.getNum());
data.setOrderId(order.getId()); data.setOrderId(order.getId());
outAssistanceItemService.save(data); outAssistanceItemService.save(data);
@ -212,6 +213,29 @@ public class OutAssistanceController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsOutAssistanceItem> items = outAssistanceItemService.lambdaQuery()
.in(WmsOutAssistanceItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0);
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())
.exists()
) {
outAssistanceService.removeById(items.get(0).getOrderId());
}
return ApiResult.success();
}
/** /**
* 获取订单项PDA使用 * 获取订单项PDA使用
*/ */

View File

@ -216,6 +216,29 @@ public class OutCostCenterController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsOutCostcenterItem> items = outCostcenterItemService.lambdaQuery()
.in(WmsOutCostcenterItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0);
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())
.exists()
) {
outCostcenterService.removeById(items.get(0).getOrderId());
}
return ApiResult.success();
}
/** /**
* 获取订单项PDA使用 * 获取订单项PDA使用
*/ */

View File

@ -342,6 +342,29 @@ public class OutProduceController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsOutProduceItem> items = outProduceItemService.lambdaQuery()
.in(WmsOutProduceItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) != 0);
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())
.exists()
) {
outProduceService.removeById(items.get(0).getOrderId());
}
return ApiResult.success();
}
/** /**
* 获取订单项PDA使用 * 获取订单项PDA使用
*/ */

View File

@ -32,6 +32,7 @@ import com.nflg.wms.starter.annotation.ApiMark;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -125,6 +126,29 @@ public class PurchaseReturnController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsReturnRequestItem> items = returnRequestItemService.lambdaQuery()
.in(WmsReturnRequestItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getRequestQuantity().compareTo(item.getLeft()) != 0);
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())
.exists()
) {
returnRequestService.removeById(items.get(0).getApplicationId());
}
return ApiResult.success();
}
/** /**
* 获取送货单的入库信息 * 获取送货单的入库信息
* *

View File

@ -240,6 +240,29 @@ public class TransferCompanyController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsTransferCompanyItem> items = transferCompanyItemService.lambdaQuery()
.in(WmsTransferCompanyItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0);
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())
.exists()
) {
transferCompanyService.removeById(items.get(0).getOrderId());
}
return ApiResult.success();
}
/** /**
* 获取转储单PDA使用 * 获取转储单PDA使用
*/ */

View File

@ -238,6 +238,29 @@ public class TransferFactoryController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 删除订单项
* @param ids 订单项id列表
*/
@Transactional
@PostMapping("deleteItems")
public ApiResult<Void> deleteItems(@RequestBody @NotEmpty List<Long> ids) {
List<WmsTransferFactoryItem> items = transferFactoryItemService.lambdaQuery()
.in(WmsTransferFactoryItem::getId, ids)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单项不存在");
items.removeIf(item -> item.getNum().compareTo(item.getLeft()) != 0);
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())
.exists()
) {
transferFactoryService.removeById(items.get(0).getOrderId());
}
return ApiResult.success();
}
/** /**
* 获取调拨单PDA使用 * 获取调拨单PDA使用
*/ */