kazelee
2025-06-12 48654bac6d758d6426a0e659a7d7bd08634acfc8
core/WCSCore.cs
@@ -20,27 +20,15 @@
        public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) {
            var result = new ReturnResult();
            try {
                switch (model.state) {
                    case 1023:
                        break;
                    case 1025:
                        break;
                    case 1012:
                        break;
                    case 1004:
                        break;
                    case 1103:
                        break;
                    default:
                        // AGV 执行任务的逻辑处理
                        if (!AgvTaskProcessOk(model)) {
                            // 执行不OK,说明没有找到任务
                            result.ResultCode = 1;
                            result.ResultMsg = $"根据Model.No未找到对应的任务,{model.task_no}";
                            LogHelper.Info(result.ResultMsg, "API");
                            return result;
                        }
                        break;
                if (model.state > 0 && model.state < 1000) {
                    // AGV 执行任务的逻辑处理
                    if (!AgvTaskProcessOk(model)) {
                        // 执行不OK,说明没有找到任务
                        result.ResultCode = 1;
                        result.ResultMsg = $"根据Model.No未找到对应的任务,{model.task_no}";
                        LogHelper.Info(result.ResultMsg, "API");
                        return result;
                    }
                }
                result.ResultCode = 0;
@@ -181,7 +169,6 @@
                };
                // 数据库操作
                if (db.Insertable<TN_Record_Table>(record).ExecuteCommand() <= 0) {
                    info = "插入出入库记录表失败:" + JsonConvert.SerializeObject(record);
                    LogHelper.Info(info);
@@ -262,7 +249,6 @@
                    info = $"向输送线写入允许取货信号成功";
                    LogHelper.Info(info);
                    return NewReturnResult(0, info);
                }
                else if (model.apply_code == "1") { // 请求卸货
                    if (prodLineDevice.AllowAgvPlacePallet != 1) {
@@ -303,7 +289,7 @@
                .First(d => d.N_B_STATE == 2);
            if (detail == null) {
                LogHelper.Info($"{taskName}--AGV取货--查询明细单:当前没有执行中的明细单");
                LogHelper.Info($"{taskName}:AGV取货:查询明细单:当前没有执行中的明细单");
                return;
            }
@@ -311,14 +297,14 @@
                detail.N_B_STATE = spotStateCode;
                if (db.Updateable<TN_Outbound_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                    tran.RollbackTran();
                    LogHelper.Info($"{taskName}--AGV取货:修改明细单状态为3任务执行完成--失败!");
                    LogHelper.Info($"{taskName}:AGV取货:修改明细单状态为【3任务执行完成】失败!");
                    return;
                }
                var finishedCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO && d.N_B_STATE == 3);
                var allCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO);
                LogHelper.Info($"{taskName}--AGV取货--统计任务已完成:{finishedCount}/{allCount}");
                LogHelper.Info($"{taskName}:AGV取货:统计任务已完成:{finishedCount}/{allCount}");
                if (finishedCount == allCount) { // 当前出库单下的所有明细单,任务都已经完成
@@ -327,7 +313,7 @@
                        .ExecuteCommand() <= 0) {
                        tran.RollbackTran();
                        LogHelper.Info($"{taskName}--AGV取货--所有任务完成时:修改单据状态为3任务执行完成--失败!");
                        LogHelper.Info($"{taskName}:AGV取货:所有任务完成时:修改单据状态为3任务执行完成--失败!");
                        return;
                    }
                }