From 4fb7183b79af9c245a33a00d3e1d753b324389f1 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期一, 08 十二月 2025 13:45:46 +0800
Subject: [PATCH] 提交
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs | 46 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 37 insertions(+), 9 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
index 5345170..36a8202 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
@@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection.Metadata;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
@@ -36,6 +37,7 @@
using WIDESEA_Model.Models;
using WIDESEA_Model.Models.Basic;
using WIDESEA_Model.Models.Check;
+using WIDESEA_Model.Models.Outbound;
namespace WIDESEA_OutboundService
{
@@ -66,6 +68,7 @@
private readonly IReCheckOrderService _reCheckOrderService;
private readonly ITask_HtyService _task_HtyService;
private readonly ILogger<OutboundPickingService> _logger;
+ private readonly IRepository<Dt_InterfaceLog> _interfaceLog;
private Dictionary<string, string> stations = new Dictionary<string, string>
{
@@ -84,7 +87,7 @@
public OutboundPickingService(IRepository<Dt_PickingRecord> BaseDal, IUnitOfWorkManage unitOfWorkManage, IStockInfoService stockInfoService, IStockService stockService,
IOutStockLockInfoService outStockLockInfoService, IStockInfoDetailService stockInfoDetailService, ILocationInfoService locationInfoService,
IOutboundOrderDetailService outboundOrderDetailService, ISplitPackageService splitPackageService, IOutboundOrderService outboundOrderService,
- IRepository<Dt_Task> taskRepository, IESSApiService eSSApiService, ILogger<OutboundPickingService> logger, IInvokeMESService invokeMESService, IDailySequenceService dailySequenceService, IAllocateService allocateService, IRepository<Dt_InboundOrder> inboundOrderRepository, IInboundOrderDetailService inboundOrderDetailService, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IReCheckOrderService reCheckOrderService, ITask_HtyService task_HtyService) : base(BaseDal)
+ IRepository<Dt_Task> taskRepository, IESSApiService eSSApiService, ILogger<OutboundPickingService> logger, IInvokeMESService invokeMESService, IDailySequenceService dailySequenceService, IAllocateService allocateService, IRepository<Dt_InboundOrder> inboundOrderRepository, IInboundOrderDetailService inboundOrderDetailService, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IReCheckOrderService reCheckOrderService, ITask_HtyService task_HtyService, IRepository<Dt_InterfaceLog> interfaceLog) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
_stockInfoService = stockInfoService;
@@ -106,6 +109,7 @@
_warehouseAreaRepository = warehouseAreaRepository;
_reCheckOrderService = reCheckOrderService;
_task_HtyService = task_HtyService;
+ _interfaceLog = interfaceLog;
}
@@ -300,7 +304,11 @@
var statusAnalysis = await AnalyzePalletStatus(orderNo, palletCode, stockInfo.Id);
if (!statusAnalysis.HasItemsToReturn)
- return await HandleNoReturnItems(orderNo, palletCode, task, stockInfo.Id);
+ {
+ var result = await HandleNoReturnItems(orderNo, palletCode, task, stockInfo.Id);
+ _unitOfWorkManage.CommitTran();
+ return result;
+ }
// 4. 妫�鏌ユ槸鍚︽湁杩涜涓殑浠诲姟
if (statusAnalysis.HasActiveTasks)
@@ -1696,13 +1704,14 @@
throw new Exception("鍒涘缓浠诲姟澶辫触锛�");
}
}
- catch (Exception ex)
+ catch (Exception ex)
{
_logger.LogInformation($"CreateReturnTaskAndHandleESS 鍒涘缓浠诲姟澶辫触: {orderNo} 锛� {palletCode}");
throw new Exception("鍒涘缓浠诲姟澶辫触锛�");
}
var targetAddress = originalTask.TargetAddress;
+ _logger.LogInformation($"CreateReturnTaskAndHandleESS 鍒犻櫎鍘嗗彶浠诲姟: {orderNo} 锛� {originalTask.TaskNum}");
// 鍒犻櫎鍘熷鍑哄簱浠诲姟
// _taskRepository.DeleteAndMoveIntoHty(originalTask, OperateTypeEnum.鑷姩瀹屾垚);
var result = _task_HtyService.DeleteAndMoveIntoHty(originalTask, OperateTypeEnum.浜哄伐鍒犻櫎);
@@ -1710,7 +1719,7 @@
{
await _taskRepository.Db.Deleteable(originalTask).ExecuteCommandAsync();
}
-
+ _logger.LogInformation($"CreateReturnTaskAndHandleESS 鍒犻櫎鍘嗗彶浠诲姟: {orderNo} 锛� {originalTask.TaskNum},褰卞搷琛� {result}");
// 缁� ESS 鍙戦�佹祦鍔ㄤ俊鍙峰拰鍒涘缓浠诲姟
await SendESSCommands(palletCode, targetAddress, returnTask);
@@ -2114,8 +2123,7 @@
.Where(x => x.StockId == stockId && x.StockQuantity == 0)
.ExecuteCommandAsync();
- await _stockInfoService.Db.Deleteable<Dt_StockInfo>()
- .Where(x => x.Id == stockId).ExecuteCommandAsync();
+ _stockInfoService.DeleteData(stockId);
_logger.LogInformation($"娓呯悊闆跺簱瀛樻槑缁嗚褰� - StockId: {stockId}, 鍒犻櫎璁板綍鏁�: {deleteDetailCount}");
@@ -2850,10 +2858,11 @@
var result1 = await _invokeMESService.FeedbackInbound(infeedmodel);
if (result1 != null && result1.code == 200)
{
+ var orderIds = inboundOrderDetails.Select(x => x.Id).Distinct().ToList();
_inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
.Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
_inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
- .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+ .Where(it => orderIds.Contains(it.Id)).ExecuteCommand();
}
//鍑哄簱鍥炰紶MES
@@ -2872,7 +2881,7 @@
status = outboundOrder.OrderStatus,
details = new List<FeedbackOutboundDetailsModel>()
};
- foreach (var detail in outboundOrder.Details)
+ foreach (var detail in outboundOrderDetails)
{
// 鑾峰彇璇ユ槑缁嗗搴旂殑鏉$爜淇℃伅锛堜粠閿佸畾璁板綍锛�
var detailLocks = await _outStockLockInfoService.Db.Queryable<Dt_OutStockLockInfo>()
@@ -2902,18 +2911,37 @@
}).ToList();
outfeedmodel.details.AddRange(groupdata);
}
+ //瀛樺偍鍥炰紶鍙傛暟锛屼繚璇佸紓甯告墜鍔ㄥ洖浼�
+ Dt_InterfaceLog interfaceLog = new Dt_InterfaceLog
+ {
+ OrderNo = outboundOrder.UpperOrderNo,
+ DocumentNo = documentNo,
+ OrderType = "铏氭嫙鍑哄叆搴�",
+ Content = outfeedmodel.ToJson(),
+ ReturnToMESStatus = 0,
+ IsDeleted = false
+ };
+ _interfaceLog.AddData(interfaceLog);
+
var result = await _invokeMESService.FeedbackOutbound(outfeedmodel);
if (result != null && result.code == 200)
{
+ var orderIds = outboundOrderDetails.Select(x => x.Id).Distinct().ToList();
await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
.SetColumns(x => x.ReturnToMESStatus == 1)
- .Where(x => x.OrderId == outboundOrder.Id)
+ .Where(x => orderIds.Contains(x.Id))
.ExecuteCommandAsync();
+
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
.SetColumns(x => x.ReturnToMESStatus == 1)
.Where(x => x.Id == outboundOrder.Id)
.ExecuteCommandAsync();
+
+ await _interfaceLog.Db.Updateable<Dt_InterfaceLog>()
+ .SetColumns(x => x.ReturnToMESStatus == 1)
+ .Where(x => x.DocumentNo == documentNo)
+ .ExecuteCommandAsync();
}
return WebResponseContent.Instance.OK();
}
--
Gitblit v1.9.3