Merge remote-tracking branch 'origin/feature/NoScanning' into feature/NoScanning

This commit is contained in:
zhangke 2026-06-12 16:13:53 +08:00
commit 2ca23d1f04
1 changed files with 25 additions and 25 deletions

View File

@ -11,8 +11,8 @@ import com.nflg.wms.common.pojo.qo.WmsIncomingInspectionTaskCallbackQO;
import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.service.*;
import com.nflg.wms.srm.receive.pojo.dto.ZWM3A17DTO;
import com.nflg.wms.srm.receive.pojo.dto.ZWM3A17Item1DTO;
import com.nflg.wms.srm.receive.pojo.dto.ZWM3A18DTO;
import com.nflg.wms.srm.receive.pojo.dto.ZWM3A18Item1DTO;
import com.nflg.wms.common.pojo.qo.PdiInspectionTaskCallbackQO;
import com.nflg.wms.srm.receive.service.SapService;
import com.nflg.wms.srm.receive.util.NoUtil;
@ -147,40 +147,40 @@ public class QmsController extends BaseController {
List<InventoryInDTO> inventories = new ArrayList<>();
inventories.add(inventoryDTO);
// 构建SAP入库数据
ZWM3A17DTO zwm3A17DTO = new ZWM3A17DTO()
// 构建SAP质检入库数据
ZWM3A18DTO zwm3A18DTO = new ZWM3A18DTO()
.setEbeln(qo.getPurchaseOrderNo())
.setUsnam("SRM");
zwm3A17DTO.getItem1().add(new ZWM3A17Item1DTO()
.setEBELP(receiveItem.getPoLineNumber())
.setMATNR(receiveItem.getItemCode())
.setERFMG(BigDecimal.valueOf(qo.getQualifiedQty()))
.setMEINS(receiveItem.getUomCode())
.setCHARG(inventoryDTO.getBatchNo())
.setWERKS(qo.getFactory())
.setLGORT(receiveItem.getReceivedWarehouse())
.setKZKRI(""));
// if (StrUtil.isNotBlank(data.getSerialNum())) {
// zwm3A17DTO.getItem2().add(new ZWM3A17Item2DTO()
// .setEBELP(data.getPoLineNumber())
// .setFLAG("")
// .setSERNR(data.getSerialNum()));
// }
.setUsnam("SRM")
.setMblnr(receiveItem.getMaterialDoc())
.setMjahr(receiveItem.getMaterialDocYear());
List<ZWM3A18Item1DTO> item1List = new ArrayList<>();
item1List.add(new ZWM3A18Item1DTO()
.setErfmg(BigDecimal.valueOf(qo.getInspectionQty()))
.setErfmg1(BigDecimal.valueOf(qo.getQualifiedQty()))
.setErfmg2(BigDecimal.valueOf(qo.getUnqualifiedQty()))
.setEbelp(receiveItem.getPoLineNumber())
.setMatnr(receiveItem.getItemCode())
.setMeins(receiveItem.getUomCode())
.setCharg(inventoryDTO.getBatchNo())
.setLgort(receiveItem.getReceivedWarehouse())
.setSgtxt("")
.setWerks(qo.getFactory()));
zwm3A18DTO.setItem1(item1List);
// 执行库存入库
log.info("开始本地库存入库, 数量: {}", qo.getQualifiedQty());
inventoryService.in(inventories);
// 推送到SAP
log.info("开始推送SAP入库, PO: {}, 物料: {}", qo.getPurchaseOrderNo(), qo.getMaterialNo());
Pair<Pair<String, String>, Pair<String, String>> returnDto = sapService.zwm3a17(zwm3A17DTO);
log.info("SAP入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey().getKey(), returnDto.getValue().getValue());
log.info("开始推送SAP质检入库, PO: {}, 物料: {}", qo.getPurchaseOrderNo(), qo.getMaterialNo());
Pair<String, String> returnDto = sapService.zwm3a18(zwm3A18DTO);
log.info("SAP质检入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey(), returnDto.getValue());
// 更新收货明细的物料凭证和入库数量
qcReceiveItemService.lambdaUpdate()
.eq(WmsQcReceiveItem::getId, receiveItem.getId())
.set(WmsQcReceiveItem::getInQty, qo.getQualifiedQty())
.set(WmsQcReceiveItem::getMaterialDoc, returnDto.getKey().getKey())
.set(WmsQcReceiveItem::getMaterialDocYear, returnDto.getValue().getValue())
.set(WmsQcReceiveItem::getMaterialDoc, returnDto.getKey())
.set(WmsQcReceiveItem::getMaterialDocYear, returnDto.getValue())
.update();
// 检查并更新收货单完成状态