采购物料入库的调试
This commit is contained in:
parent
a357ecb57b
commit
be24ba7bc8
|
|
@ -7,6 +7,7 @@ package com.nflg.wms.admin.controller;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes;
|
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes;
|
||||||
import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO;
|
import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO;
|
||||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
||||||
|
|
@ -29,7 +30,9 @@ import com.nflg.wms.starter.BaseController;
|
||||||
import com.nflg.wms.starter.annotation.ApiMark;
|
import com.nflg.wms.starter.annotation.ApiMark;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
import net.sf.jsqlparser.statement.select.First;
|
||||||
import org.apache.commons.lang3.tuple.Triple;
|
import org.apache.commons.lang3.tuple.Triple;
|
||||||
|
import org.apache.ibatis.annotations.One;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -109,7 +112,7 @@ public class NormalPGIController extends BaseController {
|
||||||
// 查看扫码记录
|
// 查看扫码记录
|
||||||
@GetMapping("getScanCodes")
|
@GetMapping("getScanCodes")
|
||||||
@ApiMark(moduleName = "送货单管理", apiName = "获取扫码的详情信息")
|
@ApiMark(moduleName = "送货单管理", apiName = "获取扫码的详情信息")
|
||||||
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
|
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) {
|
||||||
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
||||||
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
||||||
return ApiResult.success(pdas);
|
return ApiResult.success(pdas);
|
||||||
|
|
@ -289,7 +292,7 @@ public class NormalPGIController extends BaseController {
|
||||||
item.setUpdateUserName(UserUtil.getUserName());
|
item.setUpdateUserName(UserUtil.getUserName());
|
||||||
receiptItems.add(item);
|
receiptItems.add(item);
|
||||||
//储位处理
|
//储位处理
|
||||||
if (!qo.getStorageLocation().equals(qo.getStorageLocationNew())) {
|
if (StrUtil.isNotBlank(qo.getStorageLocationNew()) && qo.getStorageLocation().equals(qo.getStorageLocationNew())) {
|
||||||
List<String> bins = Arrays.asList(item.getStorageLocation().split("/"));
|
List<String> bins = Arrays.asList(item.getStorageLocation().split("/"));
|
||||||
storageLocationDTOS.add(new StorageLocationDTO()
|
storageLocationDTOS.add(new StorageLocationDTO()
|
||||||
.setBinNos(bins)
|
.setBinNos(bins)
|
||||||
|
|
@ -317,33 +320,56 @@ public class NormalPGIController extends BaseController {
|
||||||
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
|
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
|
||||||
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
|
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
|
||||||
|
|
||||||
List<SrmMaterialReceiptScanCodes> scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId().toString());
|
List<SrmMaterialReceiptScanCodes> scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId());
|
||||||
if (CollectionUtil.isEmpty(scanCode)) {
|
if (CollectionUtil.isNotEmpty(scanCode)) {
|
||||||
scanCode.forEach(code -> {
|
scanCode.forEach(code -> {
|
||||||
// 库存
|
// 库存
|
||||||
InventoryDTO inventoryDTO = new InventoryDTO()
|
InventoryDTO inventoryDTO = inventories.stream()
|
||||||
.setMaterialNo(item.getItemCode())
|
.filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode())
|
||||||
.setFactoryNo(wmsPoReceipt.getFactoryCode())
|
&& inventoriesDTO.getBatchNumber().equals(code.getBatchNumber())
|
||||||
.setWarehouseNo(item.getReceivedWarehouse())
|
&& inventoriesDTO.getFactoryNo().equals(wmsPoReceipt.getFactoryCode())
|
||||||
.setBatchNumber(code.getBatchNumber())
|
&& inventoriesDTO.getWarehouseNo().equals(item.getReceivedWarehouse())
|
||||||
.setNum(code.getCodeNum());
|
).findFirst().orElse(null);
|
||||||
inventories.add(inventoryDTO);
|
|
||||||
|
|
||||||
item1.add(new ZWM3A17Item1DTO()
|
if (Objects.isNull(inventoryDTO)) {
|
||||||
.setEBELP(item.getPoLineNumber())
|
inventoryDTO = new InventoryDTO()
|
||||||
.setMATNR(item.getItemCode())
|
.setMaterialNo(item.getItemCode())
|
||||||
.setERFMG(code.getCodeNum())
|
.setFactoryNo(wmsPoReceipt.getFactoryCode())
|
||||||
.setMEINS(item.getUomCode())
|
.setWarehouseNo(item.getReceivedWarehouse())
|
||||||
.setCHARG(code.getBatchNumber())
|
.setBatchNumber(code.getBatchNumber())
|
||||||
.setWERKS(wmsPoReceipt.getFactoryCode())
|
.setNum(code.getCodeNum());
|
||||||
.setLGORT(item.getReceivedWarehouse())
|
inventories.add(inventoryDTO);
|
||||||
.setKZKRI("")
|
} else {
|
||||||
);
|
inventoryDTO.setNum(inventoryDTO.getNum().add(code.getCodeNum()));
|
||||||
|
}
|
||||||
|
ZWM3A17Item1DTO ietm1Dto = item1.stream()
|
||||||
|
.filter(dto1 ->
|
||||||
|
dto1.getEBELP().equals(item.getPoLineNumber())
|
||||||
|
&& dto1.getMATNR().equals(item.getItemCode())
|
||||||
|
&& dto1.getMEINS().equals(item.getUomCode())
|
||||||
|
&& dto1.getCHARG().equals(code.getBatchNumber())
|
||||||
|
&& dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode())
|
||||||
|
&& dto1.getLGORT().equals(item.getReceivedWarehouse())
|
||||||
|
).findFirst().orElse(null);
|
||||||
|
if (Objects.isNull(ietm1Dto)) {
|
||||||
|
item1.add(new ZWM3A17Item1DTO()
|
||||||
|
.setEBELP(item.getPoLineNumber())
|
||||||
|
.setMATNR(item.getItemCode())
|
||||||
|
.setERFMG(code.getCodeNum())
|
||||||
|
.setMEINS(item.getUomCode())
|
||||||
|
.setCHARG(code.getBatchNumber())
|
||||||
|
.setWERKS(wmsPoReceipt.getFactoryCode())
|
||||||
|
.setLGORT(item.getReceivedWarehouse())
|
||||||
|
.setKZKRI("")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum()));
|
||||||
|
}
|
||||||
|
|
||||||
item2.add(new ZWM3A17Item2DTO()
|
item2.add(new ZWM3A17Item2DTO()
|
||||||
.setEBELP(item.getPoLineNumber())
|
.setEBELP(item.getPoLineNumber())
|
||||||
.setFLAG("")
|
.setFLAG("")
|
||||||
.setFLAG(code.getSerialNumbers()));
|
.setSERNR(code.getSerialNumbers()));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 库存
|
// 库存
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ public class POReceiptController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("getScanCodes")
|
@GetMapping("getScanCodes")
|
||||||
@ApiMark(moduleName = "采购单入库管理", apiName = "获取扫码的详情信息")
|
@ApiMark(moduleName = "采购单入库管理", apiName = "获取扫码的详情信息")
|
||||||
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
|
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) {
|
||||||
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
||||||
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
||||||
return ApiResult.success(pdas);
|
return ApiResult.success(pdas);
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ public class QCReceiptController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("getScanCodes")
|
@GetMapping("getScanCodes")
|
||||||
@ApiMark(moduleName = "质检物料入库单", apiName = "获取扫码的详情信息")
|
@ApiMark(moduleName = "质检物料入库单", apiName = "获取扫码的详情信息")
|
||||||
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
|
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) {
|
||||||
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
|
||||||
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
|
||||||
return ApiResult.success(pdas);
|
return ApiResult.success(pdas);
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
||||||
List<SrmMaterialReceiptScanCodes> findByOrderItemId(String orderItemId);
|
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId);
|
||||||
|
|
||||||
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -293,6 +293,7 @@ public class NormalPGIControllerService {
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(inventories)) {
|
if (CollectionUtil.isNotEmpty(inventories)) {
|
||||||
|
|
||||||
inventoryService.in(inventories);
|
inventoryService.in(inventories);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -311,7 +312,7 @@ public class NormalPGIControllerService {
|
||||||
wmsPoReceiptItemService.lambdaUpdate()
|
wmsPoReceiptItemService.lambdaUpdate()
|
||||||
.eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln())
|
.eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln())
|
||||||
.eq(WmsPoReceiptItem::getReceiveId, taskId)
|
.eq(WmsPoReceiptItem::getReceiveId, taskId)
|
||||||
.set(WmsPoReceiptItem::getMaterialDoc, returnDto.getValue().getKey())
|
.set(WmsPoReceiptItem::getMaterialDoc, returnDto.getKey().getKey())
|
||||||
.set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue())
|
.set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue())
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public class POReceiptVO {
|
||||||
/**
|
/**
|
||||||
* 发货时间
|
* 发货时间
|
||||||
*/
|
*/
|
||||||
private LocalDate deliveryNoteDate;
|
private String deliveryNoteDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 运单号
|
* 运单号
|
||||||
|
|
|
||||||
|
|
@ -53,11 +53,7 @@
|
||||||
|
|
||||||
<select id="getUnCompletedItem" resultType="com.nflg.wms.repository.entity.WmsSrmOrder">
|
<select id="getUnCompletedItem" resultType="com.nflg.wms.repository.entity.WmsSrmOrder">
|
||||||
select id
|
select id
|
||||||
from wms_srm_order
|
from wms_srm_order_item
|
||||||
where id = #{orderId}
|
where order_id = #{orderId}
|
||||||
and not exists(select 1
|
and wms_srm_order_item.delivery_qty > wms_srm_order_item.receipt_qty</select>
|
||||||
from wms_srm_order_item
|
|
||||||
where wms_srm_order.id = wms_srm_order_item.order_id
|
|
||||||
and wms_srm_order_item.delivery_qty > wms_srm_order_item.receipt_qty)
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue