647556386
2026-03-31 6f0ffcf4a6e75ac3a76c6cfd75e02de3a17d46e3
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs
@@ -1376,9 +1376,13 @@
                        Func<Dt_OutStockLockInfo, bool> wareWhere = x => string.IsNullOrEmpty(outboundOrderDetails.First().WarehouseCode) ? true : x.WarehouseCode == outboundOrderDetails.First().WarehouseCode;
                        List<Dt_OutStockLockInfo> stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
                                x.OrderNo == request.OrderNo &&
                                x.MaterielCode == stockInfoDetail.MaterielCode).Where(supWhere).Where(wareWhere).ToList();
                        var stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
                            x.OrderDetailIds == lockInfo.OrderDetailIds &&
                            x.OrderNo == request.OrderNo &&
                            x.MaterielCode == stockInfoDetail.MaterielCode)
                            .Where(supWhere)
                            .Where(wareWhere)
                            .ToList();
                        if (stockLockInfos != null && stockLockInfos.Any())
                        {
                            _outboundLockInfoRepository.DeleteAndMoveIntoHty(stockLockInfos, WIDESEA_Core.Enums.OperateTypeEnum.自动删除);
@@ -1804,9 +1808,13 @@
                        Func<Dt_OutStockLockInfo, bool> wareWhere = x => string.IsNullOrEmpty(outboundOrderDetails.First().WarehouseCode) ? true : x.WarehouseCode == outboundOrderDetails.First().WarehouseCode;
                        List<Dt_OutStockLockInfo> stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
                                x.OrderNo == request.OrderNo &&
                                x.MaterielCode == stockDetail.MaterielCode).Where(supWhere).Where(wareWhere).ToList();
                        var stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
                            x.OrderDetailIds == lockInfo.OrderDetailIds &&
                            x.OrderNo == request.OrderNo &&
                            x.MaterielCode == stockDetail.MaterielCode)
                            .Where(supWhere)
                            .Where(wareWhere)
                            .ToList();
                        if (stockLockInfos != null && stockLockInfos.Any())
                        {
                            _outboundLockInfoRepository.DeleteAndMoveIntoHty(stockLockInfos, WIDESEA_Core.Enums.OperateTypeEnum.自动删除);
@@ -2507,6 +2515,10 @@
                        return WebResponseContent.Instance.Error($"条码{request.Barcode}已无法撤销");
                    }
                }
                else
                {
                    return WebResponseContent.Instance.Error($"条码{request.Barcode}已无法撤销");
                }
                Dt_OutStockLockInfo lockInfo = _outboundLockInfoRepository.QueryFirst(x =>
                    x.OrderNo == request.OrderNo &&
@@ -2514,13 +2526,13 @@
                    x.MaterielCode == historyDetail.MaterielCode &&
                    x.PalletCode == stockInfo.PalletCode);
                if (lockInfo == null)
                {
                    return WebResponseContent.Instance.Error("该托盘已全部拣选完,不允许撤销");
                }
                _unitOfWorkManage.BeginTran();
                try
                {
                    if(lockInfo == null)
                    {
                        return WebResponseContent.Instance.Error("该托盘已全部拣选完,不允许撤销");
                    }
                    bool isUnpack = historyDetail.OperateType == "拆包-原始记录";
                    if (isUnpack)
                    {