From b88ee5645e19de8e43254d5c312b97adae5c9897 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 13 六月 2024 15:55:30 +0800 Subject: [PATCH] 新增协议 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" index 6230dc3..befac78 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" @@ -28,6 +28,7 @@ using WIDESEA_Comm; using WIDESEA_Comm.TaskNo; using WIDESEA_Common; +using static FreeSql.Internal.GlobalFilter; namespace WIDESEA_WMS.Services { @@ -111,20 +112,25 @@ VOLContext context = new VOLContext(); Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); - string completor = UserContext.Current.UserName; foreach (var Key in saveModel.DelKeys) { try { var station = repository.Find(x => x.id.ToString() == Key.ToString()).FirstOrDefault(); - if (!station.stationCode.Contains("X")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�"); + if (!station.stationCode.Contains("X") && !station.stationCode.Contains("W01001004") && !station.stationCode.Contains("W01001005")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�"); if (!station.enable) throw new Exception($"{station.stationCode}鏈惎鐢紒"); if (station.location_state == LocationStateEnum.Abnormal.ToString()) throw new Exception($"{station.stationCode}鐘舵�佸紓甯革紒"); if (station.location_state == LocationStateEnum.Empty.ToString()) throw new Exception($"{station.stationCode}鐘舵�佷负绌猴紒"); if (station.remark == "妗佹灦涓嬫枡") throw new Exception($"{station.stationCode}妗佹灦姝e湪涓嬫枡锛�"); - if (agvtaskRepository.Find(x => x.agv_toaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�"); - - if (!agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode).Any()) + + var task = agvtaskRepository.Find(x => x.agv_toaddress == station.stationCode).FirstOrDefault(); + if (task != null) + { + if (task.agv_taskstate != AGVTaskStateEnum.Queue.ToString()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�"); + task.agv_Traytype = station.tray_type == TrayTypeEnum.SmallTray.ToString() ? TrayTypeEnum.LargeTray.ToString() : TrayTypeEnum.SmallTray.ToString(); + agvtaskRepository.Update(task, x => new { x.agv_Traytype }, true); + } + else if (!agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode).Any()) { #region 涓虹┖鎵樺苟涓旀暟閲忎负0,鍒涘缓鍙栫┖鎵樹换鍔� if (station.tray_status == TrayStateEnum.EmptyTray.ToString() && station.quantity == 0) @@ -194,6 +200,7 @@ webResponse.Error(webResponse.Message += ex.Message); } } + WriteDBLog.Write($"鎵嬪姩鍒囨崲鎵樼洏 ", new { 淇℃伅 = webResponse.Message }, LogState.Sucess, "WMS", UserContext.Current.UserName); return webResponse; } /// <summary> @@ -208,6 +215,7 @@ Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); string completor = UserContext.Current.UserName; + //List<object> jsons = null; foreach (var Key in saveModel.DelKeys) { try @@ -224,6 +232,9 @@ if (agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode || x.agv_fromaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�"); var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); if (Work == null) throw new Exception($"鏈壘鍒拌揣浣峽station.stationCode}鐨勬満鍔犲伐宸ュ崟淇℃伅锛�"); + string tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(); + if (!string.IsNullOrEmpty(Work.area) || station.stationCode.Contains("3")) + tasktype = AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString(); dt_agvtask agvtask = new dt_agvtask() { agv_fromaddress = station.stationCode, @@ -234,9 +245,9 @@ agv_taskstate = AGVTaskStateEnum.Queue.ToString(), agv_materielid = station.stationType, agv_qty = station.quantity, - agv_tasktype = station.stationCode.Contains("3") ? AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() : AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_tasktype = tasktype, agv_toaddress = "", - agv_userid = UserContext.Current.UserName, + agv_userid = completor, bindSN = station.bindSN, agv_worktype = Convert.ToInt32(Work.processCode), agv_materbarcode = Work.materialCode, @@ -244,6 +255,7 @@ jobID = station.Number, agv_TrayStatus = station.tray_status }; + //jsons.Add(agvtask); agvtaskRepository.Add(agvtask, true); station.location_state = LocationStateEnum.InBusy.ToString(); repository.Update(station, x => new { x.location_state }, true); @@ -254,6 +266,7 @@ webResponse.Error(webResponse.Message += ex.Message); } } + WriteDBLog.Write($"鎵嬪姩涓嬫枡浠诲姟 ", new { 淇℃伅 = webResponse.Message }, LogState.Sucess, "WMS", completor); return webResponse; } -- Gitblit v1.9.3