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 | 53 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 34 insertions(+), 19 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs index 6d8a963..17c4fc0 100644 --- a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs +++ b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs @@ -26,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) { @@ -238,6 +239,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; await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.CancelDate, s.UpdateTime, s.UpdateUserId, s.UpdateUserName }).ExecuteCommandAsync(); @@ -430,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