From c5f01e9a882b16f534166d033312c5c8ba8d94dd Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期六, 24 一月 2026 14:35:21 +0800
Subject: [PATCH] 离开北京前最后的版本,包含打印机程序
---
项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/RGV/RgvDispatchJob.cs | 83 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 78 insertions(+), 5 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/RGV/RgvDispatchJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/RGV/RgvDispatchJob.cs"
index 69a4651..3d6300e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/RGV/RgvDispatchJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/RGV/RgvDispatchJob.cs"
@@ -44,6 +44,9 @@
var executeLog = ExecuteJob(context, () => Run(context));
});
}
+ public static bool TempHK = false; // 鏄惁绌烘墭鐩樺洖搴撲紭鍏�
+ public static int HKNumber = 0; // 绌烘墭鐩樺洖搴撶殑鏁伴噺 濡傛灉宸茬粡鍥炰簡鍥涗釜浜� 閭e氨涓嶈兘闄愬埗鍑哄簱鐨勪簡
+ string[] endStationNo = new string[] { "70101", "70103", "70104", "70106" };
public string Run(IJobExecutionContext context)
{
using (VOLContext dbCcontext = new VOLContext())
@@ -70,11 +73,24 @@
List<int> currentLayer = new List<int>();
foreach (var item in rgvData.data)
{
+ if (item.rgvId == "1")
+ {
+ client.WriteValue(CLineInfoDBName.RGV01.ToString(), item.status);
+ }
+ if (item.rgvId == "2")
+ {
+ client.WriteValue(CLineInfoDBName.RGV02.ToString(), item.status);
+ }
+ if (item.rgvId == "3")
+ {
+ client.WriteValue(CLineInfoDBName.RGV03.ToString(), item.status);
+ }
//0绂荤嚎 1姝e父 2鏁呴殰
if (item.status != 1)
carCount++;
else
currentLayer.Add(item.layer);
+
}
if (carCount == 3)
{
@@ -147,8 +163,26 @@
{
SendRGVTaskAction(rgvTask, wcsInfo, taskRGVinfoRepository, taskWCSinfoRepository);
}
- continue;
+ continue;
}
+
+ // 杩欓噷鍔犱竴涓垽鏂紝姣斿鎴戞湁涓や釜浠诲姟鍘�70101 鎴戜换鍔鍏堜笅鍙� 鐞嗗簲鍏堝埌70101 浣嗗彲鑳戒换鍔鍙梤gv鎹㈠眰鐨勫奖鍝� 浠诲姟B 鍏堝埌鍑哄簱鍖虹殑缂撳瓨鏋� 瀵艰嚧B鍏堣繃鍘诲埌浜�70101閭h竟
+ // 杩欓噷瑕佸垽鏂� 濡傛灉鎴戜换鍔鐨凴GV浠诲姟瑕佷笅鍙戠殑鏃跺�欙紝鍒ゆ柇鍓嶉潰鏄惁鏈変换鍔★紝濡傛灉鏈夛紝鍒ゆ柇杩欎釜浠诲姟鏄惁宸插埌杈剧紦瀛樻灦鎴栬�呮槸浠诲姟鍑哄簱杈撻�佺嚎鎵ц涓墠鑳戒笅鍙�
+ if (endStationNo.Contains(wcsInfo.wcstask_endPoint)) // 璇佹槑鏄幓鍘嬭鍙扮殑
+ {
+ Dt_TaskWCSinfo WcsTask = taskWCSinfoRepository.FindFirst(x =>
+ x.wcstask_endPoint == wcsInfo.wcstask_endPoint
+ && x.wcstask_taskNumber != wcsInfo.wcstask_taskNumber
+ && (x.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString() || x.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString())
+ && x.wcstask_state != TaskState.TaskState_Assigned.ToString()
+ && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString() || x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString())
+ );
+ if (WcsTask != null)
+ {
+ continue;
+ }
+ }
+
//鍐嶅仛涓�涓繚鎶わ紝鏌ョ湅瀵瑰簲鐨勬斁璐х珯鍙颁笂鏄湁鏈夎揣锛屽嵆璇诲彇绔欏彴鏄惁澶勪簬璐熻浇寰呮満鐨勭姸鎬侊紝濡傛灉鏄紝璇存槑鏈変笢瑗�
if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Out.ToString() ||
@@ -163,9 +197,45 @@
//绌挎杞︽斁璐х珯鍙�
string targetStation = wcsInfo.wcstask_endLocation;
//鍒ゆ柇鏈夊埌褰撳墠鏀捐揣浣嶇疆鐨勫氨涓嶆墽琛�
- Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => r.wcstask_endPoint == targetStation && r.wcstask_id != wcsInfo.wcstask_id);
- if (null != executingTask)
+ Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r =>
+ r.wcstask_endPoint == targetStation
+ && r.wcstask_id != wcsInfo.wcstask_id
+ && r.wcstask_state != TaskState.TaskState_Assigned.ToString());
+
+ if (null != executingTask) // 杩欎釜鍒ゆ柇涓昏鏄垽鏂┖鎵樼洏鍥炲簱鐨� 濡傛灉绌烘墭鐩樺洖搴撳埌60101 閭e嚭搴撳埌60101鐨勫氨涓嶈兘涓嬪彂
+ {
continue;
+ }
+
+
+ // 杩欓噷鑾峰彇涓�涓┖鎵樼洏鍥炲簱鐨勶紝濡傛灉鎴戠殑绌烘墭宸茬粡鍦ㄥ闈㈡帓闃熷緢闀夸簡 閭f垜灏变笉鑳戒笅鍙戝叆搴撶殑浠诲姟浜�
+ // 杩欓噷瑕佽鍙栦竴涓俊鍙�
+ int Return_Quantity = int.Parse(client.ReadValue(CLineInfoDBName.Return_Quantity.ToString()).ToString());
+ if (Return_Quantity >= 8) // 鍙绌烘墭鐩樺湪璺笂鐨勬暟閲� >= 8 閭d箞鍥炵┖鎵樼洏鐨勪紭鍏堢骇灏辫鎻愰珮浜�
+ {
+ TempHK = true;
+ }
+
+ if (HKNumber == 4)
+ {
+ TempHK = false;
+ HKNumber = 0;
+ }
+
+ if (TempHK)
+ {
+
+ if ((wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString() || wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString())
+ && wcsInfo.wcstask_state == TaskState.TaskState_Assigned.ToString()
+ && endStationNo.Contains(wcsInfo.wcstask_endPoint))
+ {
+ continue;
+ }
+ }
+
+
+
+ // 濡傛灉鍥涗釜绔欏彴鍚屾椂鏈夎礋杞斤紝閭f垜灏辫鎶婃垜鐨凾empHK 缁欒缃负True 褰撹缃负True浜� 鎴戝氨浼氳繘鍏ヤ竴涓潯浠�
//if (rgvTask.rgvtask_areaCode.Equals("OutboundArea"))
//{
@@ -186,7 +256,8 @@
continue;
else
{
- Dt_TaskRGVinfo currentTask = taskRGVinfoRepository.FindFirst(r => r.rgvtask_endNode == rgvTask.rgvtask_endNode && r.rgvtask_taskStatus != RGVTaskState.RgvTaskState_Wait_Send.ToString());
+ Dt_TaskRGVinfo currentTask = taskRGVinfoRepository.FindFirst(r => r.rgvtask_endNode == rgvTask.rgvtask_endNode
+ && r.rgvtask_taskStatus != RGVTaskState.RgvTaskState_Wait_Send.ToString());
if (null != currentTask)
continue;
}
@@ -196,7 +267,7 @@
- //姝ゅ鏌ョ湅褰撳墠姝e湪杩涜鐨勬祴閲忎换鍔℃潯鏁帮紝闇�瑕佹帶鍒舵暟閲忥紝绾夸綋缂撳瓨鏁伴噺鏈夐檺锛屾祴閲忛渶瑕佹椂闂达紝鏆傚畾3涓�
+ //姝ゅ鏌ョ湅褰撳墠姝e湪杩涜鐨勬祴閲忎换鍔℃潯鏁帮紝闇�瑕佹帶鍒舵暟閲忥紝绾夸綋缂撳瓨鏁伴噺鏈夐檺锛屾祴閲忛渶瑕佹椂闂达紝鏆傚畾2涓�
if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Out.ToString())
{
List<Dt_TaskWCSinfo> measureList = taskWCSinfoRepository.Find(x =>
@@ -208,6 +279,8 @@
continue;
}
}
+
+
}
SendRGVTaskAction(rgvTask, wcsInfo, taskRGVinfoRepository, taskWCSinfoRepository);
}
--
Gitblit v1.9.3