From b174ea476eb1afd872985b2c261241a814e0185d Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期四, 12 三月 2026 09:55:27 +0800
Subject: [PATCH] 一次大的提交,涉及,wms,wcs,pda
---
项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs | 76 +++++++++++++++++++++++++++++--------
1 files changed, 59 insertions(+), 17 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs"
index f97164d..97f12bc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs"
@@ -1,13 +1,17 @@
锘縰sing HslCommunication;
using Microsoft.EntityFrameworkCore;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
+using System.Threading.Tasks;
using WIDESEA_Common;
+using WIDESEA_Common.LogEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.Tools;
+using WIDESEA_Core.Extensions;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Services;
@@ -21,6 +25,9 @@
public partial class InboundAreaDispatch
{
public static string[] InboundStationNo = new string[] { "50301", "50302", "50303", "50304", "50305", "50306", "50307"};
+
+ private static string CLOutStationNo = "30302";
+
public static void InboundStationAction(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
{
foreach (var item in InboundStationNo)
@@ -77,6 +84,12 @@
int taskNumber = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), station).ToString());
string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), station).ToString();
bool flag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), station).ToString());
+ bool SB = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_DeviceNormal.ToString(), station).ToString());
+ if (!SB)
+ {
+ return;
+ }
+
if (!flag)
return;
Dt_TaskWCSinfo wcsInfo = taskWCSinfoRepository.FindFirst(x => x.wcstask_taskNumber == taskNumber && x.wcstask_barcode == barcode);
@@ -90,7 +103,7 @@
string toLayer = wcsInfo.wcstask_endLocation.Substring(0, 2);
string stationLayer = station.Substring(3, 2);
- if (toLayer == stationLayer)
+ if (toLayer == stationLayer)
{
string state = string.Empty;
//绌烘墭鍜屽疄鎵樼殑鍏ュ簱
@@ -99,30 +112,50 @@
|| wcsInfo.wcstask_type == TaskType.TaskType_ErrorCheckBackIn.ToString()
|| wcsInfo.wcstask_type == TaskType.TaskType_CheckBackIn.ToString()
)
+ {
state = TaskState.TaskState_ConveyorLineFinish.ToString();
+ }
//娴嬮噺鍥炲簱
else if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Back.ToString() && wcsInfo.wcstask_state == TaskState.TaskState_Measure_Back_Line_Executing.ToString())
+ {
state = TaskState.TaskState_Measure_Back_Line_Finished.ToString();
-
+ }
WebResponseContent content = WMSApi.PostTaskStateToWMS(barcode, state);
if (content.Status)
{
- Dt_TaskRGVinfo _tmpRgvInfo = taskRGVinfoRepository.FindFirst(x => x.rgvtask_barCode == wcsInfo.wcstask_barcode);
+ Dt_TaskRGVinfo _tmpRgvInfo = taskRGVinfoRepository.FindFirst(x => x.rgvtask_barCode == wcsInfo.wcstask_barcode || x.rgvtask_wcsTaskNumber == wcsInfo.wcstask_taskNumber);
if (_tmpRgvInfo == null)
{
- //鍦ㄦ鐢熸垚RGV浠诲姟
- Dt_TaskRGVinfo rgvInfo = new Dt_TaskRGVinfo();
- rgvInfo.rgvtask_taskId = GetTaskNumber.GetRgvTaskNumber(taskRGVinfoRepository).ToString();
- rgvInfo.rgvtask_taskType = RGVTaskType.RgvTaskType_Inbound.ToString();
- rgvInfo.rgvtask_taskStatus = RGVTaskState.RgvTaskState_Wait_Send.ToString();
- rgvInfo.rgvtask_priorityCode = wcsInfo.wcstask_grade.ToString();
- rgvInfo.rgvtask_startNode = station;
- rgvInfo.rgvtask_endNode = wcsInfo.wcstask_endLocation;
- rgvInfo.rgvtask_wcsTaskNumber = wcsInfo.wcstask_taskNumber;
- rgvInfo.rgvtask_barCode = wcsInfo.wcstask_barcode;
- rgvInfo.rgvtask_msgTime = DateTime.Now;
- rgvInfo.rgvtask_areaCode = "InboundArea";
- taskRGVinfoRepository.Add(rgvInfo, true);
+ //LogRecord.WriteLog(LogEnum.InBound, "鍥犱负鎷呭績rgv浼氶噸澶嶇敓鎴愪换");
+ try
+ {
+ // 鍔犱釜鏃ュ織
+ // 鎵樼洏鍚� 浠诲姟鍙� wcs浠诲姟鐘舵��
+ //LogRecord.WriteLog(LogEnum.RGV, $"鎺ュ彈鍒癛GV涓婃姤鐨勪换鍔$姸鎬侊細浠诲姟鍙凤細{taskId}锛屽皬杞︾紪鍙凤細{rgvId}锛屼换鍔$姸鎬侊細{taskStatus}");
+ LogRecord.WriteLog(LogEnum.InBound, $"鍥犱负鎷呭績rgv浼氶噸澶嶇敓鎴愪换鍔★紝杩欓噷瑕佸仛涓�涓褰曪紝鎵樼洏鐮併�恵wcsInfo.wcstask_barcode}銆� 浠诲姟鍙枫�恵wcsInfo.wcstask_taskNumber}銆�,浠诲姟鐘舵�侊細銆恵wcsInfo.wcstask_state}銆�");
+
+ //鍦ㄦ鐢熸垚RGV浠诲姟
+ Dt_TaskRGVinfo rgvInfo = new Dt_TaskRGVinfo();
+ rgvInfo.rgvtask_taskId = GetTaskNumber.GetRgvTaskNumber(taskRGVinfoRepository).ToString();
+ rgvInfo.rgvtask_taskType = RGVTaskType.RgvTaskType_Inbound.ToString();
+ rgvInfo.rgvtask_taskStatus = RGVTaskState.RgvTaskState_Wait_Send.ToString();
+ rgvInfo.rgvtask_priorityCode = wcsInfo.wcstask_grade.ToString();
+ rgvInfo.rgvtask_startNode = station;
+ rgvInfo.rgvtask_endNode = wcsInfo.wcstask_endLocation;
+ rgvInfo.rgvtask_wcsTaskNumber = wcsInfo.wcstask_taskNumber;
+ rgvInfo.rgvtask_barCode = wcsInfo.wcstask_barcode;
+ rgvInfo.rgvtask_msgTime = DateTime.Now;
+ rgvInfo.rgvtask_areaCode = "InboundArea";
+ taskRGVinfoRepository.Add(rgvInfo, true);
+ }
+ catch (Exception x)
+ {
+ string str = $"杩欓噷鎶ラ敊浜� 搴旇鏄坊鍔犱簡閲嶅鐨勬墭鐩樺彿锛屾墭鐩樼爜銆恵wcsInfo.wcstask_barcode}銆�" +
+ $"浠诲姟鍙枫�恵wcsInfo.wcstask_taskNumber}銆�,浠诲姟鐘舵�侊細銆恵wcsInfo.wcstask_state}銆戦敊璇俊鎭�恵x.Message}銆�";
+ LogRecord.WriteLog(LogEnum.Errer, str.ToString());
+ throw;
+ }
+
}
wcsInfo.wcstask_state = state;
wcsInfo.wcstask_dispatcherTime = DateTime.Now;
@@ -143,7 +176,7 @@
}
-
+ //public static
/// <summary>
/// 鍑哄簱娴嬮噺浠诲姟锛屽綋绌挎杞︽斁璐у悗鐨勫鐞嗛�昏緫
/// </summary>
@@ -174,6 +207,15 @@
return;
}
+
+ bool flag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), CLOutStationNo).ToString());
+ bool noflag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_NoLoadSleep.ToString(), CLOutStationNo).ToString());
+ if (flag || !noflag)
+ {
+ return;
+ }
+
+
//string lineCode = "Measure_O";
int taskNumber = taskWCSinfo.wcstask_taskNumber;
//鏌ョ湅绾夸綋鐘舵�侊紝鍑嗗缁欑嚎浣撲笅鍙戜换鍔′俊鎭� 璇诲彇閫昏緫鎺у埗鍊�
--
Gitblit v1.9.3