From a6df2a29e7424ce327776fd3880ae514d8ca8c9f Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 06:32:24 +0800
Subject: [PATCH] 更新
---
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs | 32
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/StackerCraneJob_CP.cs | 8
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs | 47 ++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs | 69 +++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPD.cs | 79 +++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPC.cs | 108 ++++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs | 295 +-----------
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPA.cs | 109 ++++
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 63 +-
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPB.cs | 127 +++++
/dev/null | 207 ---------
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs | 30
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs | 10
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/RGVJob_CP.cs | 129 +++++
项目代码/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 48 +
15 files changed, 803 insertions(+), 558 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index 64921db..ccd5df8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -43,24 +43,6 @@
SC_Finish = 220,
/// <summary>
- /// 杈撻�佺嚎寰呮墽琛�
- /// </summary>
- [Description("杈撻�佺嚎寰呮墽琛�")]
- Line_Execute = 400,
-
- /// <summary>
- /// 杈撻�佺嚎鎵ц涓�
- /// </summary>
- [Description("杈撻�佺嚎鎵ц涓�")]
- Line_Executing = 410,
-
- /// <summary>
- /// 杈撻�佺嚎瀹屾垚
- /// </summary>
- [Description("杈撻�佺嚎瀹屾垚")]
- Line_Finish = 420,
-
- /// <summary>
/// AGV寰呮墽琛�
/// </summary>
[Description("AGV寰呮墽琛�")]
@@ -69,7 +51,7 @@
/// AGV鍙栬揣涓�
/// </summary>
[Description("AGV鍙栬揣涓�")]
- AGV_Takeing =305,
+ AGV_Takeing = 305,
/// <summary>
/// AGV鎵ц涓�
/// </summary>
@@ -92,6 +74,34 @@
/// </summary>
[Description("AGV瀹屾垚")]
AGV_Finish = 330,
+ /// <summary>
+ /// 杈撻�佺嚎寰呮墽琛�
+ /// </summary>
+ [Description("杈撻�佺嚎寰呮墽琛�")]
+ Line_Execute = 400,
+
+ /// <summary>
+ /// 杈撻�佺嚎鎵ц涓�
+ /// </summary>
+ [Description("杈撻�佺嚎鎵ц涓�")]
+ Line_Executing = 410,
+
+ /// <summary>
+ /// 杈撻�佺嚎瀹屾垚
+ /// </summary>
+ [Description("杈撻�佺嚎瀹屾垚")]
+ Line_Finish = 420,
+
+ /// <summary>
+ /// RGV寰呮墽琛�
+ /// </summary>
+ [Description("RGV寰呮墽琛�")]
+ RGV_Execute = 500,
+ /// <summary>
+ /// RGV鎵ц涓�
+ /// </summary>
+ [Description("RGV鎵ц涓�")]
+ RGV_Executing = 510,
/// <summary>
/// 浠诲姟瀹屾垚
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 5a885e6..d2bb2c1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -23,6 +23,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
@@ -217,14 +218,14 @@
if (taskTypeGroup == TaskTypeGroup.InboundGroup)
{
stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress || x.StationDeviceCode == item.SourceAddress);
- if (stationManger==null && task.TaskType==TaskTypeEnum.InProduct.ObjToInt())
- {
- stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode==task.SourceAddress);
- //杞崲鎴愬搧浠撹捣鐐圭珯鍙�
- item.SourceAddress = stationManger.StationCode;
- task.CurrentAddress = stationManger.StationCode;
- task.SourceAddress = stationManger.StationCode;
- }
+ //if (stationManger==null && task.TaskType==TaskTypeEnum.InProduct.ObjToInt())
+ //{
+ // stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode==task.SourceAddress);
+ // //杞崲鎴愬搧浠撹捣鐐圭珯鍙�
+ // item.SourceAddress = stationManger.StationCode;
+ // task.CurrentAddress = stationManger.StationCode;
+ // task.SourceAddress = stationManger.StationCode;
+ //}
}
else
{
@@ -244,10 +245,11 @@
if (routers.Count == 1)
{
- if (taskTypeGroup == TaskTypeGroup.InboundGroup && item.TargetAddress == stationManger.StackerCraneCode)
+ if (taskTypeGroup == TaskTypeGroup.InboundGroup)
{
+ task.CurrentAddress = router.StartPosi;
task.NextAddress = router.NextPosi;
- task.DeviceCode = stationManger.StationDeviceCode;
+ task.DeviceCode = router.ChildPosiDeviceCode;
}
else if (item.TaskType == TaskTypeEnum.MesMatReturn.ObjToInt() && !router.IsEnd)
{
@@ -439,21 +441,34 @@
WebResponseContent content = new WebResponseContent();
try
{
- string address = AppSettings.Get("WMSApiAddress");
- if (string.IsNullOrEmpty(address))
+ //string address = AppSettings.Get("WMSApiAddress");
+ //if (string.IsNullOrEmpty(address))
+ //{
+ // return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+ //}
+ //string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}");
+ //WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+ //if (responseContent != null && responseContent.Status && responseContent.Data != null)
+ //{
+ // WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
+ // if (taskDTO != null)
+ // {
+ WMSTaskDTO? taskDTO = new WMSTaskDTO()
{
- return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
- }
- string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}");
- WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
- if (responseContent != null && responseContent.Status && responseContent.Data != null)
- {
- WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
- if (taskDTO != null)
- {
- content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
- }
- }
+ Id = 1,
+ TaskNum = DateTime.Now.ToString("mmss").ObjToInt(),
+ PalletCode="",
+ RoadWay="",
+ TaskType=TaskTypeEnum.InProduct.ObjToInt(),
+ TaskStatus=TaskStatusEnum.New.ObjToInt(),
+ SourceAddress= sourceAddress,
+ TargetAddress="",
+ WarehouseId=1,
+ Grade=0,
+ };
+ content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+ // }
+ //}
}
catch (Exception ex)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
index dce33cd..5b813a4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
@@ -99,11 +99,11 @@
BaseDal.UpdateData(task);
- string address = AppSettings.Get("WMSApiAddress");
- if (!string.IsNullOrEmpty(address))
- {
- HttpHelper.Post($"{address}/api/Task/UpdateTaskInfo", task.Serialize());
- }
+ //string address = AppSettings.Get("WMSApiAddress");
+ //if (!string.IsNullOrEmpty(address))
+ //{
+ // HttpHelper.Post($"{address}/api/Task/UpdateTaskInfo", task.Serialize());
+ //}
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, stringBuilder.ToString());
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
index ac89d7e..39ef4bd 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
@@ -36,290 +36,71 @@
public int TaskNum { get; set; }
}
-
-
- public class R_ConveyorLineInfo : DeviceCommand
- {
- /// <summary>
- /// 绔欏彴缂栧彿
- /// </summary>
- public short ConveyorNo { get; set; }
-
- /// <summary>
- /// 鐘舵��
- /// </summary>
- public byte Status { get; set; }
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public byte Undefined { get; set; }
-
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- public int TaskNum { get; set; }
-
- /// <summary>
- /// 璧峰鍦板潃
- /// </summary>
- public short StartPos { get; set; }
-
- /// <summary>
- /// 鐩爣鍦板潃
- /// </summary>
- public short EndPos { get; set; }
-
- /// <summary>
- /// 閲嶉噺
- /// </summary>
- public short GoodsWeight { get; set; }
-
- /// <summary>
- /// 璐х墿绫诲瀷
- /// </summary>
- public short GoodsType { get; set; }
-
- /// <summary>
- /// 0闈欐1鍓嶈繘2鍚庨��3涓婂崌/椤烘椂閽堟棆杞�4涓嬮檷/閫嗘椂閽堟棆杞�
- /// </summary>
- public short RunStatus { get; set; }
-
- private string _barcode;
- /// <summary>
- /// 鏉$爜
- /// </summary>
- [DataLength(20)]
- public string Barcode
- {
- get { return _barcode; }
- set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
- }
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public short Spare1 { get; set; }
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public short Spare2 { get; set; }
-
- /// <summary>
- /// 浜や簰淇″彿
- /// </summary>
- public byte Signal { get; set; }
-
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public byte Undefined2 { get; set; }
- }
public class R_ConveyorLineCPInfo : DeviceCommand
{
/// <summary>
- /// 鍒颁綅鎸囦护
+ /// 蹇冭烦
/// </summary>
- public short ConveyArrivaled { get; set; }
-
+ public short Heart { get; set; }
/// <summary>
- /// 璧峰鍦板潃
+ /// 棰勭暀
/// </summary>
- public short StartPos { get; set; }
-
+ public short Reserve { get; set; }
/// <summary>
- /// 缁堢偣鍦板潃
+ /// 鐘舵��
/// </summary>
- public short EndPos { get; set; }
-
+ public short StatusPV { get; set; }
+ /// <summary>
+ /// 鍛戒护
+ /// </summary>
+ public short Command { get; set; }
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public int TaskNo { get; set; }
/// <summary>
/// 鎵樼洏鍙�
/// </summary>
/// <summary>
-
- [DataLength(20)]
- public string Barcode { get; set; }
-
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- [DataLength(20)]
- public string TaskNum { get; set; }
-
- /// <summary>
- /// 绫诲瀷
- /// </summary>
- public short WorkType { get; set; }
-
- /// <summary>
- /// 妯″紡
- /// </summary>
- public short WorkMode { get; set; }
-
- /// <summary>
- /// 鏍¢獙浣�
- /// </summary>
- public short CheckPos { get; set; }
+ [DataLength(10)]
+ public string PalletCode { get; set; }
}
- public class R_ConveyorLineGMInfo : DeviceCommand
+ public class R_RGVCPInfo : DeviceCommand
{
/// <summary>
- /// 绠卞彿
+ /// 妯″紡<br/>
+ /// 1鎵嬪姩<br/>
+ /// 2缁翠慨<br/>
+ /// 3鍗婅嚜鍔�<br/>
+ /// 4鑷姩<br/>
+ /// 5鑱旀満鑷姩<br/>
/// </summary>
+ public short Mode { get; set; }
/// <summary>
- [DataLength(120)]
- public string Boxcode { get; set; }
- }
- public class R_ConveyorLineFLInfo : DeviceCommand
- {
- /// <summary>
- /// 鎵樼洏鍙�
+ /// 鐘舵��<br/>
+ /// 0绌洪棽<br/>
+ /// 1鏈変换鍔�<br/>
/// </summary>
+ public short State { get; set; }
/// <summary>
-
- [DataLength(20)]
- public string Barcode { get; set; }
-
- /// <summary>
- /// 浠诲姟鍙�
+ /// RGV鎺ユ敹浠诲姟鍙�<br/>
/// </summary>
- [DataLength(20)]
- public string TaskNum { get; set; }
- }
- public class R_ConveyorLineStatus
- {
+ public short RgvTask { get; set; }
/// <summary>
- /// 鎻℃墜淇″彿
+ /// RGV缁撴潫浠诲姟鍙�<br/>
/// </summary>
- [BoolIndex(0)]
- public bool HandShake { get; set; }
-
+ public short RgvEndTask { get; set; }
/// <summary>
- /// 1鑱旀満 0鑴辨満
+ /// RGV涓婃浠诲姟鍙�<br/>
/// </summary>
- [BoolIndex(1)]
- public bool Online { get; set; }
-
+ public short RgvLastTask { get; set; }
/// <summary>
- /// 1绌洪棽 0绻佸繖
+ /// 浠诲姟鐘舵�佸弽棣�<br/>
/// </summary>
- [BoolIndex(2)]
- public bool Free { get; set; }
-
+ public short TaskDone { get; set; }
/// <summary>
- /// 1鏈夎揣 0鏃犺揣
+ /// 蹇冭烦<br/>
/// </summary>
- [BoolIndex(3)]
- public bool Goods { get; set; }
-
- /// <summary>
- /// 1鏁呴殰 0姝e父
- /// </summary>
- [BoolIndex(4)]
- public bool Alarm { get; set; }
-
- /// <summary>
- /// 1璇锋眰琛ョ洏 0鏃�
- /// </summary>
- [BoolIndex(5)]
- public bool RequestPakcPallet { get; set; }
-
- /// <summary>
- /// 1璇锋眰鎷嗙洏 0鏃�
- /// </summary>
- [BoolIndex(6)]
- public bool RequestUnpackPellet { get; set; }
- }
-
- public class ConveyorLineSignal
- {
- /// <summary>
- /// 璇锋眰淇″彿
- /// </summary>
- [BoolIndex(0)]
- public bool STB { get; set; }
-
- /// <summary>
- /// 鍝嶅簲淇″彿
- /// </summary>
- [BoolIndex(1)]
- public bool ACK { get; set; }
- }
-
- public class W_ConveyorLineInfo : DeviceCommand
- {
-
- /// <summary>
- /// 绔欏彴缂栧彿
- /// </summary>
- public short ConveyorNo { get; set; }
-
- public byte Operate { get; set; }
-
- public byte Undefined { get; set; }
-
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- public int TaskNum { get; set; }
-
- /// <summary>
- /// 璧峰鍦板潃
- /// </summary>
- public short StartPos { get; set; }
-
- /// <summary>
- /// 鐩爣鍦板潃
- /// </summary>
- public short EndPos { get; set; }
-
- /// <summary>
- /// 璐х墿绫诲瀷
- /// </summary>
- public short GoodsType { get; set; }
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public short Spare1 { get; set; }
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public short Spare2 { get; set; }
-
- /// <summary>
- /// 浜や簰淇″彿
- /// </summary>
- public byte Signal { get; set; }
-
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- public byte Undefined2 { get; set; }
- }
-
- public class W_ConveyorLineOperate
- {
- /// <summary>
- /// 鎻℃墜淇″彿
- /// </summary>
- [BoolIndex(0)]
- public bool HandShake { get; set; }
-
- /// <summary>
- /// 澶嶄綅鎶ヨ
- /// </summary>
- [BoolIndex(1)]
- public bool ClearAlarm { get; set; }
-
- /// <summary>
- /// 閫�鍥�
- /// </summary>
- [BoolIndex(2)]
- public bool Return { get; set; }
+ public short HeartBeat { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs"
index a2c4f64..79211c1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineCPDBName.cs"
@@ -9,38 +9,28 @@
public enum R_ConveyorLineCPDB
{
/// <summary>
- /// 鍒颁綅鎸囦护
+ /// 鍛戒护
/// </summary>
- ConveyArrivaled,
+ Command,
/// <summary>
- /// 璧峰鍦板潃
+ /// 鐩爣鍦板潃
/// </summary>
- StartPos,
- /// <summary>
- /// 缁堢偣鍦板潃
- /// </summary>
- EndPos,
- /// <summary>
- /// 鎵樼洏鍙�
- /// </summary>
- Barcode,
+ StatusPV,
/// <summary>
/// 浠诲姟鍙�
/// </summary>
- TaskNum,
+ TaskNo,
/// <summary>
- /// 绫诲瀷
+ /// 棰勭暀
/// </summary>
- WorkType,
+ Reserve,
/// <summary>
- /// 妯″紡
- /// 1鍏ュ簱妯″紡
- /// 2鐢熶骇妯″紡
+ /// 蹇冭烦
/// </summary>
- WorkMode,
+ Heart,
/// <summary>
- /// 鏍¢獙浣�
+ /// 鎵樼洏鏉$爜
/// </summary>
- CheckPos
+ PalletCode
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineDBName.cs"
deleted file mode 100644
index 81453e9..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineDBName.cs"
+++ /dev/null
@@ -1,132 +0,0 @@
-锘�#region << 鐗� 鏈� 娉� 閲� >>
-/*----------------------------------------------------------------
- * 鍛藉悕绌洪棿锛歐IDESEAWCS_Tasks.ConveyorLineJob
- * 鍒涘缓鑰咃細鑳$搴�
- * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
- * 鐗堟湰锛歏1.0.0
- * 鎻忚堪锛�
- *
- * ----------------------------------------------------------------
- * 淇敼浜猴細
- * 淇敼鏃堕棿锛�
- * 鐗堟湰锛歏1.0.1
- * 淇敼璇存槑锛�
- *
- *----------------------------------------------------------------*/
-#endregion << 鐗� 鏈� 娉� 閲� >>
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
- public enum R_ConveyorLineDB
- {
- /// <summary>
- /// 绔欏彴缂栧彿
- /// </summary>
- ConveyorNo,
-
- /// <summary>
- /// 鎻℃墜淇″彿
- /// </summary>
- HandShake,
-
- /// <summary>
- /// 1鑱旀満 0鑴辨満
- /// </summary>
- Online,
-
- /// <summary>
- /// 1绌洪棽 0绻佸繖
- /// </summary>
- Free,
-
- /// <summary>
- /// 1鏈夎揣 0鏃犺揣
- /// </summary>
- Goods,
-
- /// <summary>
- /// 1鏁呴殰 0姝e父
- /// </summary>
- Alarm,
-
- /// <summary>
- /// 1璇锋眰琛ョ洏 0鏃�
- /// </summary>
- RequestPakcPallet,
-
- /// <summary>
- /// 1璇锋眰鎷嗙洏 0鏃�
- /// </summary>
- RequestUnpackPellet,
-
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- TaskNum,
-
- /// <summary>
- /// 璧峰鍦板潃
- /// </summary>
- StartPos,
-
- /// <summary>
- /// 鐩爣鍦板潃
- /// </summary>
- EndPos,
-
- /// <summary>
- /// 閲嶉噺
- /// </summary>
- GoodsWeight,
-
- /// <summary>
- /// 璐х墿绫诲瀷
- /// </summary>
- GoodsType,
-
- /// <summary>
- /// 0闈欐1鍓嶈繘2鍚庨��3涓婂崌/椤烘椂閽堟棆杞�4涓嬮檷/閫嗘椂閽堟棆杞�
- /// </summary>
- RunStatus,
-
- /// <summary>
- /// 鏉$爜
- /// </summary>
- Barcode,
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- Sapre1,
-
- /// <summary>
- /// 棰勭暀
- /// </summary>
- Sapre2,
-
- /// <summary>
- /// 璇锋眰淇″彿
- /// </summary>
- STB,
-
- /// <summary>
- /// 鍝嶅簲淇″彿
- /// </summary>
- ACK,
- /// <summary>
- /// 鏉$爜
- /// </summary>
- Boxcode
- }
-
- public enum R_ConveyorLineWorkType
- {
- ConveyorLineWorkType
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineFLDB.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineFLDB.cs"
deleted file mode 100644
index e2df51e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_ConveyorLineFLDB.cs"
+++ /dev/null
@@ -1,24 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
- public enum R_ConveyorLineFLDB
- {
- /// <summary>
- /// 鍒颁綅淇″彿
- /// </summary>
- ConveyArrivaled,
- /// <summary>
- /// 鎵樼洏鍙�
- /// </summary>
- Barcode,
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- TaskNum
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs"
new file mode 100644
index 0000000..00ecdab
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/R_RgvCPDBName.cs"
@@ -0,0 +1,47 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineJob
+{
+ public enum R_RgvCPDB
+ {
+ /// <summary>
+ /// 妯″紡<br/>
+ /// 1鎵嬪姩<br/>
+ /// 2缁翠慨<br/>
+ /// 3鍗婅嚜鍔�<br/>
+ /// 4鑷姩<br/>
+ /// 5鑱旀満鑷姩<br/>
+ /// </summary>
+ Mode,
+ /// <summary>
+ /// 鐘舵��<br/>
+ /// 0绌洪棽<br/>
+ /// 1鏈変换鍔�<br/>
+ /// </summary>
+ State,
+ /// <summary>
+ /// RGV鎺ユ敹浠诲姟鍙�<br/>
+ /// </summary>
+ RgvTask,
+ /// <summary>
+ /// RGV缁撴潫浠诲姟鍙�<br/>
+ /// </summary>
+ RgvEndTask,
+ /// <summary>
+ /// RGV涓婃浠诲姟鍙�<br/>
+ /// </summary>
+ RgvLastTask,
+ /// <summary>
+ /// 浠诲姟鐘舵�佸弽棣�<br/>
+ /// </summary>
+ TaskDone,
+ /// <summary>
+ /// 蹇冭烦<br/>
+ /// </summary>
+ HeartBeat
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
index 32a5554..ec9be2f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
@@ -9,36 +9,24 @@
public enum W_ConveyorLineCPDB
{
/// <summary>
- /// 绉诲姩鎸囦护
+ /// 鍛戒护
/// </summary>
- ConveyArrival,
+ Command,
/// <summary>
- /// 璧峰鍦板潃
+ /// 鐩爣鍦板潃
/// </summary>
- StartPos,
- /// <summary>
- /// 缁堢偣鍦板潃
- /// </summary>
- EndPos,
- /// <summary>
- /// 鎵樼洏鍙�
- /// </summary>
- Barcode,
+ TargetAddress,
/// <summary>
/// 浠诲姟鍙�
/// </summary>
- TaskNum,
+ TaskNo,
/// <summary>
- /// 绫诲瀷
+ /// 棰勭暀
/// </summary>
- WorkType,
+ Reserve,
/// <summary>
- /// 瀛愭墭绫诲瀷
+ /// 蹇冭烦
/// </summary>
- WorkMode,
- /// <summary>
- /// 鏍¢獙浣�
- /// </summary>
- CheckPos
+ Heart
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs"
deleted file mode 100644
index 890fd0e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs"
+++ /dev/null
@@ -1,72 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
- public enum W_ConveyorLineDB
- {
- /// <summary>
- /// 绔欏彴缂栧彿
- /// </summary>
- ConveyorNo,
-
- /// <summary>
- /// 鎻℃墜淇″彿
- /// </summary>
- HandShake,
-
- /// <summary>
- /// 澶嶄綅鎶ヨ
- /// </summary>
- ClearAlarm,
-
- /// <summary>
- /// 閫�鍥�
- /// </summary>
- Return,
-
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- TaskNum,
-
- /// <summary>
- /// 璧峰鍦板潃
- /// </summary>
- StartPos,
-
- /// <summary>
- /// 鐩爣鍦板潃
- /// </summary>
- EndPos,
-
- /// <summary>
- /// 璐х墿绫诲瀷
- /// </summary>
- GoodsType,
-
- /// <summary>
- /// 棰勭暀1
- /// </summary>
- Spare1,
-
- /// <summary>
- /// 棰勭暀2
- /// </summary>
- Spare2,
-
- /// <summary>
- /// 璇锋眰淇″彿
- /// </summary>
- STB,
-
- /// <summary>
- /// 鍝嶅簲淇″彿
- /// </summary>
- ACK
-
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineFLDB.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineFLDB.cs"
deleted file mode 100644
index f54f660..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineFLDB.cs"
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.ConveyorLineJob
-{
- public enum W_ConveyorLineFLDB
- {
- /// <summary>
- /// 鎵樼洏鍙�
- /// </summary>
- Barcode,
- /// <summary>
- /// 浠诲姟鍙�
- /// </summary>
- TaskNum
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
new file mode 100644
index 0000000..4ae561a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
@@ -0,0 +1,69 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineJob
+{
+ public enum W_RgvCPDB
+ {
+ /// <summary>
+ /// 浠诲姟鍙�<br/>
+ /// </summary>
+ WcsTask,
+ /// <summary>
+ /// 浠诲姟绫诲瀷<br/>
+ /// 1瀹氫綅<br/>
+ /// 2鍙栬揣<br/>
+ /// 3鏀捐揣<br/>
+ /// 4鍙栨斁璐�<br/>
+ /// </summary>
+ TaskType,
+ /// <summary>
+ /// 鎵ц宸ヤ綅<br/>
+ /// 1:1宸ヤ綅<br/>
+ /// 2:2宸ヤ綅<br/>
+ /// 3:3宸ヤ綅<br/>
+ /// 4:12宸ヤ綅<br/>
+ /// 5:13宸ヤ綅<br/>
+ /// 6:23宸ヤ綅<br/>
+ /// 7:123宸ヤ綅<br/>
+ /// </summary>
+ WorkStation,
+ /// <summary>
+ /// 鍙栬揣鍦板潃1<br/>
+ /// </summary>
+ Qu1,
+ /// <summary>
+ /// 鍙栬揣鍦板潃2<br/>
+ /// </summary>
+ Qu2,
+ /// <summary>
+ /// 鍙栬揣鍦板潃2<br/>
+ /// </summary>
+ Qu3,
+ /// <summary>
+ /// 鏀捐揣鍦板潃1<br/>
+ /// </summary>
+ Fang1,
+ /// <summary>
+ /// 鏀捐揣鍦板潃2<br/>
+ /// </summary>
+ Fang2,
+ /// <summary>
+ /// 鏀捐揣鍦板潃3<br/>
+ /// </summary>
+ Fang3,
+ /// <summary>
+ /// 蹇冭烦<br/>
+ /// </summary>
+ HearBeat,
+ /// <summary>
+ /// 涓嬪彂/瀹屾垚浠诲姟鏍囪瘑<br/>
+ /// 1纭浠诲姟涓嬪彂<br/>
+ /// 2纭浠诲姟瀹屾垚<br/>
+ /// </summary>
+ TaskReceivedDone,
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneAutoStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneAutoStatusEnum.cs"
deleted file mode 100644
index a20543e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneAutoStatusEnum.cs"
+++ /dev/null
@@ -1,41 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.StackerCraneJob
-{
- /// <summary>
- /// 鍫嗗灈鏈哄伐浣滄ā寮�
- /// </summary>
- public enum StackerCraneAutoStatusEnum
- {
- /// <summary>
- /// 鍗婅嚜鍔�
- /// </summary>
- [Description("鍗婅嚜鍔�")]
- SemiAutomatic = 1,
- /// <summary>
- /// 鍗曟
- /// </summary>
- [Description("鍗曟")]
- OnlineAutomatic = 2,
- /// <summary>
- /// 鑷姩
- /// </summary>
- [Description("鑷姩")]
- Automatic = 3,
- /// <summary>
- /// 鎵嬪姩
- /// </summary>
- [Description("鎵嬪姩")]
- Manual = 4,
- /// <summary>
- /// 鑴辨満
- /// </summary>
- [Description("鑴辨満")]
- OffLline = 5
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneStatusEnum.cs"
deleted file mode 100644
index 9059af0..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneStatusEnum.cs"
+++ /dev/null
@@ -1,27 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
-
-namespace WIDESEAWCS_Tasks.StackerCraneJob
-{
- /// <summary>
- /// 鍫嗗灈鏈鸿澶囩姸鎬�
- /// </summary>
- public enum StackerCraneStatusEnum
- {
- /// <summary>
- /// 涓嶅湪绾�
- /// </summary>
- [Description("涓嶅湪绾�")]
- Fault,
- /// <summary>
- /// 鍦ㄧ嚎
- /// </summary>
- [Description("鍦ㄧ嚎")]
- Normal
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneWorkStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneWorkStatusEnum.cs"
deleted file mode 100644
index 1f7f8d8..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneWorkStatusEnum.cs"
+++ /dev/null
@@ -1,46 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEAWCS_Tasks.StackerCraneJob
-{
- /// <summary>
- /// 鍫嗗灈鏈轰綔涓氱姸鎬�
- /// </summary>
- public enum StackerCraneWorkStatusEnum
- {
- /// <summary>
- /// 鏃犺揣寰呮満
- /// </summary>
- [Description("鏃犺揣寰呮満")]
- Standby = 1,
- /// <summary>
- /// 鍙栬揣瀹屾垚
- /// </summary>
- [Description("鍙栬揣瀹屾垚")]
- PickUpCompleted = 2,
- /// <summary>
- /// 绉诲姩浠诲姟
- /// </summary>
- [Description("绉诲姩浠诲姟")]
- MobileTask = 3,
- /// <summary>
- /// 鍙栬揣涓�
- /// </summary>
- [Description("鍙栬揣涓�")]
- PickUp = 4,
- /// <summary>
- /// 鏀捐揣涓�
- /// </summary>
- [Description("鏀捐揣涓�")]
- Putting = 5,
- /// <summary>
- /// 浠诲姟瀹屾垚寰呭懡
- /// </summary>
- [Description("浠诲姟瀹屾垚寰呭懡")]
- WorkCompleted = 9
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineEmptyBack_CP.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineEmptyBack_CP.cs"
deleted file mode 100644
index 604b772..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineEmptyBack_CP.cs"
+++ /dev/null
@@ -1,119 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
- [DisallowConcurrentExecution]
- public class ConveyorLineEmptyBack_CP : JobBase, IJob
- {
- private readonly ICacheService _cacheService;
- private readonly ITaskService _taskService;
- private readonly ITaskExecuteDetailService _taskExecuteDetailService;
- private readonly ITaskRepository _taskRepository;
- private readonly IStationMangerRepository _stationMangerRepository;
- private readonly IRouterRepository _routerRepository;
- private readonly IRouterService _routerService;
- private readonly IRouterExtension _routerExtension;
- private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
- public ConveyorLineEmptyBack_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
- {
- _cacheService = cacheService;
- _taskService = taskService;
- _taskExecuteDetailService = taskExecuteDetailService;
- _taskRepository = taskRepository;
- _stationMangerRepository = stationMangerRepository;
- _routerRepository = routerRepository;
- _routerService = routerService;
- _routerExtension = routerExtension;
-
- string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
- if (!string.IsNullOrEmpty(warehouseDevicesStr))
- {
- warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
- }
- else
- {
- warehouseDevices = new List<Dt_WarehouseDevice>();
- }
- }
-
- public Task Execute(IJobExecutionContext context)
- {
- bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
- if (flag && value != null)
- {
- OtherDevice device = (OtherDevice)value;
- Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == device.DeviceCode);
- if (warehouseDevice == null)
- {
- WriteError(device.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
- return Task.CompletedTask;
- }
- List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
- Dt_StationManger? dt_StationManger = stationMangers.FirstOrDefault(x => x.StationType == StationTypeEnum.StationType_ProductBackTake.ObjToInt());
- if (dt_StationManger != null)
- {
- List<Dt_StationManger> ProductBackStations = stationMangers.Where(x => x.StationType == StationTypeEnum.StationType_ProductBack.ObjToInt()).OrderBy(x=>x.Id).ToList();
- for (int i = 0; i < ProductBackStations.Count(); i++)
- {
- short isCanTake = device.GetValue<GroundStationDBName, short>(GroundStationDBName.R_IsCanTake, dt_StationManger.StationCode);
- Dt_StationManger stationManger = ProductBackStations[i];
- string startDb = "DB29.";
- short stationCurrentStatus = device.Communicator.Read<short>(startDb + stationManger.Remark.ToString());
- short stationEndStatus = device.Communicator.Read<short>(startDb + (stationManger.Remark.ObjToInt() + 2).ToString());
- bool endStatus = true;
- if ((i != 2 && i != 5 && i != 8))
- {
- endStatus = (stationEndStatus == 1);
- }
- //璇诲彇绾夸綋娈电姸鎬�
- if (isCanTake == 1 && stationCurrentStatus == 1 && stationManger.IsOccupied == 0 && endStatus)
- {
- device.SetValue(W_ConveyorLineCPDB.StartPos, dt_StationManger.StationCode, dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.EndPos, stationManger.AGVStationCode, dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.Barcode, "C00001", dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.TaskNum, DateTime.Now.ToString("yyMMddHHmmss"), dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.WorkType, 1, dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.WorkMode, 1, dt_StationManger.StationCode);
- device.SetValue(W_ConveyorLineCPDB.CheckPos, 1, dt_StationManger.StationCode);
- //鍚姩鎸囦护
- device.SetValue(W_ConveyorLineCPDB.ConveyArrival, 1, dt_StationManger.StationCode);
- stationManger.IsOccupied = 1;
- _stationMangerRepository.UpdateData(stationManger);
- Thread.Sleep(2000);
- return Task.CompletedTask;
- }
- else if (stationManger.IsOccupied == 1 && (stationCurrentStatus == 3))
- {
- stationManger.IsOccupied = 0;
- _stationMangerRepository.UpdateData(stationManger);
- }
- }
- }
-
- }
- return Task.CompletedTask;
- }
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs"
deleted file mode 100644
index 3da2ad1..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs"
+++ /dev/null
@@ -1,207 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
-using Newtonsoft.Json;
-using Quartz;
-using SqlSugar.Extensions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Communicator;
-using WIDESEAWCS_IBasicInfoRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Repository;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
-
-namespace WIDESEAWCS_Tasks
-{
- [DisallowConcurrentExecution]
- public class ConveyorLineJob_CP : JobBase, IJob
- {
- private readonly ICacheService _cacheService;
- private readonly ITaskService _taskService;
- private readonly ITaskExecuteDetailService _taskExecuteDetailService;
- private readonly ITaskRepository _taskRepository;
- private readonly IStationMangerRepository _stationMangerRepository;
- private readonly IRouterRepository _routerRepository;
- private readonly IRouterService _routerService;
- private readonly IRouterExtension _routerExtension;
- private readonly List<Dt_WarehouseDevice> warehouseDevices;
-
- public ConveyorLineJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
- {
- _cacheService = cacheService;
- _taskService = taskService;
- _taskExecuteDetailService = taskExecuteDetailService;
- _taskRepository = taskRepository;
- _stationMangerRepository = stationMangerRepository;
- _routerRepository = routerRepository;
- _routerService = routerService;
- _routerExtension = routerExtension;
-
- string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
- if (!string.IsNullOrEmpty(warehouseDevicesStr))
- {
- warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
- }
- else
- {
- warehouseDevices = new List<Dt_WarehouseDevice>();
- }
- }
-
- public Task Execute(IJobExecutionContext context)
- {
- bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
- if (flag && value != null)
- {
- OtherDevice device = (OtherDevice)value;
- Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == device.DeviceCode);
- if (warehouseDevice == null)
- {
- WriteError(device.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
- return Task.CompletedTask;
- }
- List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
- List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
- foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
- {
- DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- if (item.StationType==StationTypeEnum.StationType_OnlyInbound.ObjToInt() && deviceProWrite!=null)
- {
- Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.New.ObjToInt()) && x.DeviceCode == device.DeviceCode);
- if (task!=null)
- {
- //鑾峰彇绔欏彴
- Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
- if (stationManger == null)
- {
- WriteError(item.StationName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- continue;
- }
- //鏌ヨ璺敱
- Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == task.CurrentAddress);
- if (router == null)
- {
- WriteError(item.StationName, $"鏈壘鍒拌矾鐢遍厤缃俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- continue;
- }
- //string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, "AGV_CP");
- //if (string.IsNullOrEmpty(locationCode) && task.TaskType != TaskTypeEnum.EmptyProductBack.ObjToInt())
- //{
- // WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- // continue;
- //}
- device.SetValue(W_ConveyorLineCPDB.StartPos, router.StartPosi, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.EndPos, router.NextPosi, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.Barcode, task.PalletCode, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.TaskNum, task.TaskNum, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.WorkType, task.PalletType, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.WorkMode, 1, item.StationCode);
- device.SetValue(W_ConveyorLineCPDB.CheckPos, 1, item.StationCode);
- //鍚姩鎸囦护
- device.SetValue(W_ConveyorLineCPDB.ConveyArrival, 1, item.StationCode);
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing, nextAddress: router.NextPosi, targetAddress: router.NextPosi);
- if (task.TaskType==TaskTypeEnum.EmptyProductBack.ObjToInt())
- {
- _taskService.TaskCompleted(task.TaskNum);
- }
- }
- }
- else if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
- {
- R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
- if (conveyorLineInfoRead != null && conveyorLineInfoRead.EndPos.ToString() == item.StationCode)
- {
- short isCanTake = device.GetValue<GroundStationDBName, short>(GroundStationDBName.R_IsCanTake, item.StationCode);
- if (conveyorLineInfoRead.ConveyArrivaled == 1 && isCanTake == 1)
- {
- //鑾峰彇浠诲姟
- Dt_Task task = _taskRepository.QueryFirst(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()) && x.DeviceCode == device.DeviceCode && x.TaskNum == conveyorLineInfoRead.TaskNum.ObjToInt());
- //鑾峰彇绔欏彴
- if (task != null)
- {
- Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
- if (stationManger == null)
- {
- WriteError(item.StationName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- continue;
- }
- //鏌ヨ璺敱
- Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == task.NextAddress);
- if (router == null)
- {
- WriteError(item.StationName, $"鏈壘鍒拌矾鐢遍厤缃俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- continue;
- }
- string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, stationManger.StackerCraneCode);
- if (string.IsNullOrEmpty(locationCode))
- {
- WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
- continue;
- }
- _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute, deviceCode: router.ChildPosiDeviceCode, currentAddress: router.StartPosi, nextAddress: locationCode, targetAddress: locationCode);
- }
- }
-
- }
-
- }
- }
- //Dt_StationManger? dt_StationManger = stationMangers.FirstOrDefault(x => x.StationType == StationTypeEnum.StationType_ProductBackTake.ObjToInt());
- //if (dt_StationManger != null)
- //{
- // DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == dt_StationManger.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- // List<Dt_StationManger> ProductBackStations = stationMangers.Where(x => x.StationType == StationTypeEnum.StationType_ProductBack.ObjToInt()).ToList();
- // for (int i = 0; i < ProductBackStations.Count(); i++)
- // {
- // short isCanTake = device.GetValue<GroundStationDBName, short>(GroundStationDBName.R_IsCanTake, dt_StationManger.StationCode);
- // Dt_StationManger stationManger = ProductBackStations[i];
- // string startDb = "DB29.";
- // short stationCurrentStatus = device.Communicator.Read<short>(startDb + stationManger.Remark.ToString());
- // short stationEndStatus = device.Communicator.Read<short>(startDb + (stationManger.Remark.ObjToInt() + 2).ToString());
- // bool endStatus = true;
- // if ((i != 2 && i != 5 && i != 8))
- // {
- // endStatus = (stationEndStatus == 1);
- // }
- // //璇诲彇绾夸綋娈电姸鎬�
- // if (isCanTake == 1 && stationCurrentStatus == 1 && stationManger.IsOccupied==0 && endStatus)
- // {
- // device.SetValue(W_ConveyorLineCPDB.StartPos, dt_StationManger.StationCode, dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.EndPos, stationManger.AGVStationCode, dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.Barcode, "C00001", dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.TaskNum, DateTime.Now.ToString("yyMMddHHmmss"), dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.WorkType, 1, dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.WorkMode, 1, dt_StationManger.StationCode);
- // device.SetValue(W_ConveyorLineCPDB.CheckPos, 1, dt_StationManger.StationCode);
- // //鍚姩鎸囦护
- // device.SetValue(W_ConveyorLineCPDB.ConveyArrival, 1, dt_StationManger.StationCode);
- // stationManger.IsOccupied = 1;
- // _stationMangerRepository.UpdateData(stationManger);
- // Thread.Sleep(2000);
- // return Task.CompletedTask;
- // }
- // else if(stationManger.IsOccupied == 1 && (stationCurrentStatus == 3))
- // {
- // stationManger.IsOccupied = 0;
- // _stationMangerRepository.UpdateData(stationManger);
- // }
- // }
- //}
-
- }
- return Task.CompletedTask;
- }
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs"
new file mode 100644
index 0000000..a541310
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs"
@@ -0,0 +1,109 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Newtonsoft.Json;
+using Quartz;
+using SqlSugar.Extensions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
+
+namespace WIDESEAWCS_Tasks
+{
+ [DisallowConcurrentExecution]
+ public class ConveyorLineJob_CPA : JobBase, IJob
+ {
+ private readonly ICacheService _cacheService;
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterExtension _routerExtension;
+ private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+ public ConveyorLineJob_CPA(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ {
+ _cacheService = cacheService;
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ _routerService = routerService;
+ _routerExtension = routerExtension;
+
+ string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+ if (!string.IsNullOrEmpty(warehouseDevicesStr))
+ {
+ warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+ }
+ else
+ {
+ warehouseDevices = new List<Dt_WarehouseDevice>();
+ }
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
+ {
+ OtherDevice device = (OtherDevice)value;
+ List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+ {
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ if (deviceProRead != null)
+ {
+ R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
+ if (conveyorLineInfoRead.Command == 2 && conveyorLineInfoRead.TaskNo > 0)
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
+ if (task != null)
+ {
+ //鍒嗛厤璐т綅
+ string local = "SC01_CP-001-064-001-01";
+ task.CurrentAddress = item.StackerCraneStationCode;
+ task.TargetAddress= local;
+ task.NextAddress = local;
+ task.DeviceCode = item.StackerCraneCode;
+ _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
+ WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}杩涜鍫嗗灈鏈哄叆搴�");
+ //string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, "AGV_CP");
+ //if (string.IsNullOrEmpty(locationCode) && task.TaskType != TaskTypeEnum.EmptyProductBack.ObjToInt())
+ //{
+ // WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ // continue;
+ //}
+
+ }
+ }
+ }
+ else
+ {
+ WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
+ }
+ }
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
new file mode 100644
index 0000000..91ec5eb
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
@@ -0,0 +1,127 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Newtonsoft.Json;
+using Quartz;
+using SqlSugar.Extensions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
+
+namespace WIDESEAWCS_Tasks
+{
+ [DisallowConcurrentExecution]
+ public class ConveyorLineJob_CPB : JobBase, IJob
+ {
+ private readonly ICacheService _cacheService;
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterExtension _routerExtension;
+ private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+ public ConveyorLineJob_CPB(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ {
+ _cacheService = cacheService;
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ _routerService = routerService;
+ _routerExtension = routerExtension;
+
+ string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+ if (!string.IsNullOrEmpty(warehouseDevicesStr))
+ {
+ warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+ }
+ else
+ {
+ warehouseDevices = new List<Dt_WarehouseDevice>();
+ }
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
+ {
+ OtherDevice device = (OtherDevice)value;
+ List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+ {
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ if (deviceProRead != null && deviceProWrite!=null)
+ {
+ R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
+ if (conveyorLineInfoRead.Command == 6 && conveyorLineInfoRead.TaskNo>0 && !string.IsNullOrEmpty(conveyorLineInfoRead.PalletCode))
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum== conveyorLineInfoRead.TaskNo && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode==device.DeviceCode);
+ if (task != null)
+ {
+ //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
+
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, "SC01_CP", task.TaskType);
+ Dt_Router? router = routers.FirstOrDefault();
+ if (routers == null || routers.Count == 0 || router == null)
+ {
+ WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+ if (routers.Count > 1)
+ {
+ WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+
+ device.SetValue(W_ConveyorLineCPDB.TargetAddress, router.NextPosi, item.StationCode);
+ device.SetValue(W_ConveyorLineCPDB.TaskNo, task.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineCPDB.Command, 1, item.StationCode);
+ task.NextAddress=router.NextPosi;
+ task.PalletType = 1;
+ task.PalletCode = conveyorLineInfoRead.PalletCode;
+ task.Roadway = "SC01_CP";
+ task.DeviceCode = router.ChildPosiDeviceCode;
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
+ WriteError(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
+ //string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, "AGV_CP");
+ //if (string.IsNullOrEmpty(locationCode) && task.TaskType != TaskTypeEnum.EmptyProductBack.ObjToInt())
+ //{
+ // WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ // continue;
+ //}
+
+ }
+ }
+ }
+ else
+ {
+ WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
+ }
+ }
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
new file mode 100644
index 0000000..68b33fc
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
@@ -0,0 +1,108 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Newtonsoft.Json;
+using Quartz;
+using SqlSugar.Extensions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
+
+namespace WIDESEAWCS_Tasks
+{
+ [DisallowConcurrentExecution]
+ public class ConveyorLineJob_CPC : JobBase, IJob
+ {
+ private readonly ICacheService _cacheService;
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterExtension _routerExtension;
+ private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+ public ConveyorLineJob_CPC(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ {
+ _cacheService = cacheService;
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ _routerService = routerService;
+ _routerExtension = routerExtension;
+
+ string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+ if (!string.IsNullOrEmpty(warehouseDevicesStr))
+ {
+ warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+ }
+ else
+ {
+ warehouseDevices = new List<Dt_WarehouseDevice>();
+ }
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
+ {
+ OtherDevice device = (OtherDevice)value;
+ List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+ {
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
+ {
+ R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
+ if (conveyorLineInfoRead.StatusPV == 3 && conveyorLineInfoRead.Command == 11)
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
+ if (task == null)
+ {
+ //鑾峰彇绔欏彴
+ WebResponseContent content = _taskService.RequestWMSTaskSimple("", item.StationCode);
+ //string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, "AGV_CP");
+ //if (string.IsNullOrEmpty(locationCode) && task.TaskType != TaskTypeEnum.EmptyProductBack.ObjToInt())
+ //{
+ // WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ // continue;
+ //}
+ if (content.Status)
+ {
+ Dt_Task taskNew = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.New.ObjToInt()));
+ if (taskNew != null)
+ {
+ _taskService.UpdateTask(taskNew, TaskStatusEnum.RGV_Execute);
+ }
+ }
+ }
+ }
+ }
+
+ }
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs"
new file mode 100644
index 0000000..1328a57
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPD.cs"
@@ -0,0 +1,79 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Newtonsoft.Json;
+using Quartz;
+using SqlSugar.Extensions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
+
+namespace WIDESEAWCS_Tasks
+{
+ [DisallowConcurrentExecution]
+ public class ConveyorLineJob_CPD : JobBase, IJob
+ {
+ private readonly ICacheService _cacheService;
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterExtension _routerExtension;
+ private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+ public ConveyorLineJob_CPD(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ {
+ _cacheService = cacheService;
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ _routerService = routerService;
+ _routerExtension = routerExtension;
+
+ string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+ if (!string.IsNullOrEmpty(warehouseDevicesStr))
+ {
+ warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+ }
+ else
+ {
+ warehouseDevices = new List<Dt_WarehouseDevice>();
+ }
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
+ {
+ OtherDevice device = (OtherDevice)value;
+ List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+ {
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ }
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
new file mode 100644
index 0000000..64903f2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
@@ -0,0 +1,129 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Microsoft.IdentityModel.Tokens;
+using Newtonsoft.Json;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+
+namespace WIDESEAWCS_Tasks
+{
+ [DisallowConcurrentExecution]
+ public class RGVJob_CP : JobBase, IJob
+ {
+ private readonly ICacheService _cacheService;
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterExtension _routerExtension;
+ private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+ public RGVJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ {
+ _cacheService = cacheService;
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ _routerService = routerService;
+ _routerExtension = routerExtension;
+
+ string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+ if (!string.IsNullOrEmpty(warehouseDevicesStr))
+ {
+ warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+ }
+ else
+ {
+ warehouseDevices = new List<Dt_WarehouseDevice>();
+ }
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
+ {
+ OtherDevice device = (OtherDevice)value;
+
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(R_RgvCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == device.DeviceCode && x.DeviceProParamType == nameof(W_RgvCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ Console.WriteLine(DateTime.Now.ToString("yyyy-mm-ddd HH:mm:ss"));
+ if (deviceProRead != null && deviceProWrite != null)
+ {
+ R_RGVCPInfo rgvInfoRead = device.Communicator.ReadCustomer<R_RGVCPInfo>(deviceProRead.DeviceProAddress);
+ if (rgvInfoRead.Mode==4 && rgvInfoRead.State == 0 && rgvInfoRead.TaskDone==1)
+ {
+ //鑾峰彇浠诲姟
+ Dt_Task task = _taskRepository.QueryFirst(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode==device.DeviceCode);
+ if (task != null)
+ {
+ device.SetValue(W_RgvCPDB.WcsTask, task.TaskNum);
+ device.SetValue(W_RgvCPDB.TaskType, 4);
+ device.SetValue(W_RgvCPDB.WorkStation, 1);
+ device.SetValue(W_RgvCPDB.Qu1, task.CurrentAddress);
+ device.SetValue(W_RgvCPDB.Fang1, task.NextAddress);
+ device.SetValue(W_RgvCPDB.TaskReceivedDone, 1);
+ Thread.Sleep(1000);
+ //澶嶄綅淇″彿
+ device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
+ _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+ }
+ }
+ else if(rgvInfoRead.Mode == 4 && rgvInfoRead.State == 1 && rgvInfoRead.TaskDone == 3)
+ {
+ //鑾峰彇浠诲姟
+ Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum==rgvInfoRead.RgvEndTask && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
+ if (task != null)
+ {
+ //鑾峰彇涓嬩竴涓妭鐐圭殑璺敱
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
+ task.CurrentAddress = task.NextAddress;
+ task.NextAddress = "";
+ task.DeviceCode = stationManger.StationDeviceCode;
+ device.SetValue(W_RgvCPDB.TaskReceivedDone, 2);
+ Thread.Sleep(1000);
+ //澶嶄綅淇″彿
+ device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute);
+ WriteError(device.DeviceName, $"RGV浠诲姟瀹屾垚,浠诲姟鍙穥rgvInfoRead.RgvEndTask}");
+ }
+ else
+ {
+ WriteError(device.DeviceName, $"鏈壘鍒癛GV瀵瑰簲鐨勭粨鏉熶换鍔rgvInfoRead.RgvEndTask}");
+ }
+ }
+ }
+ else
+ {
+ WriteError(device.DeviceName, $"鏈壘鍒拌澶囧瓙缂栧彿{device.DeviceCode}鐨勫崗璁俊鎭�");
+ }
+ }
+
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP1.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs"
similarity index 96%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP1.cs"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs"
index 73edfba..067c53d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP1.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs"
@@ -26,7 +26,7 @@
namespace WIDESEAWCS_Tasks
{
[DisallowConcurrentExecution]
- public class StackerCraneJob_CP1 : JobBase, IJob
+ public class StackerCraneJob_CP : JobBase, IJob
{
private readonly ITaskService _taskService;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
@@ -34,7 +34,7 @@
private readonly IRouterService _routerService;
private readonly IStationMangerRepository _stationMangerRepository;
- public StackerCraneJob_CP1(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository)
+ public StackerCraneJob_CP(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository)
{
_taskService = taskService;
_taskExecuteDetailService = taskExecuteDetailService;
@@ -81,7 +81,7 @@
}
catch (Exception ex)
{
- WriteError(nameof(StackerCraneJob_CP1), ex.Message, ex);
+ WriteError(nameof(StackerCraneJob_CP), ex.Message, ex);
}
return Task.CompletedTask;
}
@@ -228,7 +228,7 @@
if (device != null)
{
OtherDevice client = (OtherDevice)device;
- if (!client.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Goods, stationManger.StationCode))//鍑哄簱绔欏彴鏈鍗犵敤
+ if (client.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode)==3)//鍑哄簱绔欏彴鏈鍗犵敤
{
task.NextAddress = stationManger.StackerCraneStationCode;
_taskRepository.UpdateData(task);
--
Gitblit v1.9.3