From 7df9475d342d199ae9cc5585d5d3a95888c33208 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期三, 04 二月 2026 08:49:29 +0800
Subject: [PATCH] 1
---
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 483 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 359 insertions(+), 124 deletions(-)
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index decc47b..5ba7cfb 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -1688,128 +1688,130 @@
x.LPNNo == stockInfo.PalletCode)
.ToList();
- if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
+ List<Dt_NewOutboundOrderDetail> outboundOrderDetails1 = _outboundService.NewOutboundOrderDetailService.Db.Queryable<Dt_NewOutboundOrderDetail>()
+ .Where(x => x.OrderId == outboundOrder.Id)
+ .ToList();
+ if ((outboundOrderDetails == null && outboundOrderDetails1 == null) || (outboundOrderDetails.Count == 0 && outboundOrderDetails1.Count == 0))
{
throw new Exception($"鏈壘鍒版墭鐩� {stockInfo.PalletCode} 鍦ㄨ揣浣� {stockInfo.LocationCode} 涓婄殑鍑哄簱鍗曟槑缁�");
}
-
// 鑾峰彇搴撳瓨鏄庣粏
var stockInfoDetails = stockInfo.Details.ToList();
int overCount = outboundOrder.Details.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
-
- foreach (var stockDetail in stockInfoDetails)
+ if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
{
- var matchingOrderDetails = outboundOrderDetails
- .Where(x => x.MaterielCode == stockDetail.MaterielCode &&
- x.BatchNo == stockDetail.BatchNo)
- .ToList();
-
- if (matchingOrderDetails.Count == 0)
+ foreach (var stockDetail in stockInfoDetails)
{
- continue;
- }
+ var matchingOrderDetails = outboundOrderDetails1
+ .Where(x => x.MaterielCode == stockDetail.MaterielCode)
+ .ToList();
- // 璁$畻闇�瑕佸垎閰嶇殑鏁伴噺
- decimal remainingStock = stockDetail.OutboundQuantity;
-
- foreach (var orderDetail in matchingOrderDetails)
- {
- if (remainingStock <= 0) break;
-
- if (orderDetail.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt())
- continue;
-
- // 璁$畻鏈鍙互鍒嗛厤鐨勬暟閲�
- decimal availableOrderQty = orderDetail.OrderQuantity - orderDetail.OverOutQuantity;
- decimal allocateQty = Math.Min(remainingStock, availableOrderQty);
-
- if (allocateQty > 0)
+ if (matchingOrderDetails.Count == 0)
{
- orderDetail.OverOutQuantity += allocateQty;
- remainingStock -= allocateQty;
+ continue;
+ }
- // 妫�鏌ユ槸鍚﹀畬鎴�
- if (Math.Abs(orderDetail.OverOutQuantity - orderDetail.OrderQuantity) < 0.001m)
+ // 璁$畻闇�瑕佸垎閰嶇殑鏁伴噺
+ decimal remainingStock = stockDetail.OutboundQuantity;
+
+ foreach (var orderDetail in matchingOrderDetails)
+ {
+ if (remainingStock <= 0) break;
+
+ if (orderDetail.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt())
+ continue;
+
+ // 璁$畻鏈鍙互鍒嗛厤鐨勬暟閲�
+ decimal availableOrderQty = orderDetail.OrderQuantity - orderDetail.OverOutQuantity;
+ decimal allocateQty = Math.Min(remainingStock, availableOrderQty);
+
+ if (allocateQty > 0)
{
- orderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
- overCount++;
+ orderDetail.OverOutQuantity += allocateQty;
+ remainingStock -= allocateQty;
+
+ // 妫�鏌ユ槸鍚﹀畬鎴�
+ if (Math.Abs(orderDetail.OverOutQuantity - orderDetail.OrderQuantity) < 0.001m)
+ {
+ orderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
+ overCount++;
+ }
}
}
}
- }
- // 鏇存柊璁㈠崟鐘舵��
- if (outboundOrder.Details.Count == overCount)
- {
- outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
- }
- _unitOfWorkManage.BeginTran();
-
- try
- {
- // 鏇存柊鍑哄簱鍗�
- _outboundService.NewOutboundOrderService.Repository.UpdateData(outboundOrder);
-
- _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
-
-
- AddCPRetrueOrder(stockInfo, outboundOrder, outboundOrderDetails);
-
- // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
- if (outboundOrder.System == null)
+ // 鏇存柊璁㈠崟鐘舵��
+ if (outboundOrder.Details.Count == overCount)
{
- return WebResponseContent.Instance.Error("鍑哄簱鍗曟暟鎹簮涓虹┖");
+ outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
}
+ _unitOfWorkManage.BeginTran();
- if (!outboundOrder.System.Equals("SMOM"))
+ try
{
- UpdateLocationStatus(locationInfo);
- }
+ // 鏇存柊鍑哄簱鍗�
+ _outboundService.NewOutboundOrderService.Repository.UpdateData(outboundOrder);
- // 澶勭悊浠诲姟瀹屾垚
- CompleteTask(task);
+ _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails1);
- // 娣诲姞鐘舵�佸彉鏇磋褰�
- AddStatusChangeRecord(task, stockInfo, locationInfo);
- string path = "http://fr.mankun.com:8080/webroot/decision/view/report?viewlet=fr-report\\SMOM/Product/Produce/OutBoundDetileReport.cpt&op=write&format=pdf";
- string fullPath = AppDomain.CurrentDomain.BaseDirectory;
- var url = Path.Combine(fullPath, "wwwroot", "Reports");
- string savePath = Path.Combine(url, "鏈鍑哄簱.pdf");
+ AddCPRetrueOrder(stockInfo, outboundOrder, outboundOrderDetails1);
- // ERP绯荤粺鍙嶉
- if (outboundOrder.System.Equals("ERP"))
- {
- // 涓烘瘡涓畬鎴愮殑鏄庣粏鍙嶉ERP
- foreach (var orderDetail in outboundOrderDetails.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
+ if (outboundOrder.System == null)
{
- FeedBackOutERP(outboundOrder.OrderNo, orderDetail.LinId);
+ return WebResponseContent.Instance.Error("鍑哄簱鍗曟暟鎹簮涓虹┖");
}
- // 濡傛灉鏈夊畬鎴愮殑鏄庣粏锛屼笅杞芥姤琛�
- if (outboundOrderDetails.Any(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ if (!outboundOrder.System.Equals("SMOM"))
{
- DownloadReport(path, savePath, outboundOrderDetails.First().Id);
+ UpdateLocationStatus(locationInfo);
}
- }
- // 鍗曟嵁瀹屾垚鎺ㄩ�丼MOM绯荤粺
- if (outboundOrder.OrderStatus == OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && outboundOrder.System.Equals("SMOM"))
- {
- var outStockLockInfoList = _outboundService.OutboundStockLockInfoService.Repository
- .QueryData(x => x.OrderNo == outboundOrder.OrderNo);
+ // 澶勭悊浠诲姟瀹屾垚
+ CompleteTask(task);
- if (outStockLockInfoList.Count == 0)
- throw new Exception($"璁㈠崟 {outboundOrder.OrderNo} 鎵樼洏 {stockInfo.PalletCode} 鏈壘鍒板簱瀛橀攣瀹氫俊鎭�");
+ // 娣诲姞鐘舵�佸彉鏇磋褰�
+ AddStatusChangeRecord(task, stockInfo, locationInfo);
- // 閲囪喘鍑哄簱
- if (outboundOrder.OrderType == 1)
+ string path = "http://fr.mankun.com:8080/webroot/decision/view/report?viewlet=fr-report\\SMOM/Product/Produce/OutBoundDetileReport.cpt&op=write&format=pdf";
+ string fullPath = AppDomain.CurrentDomain.BaseDirectory;
+ var url = Path.Combine(fullPath, "wwwroot", "Reports");
+ string savePath = Path.Combine(url, "鏈鍑哄簱.pdf");
+
+ // ERP绯荤粺鍙嶉
+ if (outboundOrder.System.Equals("ERP"))
{
- var passBack = new HouseoutboundPassBack
+ // 涓烘瘡涓畬鎴愮殑鏄庣粏鍙嶉ERP
+ foreach (var orderDetail in outboundOrderDetails1.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
{
- ApiType = "ShippingOrderController",
- Method = "AsrsOutboundSO",
- Parameters = new List<HouseoutboundPassBack.datas>
+ FeedBackOutERP(outboundOrder.OrderNo, orderDetail.LinId);
+ }
+
+ // 濡傛灉鏈夊畬鎴愮殑鏄庣粏锛屼笅杞芥姤琛�
+ if (outboundOrderDetails1.Any(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ {
+ DownloadReport(path, savePath, outboundOrderDetails1.First().Id);
+ }
+ }
+
+ //鍗曟嵁瀹屾垚鎺ㄩ�丼MOM绯荤粺
+ if (outboundOrder.OrderStatus == OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && outboundOrder.System.Equals("SMOM"))
+ {
+ var outStockLockInfoList = _outboundService.OutboundStockLockInfoService.Repository
+ .QueryData(x => x.OrderNo == outboundOrder.OrderNo);
+
+ if (outStockLockInfoList.Count == 0)
+ throw new Exception($"璁㈠崟 {outboundOrder.OrderNo} 鎵樼洏 {stockInfo.PalletCode} 鏈壘鍒板簱瀛橀攣瀹氫俊鎭�");
+
+ // 閲囪喘鍑哄簱
+ if (outboundOrder.OrderType == 1)
+ {
+ var passBack = new HouseoutboundPassBack
+ {
+ ApiType = "ShippingOrderController",
+ Method = "AsrsOutboundSO",
+ Parameters = new List<HouseoutboundPassBack.datas>
{
new HouseoutboundPassBack.datas
{
@@ -1837,33 +1839,33 @@
}
}
}
- };
+ };
- //璋冪敤SMOM鎺ュ彛...
- var authResult = AuthenticateWithWMS();
- if (authResult.IsSuccess)
- {
- passBack.Context = new Dictionary<string, string>
+ //璋冪敤SMOM鎺ュ彛...
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ passBack.Context = new Dictionary<string, string>
{
{ "Ticket", authResult.Ticket },
{ "InvOrgId", authResult.InvOrgId }
};
- var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskout, passBack, "绔嬪簱鍑哄簱鏁伴噺鍥炰紶WMS");
- if (!response.Success)
- {
- throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskout, passBack, "绔嬪簱鍑哄簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
}
}
- }
- // 璋冩嫧鍑哄簱
- if (outboundOrder.OrderType == 2)
- {
- var allocate = new InventoryAllocate
+ // 璋冩嫧鍑哄簱
+ if (outboundOrder.OrderType == 2)
{
- ApiType = "InventoryAllocateController",
- Method = "AsrsFinishedStockCount",
- Parameters = new List<Allocate>
+ var allocate = new InventoryAllocate
+ {
+ ApiType = "InventoryAllocateController",
+ Method = "AsrsFinishedStockCount",
+ Parameters = new List<Allocate>
{
new Allocate
{
@@ -1894,38 +1896,271 @@
}
}
}
- };
+ };
- // 璋冪敤SMOM鎺ュ彛...
- var authResult = AuthenticateWithWMS();
- if (authResult.IsSuccess)
- {
- allocate.Context = new Dictionary<string, string>
+ // 璋冪敤SMOM鎺ュ彛...
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ allocate.Context = new Dictionary<string, string>
{
{ "Ticket", authResult.Ticket },
{ "InvOrgId", authResult.InvOrgId }
};
- var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, allocate, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
- if (!response.Success)
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, allocate, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
+ }
+ }
+
+ if (outboundOrder.OrderType == 240) // 鐩樼偣鍑哄簱
+ {
+ // 鐩樼偣鍑哄簱鐗规畩澶勭悊閫昏緫
+ }
+
+ _unitOfWorkManage.CommitTran();
+ return WebResponseContent.Instance.OK();
+ }
+ catch
+ {
+ _unitOfWorkManage.RollbackTran();
+ throw;
+ }
+ }
+ else
+ {
+ foreach (var stockDetail in stockInfoDetails)
+ {
+ var matchingOrderDetails = outboundOrderDetails
+ .Where(x => x.MaterielCode == stockDetail.MaterielCode &&
+ x.BatchNo == stockDetail.BatchNo)
+ .ToList();
+
+ if (matchingOrderDetails.Count == 0)
+ {
+ continue;
+ }
+
+ // 璁$畻闇�瑕佸垎閰嶇殑鏁伴噺
+ decimal remainingStock = stockDetail.OutboundQuantity;
+
+ foreach (var orderDetail in matchingOrderDetails)
+ {
+ if (remainingStock <= 0) break;
+
+ if (orderDetail.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt())
+ continue;
+
+ // 璁$畻鏈鍙互鍒嗛厤鐨勬暟閲�
+ decimal availableOrderQty = orderDetail.OrderQuantity - orderDetail.OverOutQuantity;
+ decimal allocateQty = Math.Min(remainingStock, availableOrderQty);
+
+ if (allocateQty > 0)
+ {
+ orderDetail.OverOutQuantity += allocateQty;
+ remainingStock -= allocateQty;
+
+ // 妫�鏌ユ槸鍚﹀畬鎴�
+ if (Math.Abs(orderDetail.OverOutQuantity - orderDetail.OrderQuantity) < 0.001m)
{
- throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ orderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
+ overCount++;
}
}
}
}
-
- if (outboundOrder.OrderType == 240) // 鐩樼偣鍑哄簱
+ // 鏇存柊璁㈠崟鐘舵��
+ if (outboundOrder.Details.Count == overCount)
{
- // 鐩樼偣鍑哄簱鐗规畩澶勭悊閫昏緫
+ outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
}
+ _unitOfWorkManage.BeginTran();
- _unitOfWorkManage.CommitTran();
- return WebResponseContent.Instance.OK();
- }
- catch
+ try
+ {
+ // 鏇存柊鍑哄簱鍗�
+ _outboundService.NewOutboundOrderService.Repository.UpdateData(outboundOrder);
+
+ _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
+
+
+ AddCPRetrueOrder(stockInfo, outboundOrder, outboundOrderDetails);
+
+ // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
+ if (outboundOrder.System == null)
+ {
+ return WebResponseContent.Instance.Error("鍑哄簱鍗曟暟鎹簮涓虹┖");
+ }
+
+ if (!outboundOrder.System.Equals("SMOM"))
+ {
+ UpdateLocationStatus(locationInfo);
+ }
+
+ // 澶勭悊浠诲姟瀹屾垚
+ CompleteTask(task);
+
+ // 娣诲姞鐘舵�佸彉鏇磋褰�
+ AddStatusChangeRecord(task, stockInfo, locationInfo);
+
+ string path = "http://fr.mankun.com:8080/webroot/decision/view/report?viewlet=fr-report\\SMOM/Product/Produce/OutBoundDetileReport.cpt&op=write&format=pdf";
+ string fullPath = AppDomain.CurrentDomain.BaseDirectory;
+ var url = Path.Combine(fullPath, "wwwroot", "Reports");
+ string savePath = Path.Combine(url, "鏈鍑哄簱.pdf");
+
+ // ERP绯荤粺鍙嶉
+ if (outboundOrder.System.Equals("ERP"))
+ {
+ // 涓烘瘡涓畬鎴愮殑鏄庣粏鍙嶉ERP
+ foreach (var orderDetail in outboundOrderDetails.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ {
+ FeedBackOutERP(outboundOrder.OrderNo, orderDetail.LinId);
+ }
+
+ // 濡傛灉鏈夊畬鎴愮殑鏄庣粏锛屼笅杞芥姤琛�
+ if (outboundOrderDetails.Any(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ {
+ DownloadReport(path, savePath, outboundOrderDetails.First().Id);
+ }
+ }
+
+ //鍗曟嵁瀹屾垚鎺ㄩ�丼MOM绯荤粺
+ if (outboundOrder.OrderStatus == OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && outboundOrder.System.Equals("SMOM"))
+ {
+ var outStockLockInfoList = _outboundService.OutboundStockLockInfoService.Repository
+ .QueryData(x => x.OrderNo == outboundOrder.OrderNo);
+
+ if (outStockLockInfoList.Count == 0)
+ throw new Exception($"璁㈠崟 {outboundOrder.OrderNo} 鎵樼洏 {stockInfo.PalletCode} 鏈壘鍒板簱瀛橀攣瀹氫俊鎭�");
+
+ // 閲囪喘鍑哄簱
+ if (outboundOrder.OrderType == 1)
+ {
+ var passBack = new HouseoutboundPassBack
+ {
+ ApiType = "ShippingOrderController",
+ Method = "AsrsOutboundSO",
+ Parameters = new List<HouseoutboundPassBack.datas>
+ {
+ new HouseoutboundPassBack.datas
{
- _unitOfWorkManage.RollbackTran();
- throw;
+ Value = new List<HouseoutboundPassBack.datas.data1>
+ {
+ new HouseoutboundPassBack.datas.data1
+ {
+ No = outboundOrder.OrderNo,
+ OutWareHouse = task.Roadway,
+ TransactionCode = outboundOrder.TransactionCode,
+ InoutType = outboundOrder.OrderType,
+ OrderType = outboundOrder.InoutType,
+ DetailList = outStockLockInfoList.Select(d => new HouseoutboundPassBack.datas.data1.Inbound
+ {
+ LinId = d.LinId?? "",
+ LPN_No = d.PalletCode,
+ MaterielCode = d.MaterielCode?? "",
+ OrderQuantity = d.OrderQuantity,
+ BatchNo = d.BatchNo,
+ FinishQty = d.OrderQuantity,
+ LocationName = d.LocationCode
+ })
+ .ToList()
+ }
+ }
+ }
+ }
+ };
+
+ //璋冪敤SMOM鎺ュ彛...
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ passBack.Context = new Dictionary<string, string>
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskout, passBack, "绔嬪簱鍑哄簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
+ }
+
+ // 璋冩嫧鍑哄簱
+ if (outboundOrder.OrderType == 2)
+ {
+ var allocate = new InventoryAllocate
+ {
+ ApiType = "InventoryAllocateController",
+ Method = "AsrsFinishedStockCount",
+ Parameters = new List<Allocate>
+ {
+ new Allocate
+ {
+ Value = new List<Allocate.data1>
+ {
+ new Allocate.data1
+ {
+ No = outboundOrder.OrderNo,
+ InWarehouse = task.Roadway,
+ TransactionCode = outboundOrder.TransactionCode,
+ InoutType = outboundOrder.OrderType,
+ OrderType = outboundOrder.InoutType,
+ ActiveType = 2,
+ DetailList = outStockLockInfoList.Select(item =>
+ {
+ return new Allocate.data1.Inventory
+ {
+ LinId = item.LinId,
+ LPNNo = item.PalletCode,
+ MaterielCode = item.MaterielCode,
+ OrderQuantity = item.OrderQuantity,
+ BatchNo = item.BatchNo,
+ FinishQty = item.OrderQuantity,
+ LocationName = task.SourceAddress
+ };
+ }).ToList()
+ }
+ }
+ }
+ }
+ };
+
+ // 璋冪敤SMOM鎺ュ彛...
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ allocate.Context = new Dictionary<string, string>
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, allocate, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
+ }
+ }
+
+ if (outboundOrder.OrderType == 240) // 鐩樼偣鍑哄簱
+ {
+ // 鐩樼偣鍑哄簱鐗规畩澶勭悊閫昏緫
+ }
+
+ _unitOfWorkManage.CommitTran();
+ return WebResponseContent.Instance.OK();
+ }
+ catch
+ {
+ _unitOfWorkManage.RollbackTran();
+ throw;
+ }
}
}
catch (Exception ex)
--
Gitblit v1.9.3