From bde09c027eee16a7b05b82e71dea4d3405d6d52d Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期四, 22 一月 2026 17:05:09 +0800
Subject: [PATCH] 前端页面优化,日志记录,日志展示
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 242 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 189 insertions(+), 53 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 4c5f053..4408ee1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -38,6 +38,7 @@
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
+using WIDESEA_Core.Utilities;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
using WIDESEA_IBasicService;
@@ -99,28 +100,35 @@
return WebResponseContent.Instance.OK();
}
+
+ //鎵嬪姩锛屼换鍔′笂鎶�
+ #region
public WebResponseContent MESManualUpload(SaveModel saveModel)
{
WebResponseContent response = new WebResponseContent();
+ List<Dt_Task> stdata=new List<Dt_Task>();
try
{
foreach (var key in saveModel.DelKeys)
{
int taskId = int.Parse(key.ToString());
Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
-
+
WebResponseContent taskResult = ProcessTask(task);
if (!taskResult.Status)
{
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},", $"鍘熷洜锛歿taskResult.Message}");
return taskResult;
}
+ stdata.Add(task);
}
-
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"鎴愬姛", $"涓婃姤鐨勬暟鎹細{stdata.ToJson()}");
return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
}
catch (Exception ex)
{
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触", $"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
return response.Error($"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
}
}
@@ -137,7 +145,7 @@
{
return response.Error($"浠诲姟绫诲瀷閿欒锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
- return HandleInboundTask(task,
+ return HandleInboundTask(task,
GetWcsType(task.TaskStatus,
(int)InTaskStatusEnum.InPLCException,
(int)InTaskStatusEnum.InSCException)
@@ -168,15 +176,18 @@
return 0;
}
+ #endregion
/// <summary>
/// 浠诲姟瀹屾垚鎺ュ彛
/// </summary>
/// <param name="wCSTask"></param>
/// <returns></returns>
+
+ #region 浠诲姟瀹屾垚
public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
{
- WebResponseContent webResponse= new WebResponseContent();
+ WebResponseContent webResponse = new WebResponseContent();
try
{
Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode);
@@ -190,7 +201,7 @@
}
}
- public WebResponseContent TaskCompletedtask(Dt_Task task,int wcstype)
+ public WebResponseContent TaskCompletedtask(Dt_Task task, int wcstype)
{
WebResponseContent webResponse = new WebResponseContent();
try
@@ -226,7 +237,7 @@
if (string.IsNullOrEmpty(task.TargetAddress))
{
- if(task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
+ if (task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
{
int loctype = 0;
if (task.Roadway == "1" || task.Roadway == "2")
@@ -241,13 +252,22 @@
//鏌ユ壘璐т綅锛屾洿鏂颁换鍔�
Dt_LocationInfo dt_Location = _locationInfoService.GetLocation(task.Roadway, loctype);
- if(dt_Location==null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ if (dt_Location == null)
+ {
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
- if (ShallowCargoHold == null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ if (ShallowCargoHold == null)
+ {
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ }
if (ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},鏌ユ壘鐨勮揣浣嶆祬璐т綅鏈夎揣锛岃揣浣嶇紪鍙凤細{ShallowCargoHold.LocationCode}");
if (task.PalletCode[0] == 1 && (dt_Location.RoadwayNo == "1" || dt_Location.RoadwayNo == "2") && dt_Location.Column < 4)
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}", $"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓�");
return content.Error($"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓嬶紝鏁呴殰,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}");
}
@@ -270,21 +290,24 @@
dt_StockInfo.Creater = "MWS";
dt_StockInfo.CreateDate = DateTime.Now;
dt_StockInfo.Roadway = task.Roadway;
-
+
_unitOfWorkManage.BeginTran();
_stockInfoService.AddData(dt_StockInfo);
_locationInfoService.UpdateData(dt_Location);
BaseDal.UpdateData(task);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅,娣诲姞搴撳瓨淇℃伅锛歿dt_StockInfo.ToJson()}锛屼慨鏀硅揣浣嶏細{dt_Location.ToJson()}");
+
return content.OK($"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error("涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
}
-
+
}
else
{
@@ -299,22 +322,22 @@
_unitOfWorkManage.BeginTran();
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
return content.OK($"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
- task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
+ task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
@@ -339,32 +362,35 @@
_locationInfoService.UpdateData(dt_LocationInfo);
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鍚庣殑搴撳瓨锛歿dt_Stockowc.ToJson()},淇敼鍚庣殑搴撲綅淇℃伅锛歿dt_LocationInfo.ToJson()}");
return content.OK($"宸叉帴鏀跺叆搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)InTaskStatusEnum.InSCException;
- task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)InTaskStatusEnum.InSCException;
+ task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
default:
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
@@ -377,7 +403,7 @@
switch (wcsTaskType)
{
case 1:
- if(task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
+ if (task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
{
string Resultplc = MesOutTaskStatusEnum.Finish.GetDescription();
//涓婃姤MES浠诲姟瀹屾垚
@@ -386,26 +412,27 @@
{
task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚",$"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅");
return content.OK($"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
- task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances =3;
+ task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
+ task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
case 2:
if (task.TaskStatus == (int)OutTaskStatusEnum.SC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutSCException)
@@ -430,32 +457,35 @@
_locationInfoService.UpdateData(dt_LocationInfo);
BaseDal.UpdateData(task);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�",$"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鍒犻櫎鐨勫簱瀛橈細{dt_Stockowc.ToJson()},淇敼鐨勮揣浣嶏細{dt_LocationInfo.ToJson()}");
+
return content.OK($"宸叉帴鏀跺嚭搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
- task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
+ task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_SCParameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
default:
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
@@ -467,7 +497,7 @@
{
if (wcsTaskType == 2)
{
- if(task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
+ if (task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
{
//涓婃姤MES浠诲姟瀹屾垚
MES_parameter mES_Parameter = AbnormalStorageLocation(task.PalletCode, task.SourceAddress, task.TargetAddress);
@@ -494,43 +524,149 @@
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鐨勮揣浣嶏細{dt_Locations.ToJson()},淇敼鐨勫簱瀛橈細{dt_StockInfo.ToJson()}");
return responseContent.OK($"宸叉帴鏀剁Щ搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
- task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
+ task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return responseContent.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
return responseContent.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
}
else
{
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return responseContent.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return responseContent.Error($"WMS绯荤粺閿欒锛屽師鍥狅細{ex.Message}");
}
-
+
+ }
+
+ #endregion
+
+
+
+ //浠诲姟浠诲姟鎭㈠
+ public WebResponseContent WMSTaskRecovery(SaveModel saveModel)
+ {
+ WebResponseContent response = new WebResponseContent();
+ List<Dt_Task> dt_Task = new List<Dt_Task>();
+ try
+ {
+ foreach (var key in saveModel.DelKeys)
+ {
+ int taskId = int.Parse(key.ToString());
+ Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
+ if (task == null)
+ return response.Error("鏈壘鍒颁换鍔′俊鎭�");
+ task.NumberSsuances = 0;
+ task.Remark = "";
+ dt_Task.Add(task);
+ }
+ bool updatetask= BaseDal.UpdateData(dt_Task);
+ if (updatetask)
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼鎴愬姛", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+ return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
+ }
+ else
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+ return response.Error("澶勭悊澶辫触锛屼慨鏀逛换鍔″け璐�");
+ }
+
+
+ }
+ catch (Exception ex)
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}锛屽け璐ュ師鍥狅細{ex.Message}");
+ return response.Error($"WMS浠诲姟鎭㈠閿欒锛歿ex.Message}");
+ }
}
+ public virtual WebResponseContent UpdateData(SaveModel saveModel)
+ {
+ try
+ {
+ List<string>? list = UpdateIgnoreColOnExecute?.Invoke(saveModel);
+ if (saveModel == null || saveModel.MainData == null || saveModel.MainData.Count == 0)//鍒ゆ柇鍙傛暟鏄惁浼犲叆
+ {
+ return WebResponseContent.Instance.Error("浼犲弬閿欒,鍙傛暟涓嶈兘涓虹┖");
+ }
+ string validResult = typeof(Dt_Task).ValidateDicInEntity(saveModel.MainData, false, TProperties, list?.ToArray() ?? null);
+ if (!string.IsNullOrEmpty(validResult))
+ {
+ return WebResponseContent.Instance.Error(validResult);
+ }
-
+ PropertyInfo keyPro = typeof(Dt_Task).GetKeyProperty();
+ if (keyPro == null)
+ {
+ return WebResponseContent.Instance.Error("璇峰厛璁剧疆涓婚敭");
+ }
+ Dt_Task entity = saveModel.MainData.DicToModel<Dt_Task>();
+ Dt_Task Dt_Custask= BaseDal.QueryFirst(x=>x.TaskId==entity.TaskId);
+
+ List<string> listCol = new List<string>();
+ foreach (var item in saveModel.MainData)
+ {
+ PropertyInfo? propertyInfo = typeof(Dt_Task).GetProperty(item.Key);
+ if (propertyInfo == null)
+ {
+ propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToLower());
+ if (propertyInfo == null)
+ {
+ propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToUpper());
+ }
+ }
+
+ listCol.Add(propertyInfo?.Name);
+ }
+
+ if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
+ {
+ if (list != null)
+ listCol = listCol.Where(x => !list.Contains(x)).ToList();
+ bool result = BaseDal.UpdateData(entity, listCol, list);
+ WriteLog.Write_Log("WMS_浠诲姟淇敼", $"浠诲姟淇敼", $"浠诲姟缂栧彿:{entity.TaskId},鎵樼洏鏉$爜锛歿entity.PalletCode},鏄惁鎴愬姛锛歿result}", $"鍘熸潵鏁版嵁锛歿Dt_Custask.ToJson()}======>>>>>>淇敼鍚庣殑鏁版嵁锛歿entity.ToJson()}");
+ return WebResponseContent.Instance.OK();
+ }
+
+ if (typeof(Dt_Task).GetNavigatePro() == null)
+ {
+ return WebResponseContent.Instance.Error("鏈厤缃鑸睘鎬�");
+ }
+
+ Type detailType = typeof(Dt_Task).GetDetailType();
+ MethodInfo? methodInfo = GetType().GetMethod("UpdateDataInculdesDetail");
+ methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType });
+ object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData, saveModel.DelKeys });
+ return obj as WebResponseContent;
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
--
Gitblit v1.9.3