From 8baeba33d75be5ae6bffbffa3ae3427b3d7891d4 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期一, 13 一月 2025 10:11:21 +0800
Subject: [PATCH] 1
---
/dev/null | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs | 105 +++++++++++++++++++++++++++-------
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ISystemRepository/ISys_MenuRepository.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemRepository/Sys_MenuRepository.cs | 24 +++++++
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9322c121-b454-4586-9898-3e1db55e94db.vsidx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 4
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 5 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs | 2
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx | 0
9 files changed, 112 insertions(+), 30 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9322c121-b454-4586-9898-3e1db55e94db.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9322c121-b454-4586-9898-3e1db55e94db.vsidx"
new file mode 100644
index 0000000..24ac4be
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9322c121-b454-4586-9898-3e1db55e94db.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e4c6b3e1-f737-41da-b6c2-b936ca7e1d6d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e4c6b3e1-f737-41da-b6c2-b936ca7e1d6d.vsidx"
deleted file mode 100644
index d85dd3e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e4c6b3e1-f737-41da-b6c2-b936ca7e1d6d.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index b018095..337f0a9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -57,7 +57,7 @@
}
Dt_TaskExecuteDetail taskExecuteDetail = new()
{
- IsManual = App.User.UserId > 0,
+ IsManual = App.User?.UserId > 0,
IsNormal = isNormal,
TaskNum = taskNum,
TaskId = taskId,
@@ -93,7 +93,7 @@
}
Dt_TaskExecuteDetail taskExecuteDetail = new()
{
- IsManual = App.User.UserId > 0,
+ IsManual = App.User?.UserId > 0,
IsNormal = isNormal,
TaskNum = taskNum,
TaskId = task.TaskId,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 5bb7519..7effdeb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -218,7 +218,7 @@
else
{
List<Dt_Router> dt_Routers = _routerService.QueryNextRoutes(item.SourceAddress, item.RoadWay, item.TaskType);
- if(dt_Routers != null && dt_Routers.Count > 0)
+ if (dt_Routers != null && dt_Routers.Count > 0)
{
task.NextAddress = dt_Routers.FirstOrDefault().NextPosi;
task.DeviceCode = dt_Routers.FirstOrDefault().ChildPosiDeviceCode;
@@ -227,7 +227,8 @@
{
task.NextAddress = "";
task.DeviceCode = "";
- } }
+ }
+ }
}
else
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
index 0d1cc07..11b1739 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
@@ -95,7 +95,7 @@
string address = AppSettings.Get("WMSApiAddress");
if (!string.IsNullOrEmpty(address))
{
- HttpHelper.Post($"{address}/api/Task/UpdateTaskInfo", task.Serialize());
+ //HttpHelper.Post($"{address}/api/Task/UpdateTaskInfo", task.Serialize());
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
index de05365..8ac14fc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common;
@@ -82,39 +83,96 @@
if (conveyorLineInfoRead.TaskNum == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
{
Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && (x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
- if(task != null)
+ if (task != null)
{
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-
+ string currentAddress = task.CurrentAddress;
+ string nextAddress = task.NextAddress;
+ TaskStatusEnum taskState = TaskStatusEnum.Line_Executing;
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, task.Roadway, task.TaskType);
+ if (routers == null || routers.Count == 0)
+ {
+ WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+ if (routers.Count > 1)
+ {
+ WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+ Dt_Router router = routers.FirstOrDefault();
+ if (router.IsEnd)
+ {
+ currentAddress = item.StackerCraneStationCode;
+ nextAddress = task.TargetAddress;
+ taskState = TaskStatusEnum.SC_Execute;
+ device.SetValue(W_ConveyorLineDB.EndPos, task.CurrentAddress, item.StationCode);
+ }
+ else
+ {
+ device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+ }
device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode);
device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress);
}
- List<Dt_Router> routers = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt());
-
- List<string> stations = routers.Select(x => x.NextPosi).ToList();
-
- WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations);
- if (responseContent.Status)
+ else
{
- WebResponseContent content = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode, responseContent.Data.ToString());
- if (content.Status)
- {
- task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && (x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
- if (task != null)
- {
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
+ List<Dt_Router> routers = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt());
- device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode);
- device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
- device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ List<string> stations = routers.Select(x => x.NextPosi).ToList();
+
+ WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations);
+ if (responseContent.Status)
+ {
+ WebResponseContent content = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode, responseContent.Data.ToString());
+ if (content.Status)
+ {
+ task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && (x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
+ if (task != null)
+ {
+ Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == item.StationCode);
+ if (router == null)
+ {
+ WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+ string currentAddress = task.CurrentAddress;
+ string nextAddress = task.NextAddress;
+ TaskStatusEnum taskState = TaskStatusEnum.Line_Executing;
+
+ device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
+ if (router.NextPosi != task.NextAddress)
+ {
+ currentAddress = item.StackerCraneStationCode;
+ nextAddress = task.TargetAddress;
+ taskState = TaskStatusEnum.SC_Execute;
+ device.SetValue(W_ConveyorLineDB.EndPos, task.CurrentAddress, item.StationCode);
+ }
+ else
+ {
+ device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+ }
+
+ device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress);
+ //continue;
+
+ //_taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
+
+ //device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode);
+ //device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
+ //device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+ //device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
+ //device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ }
}
}
}
+
}
else//鐢熶骇閫�搴�
{
@@ -122,9 +180,10 @@
if (task != null)
{
Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == item.StationCode);
- if(router == null)
+ if (router == null)
{
WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
}
Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/062176ae-3338-43a8-9030-bb1a16e68b97.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/062176ae-3338-43a8-9030-bb1a16e68b97.vsidx"
deleted file mode 100644
index d8708e7..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/062176ae-3338-43a8-9030-bb1a16e68b97.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/35b9e878-61a3-436f-b549-08084babf3ff.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/35b9e878-61a3-436f-b549-08084babf3ff.vsidx"
deleted file mode 100644
index d9643f1..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/35b9e878-61a3-436f-b549-08084babf3ff.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx"
new file mode 100644
index 0000000..a7c7465
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bf8cf5bc-82f5-4dba-96c7-5fd79b33c418.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bf8cf5bc-82f5-4dba-96c7-5fd79b33c418.vsidx"
deleted file mode 100644
index 707061d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bf8cf5bc-82f5-4dba-96c7-5fd79b33c418.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
deleted file mode 100644
index e69de29..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
+++ /dev/null
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ISystemRepository/ISys_MenuRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ISystemRepository/ISys_MenuRepository.cs"
index aa11059..e515db2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ISystemRepository/ISys_MenuRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ISystemRepository/ISys_MenuRepository.cs"
@@ -13,6 +13,8 @@
public interface ISys_MenuRepository : IRepository<Sys_Menu>
{
List<MenuDTO> GetAllMenu();
+
+ List<MenuDTO> GetAllPDAMenu();
/// <summary>
/// 鑾峰彇鎵�鏈塒DA鏉冮檺
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemRepository/Sys_MenuRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemRepository/Sys_MenuRepository.cs"
index 139ac7f..f49edd5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemRepository/Sys_MenuRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemRepository/Sys_MenuRepository.cs"
@@ -45,6 +45,26 @@
return _menus;
}
+ public List<MenuDTO> GetAllPDAMenu()
+ {
+ List<Sys_Menu> menus = base.QueryData(x => (x.Enable == 1 || x.Enable == 2) && x.MenuType == 1).OrderByDescending(a => a.OrderNo).ThenByDescending(q => q.ParentId).ToList();
+ List<MenuDTO> _menus = _mapper.Map<List<MenuDTO>>(menus);
+ _menus.ForEach(x =>
+ {
+ if (!string.IsNullOrEmpty(x.Auth) && x.Auth.Length > 10)
+ {
+ try
+ {
+ x.Actions = x.Auth.DeserializeObject<List<ActionDTO>>();
+ }
+ catch { }
+ }
+ x.Actions ??= new List<ActionDTO>();
+ });
+ string test = _menus.Serialize();
+ return _menus;
+ }
+
public List<MenuDTO> GetAllMenuPDA()
{
//List<Sys_Menu> menus = base.QueryData(x => (x.Enable == 1 || x.Enable == 2) && x.MenuType == App.User.MenuType).OrderByDescending(a => a.OrderNo).ThenByDescending(q => q.ParentId).ToList();
@@ -63,10 +83,10 @@
//});
if (App.User.IsRoleIdSuperAdmin(App.User.RoleId))
{
- return GetAllMenu();
+ return GetAllPDAMenu();
}
List<int> menuIds = GetPermissions(App.User.RoleId).Select(x => x.MenuId).ToList();
- return GetAllMenu().Where(x => menuIds.Contains(x.MenuId)).ToList();
+ return GetAllPDAMenu().Where(x => menuIds.Contains(x.MenuId)).ToList();
}
public object GetSuperAdminMenu()
--
Gitblit v1.9.3