From 217a65fe8eb2612b7d61e9ce5f450e76bfc318f6 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期一, 09 六月 2025 17:13:15 +0800 Subject: [PATCH] 添加数据库接口日志记录 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs | 84 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" index 15b03e3..15e927b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" @@ -49,6 +49,61 @@ } /// <summary> + /// 璐т綅缁戝畾 + /// </summary> + /// <param name="qty"></param> + /// <param name="Point"></param> + /// <returns></returns> + public WebResponseContent Bind(string qty, string point) + { + try + { + if (Repository.QueryFirst(x => x.SourceAddress == point && + x.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt() || + x.TargetAddress == point) != null) + throw new Exception($"绔欑偣銆恵point}銆戝瓨鍦ㄤ换鍔★紒"); + Dt_CachePoint? cachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == point); + if (cachePoint == null) throw new Exception("鏈壘鍒扮紦瀛樼偣!"); + if (cachePoint.AreaId != 4) throw new Exception("褰撳墠缂撳瓨鐐瑰尯鍩熸棤缁戝畾鏉冮檺!"); + cachePoint.PointStatus = LocationStatusEnum.InStock.ObjToInt(); + cachePoint.Remark = qty; + cachePoint.Modifier = App.User.UserName; + _basicService.CachePointService.Repository.UpdateData(cachePoint); + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + /// <summary> + /// 閲婃斁缂撳瓨鐐� + /// </summary> + /// <param name="point"></param> + /// <returns></returns> + public WebResponseContent AcrossFloorCallMat(string point) + { + try + { + if (Repository.QueryFirst(x => x.SourceAddress == point && + x.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt() || + x.TargetAddress == point) != null) + throw new Exception($"绔欑偣銆恵point}銆戝瓨鍦ㄤ换鍔★紒"); + Dt_CachePoint? cachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == point); + if (cachePoint == null) throw new Exception("鏈壘鍒扮紦瀛樼偣!"); + if (cachePoint.AreaId != 2 && cachePoint.AreaId != 5 && cachePoint.AreaId != 8) + throw new Exception("褰撳墠缂撳瓨鐐瑰尯鍩熸棤閲婃斁鏉冮檺!"); + cachePoint.PointStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.CachePointService.Repository.UpdateData(cachePoint); + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + /// <summary> /// 鍙枡 /// </summary> /// <param name="endPoint"></param> @@ -57,6 +112,11 @@ { try { + if (Repository.QueryFirst(x => x.SourceAddress == endPoint && + x.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt() || + x.TargetAddress == endPoint) != null) + throw new Exception($"绔欑偣銆恵endPoint}銆戝瓨鍦ㄤ换鍔★紒"); + Dt_CachePoint cachePoint = GetCachePointByEndPoint(endPoint); Dt_Task task = new Dt_Task() @@ -78,7 +138,7 @@ Db.Ado.BeginTran(); var response = SendAGVTask(task, cachePoint); - if (response.Status) + if (!response.Status) { _unitOfWorkManage.RollbackTran(); return WebResponseContent.Instance.Error($"{response.Message}"); @@ -105,6 +165,11 @@ { try { + if (Repository.QueryFirst(x => x.SourceAddress == startPoint && + x.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt() || + x.TargetAddress == startPoint) != null) + throw new Exception($"绔欑偣銆恵startPoint}銆戝瓨鍦ㄤ换鍔★紒"); + Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint); Dt_Task task = new() @@ -124,12 +189,21 @@ }; cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt(); + Db.Ado.BeginTran(); + var response = SendAGVTask(task, cachePoint); + if (!response.Status) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error($"{response.Message}"); + } _basicService.CachePointService.Repository.UpdateData(cachePoint); Repository.AddData(task); + Db.Ado.CommitTran(); return WebResponseContent.Instance.OK(); } catch (Exception ex) { + Db.Ado.RollbackTran(); return WebResponseContent.Instance.Error(ex.Message); } } @@ -219,6 +293,8 @@ { return new { code = 404, message = "鏈壘鍒拌浠诲姟!" }; } + if (task.TaskStatus == ((AGVTaskStatusEnum)Enum.Parse(typeof(AGVTaskStatusEnum), model.Task_status)).ObjToInt()) + return new { code = 200, message = "鎴愬姛" }; switch ((AGVTaskStatusEnum)Enum.Parse(typeof(AGVTaskStatusEnum), model.Task_status)) { case AGVTaskStatusEnum.Create: @@ -265,6 +341,12 @@ } case AGVTaskStatusEnum.Cancel: { + if (task.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt()) + { + Dt_CachePoint startCachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == task.SourceAddress); + startCachePoint.PointStatus = LocationStatusEnum.InStock.ObjToInt(); + _basicService.CachePointService.Repository.UpdateData(startCachePoint); + } task.TaskStatus = AGVTaskStatusEnum.Cancel.ObjToInt(); BaseDal.DeleteAndMoveIntoHty(task, OperateType.鑷姩鍒犻櫎); return new { code = 200, message = "鎴愬姛" }; -- Gitblit v1.9.3