kazelee
2025-05-22 bb09e7affb602791af4064cda8cddcfae8b3f3aa
core/Monitor.cs
@@ -27,7 +27,7 @@
                    .ToList();
                if (orderList.Count == 0) {
                    LogHelper.Info("轮询--出库--暂无待执行的Order");
                    LogHelper.Info($"轮询--{taskName}--暂无待执行的{taskName}单");
                    return;
                }
@@ -45,34 +45,21 @@
                        continue;
                    }
                    var lastDetail = db.Queryable<TN_Count_CG_Detail>()
                        .Where(d => d.S_COUNT_NO == order.S_COUNT_NO && d.N_B_STATE == 2) // TODO 或者改成查task
                        .First();
                    if (lastDetail != null) {
                        LogHelper.Info($"轮询--{taskName}--{taskName}单'{order.S_COUNT_NO}'上一个任务仍在进行中:"
                            + JsonConvert.SerializeObject(lastDetail));
                        continue;
                    }
                    var outboundDetail = db.Queryable<TN_Count_CG_Detail>()
                    var countCgDetailList = db.Queryable<TN_Count_CG_Detail>()
                        .Where(a => a.S_COUNT_NO == order.S_COUNT_NO && a.N_B_STATE == 1) // 已下发
                        .First();
                    if (outboundDetail != null) {
                        LogHelper.Info($"轮询--{taskName}--");
                        .ToList();
                    if (countCgDetailList.Count == 0) {
                        LogHelper.Info($"轮询--{taskName}--{taskName}单明细状态异常");
                        continue;
                    }
                    detailList.Add(outboundDetail);
                    detailList.AddRange(countCgDetailList);
                }
                if (detailList.Count == 0) {
                    return;
                }
                var startLocList = new List<TN_Location>();
                var endLocList = new List<TN_Location>();
                var taskList = new List<TN_Task>();
                foreach (var detail in detailList) {
                    var startLoc = db.Queryable<TN_Location>()
@@ -81,17 +68,17 @@
                        .First();
                    if (startLoc == null) {
                        LogHelper.Info($"轮询--出库:没有找到合适的起点货位!");
                        LogHelper.Info($"轮询--{taskName}:没有找到合适的起点货位!");
                        continue;
                    }
                    var endLoc = db.Queryable<TN_Location>()
                        .Where(a => a.S_AREA_CODE == "SFQ")
                        .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE))
                        .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y")
                        .Where(a => a.N_CURRENT_NUM == 0).First();
                    if (endLoc == null) {
                        LogHelper.Info($"轮询--出库:没有找到合适的终点货位!S_NO为 '{detail.S_COUNT_NO}'");
                        LogHelper.Info($"轮询--{taskName}:没有找到合适的终点货位!单号为 '{detail.S_COUNT_NO}'");
                        continue;
                    }
@@ -106,7 +93,7 @@
                    using (var tran = db.Ado.UseTran()) {
                        if (db.Updateable<TN_Count_CG_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            LogHelper.Info($"轮询--出库--修改明细表状态为完成失败!");
                            LogHelper.Info($"轮询--{taskName}--修改明细表状态为完成失败!");
                        }
                        if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
@@ -116,7 +103,7 @@
                            it.T_MODIFY
                        }).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            info = $"生成 {taskName} 失败,容器号 {cntId} ,起点 {startLoc.S_CODE} ,终点货位 {endLoc.S_CODE}";
                            info = $"生成任务'{taskName}'失败,容器号{cntId},起点{startLoc.S_CODE},终点货位{endLoc.S_CODE}";
                            LogHelper.Info(info);
                            continue;
                        }
@@ -129,7 +116,7 @@
                        }).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            info = $"生成 {taskName} 失败,容器号 {cntId} ,起点 {startLoc.S_CODE} ,终点货位 {endLoc.S_CODE}";
                            info = $"生成'{taskName}'失败,容器号 {cntId} ,起点 {startLoc.S_CODE} ,终点货位 {endLoc.S_CODE}";
                            LogHelper.Info(info);
                            continue;
                        }
@@ -144,7 +131,7 @@
                        tran.CommitTran();
                        info = $"生成 {taskName} 成功,容器号 {cntId} ,起点 {startLoc.S_CODE} ,终点货位 {endLoc.S_CODE}";
                        LogHelper.Info(info);
                        continue;
                        //continue;
                    }
                }
            }