From b0f6f409063cf4373f1f438d947ec8976f208c29 Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期二, 09 十二月 2025 19:34:32 +0800
Subject: [PATCH] 提交
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs | 55 ++++++++++++++----
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 46 +++++++++++----
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/InvokeMESService.cs | 71 ++++++++++++++++++++---
3 files changed, 137 insertions(+), 35 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_BasicService/InvokeMESService.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_BasicService/InvokeMESService.cs"
index 33ef1b4..3f48801 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_BasicService/InvokeMESService.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_BasicService/InvokeMESService.cs"
@@ -41,6 +41,7 @@
private readonly IRepository<Dt_StockInfoDetail> _stockInfoDetailRepository;
private readonly IRepository<Dt_StockInfo> _stockInfoRepository;
private readonly IRepository<Dt_InboundOrder> _inboundOrderRepository;
+ private readonly IRepository<Dt_InboundOrderDetail> _inboundOrderDetailRepository;
private readonly IRepository<Dt_PickingRecord> _pickingRecoreRepository;
private readonly IMaterialUnitService _materialUnitService;
private readonly IOutboundOrderService _outboundOrderService;
@@ -53,7 +54,7 @@
// 鍏ㄥ眬闈欐�侀攣锛氱敤浜庝繚鎶� _resourceLocks 瀛楀吀涓� GetOrAdd 鎴� TryRemove 鏃剁殑绔炰簤
private static readonly object _globalLocker = new object();
- public InvokeMESService(IHttpClientFactory httpClientFactory, ILogger<InvokeMESService> logger, IRepository<Dt_FeedbackToMes> feedbacktomesRepository, IRepository<Dt_StockInfoDetail> stockInfoDetailRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IOutboundOrderService outboundOrderService, IOutboundOrderDetailService outboundOrderDetailService, IOutStockLockInfoService outStockLockInfoService, IMaterialUnitService materialUnitService, IRepository<Dt_PickingRecord> pickingRecoreRepository, IRepository<Dt_InterfaceLog> interfacelogRepository)
+ public InvokeMESService(IHttpClientFactory httpClientFactory, ILogger<InvokeMESService> logger, IRepository<Dt_FeedbackToMes> feedbacktomesRepository, IRepository<Dt_StockInfoDetail> stockInfoDetailRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IOutboundOrderService outboundOrderService, IOutboundOrderDetailService outboundOrderDetailService, IOutStockLockInfoService outStockLockInfoService, IMaterialUnitService materialUnitService, IRepository<Dt_PickingRecord> pickingRecoreRepository, IRepository<Dt_InterfaceLog> interfacelogRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository)
{
_httpClientFactory = httpClientFactory;
_logger = logger;
@@ -67,6 +68,7 @@
_materialUnitService = materialUnitService;
_pickingRecoreRepository = pickingRecoreRepository;
_interfacelogRepository = interfacelogRepository;
+ _inboundOrderDetailRepository = inboundOrderDetailRepository;
}
/// <summary>
@@ -245,7 +247,7 @@
public async Task<WebResponseContent> BatchOrderFeedbackToMes(List<string> orderNos, int inout)
{
try
- {
+ {
if (inout == 1)
{
@@ -260,6 +262,15 @@
var unreports = stockinfos.Where(x => !feeds.Contains(x.PalletCode)).ToList();
if (unreports != null && !unreports.Any())
{
+ _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
+ .Where(it => it.InboundOrderNo == orderNo).ExecuteCommand();
+ var inboundOrder = _inboundOrderRepository.Db.Queryable<Dt_InboundOrder>().First(x => x.InboundOrderNo == orderNo);
+ if (inboundOrder != null)
+ {
+ _inboundOrderDetailRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+ .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+ }
+
return WebResponseContent.Instance.Error("娌℃湁闇�瑕佸洖浼犵殑鏁版嵁");
}
foreach (var item in unreports)
@@ -351,6 +362,30 @@
if (result != null && result.code == 200)
{
_feedbacktomesRepository.Db.Insertable(new Dt_FeedbackToMes { OrderNo = orderNo, PalletCode = item.PalletCode, ReportStatus = 1 }).ExecuteCommand();
+
+ var feedstockinfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>("info").Where(info => info.StockStatus == 6)
+ .Where(it => SqlFunc.Subqueryable<Dt_StockInfoDetail>().Where(s => s.StockId == it.Id && s.OrderNo == orderNo).Any())
+ .ToList();
+ var feedstomes = _feedbacktomesRepository.Db.Queryable<Dt_FeedbackToMes>().Where(x => x.OrderNo == orderNo && x.ReportStatus == 1).Select(o => o.PalletCode).ToList();
+ var feedunreports = feedstockinfos.Where(x => !feedstomes.Contains(x.PalletCode)).ToList();
+ if (feedunreports != null && !feedunreports.Any())
+ {
+ _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
+ .Where(it => it.InboundOrderNo == orderNo).ExecuteCommand();
+ var feedinboundOrder = _inboundOrderRepository.Db.Queryable<Dt_InboundOrder>().First(x => x.InboundOrderNo == orderNo);
+ if (feedinboundOrder != null)
+ {
+ _inboundOrderDetailRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+ .Where(it => it.OrderId == feedinboundOrder.Id).ExecuteCommand();
+ }
+ }
+ }
+ else
+ {
+ _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = result.message })
+ .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+ _inboundOrderDetailRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+ .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
}
}
}
@@ -640,12 +675,21 @@
var mesResult = await FeedbackOutbound(feedModel);
if (mesResult == null || mesResult.code != 200)
{
+ var messages = mesResult?.message??"";
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(x => new Dt_OutboundOrder
+ {
+ ReturnToMESStatus = 2,
+ Remark = messages,
+ })
+ .Where(x => x.OrderNo == orderNo)
+ .ExecuteCommandAsync();
// 鏇存柊鏄庣粏涓哄洖浼犲け璐ワ紙ReturnToMESStatus=2锛�
await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
.SetColumns(it => new Dt_OutboundOrderDetail
{
- ReturnToMESStatus = 2,
+ ReturnToMESStatus = 2,
documentsNO = documentNo,
})
.Where(x => detailIds.Contains(x.Id))
@@ -653,10 +697,7 @@
return (flowControl: false, value: WebResponseContent.Instance.Error($"鍥炰紶MES澶辫触"));
}
- foreach (var record in pickingRecords.Where(x => detailIds.Contains(x.OrderDetailId)).ToList())
- {
- record.ReturnToMESStatus = 1;
- }
+
var updates = pickingRecords.Where(x => detailIds.Contains(x.OrderDetailId)).ToList();
updates.ForEach(x =>
{
@@ -686,7 +727,7 @@
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
.SetColumns(x => new Dt_OutboundOrder
{
- ReturnToMESStatus = 1,
+ ReturnToMESStatus = 1,Remark="",
OrderStatus = newStatus
})
.Where(x => x.OrderNo == orderNo)
@@ -717,6 +758,7 @@
.SetColumns(it => new Dt_OutboundOrder
{
ReturnToMESStatus = 1,
+ Remark = "",
OrderStatus = OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt(),
})
.Where(x => x.OrderNo == orderNo)
@@ -846,7 +888,7 @@
.ExecuteCommandAsync();
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 1, Remark = "" })
.Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
@@ -861,6 +903,17 @@
{
var errorMsg = $"OrderNo: {orderNo} 鍥炰紶MES澶辫触锛岄敊璇爜锛歿result.code}锛岄敊璇俊鎭細{result.message ?? "鏃�"}";
_logger.LogError(errorMsg);
+
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus ==2)
+ .Where(x => x.OrderId == outboundOrder.Id)
+ .ExecuteCommandAsync();
+
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = result.message })
+ .Where(x => x.OrderNo == orderNo)
+ .ExecuteCommandAsync();
+
return WebResponseContent.Instance.Error(errorMsg);
}
}
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 1adb870..0da15ed 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"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.Extensions.Logging;
+锘縰sing MailKit.Search;
+using Microsoft.Extensions.Logging;
using SqlSugar;
using WIDESEA_BasicService;
using WIDESEA_Common.CommonEnum;
@@ -934,7 +935,7 @@
return ValidationResult<(Dt_PickingRecord, Dt_OutStockLockInfo, Dt_OutboundOrderDetail)>.Success((pickingRecord, lockInfo, orderDetail));
}
-
+
/// <summary>
/// 妫�鏌ラ攣瀹氫俊鎭搴旂殑鏉$爜鏄惁宸茬粡鍥炲簱
@@ -1172,7 +1173,7 @@
#endregion
#region 鍥炲簱鎿嶄綔绉佹湁鏂规硶
-
+
/// <summary>
/// 妫�鏌ユ暣涓墭鐩樻槸鍚﹀凡缁忓洖搴�
/// </summary>
@@ -1250,7 +1251,7 @@
}
private async Task<WebResponseContent> HandleNoReturnItems(string orderNo, string palletCode, Dt_Task originalTask, int stockInfoId)
- {
+ {
try
{
var locationtype = 0;
@@ -1537,7 +1538,7 @@
}
-
+
private async Task HandlePalletStockGoodsReturn(List<Dt_StockInfoDetail> palletStockGoods)
{
@@ -1894,7 +1895,7 @@
_logger.LogError($"UpdateOrderStatusForReturn澶辫触 - OrderNo: {orderNo}, Error: {ex.Message}");
}
}
-
+
#endregion
#region 绌烘墭鐩�
@@ -2143,7 +2144,7 @@
return result;
}
-
+
private async Task<string> GenerateNewBarcode()
{
@@ -2557,10 +2558,20 @@
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();
+ if (inboundOrder.OrderStatus == InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
+ {
+ _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
+ .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+ }
_inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
.Where(it => orderIds.Contains(it.Id)).ExecuteCommand();
+ }
+ else
+ {
+ _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = result1.message })
+ .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+ _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+ .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
}
//鍑哄簱鍥炰紶MES
@@ -2632,12 +2643,30 @@
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 1, Remark = "" })
.Where(x => x.Id == outboundOrder.Id)
.ExecuteCommandAsync();
await _interfaceLog.Db.Updateable<Dt_InterfaceLog>()
.SetColumns(x => x.ReturnToMESStatus == 1)
+ .Where(x => x.DocumentNo == documentNo)
+ .ExecuteCommandAsync();
+ }
+ else
+ {
+ var uporderIds = outboundOrderDetails.Select(x => x.Id).Distinct().ToList();
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus == 2)
+ .Where(x => uporderIds.Contains(x.Id))
+ .ExecuteCommandAsync();
+
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = result.message })
+ .Where(x => x.Id == outboundOrder.Id)
+ .ExecuteCommandAsync();
+
+ await _interfaceLog.Db.Updateable<Dt_InterfaceLog>()
+ .SetColumns(x => x.ReturnToMESStatus == 2)
.Where(x => x.DocumentNo == documentNo)
.ExecuteCommandAsync();
}
@@ -2654,8 +2683,8 @@
{
try
{
- Dt_InboundOrderDetail inboundOrderDetail = _stockInfoDetailService.Db.Queryable<Dt_InboundOrderDetail>().Where(x=>x.Barcode == barcode&& x.OrderDetailStatus !=OrderDetailStatusEnum.Over.ObjToInt()).First();
- if(inboundOrderDetail == null)
+ Dt_InboundOrderDetail inboundOrderDetail = _stockInfoDetailService.Db.Queryable<Dt_InboundOrderDetail>().Where(x => x.Barcode == barcode && x.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()).First();
+ if (inboundOrderDetail == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鏉$爜{barcode}鐨勫叆搴撴槑缁嗘垨鑰呮槑缁嗙姸鎬佸凡鍏ユ櫤浠撳畬鎴�");
}
@@ -2668,7 +2697,7 @@
return WebResponseContent.Instance.OK("鏌ヨ閲囪喘鍗曟垚鍔�", data: resultData);
}
- catch(Exception ex)
+ catch (Exception ex)
{
return WebResponseContent.Instance.Error(ex.Message);
}
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_TaskInfoService/TaskService.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_TaskInfoService/TaskService.cs"
index a3230c2..464a681 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_TaskInfoService/TaskService.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_TaskInfoService/TaskService.cs"
@@ -130,17 +130,18 @@
_task_HtyService = task_HtyService;
}
- public async Task TaskStatusChange(string taskNum,TaskStatusEnum taskStatusEnum)
+ public async Task TaskStatusChange(string taskNum, TaskStatusEnum taskStatusEnum)
{
if (int.TryParse(taskNum, out var newTaskNum))
{
- await Db.Updateable<Dt_Task>().SetColumns(it => new Dt_Task {
- TaskStatus = taskStatusEnum.ObjToInt()
- })
+ await Db.Updateable<Dt_Task>().SetColumns(it => new Dt_Task
+ {
+ TaskStatus = taskStatusEnum.ObjToInt()
+ })
.Where(it => it.TaskNum == newTaskNum)
.ExecuteCommandAsync();
}
-
+
}
/// <summary>
@@ -450,10 +451,17 @@
var feedbackresult = await _invokeMESService.FeedbackInbound(feedmodel);
if (feedbackresult != null && feedbackresult.code == 200)
{
- _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
+ _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
.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();
+ }
+ else
+ {
+ _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = feedbackresult.message })
+ .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+ _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+ .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
}
}
}
@@ -586,7 +594,7 @@
_logger.LogInformation($"TaskService InPickTaskCompleted: {task.TaskNum}");
try
- {
+ {
// 鏌ュ簱瀛�
Dt_StockInfo stockInfo = await _stockRepository.Db.Queryable<Dt_StockInfo>()
.Includes(x => x.Details)
@@ -624,7 +632,7 @@
// 鏇存柊鍑哄簱閿佸畾璁板綍鐘舵�佷负鍥炲簱瀹屾垚
foreach (var lockInfo in returnLocks)
{
- lockInfo.Status = (int)OutLockStockStatusEnum.宸插洖搴�;
+ lockInfo.Status = (int)OutLockStockStatusEnum.宸插洖搴�;
}
if (returnLocks.Any())
@@ -685,7 +693,7 @@
);
await RecalculateOrderStatus(task.OrderNo);
-
+
_logger.LogInformation($"鎵樼洏鍥炲簱瀹屾垚澶勭悊鎴愬姛 - 浠诲姟鍙�: {task.TaskNum}, 鎵樼洏: {task.PalletCode}, 璁㈠崟: {task.OrderNo}");
_ = Task.Run(async () =>
{
@@ -961,7 +969,7 @@
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
.SetColumns(x => new Dt_OutboundOrder
{
- OrderStatus = newStatus,
+ OrderStatus = newStatus,
})
.Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
@@ -1115,7 +1123,7 @@
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
.SetColumns(x => new Dt_OutboundOrder
{
- ReturnToMESStatus = 1,
+ ReturnToMESStatus = 1,
}).Where(x => x.OrderNo == orderNo).ExecuteCommandAsync();
}
}
@@ -1200,8 +1208,20 @@
.ExecuteCommandAsync();
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = "" })
.Where(x => x.OrderNo == orderNo)
+ .ExecuteCommandAsync();
+ }
+ else
+ {
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus == 2)
+ .Where(x => x.OrderId == outboundOrder.Id)
+ .ExecuteCommandAsync();
+
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = result.message })
+ .Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
}
}
@@ -1256,7 +1276,7 @@
var stockresult = _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
if (!stockresult)
- {
+ {
_stockRepository.Db.Deleteable(stockInfo).ExecuteCommand();
}
_stockService.StockInfoService.DeleteData(stockInfo);
--
Gitblit v1.9.3