From e7be74e711076896e7e841b54691daa95067c567 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期四, 12 六月 2025 15:54:49 +0800 Subject: [PATCH] 1 --- 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3a1eae50-a889-44c4-9166-c889690bbbc8.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 169 +++++++++++++++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/AGV_ZHExtend.cs | 68 +++++--- 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8bae546c-39e9-428b-8290-97d10d47c63c.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 22 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs | 16 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SolderMaskModel.cs | 44 +++++ 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1698ae63-4bb9-42cb-9eaf-dd8d45ad01c4.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 4 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 9 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpQmsHelper.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs | 21 ++ 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/99556534-0033-4f9b-a223-ea76f4271439.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/96129156-96dd-45ed-b9d7-7265981a5200.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs | 23 ++ 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1aa445a3-8c03-42e2-8c1a-1a0360d417ba.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/AGV_ZHJob.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 1 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/StackerCraneJob_GM.cs | 2 代码管理/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue | 2 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d796ed71-56e2-4bff-9e27-1a5715a7a17e.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs | 2 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ebfc3963-9e49-4674-a4bd-119fd8ccb8b4.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesLotModel.cs | 21 ++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 33 ++++ 26 files changed, 401 insertions(+), 48 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1698ae63-4bb9-42cb-9eaf-dd8d45ad01c4.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1698ae63-4bb9-42cb-9eaf-dd8d45ad01c4.vsidx" new file mode 100644 index 0000000..cd69395 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1698ae63-4bb9-42cb-9eaf-dd8d45ad01c4.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/3a1eae50-a889-44c4-9166-c889690bbbc8.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3a1eae50-a889-44c4-9166-c889690bbbc8.vsidx" new file mode 100644 index 0000000..f8ffb07 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3a1eae50-a889-44c4-9166-c889690bbbc8.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/96129156-96dd-45ed-b9d7-7265981a5200.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/96129156-96dd-45ed-b9d7-7265981a5200.vsidx" new file mode 100644 index 0000000..6d81998 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/96129156-96dd-45ed-b9d7-7265981a5200.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/d796ed71-56e2-4bff-9e27-1a5715a7a17e.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d796ed71-56e2-4bff-9e27-1a5715a7a17e.vsidx" new file mode 100644 index 0000000..d4a315e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d796ed71-56e2-4bff-9e27-1a5715a7a17e.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" index 77d63a1..03a24c4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" @@ -41,7 +41,7 @@ /// <summary> /// ZHAGV浠诲姟鍙戦�� /// </summary> - [Description("PPAGV浠诲姟鍙戦��")] + [Description("ZHAGV浠诲姟鍙戦��")] Agv_ZHSendTask, /// <summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" index 9e333cd..cfe9fdd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" @@ -72,6 +72,28 @@ [Description("鎴愬搧MES鎻愬簱")] OutMesRworkProduct = 250, /// <summary> + /// 闃茬剨鍓嶆淳宸ュ皬浠� + /// </summary> + [Description("闃茬剨鍓嶆淳宸ュ皬浠�")] + MaskOutNoticeSmall = 260, + + /// <summary> + /// 闃茬剨鍓嶆淳宸ュぇ浠� + /// </summary> + [Description("闃茬剨鍓嶆淳宸ュぇ浠�")] + MaskOutNoticeLarge = 265, + /// <summary> + /// 闃茬剨鍒扮嚎杈瑰皬浠� + /// </summary> + [Description("闃茬剨鍒扮嚎杈瑰皬浠�")] + MaskOutSmall = 270, + + /// <summary> + /// 闃茬剨鍒扮嚎杈瑰ぇ浠� + /// </summary> + [Description("闃茬剨鍒扮嚎杈瑰ぇ浠�")] + MaskOutLarge = 275, + /// <summary> /// 閲囪喘鍏ュ簱 /// </summary> [Description("閲囪喘鍏ュ簱")] @@ -156,7 +178,16 @@ /// </summary> [Description("鎴愬搧绌烘鍥炲簱")] EmptyProductBack = 630, - + /// <summary> + /// 闃荤剨鍏ュ簱灏忎欢 + /// </summary> + [Description("闃荤剨鍏ュ簱灏忎欢")] + InZHProductSmall = 640, + /// <summary> + /// 闃荤剨鍏ュ簱澶т欢 + /// </summary> + [Description("闃荤剨鍏ュ簱澶т欢")] + InZHProductLarge = 645, /// <summary> /// 宸烽亾鍐呯Щ搴� /// </summary> 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 085cbdb..14d41e6 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" @@ -363,7 +363,14 @@ } task.NextAddress = stationManger?.AGVStationCode ?? ""; task.DeviceCode = stationManger?.Remark ?? ""; - task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + if (task.Roadway != "SC01_ZH") + { + task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + } + else + { + task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" index 3d1aa80..e8111b2 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" @@ -315,7 +315,7 @@ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { - Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode); + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x =>( x.StationCode == task.NextAddress || x.StackerCraneStationCode==task.NextAddress )&& x.StackerCraneCode == task.DeviceCode); if (stationManger != null) { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs" index cc068a3..a4da7dd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs" @@ -16,46 +16,64 @@ { public partial class AGV_ZHJob { + /// <summary> + /// 涓嬪彂浠诲姟 + /// </summary> public void SendAGVTask() { try { - var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == TaskStatusEnum.AGV_Execute.ObjToInt()) && nameof(AGV_PPJob).Contains(x.DeviceCode) && !string.IsNullOrEmpty(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); - foreach (var task in newTasks) + var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_Execute.ObjToInt() && !string.IsNullOrEmpty(x.DeviceCode) && nameof(AGV_ZHJob).Contains(x.DeviceCode)).OrderByDescending(x => x.Grade).OrderBy(x => x.CreateDate).ToList(); + if (newTasks.Count > 0) { - try + foreach (var agvTask in newTasks) { - AgvTaskDTO TaskDTO = new AgvTaskDTO() + try { - TaskCode = task.AgvTaskNum, - ReqCode = DateTime.Now.ToString("yyyyMMddHHmmss") + task.AgvTaskNum, - TaskTyp = task.TaskType < TaskTypeEnum.Inbound.ObjToInt() ? "FLC" : "FLR", - ctnrCode = task.PalletCode, - PositionCodePath = new List<CodePath>() - { + AgvTaskDTO taskDTO = new AgvTaskDTO() + { + ReqCode = Guid.NewGuid().ToString().Replace("-", ""), + TaskTyp = "22", + PositionCodePath = new List<CodePath>() + { new CodePath() { type="00", - positionCode=task.CurrentAddress + positionCode=agvTask.CurrentAddress }, new CodePath() { type="00", - positionCode=task.NextAddress + positionCode=agvTask.NextAddress } - }, - }; - WebResponseContent content = _taskService.AgvSendTask(TaskDTO, APIEnum.Agv_ZHSendTask); - if (!content.Status) throw new Exception(content.Message); - task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + }, + TaskCode = agvTask.AgvTaskNum, + PodTyp = agvTask.PalletType < 2 ? "XX" : "DD", + }; + WebResponseContent content = _taskService.AgvSendTask(taskDTO); + if (content.Status) + { + agvTask.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + //agvTask.Remark = content.Data.ObjToString(); + _taskService.UpdateTask(agvTask, TaskStatusEnum.AGV_Executing); + } + else + { + agvTask.TaskState = TaskStatusEnum.Exception.ObjToInt(); + //agvTask.Remark = content.Data.ObjToString(); + agvTask.ExceptionMessage = content.Message; + } + } + catch (Exception ex) + { + agvTask.TaskState = TaskStatusEnum.Exception.ObjToInt(); + //agvTask.Remark = content.Data.ObjToString(); + agvTask.ExceptionMessage = ex.Message; + WriteError(nameof(AGV_ZHJob), ex.Message, ex); + } } - catch (Exception ex) - { - task.TaskState = TaskStatusEnum.Exception.ObjToInt(); - task.ExceptionMessage = ex.Message; - } + _taskService.UpdateData(newTasks); } - _taskService.UpdateData(newTasks); } catch (Exception ex) { @@ -69,7 +87,7 @@ { try { - var WaitToTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + var WaitToTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && nameof(AGV_ZHJob).Contains(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); foreach (var WaitToTask in WaitToTasks) { if (WaitToTask.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -156,7 +174,7 @@ } catch (Exception ex) { - Console.Out.WriteLine(nameof(AGV_CSJJob) + ":" + ex.Message); + Console.Out.WriteLine(nameof(AGV_ZHJob) + ":" + ex.Message); } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHJob.cs" index 14ecf08..01bb0a8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHJob.cs" @@ -42,6 +42,8 @@ try { SendAGVTask(); + + SendAGVWaitToTask(); } catch (Exception ex) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue" index b1c2b43..c5d0cfa 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue" @@ -322,7 +322,7 @@ monthLabel: { formatter: "{M}鏈�", }, - range: "2025-05", + range: dayjs().format('YYYY-MM'), yearLabel: { show: false, }, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1aa445a3-8c03-42e2-8c1a-1a0360d417ba.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1aa445a3-8c03-42e2-8c1a-1a0360d417ba.vsidx" new file mode 100644 index 0000000..115d8c6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1aa445a3-8c03-42e2-8c1a-1a0360d417ba.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/8bae546c-39e9-428b-8290-97d10d47c63c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8bae546c-39e9-428b-8290-97d10d47c63c.vsidx" new file mode 100644 index 0000000..f48b002 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/8bae546c-39e9-428b-8290-97d10d47c63c.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/99556534-0033-4f9b-a223-ea76f4271439.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/99556534-0033-4f9b-a223-ea76f4271439.vsidx" new file mode 100644 index 0000000..1946bb3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/99556534-0033-4f9b-a223-ea76f4271439.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/ebfc3963-9e49-4674-a4bd-119fd8ccb8b4.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ebfc3963-9e49-4674-a4bd-119fd8ccb8b4.vsidx" new file mode 100644 index 0000000..26e693a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ebfc3963-9e49-4674-a4bd-119fd8ccb8b4.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs" index 82cb34c..7145284 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs" @@ -62,10 +62,18 @@ if (mathCurrentRow <= maxDepth) { locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 <= maxDepth).ToList(); + if (beRelocation.Row> maxDepth) + { + locationInfos = locationInfos.Where(x=>x.Row>maxDepth).ToList(); + } } else { locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 > maxDepth).ToList(); + if (beRelocation.Row <= maxDepth) + { + locationInfos = locationInfos.Where(x => x.Row <= maxDepth).ToList(); + } } } @@ -172,11 +180,11 @@ } } } - //鍒ゆ柇濡傛灉宸插畾涔夎揣浣嶇被鍨嬬殑璐т綅鍜屾湭瀹氫箟绫诲瀷鐨勭┖璐т綅閮戒负绌洪噴鏀炬弧瓒虫潯浠剁殑璐т綅 - if (!definedTypeEmptyLocations.Any() && !undefinedTypeEmptyLocations.Any()) - { + ////鍒ゆ柇濡傛灉宸插畾涔夎揣浣嶇被鍨嬬殑璐т綅鍜屾湭瀹氫箟绫诲瀷鐨勭┖璐т綅閮戒负绌洪噴鏀炬弧瓒虫潯浠剁殑璐т綅 + //if (!definedTypeEmptyLocations.Any() && !undefinedTypeEmptyLocations.Any()) + //{ - } + //} return null; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" index 2c24ff6..90c524e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" @@ -74,6 +74,29 @@ /// </summary> [Description("鎴愬搧MES鎻愬簱")] OutMesRworkProduct =250, + + /// <summary> + /// 闃茬剨鍓嶆淳宸ュ皬浠� + /// </summary> + [Description("闃茬剨鍓嶆淳宸ュ皬浠�")] + MaskOutNoticeSmall = 260, + + /// <summary> + /// 闃茬剨鍓嶆淳宸ュぇ浠� + /// </summary> + [Description("闃茬剨鍓嶆淳宸ュぇ浠�")] + MaskOutNoticeLarge = 265, + /// <summary> + /// 闃茬剨鍒扮嚎杈瑰皬浠� + /// </summary> + [Description("闃茬剨鍒扮嚎杈瑰皬浠�")] + MaskOutSmall = 270, + + /// <summary> + /// 闃茬剨鍒扮嚎杈瑰ぇ浠� + /// </summary> + [Description("闃茬剨鍒扮嚎杈瑰ぇ浠�")] + MaskOutLarge = 275, /// <summary> /// 閲囪喘鍏ュ簱 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpQmsHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpQmsHelper.cs" index 525ae13..f504c56 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpQmsHelper.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpQmsHelper.cs" @@ -24,18 +24,18 @@ using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); //姝e紡 - //string authorization = "AppKey 1930944618148245504"; + string authorization = "AppKey 1784536762910281728"; //娴嬭瘯 - string authorization = "AppKey 1930944618148245504"; + //string authorization = "AppKey 1930944618148245504"; headers = new Dictionary<string, string> { { "Authorization", authorization }, //姝e紡 - //{ "Site_tenant_id", "6ec60d66-b08e-4ff3-90fa-57748053f79b" } + { "Site_tenant_id", "0dc2d164-8a62-417e-8a00-808007464feb" } //娴嬭瘯 - { "Site_tenant_id", "6ec60d66-b08e-4ff3-90fa-57748053f79b" } + //{ "Site_tenant_id", "6ec60d66-b08e-4ff3-90fa-57748053f79b" } }; if (headers != null) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesLotModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesLotModel.cs" index 5744eb6..312a99c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesLotModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesLotModel.cs" @@ -6,13 +6,34 @@ namespace WIDESEA_DTO.MES { + /// <summary> + /// MES闃茬剨鎵规鑾峰彇 + /// </summary> public class MesLotInfoModel { + /// <summary> + /// 鐗╂枡鏂欏彿 + /// </summary> public string Product { get; set; } + /// <summary> + /// 鐗╂枡鐗堟湰 + /// </summary> public string ProductVersion { get; set; } + /// <summary> + /// 鐗╂枡鏁伴噺 + /// </summary> public decimal Qty { get; set; } + /// <summary> + /// 鍛ㄦ湡 + /// </summary> public string DateCode { get; set; } + /// <summary> + /// 鎵规 + /// </summary> public string LotNo { get; set; } + /// <summary> + /// 鏄惁婊ot + /// </summary> public bool IsFullNumber { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SolderMaskModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SolderMaskModel.cs" new file mode 100644 index 0000000..775f97e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SolderMaskModel.cs" @@ -0,0 +1,44 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; + +namespace WIDESEA_DTO.MES +{ + /// <summary> + /// 闃茬剨鍓嶅鐞嗘淳宸ラ�氱煡WMS + /// </summary> + [ModelValidate] + public class SolderMaskOutNotice + { + /// <summary> + /// 鎵规鍙� + /// </summary> + [PropertyValidate("鎵规鍙�", NotNullAndEmpty = true)] + public string LotNo { get; set; } + /// <summary> + /// 鐩爣鍦板潃鐮� + /// </summary> + [PropertyValidate("鐩爣鍦板潃鐮�", NotNullAndEmpty = true)] + public string TargetAddressCode { get; set; } + } + /// <summary> + /// 闃茬剨绔嬪簱鍒扮嚎杈圭偣 + /// </summary> + [ModelValidate] + public class SolderMaskOut + { + /// <summary> + /// 鎵规鍙� + /// </summary> + [PropertyValidate("鎵规鍙�", NotNullAndEmpty = true)] + public string LotNo { get; set; } + /// <summary> + /// 鐩爣鍦板潃鐮� + /// </summary> + [PropertyValidate("鐩爣鍦板潃鐮�", NotNullAndEmpty = true)] + public string TargetAddressCode { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" index 4211122..4e12dc7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" @@ -147,6 +147,10 @@ /// <returns></returns> MesResponseContent TestToolOut(TestToolOutModel model); + //闃茬剨鍒扮嚎杈� + MesResponseContent SolderMaskOut(SolderMaskOut model); + //闃茬剨娲惧伐 + MesResponseContent SolderMaskOutNotice(SolderMaskOutNotice model); /// <summary> /// 鐢熸垚鍑哄簱浠诲姟 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" index 2e99a29..b71a4cd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" @@ -359,6 +359,7 @@ ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Remark = " " }; + //璋冪敤QMS鏉ユ枡妫�楠屾帴鍙� string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck); MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>(); if (!mesResponseContent.BSucc) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" index 1181cd4..a702bf8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" @@ -37,6 +37,8 @@ { static object lock_out = new object(); + static object solderMask_out = new object(); + /// <summary> /// 娴嬭瘯鏋跺嚭浠� /// </summary> @@ -111,6 +113,165 @@ _unitOfWorkManage.CommitTran(); //灏嗕换鍔℃帹閫佸埌WCS PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV_CSJ"); + responseContent.OK(); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + responseContent.Error(ex.Message); + } + return responseContent; + } + } + public MesResponseContent SolderMaskOutNotice(SolderMaskOutNotice model) + { + lock (solderMask_out) + { + MesResponseContent responseContent = new MesResponseContent(); + try + { + Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode); + if (exsit != null) + { + return responseContent.Error($"鐩爣鍦板潃閲嶅"); + } + + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString()); + //鑾峰彇搴撳瓨璁板綍 + List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => + x.WarehouseId == warehouse.WarehouseId && + x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x => x.Details).ToList(); + Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == model.LotNo)); + if (stockInfo == null) + { + return responseContent.Error($"闃茬剨搴�:鏃爗model.LotNo}鍙敤搴撳瓨"); + } + Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode); + if (exsit2 != null) + { + return responseContent.Error($"闃茬剨浠诲姟{stockInfo.PalletCode}宸插瓨鍦�"); + } + + Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode && + x.WarehouseId == stockInfo.WarehouseId && + x.LocationStatus == (int)LocationStatusEnum.InStock && + (x.EnableStatus == (int)EnableStatusEnum.Normal || x.EnableStatus == (int)EnableStatusEnum.OnlyOut)); + if (locationInfo == null) + { + return responseContent.Error($"闃茬剨璐т綅:{stockInfo.LocationCode}鍑哄簱鏉′欢涓嶆弧瓒�"); + } + //鐢熸垚闃茬剨鍑哄簱浠诲姟 閿佸畾搴撳瓨 鏇存敼璐т綅鐘舵�� + Dt_Task taskOut = new() + { + CurrentAddress = stockInfo.LocationCode, + Grade = 0, + PalletCode = stockInfo.PalletCode, + NextAddress = "", + Roadway = locationInfo.RoadwayNo, + SourceAddress = stockInfo.LocationCode, + TargetAddress = model.TargetAddressCode, + TaskStatus = (int)TaskStatusEnum.New, + TaskType = stockInfo.PalletType<2 ? (int)TaskTypeEnum.MaskOutNoticeSmall : (int)TaskTypeEnum.MaskOutNoticeLarge, + TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), + PalletType = stockInfo.PalletType, + WarehouseId = stockInfo.WarehouseId, + }; + stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾; + LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus; + locationInfo.LocationStatus = (int)LocationStatusEnum.Lock; + //鍒ゆ柇鏄惁鏈夊嚭搴撳崟淇℃伅 + _unitOfWorkManage.BeginTran(); + //鏇存柊搴撳瓨鐘舵�� + _stockRepository.StockInfoRepository.UpdateData(stockInfo); + //鏇存柊璐т綅鐘舵�� + _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId); + //鏂板缓浠诲姟 + BaseDal.AddData(taskOut); + //鍔犲叆璐т綅鍙樺姩璁板綍 + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationStatusEnum.Lock, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum); + _unitOfWorkManage.CommitTran(); + //灏嗕换鍔℃帹閫佸埌WCS + PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV_ZH"); + responseContent.OK(); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + responseContent.Error(ex.Message); + } + return responseContent; + } + } + + public MesResponseContent SolderMaskOut(SolderMaskOut model) + { + lock (solderMask_out) + { + MesResponseContent responseContent = new MesResponseContent(); + try + { + Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode); + if (exsit != null) + { + return responseContent.Error($"鐩爣鍦板潃閲嶅"); + } + + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString()); + //鑾峰彇搴撳瓨璁板綍 + List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => + x.WarehouseId == warehouse.WarehouseId && + x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x => x.Details).ToList(); + Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == model.LotNo)); + if (stockInfo == null) + { + return responseContent.Error($"闃茬剨搴�:鏃爗model.LotNo}鍙敤搴撳瓨"); + } + Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode); + if (exsit2 != null) + { + return responseContent.Error($"闃茬剨浠诲姟{stockInfo.PalletCode}宸插瓨鍦�"); + } + + Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode && + x.WarehouseId == stockInfo.WarehouseId && + x.LocationStatus == (int)LocationStatusEnum.InStock && + (x.EnableStatus == (int)EnableStatusEnum.Normal || x.EnableStatus == (int)EnableStatusEnum.OnlyOut)); + if (locationInfo == null) + { + return responseContent.Error($"闃茬剨璐т綅:{stockInfo.LocationCode}鍑哄簱鏉′欢涓嶆弧瓒�"); + } + //鐢熸垚闃茬剨鍑哄簱浠诲姟 閿佸畾搴撳瓨 鏇存敼璐т綅鐘舵�� + Dt_Task taskOut = new() + { + CurrentAddress = stockInfo.LocationCode, + Grade = 0, + PalletCode = stockInfo.PalletCode, + NextAddress = "", + Roadway = locationInfo.RoadwayNo, + SourceAddress = stockInfo.LocationCode, + TargetAddress = model.TargetAddressCode, + TaskStatus = (int)TaskStatusEnum.New, + TaskType = stockInfo.PalletType < 2 ? (int)TaskTypeEnum.MaskOutSmall : (int)TaskTypeEnum.m, + TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), + PalletType = stockInfo.PalletType, + WarehouseId = stockInfo.WarehouseId, + }; + stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾; + LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus; + locationInfo.LocationStatus = (int)LocationStatusEnum.Lock; + //鍒ゆ柇鏄惁鏈夊嚭搴撳崟淇℃伅 + _unitOfWorkManage.BeginTran(); + //鏇存柊搴撳瓨鐘舵�� + _stockRepository.StockInfoRepository.UpdateData(stockInfo); + //鏇存柊璐т綅鐘舵�� + _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId); + //鏂板缓浠诲姟 + BaseDal.AddData(taskOut); + //鍔犲叆璐т綅鍙樺姩璁板綍 + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationStatusEnum.Lock, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum); + _unitOfWorkManage.CommitTran(); + //灏嗕换鍔℃帹閫佸埌WCS + PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV_ZH"); responseContent.OK(); } catch (Exception ex) @@ -451,10 +612,16 @@ } Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == palletTypeInfo.WarehouseId); - + //鍒ゆ柇鏄惁鎵樼洏搴撳瓨鏄惁宸插瓨鍦� + Dt_StockInfo stockInfoOld = _stockRepository.StockInfo_HtyRepository.QueryData(x => x.PalletCode == model.CarrierCode).First(); + if (stockInfoOld!=null) + { + return MesResponseContent.Instance.Error($"鎵樼洏鍙穥model.CarrierCode}宸插瓨鍦�"); + } Dt_StockInfo_Hty stockInfo_Hty = _stockRepository.StockInfo_HtyRepository.QueryData(x => x.PalletCode == model.CarrierCode).OrderByDescending(x => x.SourceId).First(); Dt_StockInfoDetail_Hty stockInfoDetail_Hty = _stockRepository.StockInfoDetail_HtyRepository.QueryFirst(x => x.StockId == stockInfo_Hty.SourceId); + Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" index c7e9255..fcb6a0e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" @@ -765,13 +765,21 @@ { return content.Error($"鎵樼洏绫诲瀷淇℃伅涓嶅瓨鍦�"); } - //鑾峰彇闃荤剨鎵规 - WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot); - if (!requestLotInfo.Status) + ////鑾峰彇闃荤剨鎵规 + //WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot); + //if (!requestLotInfo.Status) + //{ + // return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}"); + //} + //MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString()); + MesLotInfoModel mesLotInfo = new MesLotInfoModel() { - return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}"); - } - MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString()); + Product="FH001", + ProductVersion="A1", + Qty=20, + LotNo= materialLot, + IsFullNumber=true + }; Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() { MaterielSpec = mesLotInfo.ProductVersion, @@ -820,7 +828,7 @@ //BaseDal.AddData(task); _unitOfWorkManage.CommitTran(); //灏嗕换鍔℃帹閫佸埌WCS - PushTasksToWCS(new List<Dt_Task>() { taskIn }, "AGV_ZH"); ; + PushTasksToWCS(new List<Dt_Task>() { taskIn }, "AGV_ZH", agvTaskCode); content.OK(data: taskIn); } catch (Exception ex) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" index 0e09293..260b7e8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" @@ -75,7 +75,7 @@ heightType = 1; } - Dt_LocationInfo? newLocation = _basicService.LocationInfoService.AssignLocation(needRelocationItem.RoadwayNo, task.PalletType, task.WarehouseId, needRelocationItem.LocationCode, heightType); + Dt_LocationInfo? newLocation = _basicService.LocationInfoService.AssignLocation(needRelocationItem.RoadwayNo, stockInfo.PalletType, task.WarehouseId, needRelocationItem.LocationCode, heightType); if (newLocation != null) { Dt_Task newTask = new Dt_Task() diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" index 6f7f214..790729f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" @@ -46,7 +46,26 @@ { return _taskService.TestToolOut(model.Content); } - + /// <summary> + /// 鎺ユ敹MES闃茬剨娲惧伐 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("SolderMaskOutNotice"), AllowAnonymous, MethodParamsValidate] + public MesResponseContent SolderMaskOutNotice([FromBody] Root<SolderMaskOutNotice> model) + { + return _taskService.SolderMaskOutNotice(model.Content); + } + /// <summary> + /// 鎺ユ敹MES闃茬剨鍒扮嚎杈� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("SolderMaskOut"), AllowAnonymous, MethodParamsValidate] + public MesResponseContent SolderMaskOut([FromBody] Root<SolderMaskOut> model) + { + return _taskService.SolderMaskOut(model.Content); + } /// <summary> /// 鎺ユ敹MES娴嬭瘯鏋堕��搴� /// </summary> -- Gitblit v1.9.3