1、添加无码收货的,功改了一半
This commit is contained in:
parent
c4dab5bf7f
commit
8eb712741f
|
|
@ -8,6 +8,7 @@ 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 cn.hutool.core.util.StrUtil;
|
||||||
|
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptNoScanCodes;
|
||||||
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;
|
||||||
|
|
@ -16,6 +17,7 @@ import com.nflg.wms.admin.pojo.dto.ZWM3A17Item2DTO;
|
||||||
import com.nflg.wms.admin.repository.SrmMaterialReceiptScanCodesRepository;
|
import com.nflg.wms.admin.repository.SrmMaterialReceiptScanCodesRepository;
|
||||||
import com.nflg.wms.admin.service.NormalPGIControllerService;
|
import com.nflg.wms.admin.service.NormalPGIControllerService;
|
||||||
import com.nflg.wms.admin.service.SAPCommonService;
|
import com.nflg.wms.admin.service.SAPCommonService;
|
||||||
|
import com.nflg.wms.admin.util.NoUtil;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.dto.*;
|
import com.nflg.wms.common.pojo.dto.*;
|
||||||
|
|
@ -150,6 +152,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.setCreateUserName(UserUtil.getUserName())
|
.setCreateUserName(UserUtil.getUserName())
|
||||||
.setCreateUserId(UserUtil.getUserId())
|
.setCreateUserId(UserUtil.getUserId())
|
||||||
.setFactoryCode(order.getIuCode())
|
.setFactoryCode(order.getIuCode())
|
||||||
|
.setSourceType(0)
|
||||||
.setIsCompleted(false);
|
.setIsCompleted(false);
|
||||||
|
|
||||||
WmsQcReceive wmsQcReceive = new WmsQcReceive()
|
WmsQcReceive wmsQcReceive = new WmsQcReceive()
|
||||||
|
|
@ -160,6 +163,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.setCreateUserName(UserUtil.getUserName())
|
.setCreateUserName(UserUtil.getUserName())
|
||||||
.setFactoryCode(order.getIuCode())
|
.setFactoryCode(order.getIuCode())
|
||||||
.setIsCheck(false)
|
.setIsCheck(false)
|
||||||
|
.setSourceType(0)
|
||||||
.setCreateUserId(UserUtil.getUserId());
|
.setCreateUserId(UserUtil.getUserId());
|
||||||
|
|
||||||
List<WmsPoReceiptItem> wmsPoReceiptItems = new ArrayList<>();
|
List<WmsPoReceiptItem> wmsPoReceiptItems = new ArrayList<>();
|
||||||
|
|
@ -628,39 +632,199 @@ public class NormalPGIController extends BaseController {
|
||||||
qcDto.getReceiptIds().add(qmsReceiptItem.getId());
|
qcDto.getReceiptIds().add(qmsReceiptItem.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/****
|
/**
|
||||||
//一键收货
|
* 一键收货查询
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("getDeliveryByNoScan")
|
||||||
|
@ApiMark(moduleName = "送货单管理", apiName = "一键收货查询")
|
||||||
|
public ApiResult<List<BarcodeLessReceivingVO>> getDeliveryByNoScan(@Valid @RequestBody BarcodeLessReceivingSearchQO request) {
|
||||||
|
List<BarcodeLessReceivingVO> list = new ArrayList<>();
|
||||||
|
List<WmsSrmOrder> orders = wmsSrmOrderService.lambdaQuery()
|
||||||
|
.in(WmsSrmOrder::getId, request.getId())
|
||||||
|
.eq(WmsSrmOrder::getIsCompleted, false)
|
||||||
|
.list();
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("不存在未完成收货的物料!");
|
||||||
|
// 查找订单信息
|
||||||
|
List<WmsSrmOrderItem> items = wmsSrmOrderItemService.lambdaQuery()
|
||||||
|
.in(WmsSrmOrderItem::getOrderId, request.getId())
|
||||||
|
.apply(" deliveryQty>receiptQty")
|
||||||
|
.list();
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("不存在未收货的物料!");
|
||||||
|
for (WmsSrmOrderItem item : items) {
|
||||||
|
WmsSrmOrder order = orders.stream().filter(o -> o.getId().equals(item.getOrderId())).findFirst().orElse(null);
|
||||||
|
if (Objects.isNull(order)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
BarcodeLessReceivingVO qo = new BarcodeLessReceivingVO();
|
||||||
|
qo.setId(item.getId());
|
||||||
|
qo.setOrderId(item.getOrderId());
|
||||||
|
qo.setPoNum(item.getPoNum());
|
||||||
|
qo.setPoLineNumber(item.getPoLineNumber());
|
||||||
|
qo.setLineNumber(item.getLineNumber());
|
||||||
|
qo.setNoteNum(item.getNoteNum());
|
||||||
|
qo.setItemCode(item.getItemCode());
|
||||||
|
qo.setUnRecieveQty(item.getOrderQty().subtract(item.getReceiptQty()));
|
||||||
|
qo.setDeliveryQty(item.getDeliveryQty());
|
||||||
|
qo.setSerialNumbers("");
|
||||||
|
qo.setIuCode(order.getIuCode());
|
||||||
|
qo.setSupplierNum(order.getSupplierNum());
|
||||||
|
qo.setReceiptQty(item.getReceiptQty());
|
||||||
|
// 获取当前订单的物料属性
|
||||||
|
SAPSyncParamsDTO materialInfoInOrder = sapCommonService.getMaterialInfoInOrder(item.getPoNum(),
|
||||||
|
order.getSupplierNum(),
|
||||||
|
item.getItemCode(), item.getPoLineNumber());
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("当前物料信息【" + item.getItemCode() + "】,订单号【" + item.getPoNum() + "】,供应商【" + order.getSupplierName() + "】在SAP中搜索不到有效信息");
|
||||||
|
qo.setItemName(materialInfoInOrder.getMaktx());
|
||||||
|
qo.setUomCode(materialInfoInOrder.getMeins());
|
||||||
|
qo.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo());
|
||||||
|
qo.setBatchNumber(NoUtil.getBatchNo(order.getSupplierNum()));
|
||||||
|
qo.setBinNos(materialInfoInOrder.getBinNos());
|
||||||
|
qo.setTransportNum(materialInfoInOrder.getTransportNum());
|
||||||
|
qo.setLbprt(materialInfoInOrder.getLbprt());
|
||||||
|
qo.setIsQuality(materialInfoInOrder.getKzkri().equals("X") ? true : false);
|
||||||
|
list.add(qo);
|
||||||
|
}
|
||||||
|
return ApiResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("takeDeliveryByNoScan")
|
|
||||||
@ApiMark(moduleName = "送货单管理", apiName = "一键收货")
|
|
||||||
public ApiResult<Void> takeDeliveryByNoScan(@Valid @RequestBody SrmMaterialReceiptQO request) {
|
|
||||||
|
|
||||||
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getNoteNum()).one();
|
@PostMapping("takeDeliveryByNoScan")
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
@ApiMark(moduleName = "送货单管理", apiName = "一键收货")
|
||||||
List<WmsSrmOrderItem> items = wmsSrmOrderItemService.lambdaQuery()
|
public ApiResult<Void> takeDeliveryByNoScan(@Valid @RequestBody List<BarcodeLessReceivingVO> request) {
|
||||||
.eq(WmsSrmOrderItem::getOrderId, order.getId())
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("收货参数为空");
|
||||||
.list();
|
// 获取到多个收货单
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items)).throwMessage("收货单详情不存在");
|
List<String> orderNos = request.stream().map(BarcodeLessReceivingVO::getNoteNum).distinct().collect(Collectors.toList());
|
||||||
List<SrmMaterialReceiptQO> requestList = new ArrayList<>();
|
List<WmsSrmOrder> orders = wmsSrmOrderService.lambdaQuery().in(WmsSrmOrder::getNoteNum, orderNos)
|
||||||
items.forEach(item -> {
|
.eq(WmsSrmOrder::getIsCompleted, false).list();
|
||||||
SrmMaterialReceiptQO qoItem = new SrmMaterialReceiptQO();
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("无效的送货单");
|
||||||
qoItem.setNoteNum(order.getNoteNum());
|
List<WmsPoReceipt> wmsPoReceipts = new ArrayList<>();
|
||||||
qoItem.setLineNumber(item.getLineNumber());
|
List<WmsQcReceive> wmsQcReceives = new ArrayList<>();
|
||||||
qoItem.setSupplierNum(order.getSupplierNum());
|
List<WmsPoReceiptItem> wmsPoReceiptItems = new ArrayList<>();
|
||||||
qoItem.setSupplierName(order.getSupplierName());
|
List<WmsQcReceiveItem> wmsQcReceiveItems = new ArrayList<>();
|
||||||
|
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
|
||||||
|
List<SrmMaterialReceiptNoScanCodes> codes = new ArrayList<>();
|
||||||
|
for (WmsSrmOrder order : orders) {
|
||||||
|
WmsPoReceipt wmsPoReceipt = new WmsPoReceipt()
|
||||||
|
.setCreateTime(LocalDateTime.now())
|
||||||
|
.setId(IdUtil.getSnowflakeNextId())
|
||||||
|
.setOrderNo(order.getNoteNum())
|
||||||
|
.setCreateUserName(UserUtil.getUserName())
|
||||||
|
.setCreateUserId(UserUtil.getUserId())
|
||||||
|
.setFactoryCode(order.getIuCode())
|
||||||
|
.setSourceType(1)
|
||||||
|
.setIsCompleted(false);
|
||||||
|
wmsPoReceipts.add(wmsPoReceipt);
|
||||||
|
WmsQcReceive wmsQcReceive = new WmsQcReceive()
|
||||||
|
.setCreateTime(LocalDateTime.now())
|
||||||
|
.setId(IdUtil.getSnowflakeNextId())
|
||||||
|
.setIsCompleted((short) 0)
|
||||||
|
.setOrderNo(order.getNoteNum())
|
||||||
|
.setCreateUserName(UserUtil.getUserName())
|
||||||
|
.setFactoryCode(order.getIuCode())
|
||||||
|
.setIsCheck(false)
|
||||||
|
.setSourceType(1)
|
||||||
|
.setCreateUserId(UserUtil.getUserId());
|
||||||
|
wmsQcReceives.add(wmsQcReceive);
|
||||||
|
}
|
||||||
|
for (BarcodeLessReceivingVO item : request) {
|
||||||
|
if (item.getUnRecieveQty().equals(BigDecimal.ZERO)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
SAPSyncParamsDTO materialInfoInOrder = sapCommonService.getMaterialInfoInOrder(item.getPoNum(),
|
||||||
|
item.getSupplierNum(),
|
||||||
|
item.getItemCode(), item.getPoLineNumber());
|
||||||
|
VUtil.trueThrowBusinessError(item.getUnRecieveQty().compareTo(materialInfoInOrder.getTransportNum()) > 0)
|
||||||
|
.throwMessage("物料收货数量[" + item.getUnRecieveQty() + "]大于了未收数量[" + materialInfoInOrder.getTransportNum() + "],订单号:" + item.getPoNum());
|
||||||
|
//序列号和批次号验证
|
||||||
|
//---------------------------------
|
||||||
|
String lbprt = materialInfoInOrder.getLbprt();
|
||||||
|
//判断序列号、批次号是否规范
|
||||||
|
// 1 - 批次号为空,序列号为空
|
||||||
|
// 2 - 批次号必填,序列号为空
|
||||||
|
// 3 - 批次号为空,序列号必填
|
||||||
|
// 4 - 批次号必填,序列号必填
|
||||||
|
if ("2".equals(lbprt) || "4".equals(lbprt)) {
|
||||||
|
VUtil.trueThrowBusinessError(StrUtil.isBlank(item.getBatchNumber())).throwMessage("此物料[" + item.getItemCode() + "]必须填写批次号,订单号:" + item.getPoNum());
|
||||||
|
}
|
||||||
|
|
||||||
qoItem.setPoNum(item.getPoNum());
|
if ("3".equals(lbprt) || "4".equals(lbprt)) {
|
||||||
qoItem.setPoLineNumber(item.getPoLineNumber());
|
Integer serialNumbers = item.getUnRecieveQty()
|
||||||
qoItem.setItemCode(item.getItemCode());
|
VUtil.trueThrowBusinessError(
|
||||||
|
StrUtil.isBlank(item.getSerialNumbers())
|
||||||
|
|
||||||
qoItem.setOrderItemId(item.getId());
|
).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
|
||||||
qoItem.setReceiptNum(item.getDeliveryQty());
|
|
||||||
qoItem.setCrossNumber(new BigDecimal(0.00));
|
}
|
||||||
requestList.add(qoItem);
|
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
||||||
});
|
List<String> codeIds = new ArrayList<>();
|
||||||
//获取到订单信息
|
for (PDAScanCodeQO scanCode : item.getScanCodes()) {
|
||||||
normalPGIControllerService.takeDelivery(requestList);
|
VUtil.trueThrowBusinessError(codeIds.contains(scanCode.getCodeId())).throwMessage("此物料[" + item.getItemCode() + "]中存在重复的条码" + scanCode.getCodeId());
|
||||||
return ApiResult.success();
|
codeIds.add(scanCode.getCodeId());
|
||||||
}
|
srmMaterialReceiptScanCodes.add(
|
||||||
*/
|
new SrmMaterialReceiptScanCodes()
|
||||||
|
.setOrderItemId(item.getId())
|
||||||
|
.setOrderNo(item.getNoteNum())
|
||||||
|
.setCodeId(scanCode.getCodeId())
|
||||||
|
.setCodeNum(scanCode.getCodeNum())
|
||||||
|
.setBatchNumber(scanCode.getBatchNumber())
|
||||||
|
.setSerialNumbers(scanCode.getSerialNumbers())
|
||||||
|
.setIsIntoStorage(false)
|
||||||
|
.setCodeContent(scanCode.getCodeContent()));
|
||||||
|
}
|
||||||
|
//查看是否有重复的条码
|
||||||
|
|
||||||
|
List<SrmMaterialReceiptScanCodes> existingCodes = srmMaterialReceiptCanCodesRepository.findByCodeIdIn(codeIds);
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(existingCodes)).throwMessage("存在已使用的条码,不能重复使用");
|
||||||
|
|
||||||
|
return srmMaterialReceiptScanCodes;
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.get(0).getNoteNum()).one();
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
||||||
|
// List<SAPSyncParamsDTO> sapSyncParamsDTOS = getSapSyncParamsDTOS(request, order);
|
||||||
|
|
||||||
|
|
||||||
|
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
for (SrmMaterialReceiptQO item : request) {
|
||||||
|
//序列号和批次号验证
|
||||||
|
List<SrmMaterialReceiptScanCodes> codes = normalPGIControllerService.validateScanCodes(item, materialInfoInOrder);
|
||||||
|
if (CollectionUtil.isNotEmpty(codes)) {
|
||||||
|
srmMaterialReceiptScanCodes.addAll(codes);
|
||||||
|
}
|
||||||
|
boolean isQuality = materialInfoInOrder.getKzkri().equals("X");
|
||||||
|
// 如果是质检单
|
||||||
|
if (isQuality) {
|
||||||
|
setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId());
|
||||||
|
} else {
|
||||||
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 盘点条码是否重复
|
||||||
|
Map<String, Long> duplicateCodes = srmMaterialReceiptScanCodes.stream()
|
||||||
|
.collect(Collectors.groupingBy(
|
||||||
|
SrmMaterialReceiptScanCodes::getCodeId,
|
||||||
|
Collectors.counting()
|
||||||
|
))
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.filter(entry -> entry.getValue() > 1)
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
Map.Entry::getKey,
|
||||||
|
Map.Entry::getValue
|
||||||
|
));
|
||||||
|
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(duplicateCodes)).throwMessage("存在重复条码");
|
||||||
|
|
||||||
|
normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.nflg.wms.admin.pojo.document;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@Document(collection = "SrmMaterialReceiptNoScanCodes")
|
||||||
|
public class SrmMaterialReceiptNoScanCodes {
|
||||||
|
@Id
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货单的单号
|
||||||
|
*/
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 收货单的单行ID号
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long orderItemId;
|
||||||
|
/**
|
||||||
|
* 二维码编号
|
||||||
|
*/
|
||||||
|
private String codeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private BigDecimal codeNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次号
|
||||||
|
*/
|
||||||
|
private String batchNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序列号
|
||||||
|
*/
|
||||||
|
private String serialNumbers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二维码内容
|
||||||
|
*/
|
||||||
|
private String codeContent;
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return this.batchNumber + ";" + this.serialNumbers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已上架
|
||||||
|
*/
|
||||||
|
private Boolean IsIntoStorage;
|
||||||
|
}
|
||||||
|
|
@ -59,7 +59,8 @@ public class SrmMaterialReceiptScanCodes {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否在
|
* 是否已上架
|
||||||
*/
|
*/
|
||||||
private Boolean IsIntoStorage;
|
private Boolean IsIntoStorage;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.nflg.wms.admin.repository;
|
||||||
|
|
||||||
|
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptNoScanCodes;
|
||||||
|
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||||
|
import org.springframework.data.mongodb.repository.Query;
|
||||||
|
import org.springframework.data.mongodb.repository.Update;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface SrmMaterialReceiptNoScanCodesRepository
|
||||||
|
extends MongoRepository<SrmMaterialReceiptNoScanCodes, String> {
|
||||||
|
List<SrmMaterialReceiptNoScanCodes> findByOrderItemId(Long orderItemId);
|
||||||
|
|
||||||
|
List<SrmMaterialReceiptNoScanCodes> findByCodeIdIn(List<String> attr0);
|
||||||
|
|
||||||
|
@Query("{ 'codeId' : { $in : ?0 } }")
|
||||||
|
@Update("{ $set : { 'isIntoStorage' : ?1 } }")
|
||||||
|
void updateIsIntoStorage(List<String> codeIds, boolean isIntoStorage);
|
||||||
|
}
|
||||||
|
|
@ -9,7 +9,8 @@ import org.springframework.stereotype.Repository;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
public interface SrmMaterialReceiptScanCodesRepository
|
||||||
|
extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
||||||
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId);
|
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId);
|
||||||
|
|
||||||
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
||||||
|
|
|
||||||
|
|
@ -20,27 +20,21 @@ public class SAPCommonService {
|
||||||
@Resource
|
@Resource
|
||||||
private SapService sapService;
|
private SapService sapService;
|
||||||
|
|
||||||
public SAPSyncParamsDTO getMaterialInfoInOrder(String orderNo, String supplierNo, String materialNo) {
|
/**
|
||||||
|
* 获取物料信息
|
||||||
// SAPSyncParamsDTO dto = new SAPSyncParamsDTO();
|
*
|
||||||
// dto.setMaktx("物料描述");
|
* @param orderNo 订单号
|
||||||
// dto.setEbelp("1");
|
* @param supplierNo 供应商代码
|
||||||
// dto.setMatnr(materialNo);
|
* @param materialNo 物料编号
|
||||||
// dto.setMenge(new BigDecimal(100));
|
* @param orderItemNo 订单行项目号
|
||||||
// dto.setWemng(new BigDecimal(10));
|
* @return
|
||||||
// dto.setMeins("PC");
|
*/
|
||||||
// dto.setEbeln(orderNo);
|
public SAPSyncParamsDTO getMaterialInfoInOrder(String orderNo, String supplierNo, String materialNo, String orderItemNo) {
|
||||||
// dto.setTransportNum(new BigDecimal(80));
|
|
||||||
// dto.setMatkl("物料组");
|
|
||||||
// dto.setWgbez("物料描述");
|
|
||||||
// dto.setWerks("1010");
|
|
||||||
// dto.setLbprt("1");
|
|
||||||
// dto.setKzkri("");
|
|
||||||
// dto.setWarehouseNo("122222");
|
|
||||||
// dto.setBinNos("2121");
|
|
||||||
// return dto;
|
|
||||||
//获取订单信息
|
//获取订单信息
|
||||||
SAPMaterialInfoInOrderDTO materialInfoInOrder = CollectionUtil.get(sapService.zim004(orderNo, supplierNo, materialNo), 0);
|
List<SAPMaterialInfoInOrderDTO> sapMaterialInfoInOrder = sapService.zim004(orderNo, supplierNo, materialNo);
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(sapMaterialInfoInOrder)).throwMessage("无法获取到有效订单信息" + orderNo);
|
||||||
|
SAPMaterialInfoInOrderDTO materialInfoInOrder = sapMaterialInfoInOrder.stream().filter(item -> item.getEbelp().equals(orderItemNo)).findFirst().orElse(null);
|
||||||
|
// SAPMaterialInfoInOrderDTO materialInfoInOrder = CollectionUtil.get(sapService.zim004(orderNo, supplierNo, materialNo), 0);
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + orderNo);
|
VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + orderNo);
|
||||||
|
|
||||||
SAPSyncParamsDTO syncParams = new SAPSyncParamsDTO();
|
SAPSyncParamsDTO syncParams = new SAPSyncParamsDTO();
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,23 @@ public class BarcodeLessReceivingQO {
|
||||||
*/
|
*/
|
||||||
private String serialNumbers;
|
private String serialNumbers;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库存地点
|
* 库存地点
|
||||||
*/
|
*/
|
||||||
private String receivedWarehouse;
|
private String receivedWarehouse;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否质检
|
* 是否质检
|
||||||
*/
|
*/
|
||||||
private Boolean isQuality;
|
private Boolean isQuality;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未收货数量
|
||||||
|
*/
|
||||||
|
private BigDecimal unRecieveQty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 制造商
|
||||||
|
*/
|
||||||
|
private String supplierNum;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public class BarcodeLessReceivingVO {
|
||||||
/**
|
/**
|
||||||
* 送货单ID
|
* 送货单ID
|
||||||
*/
|
*/
|
||||||
private String orderId;
|
private Long orderId;
|
||||||
/**
|
/**
|
||||||
* 采购订单号
|
* 采购订单号
|
||||||
*/
|
*/
|
||||||
|
|
@ -36,7 +36,7 @@ public class BarcodeLessReceivingVO {
|
||||||
/**
|
/**
|
||||||
* 送货单号
|
* 送货单号
|
||||||
*/
|
*/
|
||||||
private String noteNum;
|
private String noteNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料编码
|
* 物料编码
|
||||||
|
|
@ -99,5 +99,23 @@ public class BarcodeLessReceivingVO {
|
||||||
*/
|
*/
|
||||||
private Boolean isQuality;
|
private Boolean isQuality;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物料属性
|
||||||
|
* // 1 - 批次号为空,序列号为空
|
||||||
|
* // 2 - 批次号必填,序列号为空
|
||||||
|
* // 3 - 批次号为空,序列号必填
|
||||||
|
* // 4 - 批次号必填,序列号必填
|
||||||
|
*/
|
||||||
|
private String lbprt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 货位编号
|
||||||
|
*/
|
||||||
|
private String binNos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*SAP 未收货数量
|
||||||
|
*/
|
||||||
|
private BigDecimal transportNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,11 @@ public class WmsPoReceipt implements Serializable {
|
||||||
* 入库人姓名
|
* 入库人姓名
|
||||||
*/
|
*/
|
||||||
private String updateUserName;
|
private String updateUserName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库单来源类型
|
||||||
|
* 0 来源于扫码收货
|
||||||
|
* 1 无码收货
|
||||||
|
*/
|
||||||
|
private Integer sourceType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,4 +82,11 @@ public class WmsQcReceive implements Serializable {
|
||||||
* 是否已开检测
|
* 是否已开检测
|
||||||
*/
|
*/
|
||||||
private Boolean isCheck;
|
private Boolean isCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库单来源类型
|
||||||
|
* 0 来源于扫码收货
|
||||||
|
* 1 无码收货
|
||||||
|
*/
|
||||||
|
private Integer sourceType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue