From 18828b299d8208cfba1e70b08ba86b4e9c5b91f5 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期二, 25 十一月 2025 14:51:09 +0800
Subject: [PATCH] 优化入库效率
---
代码管理/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 118 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 88 insertions(+), 30 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index ab1ef29..3e59d2f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -302,6 +302,11 @@
return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy);
}
+ public Dt_Task ChacheGetFinhuoTask(string DeviceCode)
+ {
+ return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskOutStatusEnum.RGV_OutPickupExecuting, TaskOrderBy);
+ }
+
public Dt_Task GetOutkouFinhuoTask(string DeviceCode, string curraderr)
{
return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskOutStatusEnum.RGV_OutPickupFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing && x.NextAddress != "", TaskOrderBy);
@@ -336,7 +341,7 @@
/// <param name="type">1锛氭煡鎵鹃渶瑕佸彇璐х殑浠诲姟 2锛氭煡鎵鹃渶瑕佹斁璐х殑浠诲姟</param>
public Dt_Task GetInkouFinhuoTask(string DeviceCode)
{
- return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.NextAddress != "" && x.TaskState == (int)TaskInStatusEnum.RGV_InPickupFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.NextAddress != "" && (x.TaskState == (int)TaskInStatusEnum.RGV_InPickupFinish || x.TaskState == (int)TaskInStatusEnum.InexceptionalSelection) && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy);
}
/// <summary>
@@ -355,7 +360,7 @@
/// <returns></returns>
public Dt_Task MothermachinemovementTask2(string DeviceCode)
{
- return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting && x.RGVTaskType == (int)RGVTaskTypeEnum.TravelingOnly), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.InFinish), TaskOrderBy);
}
/// <summary>
@@ -363,7 +368,7 @@
/// </summary>
public Dt_Task MothermacTask(string DeviceCode)
{
- return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.InFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.TravelingOnly), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.InFinish ), TaskOrderBy);
}
/// <summary>
@@ -411,8 +416,9 @@
/// <param name="DeviceCode"></param>
public Dt_Task ViceChariotPickupTask2(string DeviceCode)
{
- return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish) && x.RGVTaskType == (int)RGVTaskTypeEnum.PickingUp, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish), TaskOrderBy);
}
+
@@ -428,15 +434,20 @@
{
dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState== (int)TaskInStatusEnum.InexceptionalSelection);
+ if (dt_Task == null) return webResponse.Error("鏈壘鍒伴渶瑕佷慨鏀圭殑浠诲姟锛屾棤闇�淇敼");
+ dt_Task.NextAddress = NextAddress;
+ BaseDal.UpdateData(dt_Task);
+ return webResponse.OK("浠诲姟鏀捐揣鍦板潃淇敼鎴愬姛");
}
else
{
dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.Outbound && x.NextAddress == "");
+ if (dt_Task == null) return webResponse.Error("鏈壘鍒伴渶瑕佷慨鏀圭殑浠诲姟锛屾棤闇�淇敼");
+ dt_Task.NextAddress = NextAddress;
+ BaseDal.UpdateData(dt_Task);
+ return webResponse.OK("浠诲姟鏀捐揣鍦板潃淇敼鎴愬姛");
}
- if (dt_Task == null) return webResponse.Error("鏈壘鍒伴渶瑕佷慨鏀圭殑浠诲姟锛屾棤闇�淇敼");
- dt_Task.NextAddress = NextAddress;
- BaseDal.UpdateData(dt_Task);
- return webResponse.OK("浠诲姟鏀捐揣鍦板潃淇敼鎴愬姛");
+
}
catch (Exception ex)
{
@@ -528,7 +539,7 @@
try
{
int oldState = task.TaskState;
- if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
+ if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState != (int)TaskInStatusEnum.InexceptionalSelection)
{
if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
{
@@ -538,11 +549,6 @@
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
task.TaskState = nextStatus;
- /*if (task.TaskState == (int)TaskInStatusEnum.RGV_InPickupExecuting) //褰撲笅鍙戝叆搴撳彛鍙栬揣涓紝鍒欒皟鍙栧叞鍓戞帴鍙�
- {
- TaskResultIn(task.TaskNum.ToString(),"",1,"");
- }*/
-
}
else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
{
@@ -552,6 +558,12 @@
}
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
+
+ task.TaskState = nextStatus;
+ }
+ else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState== (int)TaskInStatusEnum.InexceptionalSelection)
+ {
+ int nextStatus = (int)TaskInStatusEnum.Inexcepjxz;
task.TaskState = nextStatus;
}
@@ -825,13 +837,17 @@
try
{
- if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) //姝e父娴佺▼
+ if (task.TaskType == (int)TaskInboundTypeEnum.Inbound ) //姝e父娴佺▼
{
- HandleInboundTask(task);
- }
- else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && (task.NextAddress == "1001" || task.NextAddress == "1002"))
- {
- task.TaskState = (int)TaskInStatusEnum.RGV_InMothercarFinish;
+ if(task.NextAddress == "1001" || task.NextAddress == "1002")
+ {
+ task.TaskState = (int)TaskInStatusEnum.InFinish_exceptionalSelection;
+ }
+ else
+ {
+ HandleInboundTask(task);
+ }
+
}
else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
{
@@ -854,20 +870,27 @@
: $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldstaterem}銆戣浆鍒般�恵afterstaterem}銆�");
- if (task.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || task.TaskState == (int)TaskOutStatusEnum.OutFinish) //鍏ュ簱浠诲姟瀹屾垚
+ if (task.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || task.TaskState == (int)TaskOutStatusEnum.OutFinish || task.TaskState == (int)TaskInStatusEnum.InFinish_exceptionalSelection) //鍏ュ簱浠诲姟瀹屾垚
{
if (task.NextAddress == "1001" || task.NextAddress == "1002")
{
//寮傚父鎺掗櫎浠诲姟鏃讹紝寮傚父涓婃姤
+ TaskResultIn(task.TaskNum.ToString(), task.NextAddress, 3, "");
+ AutomaticTaskCompleted(task); //浠诲姟瀹屾垚
+ BaseDal.DeleteData(task);
}
else
{
- //姝e父浠诲姟锛屾甯镐笂鎶�
- TaskResultIn(task.TaskNum.ToString(), "", 2, "");
- /*AutomaticTaskCompleted(task); //浠诲姟瀹屾垚
- BaseDal.DeleteData(task);*/
+ if(task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.NextAddress != "1001" && task.NextAddress != "1002")
+ {
+ TaskResultIn(task.TaskNum.ToString(), "", 2, "");
+ }
+ else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+ {
+ TaskResultOut(task.TaskNum.ToString(), task.NextAddress, 2, "");
+ }
}
}
@@ -1558,6 +1581,26 @@
return WebResponseContent.Instance.Error($"{Remark}澶辫触锛�");
}
+ if (dt_task.NextAddress == "1001" || dt_task.NextAddress == "1002")
+ {
+ //寮傚父鎺掗櫎浠诲姟鏃讹紝寮傚父涓婃姤
+ TaskResultIn(dt_task.TaskNum.ToString(), dt_task.NextAddress, 3, "鎵嬪姩瀹屾垚");
+ }
+ else
+ {
+
+ if (dt_task.TaskType == (int)TaskInboundTypeEnum.Inbound && dt_task.NextAddress != "1001" && dt_task.NextAddress != "1002")
+ {
+ TaskResultIn(dt_task.TaskNum.ToString(), "", 2, "鎵嬪姩瀹屾垚");
+ }
+ else if(dt_task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+ {
+ TaskResultOut(dt_task.TaskNum.ToString(), dt_task.NextAddress, 2, "鎵嬪姩瀹屾垚");
+ }
+
+ }
+
+
var deletetask = BaseDal.DeleteData(dt_task);
if (deletetask == false)
{
@@ -1626,11 +1669,26 @@
db.Ado.RollbackTran();
return WebResponseContent.Instance.Error("鍙栨秷浠诲姟澶辫触锛�");
}
- /*int oldState = dt_task.TaskState;
- _taskExecuteDetailService.AddTaskExecuteDetail(
- dt_task.TaskId,
- $"鑷姩浠诲姟鐘舵�佷粠銆恵oldState}銆戣繘鍏ュ埌銆恵dt_Task_Hty.TaskState}銆�"
-);*/
+
+ if (dt_task.NextAddress == "1001" || dt_task.NextAddress == "1002")
+ {
+ //寮傚父鎺掗櫎浠诲姟鏃讹紝寮傚父涓婃姤
+ TaskResultIn(dt_task.TaskNum.ToString(), dt_task.NextAddress, 3, "浠诲姟鍙栨秷");
+ }
+ else
+ {
+
+ if (dt_task.TaskType == (int)TaskInboundTypeEnum.Inbound)
+ {
+ TaskResultIn(dt_task.TaskNum.ToString(), "", 3, "浠诲姟鍙栨秷");
+ }
+ else
+ {
+ TaskResultOut(dt_task.TaskNum.ToString(), dt_task.NextAddress, 3, "浠诲姟鍙栨秷");
+ }
+
+ }
+
bool deletetask = BaseDal.DeleteData(dt_task);
if (!deletetask)
--
Gitblit v1.9.3