kazelee
2025-05-28 de8cd5585ba690902333cf4ce9aa5dbc7eb9acf6
core/Monitor.cs
@@ -21,7 +21,7 @@
        }
        public static void CheckInbound() {
            var taskName = TaskName.托盘_满托下线入库;
            var taskName = TaskName.T托盘_满托下线入库;
            var db = new SqlHelper<object>().GetInstance();
            var info = "";
            try {
@@ -66,7 +66,7 @@
                        S_CNTR_CODE = cntrCode,
                    };
                    // TODO 每次轮询都检查对应容器是否已登记,登记则更新,未登记则插入
                    // BEG 每次轮询都检查对应容器是否已登记,登记则更新,未登记则插入
                    var cntrItemRel = db.Queryable<TN_Container_Item>()
                        .Where(i => i.S_CNTR_CODE == cntrCode).First();
@@ -79,7 +79,7 @@
                            S_CNTR_CODE = cntrCode,
                        };
                    }
                    // END TODO
                    // END
                    var startLoc = db.Queryable<TN_Location>()
                        .Where(l => l.S_CODE == startLocCode) // 指定:起点货位号
@@ -109,7 +109,7 @@
                    //}
                    var endLoc = db.Queryable<TN_Location>()
                        .Where(a => Settings.AreaMap[AreaName.空托存放区].Contains(a.S_AREA_CODE))
                        .Where(a => Settings.AreaMap[AreaName.K空托存放区].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) // 筛选:空货位
                        .OrderBy(l => l.N_LAYER)
@@ -135,7 +135,7 @@
                            continue;
                        }
                        // TODO 插入或更新容器与物料类型的绑定表
                        // BEG 插入或更新容器与物料类型的绑定表
                        if (insertTable) {
                            if (db.Insertable<TN_Container_Item>(cntrItemRel).ExecuteCommand() <= 0) {
                                tran.RollbackTran();
@@ -152,7 +152,7 @@
                                continue;
                            }
                        }
                        // END TODO
                        // END
                        if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
@@ -207,7 +207,7 @@
        }
        public static void CheckOutboundOrder() {
            var taskName = TaskName.成品胶出库;
            var taskName = TaskName.C成品胶出库;
            var db = new SqlHelper<object>().GetInstance();
            var info = $"轮询--{taskName}--";
@@ -342,6 +342,38 @@
                        continue;
                    }
                }
                //// BEG 查找6个月以前的任务表和任务动作表
                //var oldTaskList = db.Queryable<TN_Task>()
                //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
                //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "完成")
                //    .ToList();
                //var oldTaskActionList = db.Queryable<TN_Task, TN_Task_Action>((t, a) => t.S_CODE == a.S_TASK_CODE)
                //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
                //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "完成")
                //    .Select((t, a) => a)
                //    .ToList();
                //// END
                //using (var tran = db.Ado.UseTran()) {
                //    // 在出库轮询中处理,查找任务单是否有半年前且已经完成的任务,如果有则删除
                //    // 这个操作不影响正常流程,如果失败也不需要回滚
                //    //if (db.Deleteable<TN_Task>()
                //    //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
                //    //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "完成")
                //    //    .ExecuteCommand() <= 0) {
                //    //    info = $"轮询{taskName}单时尝试删除半年前的任务失败";
                //    //    LogHelper.Info(info);
                //    //}
                //    if (db.Deleteable<TN_Task>(oldTaskList).ExecuteCommand() <= 0
                //        && db.Deleteable<TN_Task_Action>(oldTaskActionList).ExecuteCommand() <= 0) {
                //        info = $"轮询{taskName}单时尝试删除半年前的任务失败";
                //        LogHelper.Info(info);
                //    }
                //}
            }
            catch (Exception ex) {
                info += $"发生了异常:{ex.Message}";
@@ -350,7 +382,7 @@
        }
        public static void CheckCheckOrder() {
            var taskName = TaskName.抽检_出库;
            var taskName = TaskName.C抽检_出库;
            var db = new SqlHelper<object>().GetInstance();
            var info = "";
@@ -473,7 +505,7 @@
        }
        public static void CheckShiftOrder() {
            var taskName = TaskName.移库;
            var taskName = TaskName.Y移库;
            var db = new SqlHelper<object>().GetInstance();
            var info = "";
            try {