Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
曹鹏飞 2026-03-31 14:22:53 +08:00
commit 0c49a1c592
1 changed files with 71 additions and 14 deletions

View File

@ -10,6 +10,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.crypto.digest.DigestUtil;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.nflg.wms.admin.pojo.dto.*; import com.nflg.wms.admin.pojo.dto.*;
import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository; import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository;
import com.nflg.wms.admin.repository.SrmMaterialReceiptNoScanCodesRepository; import com.nflg.wms.admin.repository.SrmMaterialReceiptNoScanCodesRepository;
@ -125,6 +126,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 送货单列表 * 送货单列表
*
* @param request * @param request
* @return * @return
*/ */
@ -136,6 +138,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 送货单详情 * 送货单详情
*
* @param orderId 订单ID * @param orderId 订单ID
* @return * @return
*/ */
@ -152,6 +155,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 获取扫码的详情信息 * 获取扫码的详情信息
*
* @param orderItemId 订单项ID * @param orderItemId 订单项ID
* @return * @return
*/ */
@ -166,6 +170,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 扫描送货单号获取送货单详情PDA * 扫描送货单号获取送货单详情PDA
*
* @param orderNo 送货单号 * @param orderNo 送货单号
* @return * @return
*/ */
@ -179,6 +184,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 收货确认(PDA使用) * 收货确认(PDA使用)
*
* @param request * @param request
* @return * @return
*/ */
@ -315,6 +321,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 普通物料的上架任务PDA * 普通物料的上架任务PDA
*
* @param orederNo 送货单号或是任务单号 * @param orederNo 送货单号或是任务单号
* @return * @return
*/ */
@ -342,6 +349,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 采购物料入库确认PDA * 采购物料入库确认PDA
*
* @param request * @param request
* @return * @return
*/ */
@ -470,12 +478,34 @@ public class NormalPGIController extends BaseController {
.setSERNR(code.getSerialNumbers())); .setSERNR(code.getSerialNumbers()));
scanCodes.add(code); scanCodes.add(code);
WmsQrCodeMaster wmsQrCodeMaster = new WmsQrCodeMaster() // WmsQrCodeMaster wmsQrCodeMaster = new WmsQrCodeMaster()
// .setBarcodeCode(code.getCodeId())
// .setBarcodeType((short) 1)
// .setProcessStage(BarCodeProcessStage.InBound.getState())
// .setLastScanBy(UserUtil.getUserId())
// .setLastScanByname(UserUtil.getUserName())
// .setLastScanTime(LocalDateTime.now());
WmsQrCodeMaster wmsQrCodeMaster = new WmsQrCodeMaster();
WmsQrCodeMaster existCode = qrCodeMasterService.lambdaQuery()
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
.one();
if (existCode != null) {
wmsQrCodeMaster = existCode;
} else {
wmsQrCodeMaster.setId(IdWorker.getId());
}
wmsQrCodeMaster
.setBarcodeCode(code.getCodeId()) .setBarcodeCode(code.getCodeId())
.setBarcodeType((short) 1)
.setMaterialCode(item.getItemCode())
.setMaterialDescription(item.getItemName())
.setProcessStage(BarCodeProcessStage.InBound.getState()) .setProcessStage(BarCodeProcessStage.InBound.getState())
.setReceiptItemId(item.getId())
.setLastScanBy(UserUtil.getUserId()) .setLastScanBy(UserUtil.getUserId())
.setLastScanByname(UserUtil.getUserName()) .setLastScanByname(UserUtil.getUserName())
.setLastScanTime(LocalDateTime.now()); .setLastScanTime(LocalDateTime.now());
qrCodeMasters.add(wmsQrCodeMaster); qrCodeMasters.add(wmsQrCodeMaster);
if (CollectionUtil.isNotEmpty(qo.getItems())) { if (CollectionUtil.isNotEmpty(qo.getItems())) {
InCostCenterBackSubmitItemQRQO qrqo = qo.getItems() InCostCenterBackSubmitItemQRQO qrqo = qo.getItems()
@ -514,15 +544,30 @@ public class NormalPGIController extends BaseController {
//同步箱码信息到物料码中 //同步箱码信息到物料码中
List<WmsQrCodeMaster> parents = qrCodeMasters List<WmsQrCodeMaster> parents = qrCodeMasters
.stream() .stream()
.filter(qrCode -> qrCode.getPackagingType() == 1) // .filter(qrCode -> qrCode.getPackagingType() == 1)
.filter(qrCode -> qrCode.getPackagingType() != null && qrCode.getPackagingType() == 1)
.toList(); .toList();
List<WmsQrCodeMaster> children = qrCodeMasterService.lambdaQuery() // List<WmsQrCodeMaster> children = qrCodeMasterService.lambdaQuery()
.in(WmsQrCodeMaster::getParentBarcodeId, parents // .in(WmsQrCodeMaster::getParentBarcodeId, parents
.stream() // .stream()
.map(WmsQrCodeMaster::getId) // .map(WmsQrCodeMaster::getId)
.toList() // .toList()
) // )
.list(); // .list();
List<WmsQrCodeMaster> children;
if (CollectionUtil.isNotEmpty(parents)) {
children = qrCodeMasterService.lambdaQuery()
.in(WmsQrCodeMaster::getParentBarcodeId,
parents.stream()
.map(WmsQrCodeMaster::getId)
.toList()
)
.list();
} else {
children = new ArrayList<>();
}
parents.forEach(p -> { parents.forEach(p -> {
children.stream() children.stream()
.filter(c -> c.getParentBarcodeId().equals(p.getId())) .filter(c -> c.getParentBarcodeId().equals(p.getId()))
@ -538,7 +583,8 @@ public class NormalPGIController extends BaseController {
}); });
}); });
qrCodeMasters.addAll(children); qrCodeMasters.addAll(children);
qrCodeMasterService.updateBarCode(qrCodeMasters); // qrCodeMasterService.updateBarCode(qrCodeMasters);
qrCodeMasterService.saveOrUpdateBatch(qrCodeMasters);
} }
normalPGIControllerService.takeDeliveryConfirm(receiptItems, storageLocationDTOS, inventories, zwm3A17DTOS, request.getTaskId(), scanCodes); normalPGIControllerService.takeDeliveryConfirm(receiptItems, storageLocationDTOS, inventories, zwm3A17DTOS, request.getTaskId(), scanCodes);
return ApiResult.success(); return ApiResult.success();
@ -563,6 +609,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 收货直接入库的未启用储位管理 * 收货直接入库的未启用储位管理
*
* @return * @return
*/ */
private void setPoReceiveByIn(SrmMaterialReceiptQO item, private void setPoReceiveByIn(SrmMaterialReceiptQO item,
@ -812,6 +859,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 一键收货查询 * 一键收货查询
*
* @param request * @param request
* @return * @return
*/ */
@ -865,7 +913,7 @@ public class NormalPGIController extends BaseController {
order.getSupplierNum(), order.getSupplierNum(),
item.getItemCode(), item.getPoLineNumber()); item.getItemCode(), item.getPoLineNumber());
VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("当前物料信息【" + item.getItemCode() + "】,订单号【" + item.getPoNum() + "】,供应商【" + order.getSupplierName() + "】在SAP中搜索不到有效信息"); VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("当前物料信息【" + item.getItemCode() + "】,订单号【" + item.getPoNum() + "】,供应商【" + order.getSupplierName() + "】在SAP中搜索不到有效信息");
String batchNumber =NoUtil.getBatchNo(order.getSupplierNum()); String batchNumber = NoUtil.getBatchNo(order.getSupplierNum());
/* /*
(materialInfoInOrder.getLbprt().equals("2") (materialInfoInOrder.getLbprt().equals("2")
|| materialInfoInOrder.getLbprt().equals("4")) ? NoUtil.getBatchNo(order.getSupplierNum()) : ""; || materialInfoInOrder.getLbprt().equals("4")) ? NoUtil.getBatchNo(order.getSupplierNum()) : "";
@ -988,6 +1036,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 一键收货无码 * 一键收货无码
*
* @param request * @param request
* @return * @return
*/ */
@ -1099,6 +1148,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 采购物料上架确认无码 * 采购物料上架确认无码
*
* @param request * @param request
* @return * @return
*/ */
@ -1331,7 +1381,7 @@ public class NormalPGIController extends BaseController {
items.forEach(item -> { items.forEach(item -> {
RLock lock = redissonClient.getLock(StrUtil.format("lock:inventory:{}:{}:{}", item.getDwerk(), item.getLgort2(), item.getMatnr())); RLock lock = redissonClient.getLock(StrUtil.format("lock:inventory:{}:{}:{}", item.getDwerk(), item.getLgort2(), item.getMatnr()));
try { try {
Long itemId=IdUtil.getSnowflakeNextId(); Long itemId = IdUtil.getSnowflakeNextId();
// 等待5秒获取锁10秒后自动释放 // 等待5秒获取锁10秒后自动释放
if (lock.tryLock(5, 10, TimeUnit.SECONDS)) { if (lock.tryLock(5, 10, TimeUnit.SECONDS)) {
WmsOutProduceItem data = Convert.convert(WmsOutProduceItem.class, item); WmsOutProduceItem data = Convert.convert(WmsOutProduceItem.class, item);
@ -1343,13 +1393,13 @@ public class NormalPGIController extends BaseController {
} else { } else {
throw new NflgException(STATE.BusinessError, "获取锁失败"); throw new NflgException(STATE.BusinessError, "获取锁失败");
} }
WmsOutProduceTicketItem ticketItem=new WmsOutProduceTicketItem() WmsOutProduceTicketItem ticketItem = new WmsOutProduceTicketItem()
.setId(IdUtil.getSnowflakeNextId()) .setId(IdUtil.getSnowflakeNextId())
.setTicketId(ticket.getId()) .setTicketId(ticket.getId())
.setProduceItemId(itemId) .setProduceItemId(itemId)
.setNum(item.getSqsl()); .setNum(item.getSqsl());
ticketItems.add(ticketItem); ticketItems.add(ticketItem);
item.getQrCodes().forEach(qr->{ item.getQrCodes().forEach(qr -> {
WmsQrCodeMaster qrCodeMaster = qrCodeMasters.stream() WmsQrCodeMaster qrCodeMaster = qrCodeMasters.stream()
.filter(qit -> qit.getBarcodeCode().equals(qr.getCodeId())) .filter(qit -> qit.getBarcodeCode().equals(qr.getCodeId()))
.findFirst() .findFirst()
@ -1399,6 +1449,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 通过打包码获取到打包码的信息 * 通过打包码获取到打包码的信息
*
* @param request * @param request
* @return * @return
*/ */
@ -1417,6 +1468,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 获取打包码对应的送货单信息 * 获取打包码对应的送货单信息
*
* @param request * @param request
* @return * @return
*/ */
@ -1429,6 +1481,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 根据送货单单号和大码的ID获取到具体的物料信息 * 根据送货单单号和大码的ID获取到具体的物料信息
*
* @param request * @param request
* @return * @return
*/ */
@ -1441,6 +1494,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 根据送货单单号和大码的ID获取到具体的物料信息 * 根据送货单单号和大码的ID获取到具体的物料信息
*
* @param request id= 大码的ID * @param request id= 大码的ID
* @return * @return
*/ */
@ -1462,6 +1516,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 通过打包码获取到物料信息 * 通过打包码获取到物料信息
*
* @param request * @param request
* @return * @return
*/ */
@ -1480,6 +1535,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 确认收货(无需扫码) * 确认收货(无需扫码)
*
* @param request * @param request
* @return * @return
*/ */
@ -1682,6 +1738,7 @@ public class NormalPGIController extends BaseController {
/** /**
* 确认收货(需扫码) * 确认收货(需扫码)
*
* @param request * @param request
* @return * @return
*/ */