1
pulg
4 天以前 dc600c6298a3231e05875813ec0fa2fa18151d84
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1294,18 +1294,18 @@
                                                var sign = Settings.GetTimeStamp();
                                                var res = TaskProcess.CreateTransport(sign, _cl.S_LOC_CODE, endbit.S_LOC_CODE, "原物料搬运-纸箱", _clrel.Select(x => x.S_CNTR_CODE).ToList(), 1, endbit.N_CURRENT_NUM + 1, 1, 50, Last);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
                                                LogHelper.Info($"{r.Key}原物料搬运 {sign} 任务 ,创建{res} ");
                                                if (CDlist.Contains(endbit.S_AREA_CODE) && res)
                                                {
                                                    LogHelper.Info($"添加内存排锁");
                                                    var ggf = inlockLis.Find(e => e.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && e.S_AREA_CODE == endbit.S_AREA_CODE && e.N_ROW == endbit.N_ROW);
                                                    LogHelper.Info($"添加内存排锁 是否查询到数据:{JsonConvert.SerializeObject(ggf)}");
                                                    if (ggf == null)
                                                    {
                                                        var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "入库锁", S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
                                                        inlockLis.Add(rrrr);
                                                        LogHelper.Info($"添加内存排锁 添加数据到内存排锁中:{JsonConvert.SerializeObject(inlockLis)}");
                                                    }
                                                }
                                                //if (CDlist.Contains(endbit.S_AREA_CODE) && res)
                                                //{
                                                //    LogHelper.Info($"添加内存排锁");
                                                //    var ggf = inlockLis.Find(e => e.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && e.S_AREA_CODE == endbit.S_AREA_CODE && e.N_ROW == endbit.N_ROW);
                                                //    LogHelper.Info($"添加内存排锁 是否查询到数据:{JsonConvert.SerializeObject(ggf)}");
                                                //    if (ggf == null)
                                                //    {
                                                //        var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "入库锁", S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
                                                //        inlockLis.Add(rrrr);
                                                //        LogHelper.Info($"添加内存排锁 添加数据到内存排锁中:{JsonConvert.SerializeObject(inlockLis)}");
                                                //    }
                                                //}
                                                //if (res && inlock == null && isCd)
                                                //{
                                                //    var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "入库锁", S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
@@ -1490,8 +1490,6 @@
                }
                //});
                var task11 = Task.Run(() =>
                {
                    try
                    {
                        // var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "无菌标签出库" && x.WorkType == 6 && x.SQL_State == "执行中").FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10).OrderBy(x => x.TagOverTime).ToList();
@@ -1514,7 +1512,7 @@
                    {
                        LogHelper.Error(ex.Message, ex);
                    }
                });
                var plc = Settings.GetDeviceInfoList().Where(a => a.deviceName == "T2提升机").FirstOrDefault();
                var task2 = Task.Run(() =>
@@ -2007,8 +2005,9 @@
                                Location Endbit = null;
                                //if (area == area/* WJ_BQ.RK_BQJBQ*/)
                                //{
                                var hjs = LocationHelper.GetAreaNormalLocList(WJ_BQ.RK_BBHJQ, true, false);
                                Endbit = hjs.FindAll(x => x.N_CURRENT_NUM == 0 && x.N_LAYER == (s_type == .5 ? 1 : (s_type == .75 ? 2 : 3))).OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
                                var hjs = LocationHelper.GetAreaNormalLocList(WJ_BQ.RK_BBHJQ, false, false);
                                var Type = s_type == .5 ? 1 : (s_type == .75 ? 2 : 3);
                                Endbit = hjs.FindAll(x => x.N_CURRENT_NUM == 0 && x.N_LAYER == Type).OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
                                if (Endbit != null)
                                {
                                    var re = TaskProcess.CreateTransport("", lastfull.S_LOC_CODE.Trim(), Endbit.S_LOC_CODE, "标签叉运-线边标签退库", CNTR.Select(x => x.S_CNTR_CODE).ToList(), 1, 1, 1, 62);
@@ -4716,21 +4715,21 @@
                                else
                                {
                                    //检测指定库区的物料排总数量
                                    if (dsi.TryGetValue(od.S_ROW, out var dictitems1))
                                    {
                                        //var rows = dictitems1.Select(x => x.Row).Distinct();
                                        //var loclist = LocationHelper.GetLocList(x => x.S_AREA_CODE == od.S_ROW && rows.Contains(x.N_ROW));
                                        ////查询可用货位有多少
                                        //List<string> Ky = new List<string>() { "无", "出库锁", "入库锁" };
                                        //var loclistK = loclist.FindAll(x => Ky.Contains(x.S_LOCK_STATE)).Count();
                                        //var count = loclist.FindAll(x => x.N_CURRENT_NUM > 0 && x.S_LOCK_STATE == "无").Sum(x => x.N_CURRENT_NUM);
                                        //LogHelper.Info("AutoRun13TSJ" + $"od.S_ROW 出库余量判断是否需要转运。-{count}< 总共能用的货位数{loclistK} -7");
                                        //if (count < loclistK - 7)
                                    //if (dsi.TryGetValue(od.S_ROW, out var dictitems1))
                                        //{
                                        //    autoTurn = true;
                                        //    _sAB没物料或者余量不足开始触发跟根据自动转运_名字越长越好(od);
                                    //    //var rows = dictitems1.Select(x => x.Row).Distinct();
                                    //    //var loclist = LocationHelper.GetLocList(x => x.S_AREA_CODE == od.S_ROW && rows.Contains(x.N_ROW));
                                    //    ////查询可用货位有多少
                                    //    //List<string> Ky = new List<string>() { "无", "出库锁", "入库锁" };
                                    //    //var loclistK = loclist.FindAll(x => Ky.Contains(x.S_LOCK_STATE)).Count();
                                    //    //var count = loclist.FindAll(x => x.N_CURRENT_NUM > 0 && x.S_LOCK_STATE == "无").Sum(x => x.N_CURRENT_NUM);
                                    //    //LogHelper.Info("AutoRun13TSJ" + $"od.S_ROW 出库余量判断是否需要转运。-{count}< 总共能用的货位数{loclistK} -7");
                                    //    //if (count < loclistK - 7)
                                    //    //{
                                    //    //    autoTurn = true;
                                    //    //    _sAB没物料或者余量不足开始触发跟根据自动转运_名字越长越好(od);
                                    //    //}
                                        //}
                                    }
                                }
                                Location Endbit = null;
@@ -4786,7 +4785,7 @@
                                        var ggf = db.Updateable(od).UpdateColumns(it => new { it.TagOverTime, it.TagOver, it.OutNum }).ExecuteCommand();
                                        LogHelper.Info($"上提升机任务 更新工单的时间影响行数: {ggf}");
                                        var r = new RowLock { S_LOCK_SRC = od.SQL_ItemCode, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "出库锁", S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW };
                                        // var r = new RowLock { S_LOCK_SRC = od.SQL_ItemCode, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "出库锁", S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW };
                                        //给终点锁定住
                                        if (od.S_ROW == "YWLCQSX" || od.S_ROW == "YWLDQWJ")