feat: 一些优化

This commit is contained in:
曹鹏飞 2025-11-18 10:37:13 +08:00
parent 172ddbc444
commit 268fbc3220
2 changed files with 12 additions and 14 deletions

View File

@ -172,12 +172,12 @@ public class ComponentOutboundController extends BaseController {
.eq(WmsComponentPackingItem::getPackingId, packing.getId())
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(packingItems)).throwMessage("无法找到有效的装箱单详情");
//判断是否存在了相同的交货单了
WmsComponentOutbound outboundSelect = wmsComponentOutboundService.lambdaQuery()
.eq(WmsComponentOutbound::getVbelv, packing.getVbelv())
.eq(WmsComponentOutbound::getIsReverse, false)
.one();
VUtil.trueThrowBusinessError(Objects.nonNull(outboundSelect), () -> "交货单已出库,单号为【" + outboundSelect.getOutboundNo() + "");
// //判断是否存在了相同的交货单了
// WmsComponentOutbound outboundSelect = wmsComponentOutboundService.lambdaQuery()
// .eq(WmsComponentOutbound::getVbelv, packing.getVbelv())
// .eq(WmsComponentOutbound::getIsReverse, false)
// .one();
// VUtil.trueThrowBusinessError(Objects.nonNull(outboundSelect), () -> "交货单已出库,单号为【" + outboundSelect.getOutboundNo() + "");
//判断数量是否一致且已经存在了相同的收货单了
// for (WmsComponentPackingItem item : packingItems) {
// List<ComponentOutboundItemInputQO> items = request.getItems()
@ -240,7 +240,7 @@ public class ComponentOutboundController extends BaseController {
);
});
VUtil.trueThrowBusinessError(outboundItem.getOutQty()
.compareTo(records.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) < 0)
.compareTo(records.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) != 0)
.throwMessage("物料" + outboundItem.getIdnrk() + "的领取数量不等于装箱数量");
} else {
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes()))
@ -261,7 +261,8 @@ public class ComponentOutboundController extends BaseController {
//判断扫码数量是否等于了出货数量
BigDecimal qty = scanCodesGroup.stream().map(ScanCodeQO::getCodeNum).reduce(BigDecimal.ZERO, BigDecimal::add);
VUtil.trueThrowBusinessError(outboundItem.getOutQty().equals(qty)).throwMessage("物料[" + outboundItem.getIdnrk() + "]的出库数量[" + qty + "]不等于装箱数量[" + outboundItem.getOutQty() + "]");
VUtil.trueThrowBusinessError(outboundItem.getOutQty().compareTo(qty) != 0)
.throwMessage("物料[" + outboundItem.getIdnrk() + "]的出库数量[" + qty + "]不等于装箱数量[" + outboundItem.getOutQty() + "]");
buildZwm3a20DTO(zwm3a20DTO, scanCodesGroup, outboundItem);

View File

@ -346,7 +346,6 @@ public class OutProduceController extends BaseController {
ticketItems.add(ti);
return ti;
});
BigDecimal num = Objects.equals(order.getType(), 0) ? item.getLockNum() : item.getSqsl().subtract(item.getNum());
if (qitem.isQiTao()) {
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs()))
.throwMessage("齐套物料需要提供批次信息");
@ -377,8 +376,7 @@ public class OutProduceController extends BaseController {
item.setNum(item.getNum().add(it.getNum()));
pti.setNum(pti.getNum().add(it.getNum()));
});
VUtil.trueThrowBusinessError(num.subtract(records.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))
.compareTo(BigDecimal.ZERO) < 0)
VUtil.trueThrowBusinessError(item.getNum().compareTo(item.getSqsl()) > 0)
.throwMessage("物料" + item.getMatnr() + "的领取数量超出申请限制");
} else {
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getQrCodes()))
@ -392,7 +390,7 @@ public class OutProduceController extends BaseController {
}
item.setNum(item.getNum().add(qrCodeContent.getNum()));
pti.setNum(pti.getNum().add(qrCodeContent.getNum()));
VUtil.trueThrowBusinessError(num.compareTo(pti.getNum()) < 0)
VUtil.trueThrowBusinessError(item.getNum().compareTo(item.getSqsl()) > 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制");
records.add(new OutMaterialScanRecord()
.setSource(1)
@ -483,8 +481,7 @@ public class OutProduceController extends BaseController {
* 搜索出库单
*/
@PostMapping("searchTicket")
public ApiResult<PageData<OutProduceTicketVO>> searchTicket(@Valid @RequestBody OutProduceTicketSearchQO
request) {
public ApiResult<PageData<OutProduceTicketVO>> searchTicket(@Valid @RequestBody OutProduceTicketSearchQO request) {
return ApiResult.success(outProduceTicketService.search(request));
}