From 8bc65cd3363d7148c356fe2eecca3590a9a3b4e0 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-JIE70N9>
Date: 星期二, 21 十月 2025 09:34:41 +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