From fcb50f9e6408bf42e3bc5d34d9f6eff93c2dd263 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期六, 01 三月 2025 17:36:16 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesPPOutboundOrderDetailService.cs | 22 +
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d988a5f8-54ef-40e6-acc3-7fcd73682004.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 559 ++++++++++++++++++++-----------
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesPPOutboundOrderDetailService.cs | 179 +++++++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 11
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs | 1
/dev/null | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs | 1
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 181 ++++++++++
代码管理/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/mesPPoutOrderDetail.vue | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs | 59 +-
13 files changed, 794 insertions(+), 231 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/mesPPoutOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/mesPPoutOrderDetail.vue"
index c9243bf..04aa3e8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/mesPPoutOrderDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/mesPPoutOrderDetail.vue"
@@ -306,7 +306,7 @@
var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id
this.http
- .post("api/Task/GenerateOutboundTasks", keys, "鏁版嵁澶勭悊涓�")
+ .post("api/Task/MESPPGenerateOutboundTasks", keys, "鏁版嵁澶勭悊涓�")
.then((x) => {
if (!x.status) return this.$message.error(x.message);
this.$message.success("鎿嶄綔鎴愬姛");
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/123043ec-a235-4994-bbaf-1853882028ac.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/123043ec-a235-4994-bbaf-1853882028ac.vsidx"
deleted file mode 100644
index f4ff86c..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/123043ec-a235-4994-bbaf-1853882028ac.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d476c6b4-e39d-4a7e-8bec-d8ad94f443ed.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d476c6b4-e39d-4a7e-8bec-d8ad94f443ed.vsidx"
deleted file mode 100644
index e7c5034..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d476c6b4-e39d-4a7e-8bec-d8ad94f443ed.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d50a9bd1-175b-443a-a8be-5e84630a8286.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d50a9bd1-175b-443a-a8be-5e84630a8286.vsidx"
deleted file mode 100644
index 8b3ff22..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d50a9bd1-175b-443a-a8be-5e84630a8286.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d988a5f8-54ef-40e6-acc3-7fcd73682004.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d988a5f8-54ef-40e6-acc3-7fcd73682004.vsidx"
new file mode 100644
index 0000000..c2cf792
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d988a5f8-54ef-40e6-acc3-7fcd73682004.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
deleted file mode 100644
index e69de29..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
+++ /dev/null
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
index 2dcef59..14adbe8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
@@ -29,6 +29,35 @@
///
/// </summary>
public string DataTime { get; set; }
+
+ public static MesResponseContent Instance
+ {
+ get { return new MesResponseContent(); }
+ }
+
+ public MesResponseContent OK(string message = null)
+ {
+ BSucc = true;
+ StrCode = "0000";
+ StrMsg = message == null ? "鎵ц鎴愬姛" : message;
+ DataTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ return this;
+ }
+
+ public MesResponseContent Error(string message = null)
+ {
+ BSucc = false;
+ StrCode = "404";
+ StrMsg = message == null ? "鎵ц澶辫触" : message;
+ DataTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ return this;
+ }
+ public object Content { get; set; }
+ }
+
+ public class Contents
+ {
+ public string Contacts { get; set; }
/// <summary>
/// 鐗╂枡缂栫爜
/// </summary>
@@ -61,40 +90,12 @@
/// 鐗╂枡鎵规
/// </summary>
public string MaterialLot { get; set; }
-
- public static MesResponseContent Instance
- {
- get { return new MesResponseContent(); }
- }
-
- public MesResponseContent OK(string message = null)
- {
- BSucc = true;
- StrCode = "0000";
- StrMsg = message == null ? "鎵ц鎴愬姛" : message;
- DataTime= DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- return this;
- }
-
- public MesResponseContent Error(string message = null)
- {
- BSucc = false;
- StrCode = "404";
- StrMsg = message == null ? "鎵ц澶辫触" : message;
- DataTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- return this;
- }
- public ContentMes Content { get; set; }
- }
- public class ContentMes: Content
- {
- public string Contacts { get; set; }
}
/// <summary>
/// PP搴撳瓨鏌ヨ锛屽洖澶峂ES
/// </summary>
public class QueryPpByWidthModelCount
{
-
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesPPOutboundOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesPPOutboundOrderDetailService.cs"
index be4a640..efe0a5d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesPPOutboundOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesPPOutboundOrderDetailService.cs"
@@ -4,13 +4,35 @@
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting.Server;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
+using WIDESEA_IOutboundRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_IOutboundService
{
public interface IMesPPOutboundOrderDetailService : IService<Dt_MesPPOutboundOrderDetail>
{
+ IMesPPOutboundOrderDetailRepository Repository { get; }
+
+
+
+ //(List<Dt_StockInfo>, List<Dt_MesPPOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(List<Dt_MesPPOutboundOrderDetail> mesPPOutboundOrderDetails);
+
+ (List<Dt_StockInfo>, Dt_MesPPOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_MesPPOutboundOrderDetail mesOutboundOrder);
+
+ /// <summary>
+ /// 閿佸畾鍑哄簱搴撳瓨(淇敼鏁版嵁)
+ /// </summary>
+ /// <param name="stockInfos">搴撳瓨鏄庣粏闆嗗悎</param>
+ /// <param name="outboundOrderDetails">鍑哄簱鍗曟槑缁嗛泦鍚�</param>
+ /// <param name="outStockLockInfos">鍑哄簱閿佸畾鏄庣粏闆嗗悎</param>
+ /// <param name="locationInfos">璐т綅缁撳悎</param>
+ /// <param name="locationStatus">璐т綅鐘舵�佷慨鏀圭殑鍊�</param>
+ /// <param name="tasks">浠诲姟淇℃伅</param>
+ /// <returns></returns>
+ WebResponseContent LockOutboundStockDataUpdate(List<Dt_StockInfo> stockInfos, List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails, List<Dt_OutStockLockInfo> outStockLockInfos, List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus = LocationStatusEnum.Lock, List<Dt_Task>? tasks = null);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
index 35688b4..4cbbf81 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
@@ -40,6 +40,7 @@
/// <returns></returns>
(List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(List<Dt_OutboundOrderDetail> outboundOrderDetails);
+
/// <summary>
/// 閿佸畾鍑哄簱搴撳瓨
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index 41ad135..9b7a64c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -159,6 +159,14 @@
/// <returns></returns>
WebResponseContent GenerateOutboundTasks(int[] keys);
+
+ /// <summary>
+ /// 鐢熸垚MESPP澶у嵎鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="keys"></param>
+ /// <returns></returns>
+ WebResponseContent MESPPGenerateOutboundTasks(int[] keys);
+
/// <summary>
/// 鍑哄簱浠诲姟瀹屾垚
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesPPOutboundOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesPPOutboundOrderDetailService.cs"
index d1b593f..2f8ea48 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesPPOutboundOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesPPOutboundOrderDetailService.cs"
@@ -3,6 +3,8 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
@@ -22,16 +24,191 @@
private readonly IOutStockLockInfoService _outStockLockInfoService;
private readonly IBasicService _basicService;
private readonly IRecordService _recordService;
+ private readonly IOutboundService _outboundService;
public IMesPPOutboundOrderDetailRepository Repository => BaseDal;
- public MesPPOutboundOrderDetailService(IMesPPOutboundOrderDetailRepository BaseDal, IBasicRepository basicRepository, IStockService stockService, IOutStockLockInfoService outStockLockInfoService, IBasicService basicService, IRecordService recordService) : base(BaseDal)
+ public MesPPOutboundOrderDetailService(IMesPPOutboundOrderDetailRepository BaseDal, IBasicRepository basicRepository, IOutboundService outboundService, IStockService stockService, IOutStockLockInfoService outStockLockInfoService, IBasicService basicService, IRecordService recordService) : base(BaseDal)
{
_basicRepository = basicRepository;
_stockService = stockService;
_outStockLockInfoService = outStockLockInfoService;
_basicService = basicService;
_recordService = recordService;
+ _outboundService = outboundService;
+ }
+
+ /// <summary>
+ /// 鍑哄簱搴撳瓨鍒嗛厤鍚庯紝鏇存柊鏁版嵁搴撴暟鎹�
+ /// </summary>
+ /// <param name="stockInfos"></param>
+ /// <param name="outboundOrderDetails"></param>
+ /// <param name="outStockLockInfos"></param>
+ /// <param name="locationInfos"></param>
+ /// <param name="locationStatus"></param>
+ /// <param name="tasks"></param>
+ /// <returns></returns>
+ public WebResponseContent LockOutboundStockDataUpdate(List<Dt_StockInfo> stockInfos, List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails, List<Dt_OutStockLockInfo> outStockLockInfos, List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus = LocationStatusEnum.Lock, List<Dt_Task>? tasks = null)
+ {
+ try
+ {
+ _stockService.StockInfoService.Repository.UpdateData(stockInfos);
+ List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
+ foreach (var item in stockInfos)
+ {
+ stockInfoDetails.AddRange(item.Details);
+ }
+ _stockService.StockInfoDetailService.Repository.UpdateData(stockInfoDetails);
+ BaseDal.UpdateData(outboundOrderDetails);
+
+ List<Dt_OutStockLockInfo> addOutStockLockInfos = outStockLockInfos.Where(x => x.Id == 0).ToList();
+ if (addOutStockLockInfos != null && addOutStockLockInfos.Any())
+ {
+ if (tasks != null)
+ {
+ addOutStockLockInfos.ForEach(x =>
+ {
+ x.TaskNum = tasks.FirstOrDefault(v => v.PalletCode == x.PalletCode)?.TaskNum;
+ });
+ }
+
+ _outStockLockInfoService.Repository.AddData(addOutStockLockInfos);
+ }
+ List<Dt_OutStockLockInfo> updateOutStockLockInfos = outStockLockInfos.Where(x => x.Id > 0).ToList();
+ if (updateOutStockLockInfos != null && updateOutStockLockInfos.Any())
+ {
+ _outStockLockInfoService.Repository.UpdateData(updateOutStockLockInfos);
+ }
+
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfos, locationStatus, LocationChangeType.OutboundAssignLocation, "", tasks?.Select(x => x.TaskNum).ToList());
+ _basicService.LocationInfoService.Repository.UpdateLocationStatus(locationInfos, locationStatus);
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="outboundOrderDetails"></param>
+ /// <returns></returns>
+ public (List<Dt_StockInfo>, List<Dt_MesPPOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails)
+ {
+ if (!outboundOrderDetails.Any())
+ {
+ throw new Exception($"鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
+ }
+
+ if (outboundOrderDetails.GroupBy(x => x.OrderId).Count() > 1)
+ {
+ throw new Exception($"璇峰嬁鍚屾椂鎿嶄綔澶氫釜鍗曟嵁鏄庣粏");
+ }
+ Dt_MesPPOutboundOrder mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId).First();
+ List<Dt_StockInfo> outStocks = new List<Dt_StockInfo>();
+
+ List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
+ List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
+
+
+ List<Dt_StockInfo> stockInfos = _stockService.StockInfoService.GetUseableStocks(mesPPOutboundOrder.MaterialCode, "", outboundOrderDetails.FirstOrDefault()?.CarrierCode ?? "", mesPPOutboundOrder.WarehouseId);
+ if (!stockInfos.Any())
+ {
+ throw new Exception($"鏈壘鍒板彲鍒嗛厤搴撳瓨");
+ }
+ float originalNeedQuantity = mesPPOutboundOrder.OrderQuantity;
+
+ float needQuantity = originalNeedQuantity;
+ List<Dt_StockInfo> autoAssignStocks = _stockService.StockInfoService.GetOutboundStocks(stockInfos, mesPPOutboundOrder.MaterialCode, needQuantity, out float residueQuantity);
+ mesPPOutboundOrder.LockQuantity += needQuantity - residueQuantity;
+ outStocks.AddRange(autoAssignStocks);
+ float assignQuantity = needQuantity - residueQuantity;
+
+ float orderQuantity = mesPPOutboundOrder.OrderQuantity;
+ for (int j = 0; j < autoAssignStocks.Count; j++)
+ {
+ float detailAssignQuantity = outStockLockInfos.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).Sum(x => x.AssignQuantity);//鍑哄簱璁㈠崟鏄庣粏宸插垎閰嶆暟閲�
+
+ float palletAssignQuantity = outStockLockInfos.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode && x.PalletCode == autoAssignStocks[j].PalletCode).Sum(x => x.AssignQuantity);//鍑哄簱璇︽儏宸插垎閰嶆暟閲�
+
+ float palletOutboundQuantity = autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity);
+ if (palletAssignQuantity < palletOutboundQuantity)//濡傛灉鍑哄簱璇︽儏宸插垎閰嶆暟閲忓皬浜庢墭鐩樺凡鍒嗛厤鏁伴噺锛屽垯鍙互缁х画娣诲姞璇ユ墭鐩樺嚭搴撲俊鎭�
+ {
+ float orderDetailNeedQuantity = mesPPOutboundOrder.OrderQuantity - detailAssignQuantity;
+ if (orderDetailNeedQuantity > autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity)
+ {
+ mesPPOutboundOrder.LockQuantity += autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity;
+ Dt_OutStockLockInfo outStockLockInfo = _outStockLockInfoService.GetOutStockLockInfo(mesPPOutboundOrder, autoAssignStocks[j], autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity);
+ outStockLockInfos.Add(outStockLockInfo);
+ }
+ else
+ {
+ Dt_OutStockLockInfo outStockLockInfo = _outStockLockInfoService.GetOutStockLockInfo(mesPPOutboundOrder, autoAssignStocks[j], mesPPOutboundOrder.OrderQuantity - mesPPOutboundOrder.LockQuantity);
+ outStockLockInfos.Add(outStockLockInfo);
+ mesPPOutboundOrder.LockQuantity = mesPPOutboundOrder.OrderQuantity;
+ break;
+ }
+ }
+ }
+ locationInfos.AddRange(_basicService.LocationInfoService.Repository.GetLocationInfos(outStocks.Select(x => x.LocationCode).ToList()));
+
+ return (outStocks, outboundOrderDetails, outStockLockInfos, locationInfos);
+ }
+
+
+ public (List<Dt_StockInfo>, Dt_MesPPOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_MesPPOutboundOrderDetail mesPPOutboundOrder)
+ {
+ List<Dt_StockInfo> outStocks = new List<Dt_StockInfo>();
+
+ List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
+ List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
+
+ //float originalNeedQuantity = mesPPOutboundOrder.OrderQuantity;
+
+ //float needQuantity = originalNeedQuantity;
+
+ //List<Dt_StockInfo> stockInfos = _stockService.StockInfoService.GetUseableStocks(mesPPOutboundOrder.MaterialCode, "", mesPPOutboundOrder.Details.FirstOrDefault()?.CarrierCode ?? "", mesPPOutboundOrder.WarehouseId);
+ //if (!stockInfos.Any())
+ //{
+ // throw new Exception($"鏈壘鍒板彲鍒嗛厤搴撳瓨");
+ //}
+ //List<Dt_StockInfo> autoAssignStocks = _stockService.StockInfoService.GetOutboundStocks(stockInfos, mesPPOutboundOrder.MaterialCode, needQuantity, out float residueQuantity);
+ //mesPPOutboundOrder.LockQuantity += needQuantity - residueQuantity;
+ //outStocks.AddRange(autoAssignStocks);
+ //float assignQuantity = needQuantity - residueQuantity;
+
+ //float orderQuantity = mesPPOutboundOrder.OrderQuantity;
+ //for (int j = 0; j < autoAssignStocks.Count; j++)
+ //{
+ // float detailAssignQuantity = outStockLockInfos.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).Sum(x => x.AssignQuantity);//鍑哄簱璁㈠崟鏄庣粏宸插垎閰嶆暟閲�
+
+ // float palletAssignQuantity = outStockLockInfos.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode && x.PalletCode == autoAssignStocks[j].PalletCode).Sum(x => x.AssignQuantity);//鍑哄簱璇︽儏宸插垎閰嶆暟閲�
+
+ // float palletOutboundQuantity = autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity);
+ // if (palletAssignQuantity < palletOutboundQuantity)//濡傛灉鍑哄簱璇︽儏宸插垎閰嶆暟閲忓皬浜庢墭鐩樺凡鍒嗛厤鏁伴噺锛屽垯鍙互缁х画娣诲姞璇ユ墭鐩樺嚭搴撲俊鎭�
+ // {
+ // float orderDetailNeedQuantity = mesPPOutboundOrder.OrderQuantity - detailAssignQuantity;
+ // if (orderDetailNeedQuantity > autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity)
+ // {
+ // mesPPOutboundOrder.LockQuantity += autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity;
+ // Dt_OutStockLockInfo outStockLockInfo = _outStockLockInfoService.GetOutStockLockInfo(mesPPOutboundOrder, autoAssignStocks[j], autoAssignStocks[j].Details.Sum(x => x.OutboundQuantity) - palletAssignQuantity);
+ // outStockLockInfos.Add(outStockLockInfo);
+ // }
+ // else
+ // {
+ // Dt_OutStockLockInfo outStockLockInfo = _outStockLockInfoService.GetOutStockLockInfo(mesPPOutboundOrder, autoAssignStocks[j], mesPPOutboundOrder.OrderQuantity - mesPPOutboundOrder.LockQuantity);
+ // outStockLockInfos.Add(outStockLockInfo);
+ // mesPPOutboundOrder.LockQuantity = mesPPOutboundOrder.OrderQuantity;
+ // break;
+ // }
+ // }
+ //}
+ //locationInfos.AddRange(_basicService.LocationInfoService.Repository.GetLocationInfos(outStocks.Select(x => x.LocationCode).ToList()));
+
+ return (outStocks, mesPPOutboundOrder, outStockLockInfos, locationInfos);
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
index aa5fba1..0892689 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
@@ -231,5 +231,6 @@
return BaseDal.GetStockInfos(materielCode, batchNo, locationCodes);
}
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index c046eec..7852115 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -27,6 +27,7 @@
using System.Diagnostics.Metrics;
using System.Reflection.Metadata;
using WIDESEA_DTO.Task;
+using WIDESEA_DTO.Stock;
namespace WIDESEA_TaskInfoService
{
@@ -515,101 +516,97 @@
MesResponseContent modelCount = new MesResponseContent();
try
{
+
+ Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
+ if (warehouse == null)
+ {
+ return MesResponseContent.Instance.Error("浠撳簱淇℃伅鏈厤缃�");
+ }
+ Dt_MesPPOutboundOrder mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
+ if (mesPPOutboundOrder != null)
+ {
+ return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
+ }
+ List<Dt_MesPPOutboundOrderDetail> mesPPOutboundOrderDetail = new List<Dt_MesPPOutboundOrderDetail>();
foreach (var item in model.Carriers)
{
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == item.Warehouse);
- if (warehouse == null)
- {
- return MesResponseContent.Instance.Error("浠撳簱淇℃伅鏈厤缃�");
- }
- Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == item.CarrierCode || x.WarehouseId == warehouse.WarehouseId);
- if (stockInfo == null)
- {
- return MesResponseContent.Instance.Error("鏈壘鍒版杞藉叿缂栧彿搴撳瓨");
- }
- Dt_MesPPOutboundOrder mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
- if (mesPPOutboundOrder != null)
- {
- return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
- }
- Dt_MesPPOutboundOrderDetail mesPPOutboundOrderDetail = new Dt_MesPPOutboundOrderDetail()
- {
- Warehouse = item.Warehouse,
- CarrierCode = item.CarrierCode,
- };
-
- Dt_MesPPOutboundOrder mesOutboundOrder = new Dt_MesPPOutboundOrder()
- {
- CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
- MaterialCode = model.MaterialCode,
- MaterialName = model.MaterialName,
- OrderQuantity = model.RequiredQuantity,
- TaskNo = model.TaskNo,
- Unit = model.Unit,//PP闇�瑕佽浆鎹㈡垚绫�(闇�姹傚钩鏂�(PNL鏁�*闈㈢Н)/瀹藉害)
- Width = model.Width,
- TargetAddressCode = model.TargetAddressCode,
- OrderType = TaskTypeEnum.MesHandPickOutbound.ObjToInt(),
- OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
- WarehouseId = warehouse.WarehouseId,
- Details = new List<Dt_MesPPOutboundOrderDetail> { mesPPOutboundOrderDetail }
- };
- //Db.InsertNav(mesOutboundOrder).Include(x=>x.Details).ExecuteCommand();
- List<Dt_Task> tasks = new List<Dt_Task>();
-
- List<Dt_StockInfo>? stockInfos = null;
- List<Dt_OutStockLockInfo>? outStockLockInfos = null;
- List<Dt_LocationInfo>? locationInfos = null;
- {
- (List<Dt_StockInfo>, Dt_MesPPOutboundOrder, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesOutboundOrder);
- if (result.Item1 != null && result.Item1.Count > 0)
- {
- tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
- result.Item2.OrderStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
- result.Item3.ForEach(x =>
- {
- x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
- });
-
- stockInfos = result.Item1;
- mesOutboundOrder = result.Item2;
- outStockLockInfos = result.Item3;
- locationInfos = result.Item4;
- mesPPOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-
- }
- else
- {
- throw new Exception("鏃犲簱瀛�");
- }
- }
- tasks.ForEach(x =>
- {
- x.TargetAddress = model.TargetAddressCode;
- });
- _unitOfWorkManage.BeginTran();
-
- int id = BaseDal.AddData(tasks);
- outStockLockInfos.ForEach(x =>
- {
- x.OrderNo = mesOutboundOrder.TaskNo;
- x.OrderDetailId = id;
- });
- //_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
- Db.InsertNav(mesOutboundOrder).Include(x => x.Details).ExecuteCommand();
- if (stockInfos != null && stockInfos.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
- {
- WebResponseContent content = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
-
- if (!content.Status)
- {
- _unitOfWorkManage.RollbackTran();
- return MesResponseContent.Instance.Error(content.Message);
- }
- }
- _unitOfWorkManage.CommitTran();
- PushTasksToWCS(tasks);
-
+ mesPPOutboundOrderDetail.Add(_mapper.Map<Dt_MesPPOutboundOrderDetail>(item));
}
+ Dt_MesPPOutboundOrder mesOutboundOrder = new Dt_MesPPOutboundOrder()
+ {
+ CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
+ MaterialCode = model.MaterialCode,
+ MaterialName = model.MaterialName,
+ OrderQuantity = model.RequiredQuantity,
+ TaskNo = model.TaskNo,
+ Unit = model.Unit,//PP闇�瑕佽浆鎹㈡垚绫�(闇�姹傚钩鏂�(PNL鏁�*闈㈢Н)/瀹藉害)
+ Width = model.Width,
+ TargetAddressCode = model.TargetAddressCode,
+ OrderType = TaskTypeEnum.MesHandPickOutbound.ObjToInt(),
+ OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
+ WarehouseId = warehouse.WarehouseId,
+ Details = mesPPOutboundOrderDetail
+ };
+ #region
+ //Db.InsertNav(mesOutboundOrder).Include(x=>x.Details).ExecuteCommand();
+ // List<Dt_Task> tasks = new List<Dt_Task>();
+
+ // List<Dt_StockInfo>? stockInfos = null;
+ // List<Dt_OutStockLockInfo>? outStockLockInfos = null;
+ // List<Dt_LocationInfo>? locationInfos = null;
+ // {
+ (List<Dt_StockInfo>, Dt_MesPPOutboundOrder, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesOutboundOrder);
+ // if (result.Item1 != null && result.Item1.Count > 0)
+ // {
+ // tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
+ // result.Item2.OrderStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ // result.Item3.ForEach(x =>
+ // {
+ // x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
+ // });
+
+ // stockInfos = result.Item1;
+ // mesOutboundOrder = result.Item2;
+ // outStockLockInfos = result.Item3;
+ // locationInfos = result.Item4;
+ // mesPPOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+
+ // }
+ // else
+ // {
+ // throw new Exception("鏃犲簱瀛�");
+ // }
+ // }
+ // tasks.ForEach(x =>
+ // {
+ // x.TargetAddress = model.TargetAddressCode;
+ // });
+ // _unitOfWorkManage.BeginTran();
+
+ // int id = BaseDal.AddData(tasks);
+ // outStockLockInfos.ForEach(x =>
+ // {
+ // x.OrderNo = mesOutboundOrder.TaskNo;
+ // x.OrderDetailId = id;
+ // });
+ // //_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
+ // Db.InsertNav(mesOutboundOrder).Include(x => x.Details).ExecuteCommand();
+ // if (stockInfos != null && stockInfos.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
+ // {
+ // WebResponseContent content = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
+
+ // if (!content.Status)
+ // {
+ // _unitOfWorkManage.RollbackTran();
+ // return MesResponseContent.Instance.Error(content.Message);
+ // }
+ // }
+ // _unitOfWorkManage.CommitTran();
+ // PushTasksToWCS(tasks);
+
+ //}
+ #endregion
+ Db.InsertNav(mesOutboundOrder).Include(x => x.Details).ExecuteCommand();
return MesResponseContent.Instance.OK();
}
catch (Exception ex)
@@ -628,97 +625,87 @@
{
try
{
+
+ Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
+ if (warehouse == null)
+ {
+ return MesResponseContent.Instance.Error("浠撳簱鍩虹淇℃伅鏈厤缃�");
+ }
+ Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPCutOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
+ if (mesPPCutOutboundOrder != null)
+ {
+ return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
+ }
+ List<Dt_MesPPCutOutboundOrderDetail> mesPPCutOutboundOrderDetail = new List<Dt_MesPPCutOutboundOrderDetail>();
foreach (var item in model.MaterialDetails)
{
- Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
- if (warehouse == null)
- {
- return MesResponseContent.Instance.Error("浠撳簱鍩虹淇℃伅鏈厤缃�");
- }
- Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == item.MaterialCode);
- if (materielInfo == null)
- {
- return MesResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
- }
- Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPCutOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
- if (mesPPCutOutboundOrder != null)
- {
- return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
- }
- Dt_MesPPCutOutboundOrderDetail mesPPCutOutboundOrderDetail = new Dt_MesPPCutOutboundOrderDetail()
- {
- MaterielCode = item.MaterialCode,
- MaterielName = item.MaterialName,
- OrderQuantity = item.RequiredQuantity,
- Unit = item.Unit,
- LayerCode = item.LayerCode,
- Sequence = item.Sequence,
- TargetAddressCode = item.TargetAddressCode,
- Width = item.Width,
- };
- Dt_MesPPCutOutboundOrder mesPPOutboundOrder = new Dt_MesPPCutOutboundOrder()
- {
- CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
- TaskNo = model.TaskNo,
- OrderType = TaskTypeEnum.MesOutbound.ObjToInt(),
- OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
- WarehouseId = warehouse.WarehouseId,
- Details = new List<Dt_MesPPCutOutboundOrderDetail> { mesPPCutOutboundOrderDetail }
- };
- List<Dt_Task> tasks = new List<Dt_Task>();
-
- List<Dt_StockInfo>? stockInfos = null;
- List<Dt_OutStockLockInfo>? outStockLockInfos = null;
- List<Dt_LocationInfo>? locationInfos = null;
- {
- (List<Dt_StockInfo>, Dt_MesPPCutOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesPPOutboundOrder, mesPPCutOutboundOrderDetail);
- if (result.Item1 != null && result.Item1.Count > 0)
- {
- tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
- result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
- result.Item3.ForEach(x =>
- {
- x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
- });
-
- stockInfos = result.Item1;
- mesPPCutOutboundOrderDetail = result.Item2;
- outStockLockInfos = result.Item3;
- locationInfos = result.Item4;
-
- }
- else
- {
- throw new Exception("鏃犲簱瀛�");
- }
- }
- tasks.ForEach(x =>
- {
- x.TargetAddress = mesPPCutOutboundOrderDetail.TargetAddressCode;
- });
- _unitOfWorkManage.BeginTran();
-
- int id = BaseDal.AddData(tasks);
- outStockLockInfos.ForEach(x =>
- {
- x.OrderNo = mesPPOutboundOrder.TaskNo;
- x.OrderDetailId = id;
- });
- //_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
- Db.InsertNav(mesPPOutboundOrder).Include(x => x.Details).ExecuteCommand();
- if (stockInfos != null && stockInfos.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
- {
- WebResponseContent content = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
-
- if (!content.Status)
- {
- _unitOfWorkManage.RollbackTran();
- return MesResponseContent.Instance.Error(content.Message);
- }
- }
- _unitOfWorkManage.CommitTran();
- PushTasksToWCS(tasks, "AGV_PP");
+ mesPPCutOutboundOrderDetail.Add(_mapper.Map<Dt_MesPPCutOutboundOrderDetail>(item));
}
+ Dt_MesPPCutOutboundOrder mesPPOutboundOrder = new Dt_MesPPCutOutboundOrder()
+ {
+ CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
+ TaskNo = model.TaskNo,
+ OrderType = TaskTypeEnum.MesOutbound.ObjToInt(),
+ OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
+ WarehouseId = warehouse.WarehouseId,
+ Details = mesPPCutOutboundOrderDetail,
+ };
+ Db.InsertNav(mesPPOutboundOrder).Include(x => x.Details).ExecuteCommand();
+ #region
+ //List<Dt_Task> tasks = new List<Dt_Task>();
+
+ //List<Dt_StockInfo>? stockInfos = null;
+ //List<Dt_OutStockLockInfo>? outStockLockInfos = null;
+ //List<Dt_LocationInfo>? locationInfos = null;
+ //{
+ //(List<Dt_StockInfo>, Dt_MesPPCutOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesPPOutboundOrder, mesPPCutOutboundOrderDetail);
+ // if (result.Item1 != null && result.Item1.Count > 0)
+ // {
+ // tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
+ // result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ // result.Item3.ForEach(x =>
+ // {
+ // x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
+ // });
+
+ // stockInfos = result.Item1;
+ // mesPPCutOutboundOrderDetail = result.Item2;
+ // outStockLockInfos = result.Item3;
+ // locationInfos = result.Item4;
+
+ // }
+ // else
+ // {
+ // throw new Exception("鏃犲簱瀛�");
+ // }
+ //}
+ //tasks.ForEach(x =>
+ //{
+ // x.TargetAddress = mesPPCutOutboundOrderDetail.TargetAddressCode;
+ //});
+ //_unitOfWorkManage.BeginTran();
+
+ //int id = BaseDal.AddData(tasks);
+ //outStockLockInfos.ForEach(x =>
+ //{
+ // x.OrderNo = mesPPOutboundOrder.TaskNo;
+ // x.OrderDetailId = id;
+ //});
+ ////_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
+ //Db.InsertNav(mesPPOutboundOrder).Include(x => x.Details).ExecuteCommand();
+ //if (stockInfos != null && stockInfos.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
+ //{
+ // WebResponseContent content = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
+
+ // if (!content.Status)
+ // {
+ // _unitOfWorkManage.RollbackTran();
+ // return MesResponseContent.Instance.Error(content.Message);
+ // }
+ //}
+ //_unitOfWorkManage.CommitTran();
+ //PushTasksToWCS(tasks, "AGV_PP");
+ #endregion
return MesResponseContent.Instance.OK();
}
catch (Exception ex)
@@ -893,7 +880,7 @@
MesResponseContent content = new MesResponseContent();
try
{
-
+ //闇�鍒ゆ柇鏌ヨ绔嬪簱,骞冲簱
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
x.WarehouseId == warehouse.WarehouseId &&
@@ -906,19 +893,19 @@
var stock = stockInfo.Details.FirstOrDefault();
if (stock != null)
{
- content.BSucc = true;
- content.StrCode = "0000";
- content.StrMsg = "鎵ц鎴愬姛";
- content.MaterialCode = stock.MaterielCode;
- content.Quantity = stock.StockQuantity;
- content.Unit = stock.Unit;
- content.Warehouse = warehouse.WarehouseCode;
- content.WarehouseName = warehouse.WarehouseName;
- content.CutedWidth = stock.CutedWidth;
- content.CarrierCode = stockInfo.PalletCode;
- content.MaterialLot = stock.BatchNo;
+ content.Content = new
+ {
+ MaterialCode= stock.MaterielCode,
+ Quantity = stock.StockQuantity,
+ Unit = stock.Unit,
+ Warehouse = warehouse.WarehouseCode,
+ WarehouseName = warehouse.WarehouseName,
+ CutedWidth = stock.CutedWidth,
+ CarrierCode = stockInfo.PalletCode,
+ MaterialLot = stock.BatchNo,
+ };
}
- return content;
+ return content.OK();
}
catch (Exception ex)
{
@@ -934,8 +921,8 @@
MesResponseContent content = new MesResponseContent();
try
{
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==bagInfoModel.WarehouseCode);
- if (warehouse==null)
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == bagInfoModel.WarehouseCode);
+ if (warehouse == null)
{
return content.Error("鏈壘鍒颁粨搴撲俊鎭�");
}
@@ -953,10 +940,10 @@
WarehouseId = warehouse.WarehouseId,
BatchNo = bagInfoModel.BatchNo,
MesProStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
- UnPackStock=bagInfoModel.UnPackStock,
- Details= mesProInOrderDetails
+ UnPackStock = bagInfoModel.UnPackStock,
+ Details = mesProInOrderDetails
};
- Db.InsertNav(mesProInOrder).Include(x=>x.Details).ExecuteCommand();
+ Db.InsertNav(mesProInOrder).Include(x => x.Details).ExecuteCommand();
return content.OK("鎺ユ敹鎴愬姛");
}
catch (Exception ex)
@@ -987,6 +974,7 @@
}
Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
+
}
catch (Exception ex)
{
@@ -996,5 +984,180 @@
return MesResponseContent.Instance.OK();
}
+ /// <summary>
+ /// 鐢熸垚鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param>
+ /// <returns></returns>
+ public WebResponseContent MESPPGenerateOutboundTasks(int[] keys)
+ {
+ try
+ {
+ List<Dt_Task> tasks = new List<Dt_Task>();
+ List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>();
+ List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>();
+ List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = new List<Dt_MesPPOutboundOrderDetail>();
+ List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
+ List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
+
+ (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) result = MESPPOutboundTaskDataHandle(keys);
+ if (result.Item2 != null && result.Item2.Count > 0)
+ {
+ stockInfos.AddRange(result.Item2);
+ }
+ if (result.Item3 != null && result.Item3.Count > 0)
+ {
+ outboundOrderDetails.AddRange(result.Item3);
+ }
+ if (result.Item4 != null && result.Item4.Count > 0)
+ {
+ outStockLockInfos.AddRange(result.Item4);
+ }
+ if (result.Item5 != null && result.Item5.Count > 0)
+ {
+ locationInfos.AddRange(result.Item5);
+ }
+ if (result.Item1 != null && result.Item1.Count > 0)
+ {
+ tasks.AddRange(result.Item1);
+ }
+
+ WebResponseContent content = MESPPGenerateOutboundTaskDataUpdate(tasks, stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos);
+ return content;
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// 鍑哄簱浠诲姟鏁版嵁澶勭悊
+ /// </summary>
+ /// <param name="orderDetailId"></param>
+ /// <param name="stockSelectViews"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) MESPPOutboundTaskDataHandle(int[] keys)
+ {
+ List<Dt_Task> tasks = new List<Dt_Task>();
+ //List<Dt_MesPPOutboundOrderDetail> outboundOrderDetailss = _outboundService.MesPPOutboundOrderDetailService.Repository.QueryData(x => keys.Contains(x.Id));
+
+ //List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = BaseDal.Db.Queryable<Dt_MesPPOutboundOrderDetail>().Where(x => keys.Contains(x.Id)).ToList();
+ //List<Dt_MesPPOutboundOrder> mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => keys.Contains(10)).ToList();
+ Dt_MesPPOutboundOrderDetail outboundOrderDetails = BaseDal.Db.Queryable<Dt_MesPPOutboundOrderDetail>().Where(x => keys.Contains(x.Id)).First();
+ Dt_MesPPOutboundOrder mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => x.Id == 10).First();
+ //if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
+ //{
+ // throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
+ //}
+ //if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null)
+ //{
+ // throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
+ //}
+ List<Dt_StockInfo>? stockInfos = null;
+ List<Dt_MesPPOutboundOrderDetail>? orderDetails = null;
+ List<Dt_OutStockLockInfo>? outStockLockInfos = null;
+ List<Dt_LocationInfo>? locationInfos = null;
+ //if (outboundOrderDetails == OrderDetailStatusEnum.New.ObjToInt())
+ {
+ //(List<Dt_StockInfo>, Dt_MesPPOutboundOrder, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesPPOutboundOrder);
+ //(List<Dt_StockInfo>, List<Dt_MesPPOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
+ (List<Dt_StockInfo>, Dt_MesPPOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result1 = _outboundService.MesPPOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
+ //if (result.Item1 != null && result.Item1.Count > 0)
+ //{
+ // Dt_MesPPOutboundOrder outboundOrder = _outboundService.MesPPOutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
+ // TaskTypeEnum typeEnum = outboundOrder.OrderType switch
+ // {
+ // (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
+ // (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
+ // (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
+ // _ => new TaskTypeEnum()
+ // };
+ // tasks = GetTasks(result.Item1, typeEnum);
+ // result.Item2.ForEach(x =>
+ // {
+ // x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ // });
+ // result.Item3.ForEach(x =>
+ // {
+ // x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
+ // });
+
+ // stockInfos = result.Item1;
+ // orderDetails = result.Item2;
+ // outStockLockInfos = result.Item3;
+ // locationInfos = result.Item4;
+ //}
+ //else
+ //{
+ // throw new Exception("鏃犲簱瀛�");
+ //}
+ }
+ //else
+ //{
+ // List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetail.OrderId, OutLockStockStatusEnum.宸插垎閰�);
+ // if (stockLockInfos != null && stockLockInfos.Count > 0)
+ // {
+ // List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
+ // tasks = GetTasks(stocks);
+ // }
+ //}
+
+ return (tasks, stockInfos, orderDetails, outStockLockInfos, locationInfos);
+ }
+
+ /// <summary>
+ /// 鐢熸垚鍑哄簱浠诲姟鍚庢暟鎹洿鏂板埌鏁版嵁搴�
+ /// </summary>
+ /// <param name="tasks"></param>
+ /// <param name="stockInfos"></param>
+ /// <param name="outboundOrderDetails"></param>
+ /// <param name="outStockLockInfos"></param>
+ /// <param name="locationInfos"></param>
+ /// <returns></returns>
+ public WebResponseContent MESPPGenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_StockInfo>? stockInfos = null, List<Dt_MesPPOutboundOrderDetail>? outboundOrderDetails = null, List<Dt_OutStockLockInfo>? outStockLockInfos = null, List<Dt_LocationInfo>? locationInfos = null)
+ {
+ try
+ {
+ _unitOfWorkManage.BeginTran();
+
+ BaseDal.AddData(tasks);
+ if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
+ {
+ stockInfos.ForEach(x =>
+ {
+ x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
+ });
+ WebResponseContent content = _outboundService.MesPPOutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
+
+ if (!content.Status)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content;
+ }
+ }
+ else if (outboundOrderDetails != null && outboundOrderDetails.Count > 0)
+ {
+ outboundOrderDetails.ForEach(x =>
+ {
+ x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ });
+
+ _outboundService.MesPPOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
+ }
+ _unitOfWorkManage.CommitTran();
+ PushTasksToWCS(tasks);
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ }
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index 341b487..1eaaae3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -543,5 +543,186 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ #region
+ ///// <summary>
+ ///// 鐢熸垚鍑哄簱浠诲姟
+ ///// </summary>
+ ///// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param>
+ ///// <returns></returns>
+ //public WebResponseContent MESPPGenerateOutboundTasks(int[] keys)
+ //{
+ // try
+ // {
+ // List<Dt_Task> tasks = new List<Dt_Task>();
+ // List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>();
+ // List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>();
+ // List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = new List<Dt_MesPPOutboundOrderDetail>();
+ // List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
+ // List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
+
+ // (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) result = MESPPOutboundTaskDataHandle(keys);
+ // if (result.Item2 != null && result.Item2.Count > 0)
+ // {
+ // stockInfos.AddRange(result.Item2);
+ // }
+ // if (result.Item3 != null && result.Item3.Count > 0)
+ // {
+ // outboundOrderDetails.AddRange(result.Item3);
+ // }
+ // if (result.Item4 != null && result.Item4.Count > 0)
+ // {
+ // outStockLockInfos.AddRange(result.Item4);
+ // }
+ // if (result.Item5 != null && result.Item5.Count > 0)
+ // {
+ // locationInfos.AddRange(result.Item5);
+ // }
+ // if (result.Item1 != null && result.Item1.Count > 0)
+ // {
+ // tasks.AddRange(result.Item1);
+ // }
+
+ // WebResponseContent content = MESPPGenerateOutboundTaskDataUpdate(tasks, stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos);
+ // return content;
+ // }
+ // catch (Exception ex)
+ // {
+ // _unitOfWorkManage.RollbackTran();
+ // return WebResponseContent.Instance.Error(ex.Message);
+ // }
+ //}
+
+ ///// <summary>
+ ///// 鍑哄簱浠诲姟鏁版嵁澶勭悊
+ ///// </summary>
+ ///// <param name="orderDetailId"></param>
+ ///// <param name="stockSelectViews"></param>
+ ///// <returns></returns>
+ ///// <exception cref="Exception"></exception>
+ //public (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) MESPPOutboundTaskDataHandle(int[] keys)
+ //{
+ // List<Dt_Task> tasks = new List<Dt_Task>();
+ // List<Dt_MesPPOutboundOrderDetail> outboundOrderDetailss = _outboundService.MesPPOutboundOrderDetailService.Repository.QueryData(x => keys.Contains(x.Id));
+ // List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = BaseDal.Db.Queryable<Dt_MesPPOutboundOrderDetail>().Where(x => keys.Contains(x.Id)).ToList();
+ // if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
+ // {
+ // throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
+ // }
+ // if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null)
+ // {
+ // throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
+ // }
+ // List<Dt_StockInfo>? stockInfos = null;
+ // List<Dt_MesPPOutboundOrderDetail>? orderDetails = null;
+ // List<Dt_OutStockLockInfo>? outStockLockInfos = null;
+ // List<Dt_LocationInfo>? locationInfos = null;
+ // //if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
+ // {
+ // (List<Dt_StockInfo>, List<Dt_MesPPOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
+
+ // if (result.Item1 != null && result.Item1.Count > 0)
+ // {
+ // Dt_MesPPOutboundOrder outboundOrder = _outboundService.MesPPOutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
+ // TaskTypeEnum typeEnum = outboundOrder.OrderType switch
+ // {
+ // (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
+ // (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
+ // (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
+ // _ => new TaskTypeEnum()
+ // };
+ // tasks = GetTasks(result.Item1, typeEnum);
+ // result.Item2.ForEach(x =>
+ // {
+ // x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ // });
+ // result.Item3.ForEach(x =>
+ // {
+ // x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
+ // });
+
+ // stockInfos = result.Item1;
+ // orderDetails = result.Item2;
+ // outStockLockInfos = result.Item3;
+ // locationInfos = result.Item4;
+ // }
+ // else
+ // {
+ // throw new Exception("鏃犲簱瀛�");
+ // }
+ // }
+ // //else
+ // //{
+ // // List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetail.OrderId, OutLockStockStatusEnum.宸插垎閰�);
+ // // if (stockLockInfos != null && stockLockInfos.Count > 0)
+ // // {
+ // // List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
+ // // tasks = GetTasks(stocks);
+ // // }
+ // //}
+
+ // return (tasks, stockInfos, orderDetails, outStockLockInfos, locationInfos);
+ //}
+
+ ///// <summary>
+ ///// 鐢熸垚鍑哄簱浠诲姟鍚庢暟鎹洿鏂板埌鏁版嵁搴�
+ ///// </summary>
+ ///// <param name="tasks"></param>
+ ///// <param name="stockInfos"></param>
+ ///// <param name="outboundOrderDetails"></param>
+ ///// <param name="outStockLockInfos"></param>
+ ///// <param name="locationInfos"></param>
+ ///// <returns></returns>
+ //public WebResponseContent MESPPGenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_StockInfo>? stockInfos = null, List<Dt_MesPPOutboundOrderDetail>? outboundOrderDetails = null, List<Dt_OutStockLockInfo>? outStockLockInfos = null, List<Dt_LocationInfo>? locationInfos = null)
+ //{
+ // try
+ // {
+ // _unitOfWorkManage.BeginTran();
+
+ // BaseDal.AddData(tasks);
+ // if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
+ // {
+ // stockInfos.ForEach(x =>
+ // {
+ // x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
+ // });
+ // WebResponseContent content = _outboundService.MesPPOutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
+
+ // if (!content.Status)
+ // {
+ // _unitOfWorkManage.RollbackTran();
+ // return content;
+ // }
+ // }
+ // else if (outboundOrderDetails != null && outboundOrderDetails.Count > 0)
+ // {
+ // outboundOrderDetails.ForEach(x =>
+ // {
+ // x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ // });
+
+ // _outboundService.MesPPOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
+ // }
+ // _unitOfWorkManage.CommitTran();
+ // PushTasksToWCS(tasks);
+ // return WebResponseContent.Instance.OK();
+ // }
+ // catch (Exception ex)
+ // {
+ // _unitOfWorkManage.RollbackTran();
+ // return WebResponseContent.Instance.Error(ex.Message);
+ // }
+
+ //}
+ #endregion
+
+
+
+
+
+
+
+
+
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index c50d709..8116ffe 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -176,7 +176,16 @@
{
return Service.GenerateOutboundTasks(keys);
}
-
+ /// <summary>
+ /// 鐢熸垚MESPP浠撳ぇ鍗峰嚭搴撲换鍔�
+ /// </summary>
+ /// <param name="keys"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("MESPPGenerateOutboundTasks"), AllowAnonymous]
+ public WebResponseContent MESPPGenerateOutboundTasks([FromBody] int[] keys)
+ {
+ return Service.MESPPGenerateOutboundTasks(keys);
+ }
/// <summary>
/// 鍑哄簱浠诲姟瀹屾垚
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
index dcb4c5a..21796d4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
@@ -44,7 +44,7 @@
builder.Services.AddWebSocketSetup();
builder.Services.AddSqlsugarSetup();//SqlSugar 启动服务
builder.Services.AddDbSetup();//Db 启动服务
-builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
+//builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddHostedService<PermissionDataHostService>();//应用初始化服务注入
builder.Services.AddAutoMapperSetup();
--
Gitblit v1.9.3