schangxiang@126.com
2025-08-20 b7bb4bf8ee6d007e0e7c3cacfc4fab77049beb58
DEmon/iWareCc/DecomposeTask/Chain/°´²ßÂÔ»ñȡһ¸ö´ý·Ö½âÈÎÎñ.cs
@@ -51,12 +51,30 @@
            {
                try
                {
                    var mTask = dbModel.TASKMainTasks.OrderBy(x => x.decompositiontimes).ThenBy(x => x.sendtime).ThenBy(x => x.priority).FirstOrDefault(x => x.status == (int)EMainTaskStatus.未分解);
                    TASKMainTask mTask = null;
                    var taskPart = dbModel.TASKPartTasks.FirstOrDefault(x => x.maintasktype == (int)EMainTaskType.出库任务 && x.isfinished == 0);
                    if (taskPart != null)
                    {
                        mTask = dbModel.TASKMainTasks.OrderBy(x => x.decompositiontimes).ThenBy(x => x.sendtime).ThenBy(x => x.priority).FirstOrDefault(x => x.status == (int)EMainTaskStatus.未分解 && x.tasktype == (int)EMainTaskType.入库任务);
                    }
                    else
                    {
                        mTask = dbModel.TASKMainTasks.OrderBy(x => x.tasktype == (int)EMainTaskType.出库任务).OrderBy(x => x.decompositiontimes).ThenBy(x => x.sendtime).ThenBy(x => x.priority).FirstOrDefault(x => x.status == (int)EMainTaskStatus.未分解);
                        if (mTask == null)
                        {
                            mTask = dbModel.TASKMainTasks.OrderBy(x => x.decompositiontimes).ThenBy(x => x.sendtime).ThenBy(x => x.priority).FirstOrDefault(x => x.status == (int)EMainTaskStatus.未分解);
                        }
                    }
                    if (mTask == null)
                    {
                        LogTextHelper.WriteLine(Resources.LogDir + @"/分解任务流程", "获取第一个分解任务:暂无待分解的任务");
                        return;
                    }
                    if (taskPart != null && mTask.tasktype == (int)EMainTaskType.出库任务)
                    {
                        LogTextHelper.WriteLine(Resources.LogDir + @"/分解任务流程", "当前存在未完成的出库任务");
                        return;
                    }
                    mTask.decompositiontimes += 1;
                    if (mTask.decompositiontimes >= 100)
                    {