From cfb3f2c7e9cde8cc2eb2a19263d0802c0c5410a3 Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期一, 06 四月 2026 15:41:04 +0800
Subject: [PATCH] mes接口
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/StackerCraneJob.cs | 43 +++++++++++++++++++++++++++++--------------
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/StackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/StackerCraneJob.cs"
index 0a6f6d8..505838b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/StackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/StackerCraneJob.cs"
@@ -23,7 +23,7 @@
namespace WIDESEAWCS_Tasks
{
[DisallowConcurrentExecution]
- public class StackerCraneJob : JobBase, IJob
+ public class StackerCraneJob : JobBase, IJob
{
public static int R_HeartBeat = 0;
public static string InorOut = "In";
@@ -84,22 +84,19 @@
{
//鍙戦�佺墿鏂欑紪鍙�
CL.SetValue(ConveyorLineName.W_NumberAD, result.MaterialCode1);
- if (result.MaterialCode2 != null)
- CL.SetValue(ConveyorLineName.W_NumberBD, result.MaterialCode2);
- if (result.MaterialCode3 != null)
- CL.SetValue(ConveyorLineName.W_NumberCD, result.MaterialCode3);
- if (result.MaterialCode4 != null)
- CL.SetValue(ConveyorLineName.W_NumberDD, result.MaterialCode4);
+ CL.SetValue(ConveyorLineName.W_NumberBD, result.MaterialCode2);
+ CL.SetValue(ConveyorLineName.W_NumberCD, result.MaterialCode3);
+ CL.SetValue(ConveyorLineName.W_NumberDD, result.MaterialCode4);
}
//commonStackerCrane.SetValue(StackerCraneDBName.W_Accomplish, true);
}
}
}
//淇敼浠诲姟鐘舵��
- else if(R_TaskPhases == 1 || R_TaskPhases == 2 || R_TaskPhases == 4)
+ else if (R_TaskPhases == 1 || R_TaskPhases == 2 || R_TaskPhases == 4)
{
Dt_Task tasks = _TaskService.UpdateTaskStatus(R_OrderNo, R_TaskPhases);
- if (tasks!=null)
+ if (tasks != null)
{
//鍚屾WMS
string address = AppSettings.Get("WMSApiAddress");
@@ -115,19 +112,20 @@
}
//鍒ゆ柇鏄惁涓鸿嚜鍔ㄦā寮�
- if (R_ControlMode == 2 && R_TaskStatus == 2 && R_LoadStatus != 2)
+ if (R_ControlMode == 2 && R_TaskStatus == 2 && R_LoadStatus != 2 && (R_TaskPhases == 0 || R_TaskPhases == 5))
{
+ Thread.Sleep(3000);
//鍒ゆ柇鏄惁鏈夋墽琛屼腑鐨勪换鍔�
- Dt_Task tasking = _taskRepository.QueryFirst(x=> x.TaskState !=(int) TaskStatusEnum.InNew && x.TaskState != (int)TaskStatusEnum.OutNew && x.TaskState != (int)TaskStatusEnum.Task_Put && x.TaskState != (int)TaskStatusEnum.Task_fetch);
+ Dt_Task tasking = _taskRepository.QueryFirst(x => (x.TaskState == (int)TaskStatusEnum.InNew && x.TaskState == (int)TaskStatusEnum.OutNew) || x.TaskState == (int)TaskStatusEnum.Task_Put || x.TaskState == (int)TaskStatusEnum.Task_fetch);
if (tasking == null)
{
//鑾峰彇浠诲姟
Dt_Task? task = GetTask(InorOut);
- if(task != null)
+ if (task != null)
{
//浠诲姟瀹炰綋杞懡浠odel
StackerCraneCommand? StackerCommand = ConvertToStackerCommand(task);
- if(StackerCommand != null)
+ if (StackerCommand != null)
{
//鍙戦�佸懡浠�
commonStackerCrane.SetValue(StackerCraneDBName.W_SourceRow, StackerCommand.W_SourceRow);
@@ -141,6 +139,7 @@
commonStackerCrane.SetValue(StackerCraneDBName.W_DataCheckSum, StackerCommand.W_DataCheckSum);
commonStackerCrane.SetValue(StackerCraneDBName.W_OrderNo, StackerCommand.W_OrderNo);
commonStackerCrane.SetValue(StackerCraneDBName.W_Start, StackerCommand.W_Start);
+ WriteInfo("鍫嗗灈鏈烘墽琛屼换鍔★細", $"{StackerCommand.W_OrderNo}");
}
}
}
@@ -178,6 +177,22 @@
{
Dt_Task task;
task = _TaskService.TaskInorOut(InorOuts);
+ //婊℃《鍑哄簱
+ if (task != null)
+ {
+ if (task.TaskType == (int)TaskTypeEnum.Outfull)
+ {
+ int pick = comm.GETR_PickD();
+ int status = comm.GETR_StatusD();
+ if (pick != 1 || status != 1)
+ {
+ WriteInfo("鍫嗗灈鏈烘墽琛屾弧妗跺嚭搴撲换鍔★細", $"{"杈撻�佺嚎鍑哄簱淇″彿寮傚父" + pick + "//" + status}");
+ return null;
+ }
+ WriteInfo("鍫嗗灈鏈烘墽琛屾弧妗跺嚭搴撲换鍔★細", $"{"杈撻�佺嚎鍑哄簱淇″彿姝e父" + pick + "//" + status}");
+ }
+ }
+
//涓�鍏ヤ竴鍑�
if (task != null && (task.TaskState == (int)TaskStatusEnum.InNew || task.TaskState == (int)TaskStatusEnum.OutNew))
{
@@ -205,7 +220,7 @@
}
//浠诲姟瀹炰綋杞懡浠odel
- public StackerCraneCommand? ConvertToStackerCommand(Dt_Task task)
+ public StackerCraneCommand? ConvertToStackerCommand(Dt_Task task)
{
StackerCraneCommand stackerCraneCommand = new StackerCraneCommand();
string[] TargetAddress = task.TargetAddress.Split('-');
--
Gitblit v1.9.3