From 4c7f2d26fd6041d32f4e291559bc443671493246 Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 19 六月 2025 16:52:45 +0800 Subject: [PATCH] 修改问题 --- Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs | 61 +++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 19 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs index 96f193c..17c4fc0 100644 --- a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs +++ b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs @@ -10,6 +10,7 @@ using NewLife; using WCS.Application.Entity; using WCS.Application.Service.WcsTask.Dto; +using WCS.Application.Util; namespace WCS.Application; @@ -25,6 +26,7 @@ private readonly IHubContext<TaskLogHub, ITaskLogHub> _taskLogHubContext; private readonly SqlSugarRepository<WcsCheckTask> _wcsCheckTaskRep; private readonly SqlSugarRepository<WcsMateialPzInfo> _wcsMateialPzInfoRep; + private readonly object _lockObj = new object(); public WcsTaskService(SqlSugarRepository<WcsTask> wcsTaskRep, IHubContext<TaskLogHub, ITaskLogHub> taskLogHubContext, SqlSugarRepository<WcsCheckTask> wcsCheckTaskRep, SqlSugarRepository<WcsMateialPzInfo> wcsMateialPzInfoRep) { @@ -86,6 +88,13 @@ { //鐢熸垚浠诲姟鍙� entity.TaskNo = GetTaskCode(); + // 鍒ゆ柇鏄惁绌挎杞︿换鍔� + if (entity.Type != PLCTypeEnum.AGV) + { + entity.TaskId = FourWayCarUtil.GetTaskId(); + } + + if (string.IsNullOrEmpty(entity.TaskNo)) { throw Oops.Bah("浠诲姟鍙风敓鎴愬け璐�"); @@ -229,6 +238,16 @@ { modTask.IsSuccess = TaskSuccessEnum.Fail; modTask.CancelDate = DateTime.Now;//鍙栨秷鏃堕棿 + } + //濡傛灉鏄洓鍚戣溅浠诲姟 + if (modTask.Type == PLCTypeEnum.ShuttleCar) + { + var carTaskList = _db.Queryable<WcsCarTasks>().Where(m => m.Status <= TaskStatusEnum.Doing && m.IsDelete == false).ToList(); + foreach (var carTask in carTaskList) + { + carTask.Status = input.Status; + } + await _wcsTaskRep.Context.Updateable(carTaskList).ExecuteCommandAsync(); } modTask.Status = input.Status; modTask.Levels = 999; @@ -422,31 +441,35 @@ [NonAction] public string GetTaskCode(string codeFlag = "WCS") { - var list = _db.Queryable<WcsTask>().Where(m => m.TaskNo.StartsWith("WCS")).ToList(); - string maxNo = list.Max(m => m.TaskNo); - if (!string.IsNullOrEmpty(maxNo)) + lock (_lockObj) { - maxNo = maxNo.Substring(codeFlag.Length); - } - //鑾峰彇鏁版嵁搴撴椂闂村叓浣� - string date = DateTime.Now.ToString("yyyyMMdd").Trim(); - string no = ""; - if (string.IsNullOrEmpty(maxNo)) - { - no = codeFlag + date + "0001"; - } - else - { - if (maxNo.Length == 12 && maxNo.Substring(0, 8) == date) + var list = _db.Queryable<WcsTask>().Where(m => m.TaskNo.StartsWith("WCS")).ToList(); + string maxNo = list.Max(m => m.TaskNo); + if (!string.IsNullOrEmpty(maxNo)) { - int lastNo = Convert.ToInt32(maxNo.Substring(8, 4)) + 1; - no = codeFlag + date + (lastNo.ToString().PadLeft(4, '0')); + maxNo = maxNo.Substring(codeFlag.Length); } - else + //鑾峰彇鏁版嵁搴撴椂闂村叓浣� + string date = DateTime.Now.ToString("yyyyMMdd").Trim(); + string no = ""; + if (string.IsNullOrEmpty(maxNo)) { no = codeFlag + date + "0001"; } + else + { + if (maxNo.Length == 12 && maxNo.Substring(0, 8) == date) + { + int lastNo = Convert.ToInt32(maxNo.Substring(8, 4)) + 1; + no = codeFlag + date + (lastNo.ToString().PadLeft(4, '0')); + } + else + { + no = codeFlag + date + "0001"; + } + } + return no; } - return no; + } } -- Gitblit v1.8.0