Administrator
2025-05-30 aa76e0acd1337d82ddef1d5a34b245c988ecfc13
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)
    {
@@ -440,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;
    }
}