From c3b60d865c3457c35054446e81b352e93e00a696 Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期一, 12 一月 2026 18:31:11 +0800
Subject: [PATCH] 更改了大部分功能和逻辑
---
项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs"
index 599fde6..fcde816 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs"
@@ -17,6 +17,7 @@
using WIDESEA_Services.Repositories;
using WIDESEA_Services.Services;
using WIDESEA_WCS.WCSClient;
+using static System.Collections.Specialized.BitVector32;
namespace WIDESEA_WCS.Jobs.ConveyorLine.OutboundArea
{
@@ -134,11 +135,12 @@
if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode) && load)
{
//鏍规嵁瀵瑰簲鐨勬墭鐩樻潯鐮佽繘琛屽幓涓嬪彂浠诲姟
- Dt_TaskWCSinfo inboundTask = taskWCSinfoRepository.Find(r => r.wcstask_barcode == barcode).Where(r => r.wcstask_type ==
- TaskType.TaskType_Empty_Pallet_Inbound.ToString() && (r.wcstask_state == TaskState.TaskState_Assigned.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())).FirstOrDefault();
+ Dt_TaskWCSinfo inboundTask = taskWCSinfoRepository.Find(r => r.wcstask_barcode == barcode)
+ .Where(r => r.wcstask_type == TaskType.TaskType_Empty_Pallet_Inbound.ToString()
+ && (r.wcstask_state == TaskState.TaskState_Assigned.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())).FirstOrDefault();
if(inboundTask != null)
{
- if(inboundTask.wcstask_state== TaskState.TaskState_Assigned.ToString())
+ if(inboundTask.wcstask_state == TaskState.TaskState_Assigned.ToString())
{
ReInAssignedKTP(taskWCSinfoRepository, client, inboundTask);
}
@@ -168,12 +170,14 @@
r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) && endStationNo.Contains(r.wcstask_endPoint));
//鑾峰彇鏈夊灏戞潯鍑哄簱鐨勪换鍔�
- int LineExecucount = executingTask.Count(x => x.wcstask_state == TaskState.TaskState_Box_Out_Line_Executing.ToString());
- if (LineExecucount >= 4)
+ int LineExecucount = executingTask.Count(x => x.wcstask_state == TaskState.TaskState_Box_Out_Line_Executing.ToString() || x.wcstask_state == TaskState.TaskState_Empty_Out_Line_Executing.ToString());
+ if (LineExecucount >= 8)
{
//鍒ゆ柇鏄惁鏈夊搴斿眰鐨勫嚭搴撲换鍔★紝
- int Assrscount = executingTask.Count(x => x.wcstask_endLocation == wcsInfo.wcstask_startLocation && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
- || x.wcstask_state == TaskState.TaskState_Assigned.ToString()));
+ int Assrscount = executingTask.Count(x => x.wcstask_endLocation == wcsInfo.wcstask_startLocation
+ && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
+ || x.wcstask_state == TaskState.TaskState_Assigned.ToString()
+ || x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString()));
if (Assrscount == 0)
{
ReInboundRequestStationAction(taskWCSinfoRepository, client, wcsInfo);
@@ -183,12 +187,13 @@
{
//鍒ゆ柇鏈夊灏戞潯鍦ㄧ紦瀛樻灦鐨�
int RGV_Finishedcount = executingTask.Count(x => x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
+ && x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString()
&& x.wcstask_state != TaskState.TaskState_Assigned.ToString());
if (RGV_Finishedcount == 0)
{
//鍙互杩涜鍒ゆ柇涓嬪彂鍏ュ簱浠诲姟
int Assrscount = executingTask.Count(x => x.wcstask_endLocation == wcsInfo.wcstask_startLocation && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
- || x.wcstask_state == TaskState.TaskState_Assigned.ToString()));
+ || x.wcstask_state == TaskState.TaskState_Assigned.ToString()) && x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString());
if (Assrscount == 0)
{
ReInboundRequestStationAction(taskWCSinfoRepository, client, wcsInfo);
@@ -216,7 +221,11 @@
int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), lineCode).ToString());
if ((logicValue == 1 || logicValue == 2))
{
+ client.WriteValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_endPoint);
+ client.WriteValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_taskNumber);
+
WriteTaskInfo.WriteTaskInfoAction(wcsInfo, client, lineCode);
+ client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
}
string rfidResult = client.ReadValue(CLineInfoDBName.W_Line_Barcode.ToString(), lineCode).ToString();
if (!wcsInfo.wcstask_barcode.Equals(rfidResult))
--
Gitblit v1.9.3