fix(api): 更新API端点并修复业务逻辑错误

- 修改InProduceOrderController中的POST映射从空字符串到"receive"
- 在NormalPGIControllerService中为parents集合添加非空检查以避免潜在异常
- 更新多个控制器中的业务错误验证逻辑,添加!qitem.isQiTao()条件
- 修正PurchaseReturnController中的退货类型设置和字段命名
- 为TransferCompanyPdaVO和TransferFactoryPdaVO添加ID字段
- 更新ZWM3A24ItemDTO和ZWM3A25ItemDTO中的字段命名规范
This commit is contained in:
曹鹏飞 2026-03-20 21:16:39 +08:00
parent adea595f5d
commit faec72ba72
12 changed files with 46 additions and 38 deletions

View File

@ -394,7 +394,7 @@ public class InProduceOrderController extends BaseController {
* @param request 请求参数
*/
@Transactional
@PostMapping("")
@PostMapping("receive")
public ApiResult<Void> receive(@Valid @RequestBody InventoryIn1QO request) {//InProduceOrderReceiveQO
WmsInProduceOrder order = produceOrderService.getById(request.getId());
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");

View File

@ -292,7 +292,7 @@ public class OutAssistanceController extends BaseController {
String materialNo = item.getMatnr1();
item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity()));
pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity()));
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制");
// qrCodeMaster.setFactoryCode("");
// qrCodeMaster.setStorageLocation("");

View File

@ -286,7 +286,7 @@ public class OutCostCenterController extends BaseController {
String materialNo = qrCodeMaster.getMaterialCode();
item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity()));
pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity()));
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制");
// qrCodeMaster.setFactoryCode("");
// qrCodeMaster.setStorageLocation("");

View File

@ -408,7 +408,7 @@ public class OutProduceController extends BaseController {
}
item.setNum(item.getNum().add(qrCodeMaster.getQuantity()));
pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity()));
VUtil.trueThrowBusinessError(item.getNum().compareTo(item.getSqsl()) > 0)
VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getNum().compareTo(item.getSqsl()) > 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制");
// qrCodeMaster.setFactoryCode("");
// qrCodeMaster.setStorageLocation("");

View File

@ -189,17 +189,17 @@ public class PurchaseReturnController extends BaseController {
if (request.getDocumentType().equals(1)) { //25
ZWM3A25HeadDTO headDTO25 = new ZWM3A25HeadDTO();
List<ZWM3A25ItemDTO> itemDTOList25 = new ArrayList<>();
headDTO25.setReturnType(request.getDocumentType().toString());
headDTO25.setReturnType("2");
headDTO25.setBstkdOld(returnRequest.getPoNum());
headDTO25.setLifnr(returnRequest.getSupplierCode());
headDTO25.setEkgrp(returnRequest.getPurchaseGroup());
for (WmsReturnRequestItem item : returnRequestItems) {
ZWM3A25ItemDTO itemDTO25 = new ZWM3A25ItemDTO();
itemDTO25.setWerks(item.getFactoryCode());
itemDTO25.setMengeRet(item.getRequestQuantity().toString());
itemDTO25.setMenge_Ret(item.getRequestQuantity().toString());
itemDTO25.setLgort(item.getStorageLocation());
itemDTO25.setMatnr(item.getMaterialCode());
itemDTO25.setEbelpOld(item.getPoLineNumber());
itemDTO25.setEbelp_old(item.getPoLineNumber());
//itemDTO25.setEbelpNew(item.getDeliveryLineNo());
itemDTOList25.add(itemDTO25);
}
@ -208,17 +208,17 @@ public class PurchaseReturnController extends BaseController {
} else if (request.getDocumentType().equals(2)) { //24
ZWM3A24HeadDTO headDTO24 = new ZWM3A24HeadDTO();
List<ZWM3A24ItemDTO> itemDTOList24 = new ArrayList<>();
headDTO24.setReturnType(request.getDocumentType().toString());
headDTO24.setReturnType("1");
headDTO24.setBstkdOld(returnRequest.getPoNum());
headDTO24.setLifnr(returnRequest.getSupplierCode());
headDTO24.setEkgrp(returnRequest.getPurchaseGroup());
for (WmsReturnRequestItem item : returnRequestItems) {
ZWM3A24ItemDTO itemDTO24 = new ZWM3A24ItemDTO();
itemDTO24.setWerks(item.getFactoryCode());
itemDTO24.setMengeRet(item.getRequestQuantity().toString());
itemDTO24.setMenge_Ret(item.getRequestQuantity().toString());
itemDTO24.setLgort(item.getStorageLocation());
itemDTO24.setMatnr(item.getMaterialCode());
itemDTO24.setEbelpOld(item.getPoLineNumber());
itemDTO24.setEbelp_Old(item.getPoLineNumber());
itemDTOList24.add(itemDTO24);
}
ZWM3A24ReturnDTO retrunDto24 = sapService.ZWM3A24(headDTO24, itemDTOList24);

View File

@ -325,7 +325,7 @@ public class TransferCompanyController extends BaseController {
String materialNo = qrCodeMaster.getMaterialCode();
item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity()));
pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity()));
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的出库数量超出申请限制");
// qrCodeMaster.setStorageLocation("");
// qrCodeMaster.setBinLocation("");
@ -559,6 +559,7 @@ public class TransferCompanyController extends BaseController {
VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效");
List<TransferCompanyItemVO> datas = transferCompanyTicketItemService.getList(ticket.getId());
return ApiResult.success(new TransferCompanyPdaVO()
.setId(ticket.getId())
.setBukrs(ticket.getBukrs())
.setReswk(ticket.getReswk())
.setLgort(ticket.getLgfsb1())

View File

@ -335,7 +335,7 @@ public class TransferFactoryController extends BaseController {
.throwMessage("二维码" + qrCode + "未入库");
pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity()));
item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity()));
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的出库数量超出申请限制");
// qrCodeMaster.setStorageLocation("");
// qrCodeMaster.setBinLocation("");
@ -544,6 +544,7 @@ public class TransferFactoryController extends BaseController {
VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效");
List<TransferFactoryItemVO> itemVOS = transferFactoryTicketItemService.getList(ticket.getId());
return ApiResult.success(new TransferFactoryPdaVO()
.setId(ticket.getId())
.setBwart(ticket.getBwart())
.setRsnum(ticket.getRsnum())
.setMblnr(ticket.getMblnr())

View File

@ -624,28 +624,30 @@ public class NormalPGIControllerService {
.stream()
.filter(qrCode -> qrCode.getPackagingType() == 1)
.toList();
List<WmsQrCodeMaster> children = qrCodeMasterService.lambdaQuery()
.in(WmsQrCodeMaster::getParentBarcodeId, parents
.stream()
.map(WmsQrCodeMaster::getId)
.toList()
)
.list();
parents.forEach(p -> {
children.stream()
.filter(c -> c.getParentBarcodeId().equals(p.getId()))
.forEach(c -> {
c.setProcessStage(p.getProcessStage());
c.setLastScanBy(UserUtil.getUserId());
c.setLastScanByname(UserUtil.getUserName());
c.setLastScanTime(LocalDateTime.now());
c.setFactoryCode(p.getFactoryCode());
c.setStorageLocation(p.getStorageLocation());
c.setBinLocation(p.getBinLocation());
c.setReceiptItemId(p.getReceiptItemId());
});
});
dto.getQrCodes().addAll(children);
if (CollectionUtil.isNotEmpty(parents)) {
List<WmsQrCodeMaster> children = qrCodeMasterService.lambdaQuery()
.in(WmsQrCodeMaster::getParentBarcodeId, parents
.stream()
.map(WmsQrCodeMaster::getId)
.toList()
)
.list();
parents.forEach(p -> {
children.stream()
.filter(c -> c.getParentBarcodeId().equals(p.getId()))
.forEach(c -> {
c.setProcessStage(p.getProcessStage());
c.setLastScanBy(UserUtil.getUserId());
c.setLastScanByname(UserUtil.getUserName());
c.setLastScanTime(LocalDateTime.now());
c.setFactoryCode(p.getFactoryCode());
c.setStorageLocation(p.getStorageLocation());
c.setBinLocation(p.getBinLocation());
c.setReceiptItemId(p.getReceiptItemId());
});
});
dto.getQrCodes().addAll(children);
}
qrCodeMasterService.updateBarCode(dto.getQrCodes());
}
}

View File

@ -12,7 +12,7 @@ public class ZWM3A24ItemDTO{
/**
* 数量
*/
private String mengeRet;
private String menge_Ret;
/**
@ -28,5 +28,5 @@ public class ZWM3A24ItemDTO{
/**
* 原订单行号
*/
private String ebelpOld;
private String ebelp_Old;
}

View File

@ -12,7 +12,7 @@ public class ZWM3A25ItemDTO{
/**
* 数量
*/
private String mengeRet;
private String menge_Ret;
/**
* 消息
*/
@ -32,5 +32,5 @@ public class ZWM3A25ItemDTO{
/**
* 原订单行号
*/
private String ebelpOld;
private String ebelp_old;
}

View File

@ -9,6 +9,8 @@ import java.util.List;
@Accessors(chain = true)
public class TransferCompanyPdaVO {
private Long id;
/**
* 转出公司
*/

View File

@ -9,6 +9,8 @@ import java.util.List;
@Accessors(chain = true)
public class TransferFactoryPdaVO {
private Long id;
/**
* 预留/相关需求的编号
*/