From d41acebbd89f171b0eeb205fca4f68043ca85f95 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期三, 03 十二月 2025 19:47:24 +0800
Subject: [PATCH] 选配与暂存
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 134 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 126 insertions(+), 8 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index a32ff9a..eeef14e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -40,6 +40,7 @@
private readonly IRouterRepository _routerRepository;
private readonly ITask_HtyRepository _taskHtyRepository;
private readonly IDt_needBarcodeRepository _taskNeedBarcodeRepository;
+
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
@@ -842,7 +843,32 @@
#endregion 閲嶅啓鏂规硶
-
+ #region
+ public WebResponseContent UpWheelsFlow(SaveModel saveModel)
+ {
+ WebResponseContent webResponse = new WebResponseContent();
+ try
+ {
+ string CZTM = saveModel.MainData["CZTM"].ToString();
+ string TargetAddress = saveModel.MainData["TargetAddress"].ToString();
+ List<Dt_Task> taskt = BaseDal.QueryData(x => x.task_CZInfo == CZTM).ToList();
+ if (taskt.Count() == 0)
+ return webResponse.Error($"鏈壘鍒板搴旇溅杞达細{CZTM}鐨勮溅杞嚭搴撲俊鎭�");
+ foreach (var item in taskt)
+ {
+ item.Towhereabouts = TargetAddress;
+ }
+ BaseDal.UpdateData(taskt);
+ return webResponse.OK("淇敼鎴愬姛锛�");
+ }
+ catch (Exception ex)
+ {
+ // 濡傛灉鍙戠敓寮傚父锛屽垯璋冪敤content.Error鏂规硶锛岃褰曢敊璇俊鎭紝骞惰緭鍑洪敊璇俊鎭�
+ webResponse.Error(ex.Message);
+ return webResponse;
+ }
+ }
+ #endregion
@@ -911,7 +937,9 @@
}
}
- public WebResponseContent GetAGVTaskdistribution(string TargetAddress)
+
+ //璇诲彇鐢宠锛岀粰agv涓嬪彂浠诲姟
+ public WebResponseContent GetAGVTaskdistribution(string TargetAddress,string Number)
{
WebResponseContent content = new WebResponseContent();
@@ -924,15 +952,41 @@
{
throw new InvalidOperationException("WMS IP 鏈厤缃�");
}
- var wmsIpAddress = wmsBase + completeTask;
- var taskDto = new RequestTaskDto()
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1000");
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ DeviceProDTO? deviceProDTOt = conveyorLine.DeviceProDTOs.Find(x => x.DeviceChildCode == TargetAddress && x.DeviceProParamName == "ConveyorLineSingal");
+ if (conveyorLine.Communicator.Read<short>(deviceProDTOt.DeviceProAddress) == 1)
{
- Position = TargetAddress,
- };
- var result = HttpHelper.PostAsync(wmsIpAddress, taskDto.ToJsonString()).Result;
- content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ var wmsIpAddress = wmsBase + completeTask;
+ var taskDto = new RequestTaskDto()
+ {
+ RequestType = "999",
+ Position = TargetAddress,
+ };
+
+
+ var result = HttpHelper.PostAsync(wmsIpAddress, taskDto.ToJsonString()).Result;
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ if (content.Status)
+ {
+ List<Dt_Task> tasks = BaseDal.QueryData(x => x.axle_czh == Number);
+ if (tasks.Count > 0)
+ {
+ foreach (var task in tasks)
+ {
+ task.Towhereabouts = TargetAddress;
+ }
+ BaseDal.UpdateData(tasks);
+ }
+ }
+ }
+ else
+ {
+ content.Error();
+ }
+
return content;
}
catch (Exception ex)
@@ -971,6 +1025,7 @@
public WebResponseContent GetPlcState(string TargetAddress)
{
+
Dt_StationManager dt_Station=_stationManagerRepository.QueryFirst(x => x.stationLocation == TargetAddress);
if(dt_Station == null)
return WebResponseContent.Instance.Error("鏈壘鍒板帇瑁呬綅淇℃伅锛�");
@@ -979,6 +1034,17 @@
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1000");
CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+
+ //DeviceProDTO? devicePr = conveyorLine.DeviceProDTOs.Find(x => x.DeviceChildCode == "2033" && x.DeviceProParamName == "ConveyorLineSingal");
+ short agv20 = conveyorLine.Communicator.Read<short>("DB5.794");
+ if (agv20 != 1) //鑾峰彇涓嬭酱澶勬槸鍚︽湁鏂欏崰鐢�
+ {
+ return WebResponseContent.Instance.Error($"鏈娴嬪埌agv鍙栨枡绔欏彴鏈夎揣锛屼笉鍙笅鍙戜换鍔★紝璇诲彇鍒帮細{agv20}");
+ }
+
+
+
+
DeviceProDTO? deviceProDTOt = conveyorLine.DeviceProDTOs.Find(x => x.DeviceChildCode == TargetAddress && x.DeviceProParamName == "ConveyorLineSingal");
DeviceProDTO? deviceProDTOt2 = conveyorLine.DeviceProDTOs.Find(x => x.DeviceChildCode == TargetAddress && x.DeviceProParamName == "ResponState");
if (conveyorLine.Communicator.Read<short>(deviceProDTOt.DeviceProAddress)==1)
@@ -992,5 +1058,57 @@
return WebResponseContent.Instance.Error("璇诲彇鍒板帇瑁呬綅淇″彿鍙嶉涓嶅彲鏀捐揣锛佷笉鍙敓鎴恆gv浠诲姟");
}
}
+
+
+
+ public WebResponseContent SetPlcPalletCode(SaveModel saveModel)
+ {
+ WebResponseContent webResponse = new WebResponseContent();
+ try
+ {
+ if (saveModel.DelKeys.Count != 2)
+ {
+ return webResponse.Error("wcs浼犲弬閿欒锛�");
+ }
+ string AddStitic = saveModel.DelKeys[0].ToString();
+ if (AddStitic == "") return webResponse.Error("閫夋嫨鐨勭珯鍙颁负绌猴紝璇烽�夋嫨閫夋嫨绔欏彴锛�");
+ string PalletCode = saveModel.DelKeys[1].ToString();
+ if (PalletCode == "") return webResponse.Error("杈撳叆鐨勬潯鐮佷负绌猴紝璇疯緭鍏ユ潯鐮佷俊鎭紒");
+
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1000");
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+
+ bool setplc = false;
+ switch (AddStitic)
+ {
+ case "1010":
+ setplc = conveyorLine.Communicator.Write("DB5.914", (string)PalletCode);
+ break;
+ case "2015":
+ setplc = conveyorLine.Communicator.Write("DB5.434", (string)PalletCode);
+ break;
+ case "2017":
+ setplc = conveyorLine.Communicator.Write("DB5.554", (string)PalletCode);
+ break;
+ case "2021":
+ setplc = conveyorLine.Communicator.Write("DB5.794", (string)PalletCode);
+ break;
+ }
+
+ if (setplc)
+ {
+ return webResponse.OK($"瀵箋AddStitic}绔欏彴鍐欏叆鏉$爜锛歿PalletCode}锛屾垚鍔�");
+ }
+ else
+ {
+ return webResponse.Error($"瀵箋AddStitic}绔欏彴鍐欏叆鏉$爜锛歿PalletCode}锛屽け璐�");
+ }
+ }
+ catch (Exception ex)
+ {
+ return webResponse.Error($"閿欒淇℃伅锛歿ex.Message}");
+ throw;
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3