1
czw
2025-06-23 facfd6e182b0a14e553ebeb31aca27a68945307c
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -421,7 +421,7 @@
        static void ROW_LOCK(Location startBit, Location EndBit, string msg, int sign, bool up = true, string WorkNo = "")
        {
            LogHelper.Info("dooooooooooooooooooooooooooooooooooooooooooooo" + msg + "---" + sign);
            LogHelper.Info("移库解锁 doo" + msg + "---" + sign + "--" + WorkNo);
            LogHelper.Info(JsonConvert.SerializeObject(startBit));
            LogHelper.Info(JsonConvert.SerializeObject(EndBit));
            bool j解锁起点库区排 = true;
@@ -430,9 +430,11 @@
                //解锁时,有工单号。  查查除了这个工单号以外的其他 指定出库排执行
                var orders = WCSHelper.GetWorkOrder2();
                var thisOrder = orders.Find(x => x.SQL_WorkNo == WorkNo);
                LogHelper.Info("移库解锁 --当前工单 sid:" + thisOrder?.S_ID);
                if (thisOrder != null)
                {
                    var other = orders.Find(x => x.SQL_WorkNo != WorkNo && x.start_area == thisOrder.start_area && x.start_row == thisOrder.start_row);
                    LogHelper.Info($"移库解锁 --其他工单 x.start_area == {thisOrder.start_area} start_row == {thisOrder.start_row} SID:" + other?.S_ID);
                    if (other != null)
                        j解锁起点库区排 = false;
                }
@@ -4029,7 +4031,7 @@
                    LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 开始 》》》");
                    if (string.IsNullOrEmpty(od.S_ZZ_AREA) && string.IsNullOrEmpty(od.S_END_AREA))
                    {
                        LogHelper.CError($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 数据缺失。无法完成移库。");
                        LogHelper.CError($"YWL_ZX_Turn from{od.S_START_AREA} to{od.S_END_AREA} 数据缺失。无法完成移库。");
                        continue;
                    }
                    var rows = locS.FindAll(x => x.N_ROW == od.N_START_ROW);
@@ -4046,12 +4048,12 @@
                            var lastful = rows.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
                            if (lastful != null)
                            {
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。");
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA}to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。");
                                var crs = LocationHelper.GetLocCntrRel(lastful.S_LOC_CODE);
                                var cntritems = ContainerHelper.GetCntrItemRel(crs.FirstOrDefault()?.S_CNTR_CODE);
                                if (!cntritems.Any())
                                    continue;
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。接驳是否被锁?:{InworkLock}");
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA}to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。接驳是否被锁?:{InworkLock}");
                                var cir1 = cntritems.First();
                                if (!string.IsNullOrEmpty(od.S_ITEM_CODE))
@@ -4092,7 +4094,7 @@
                                        Endbit = zzrloclist.Find(x => x.N_COL > (_cl2?.N_COL ?? 0));
                                    if (Endbit != null)
                                    {
                                        LogHelper.Info($"入中转区{od.S_ZZ_AREA}使用{Endbit.S_LOC_CODE}");
                                        LogHelper.Info($"入中转区{nextarea}使用{Endbit.S_LOC_CODE}");
                                        break;
                                    }
                                }