1
pulg
2 天以前 214dafa68bfe4a4cead25ad0e9d84c4a018592c0
1
1个文件已修改
74 ■■■■■ 已修改文件
HH.WCS.QingXiNongfu/core/Monitor.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1049,7 +1049,6 @@
            {
                try
                {
                    var lolist = LocationHelper.GetAreaNormalLocList(area);// LocationHelper.GetList<Location>(x => x.S_AREA_CODE == area && x.S_LOCK_STATE != "报废");
                    var lgrow = lolist.GroupBy(x => x.N_ROW).OrderBy(x => x.Key).ToList();
                    Dictionary<string, List<Location>> dsll = new Dictionary<string, List<Location>>();
@@ -1120,25 +1119,38 @@
                                            //查询任务数 
                                            List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" };
                                            var db = new SqlHelper<object>().GetInstance();
                                            //var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "入库锁").ToList();
                                            //if (list.Count() >= 3)
                                            //{
                                            //    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"终点库区为YWLRGDD或者YWLWJJB 则最多只能生成两个任务");
                                            //    continue;
                                            //}
                                        }
                                        string Last = string.Join(",", ccr.Skip(1));
                                        if (ABlist.Contains(EdnRarea))
                                        {
                                            var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "入库锁" || x.S_LOCK_STATE == "出库锁"));
                                            //var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "入库锁"));
                                            if (ls.Count() > 1)
                                            var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "入库锁").ToList();
                                            if (list.Count() >= 2)
                                            {
                                                LogHelper.Info($"{EdnRarea}任务数1管制2");
                                                LogHelper.Info($"CreateTransport-  CreateTask Error" + $"终点库区为YWLRGDD或者YWLWJJB 则最多只能生成两个任务");
                                                continue;
                                            }
                                        }
                                        if (EdnRarea == "YWLKTDDQ")//到B区的移库工单最多只能生成两条任务
                                        {
                                            //查询任务数
                                            List<string> AreaLi = new List<string>() { "YWLKTDDQ" };
                                            var db = new SqlHelper<object>().GetInstance();
                                            var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "入库锁").ToList();
                                            if (list.Count() > 2)
                                            {
                                                LogHelper.Info($"CreateTransport-  CreateTask Error" + $"终点库区为YWLKTDDQ 则最多只能生成三个任务");
                                                continue;
                                            }
                                        }
                                        string Last = string.Join(",", ccr.Skip(1));
                                        //if (ABlist.Contains(EdnRarea))
                                        //{
                                        //    var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "入库锁" || x.S_LOCK_STATE == "出库锁"));
                                        //    //var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "入库锁"));
                                        //    if (ls.Count() > 1)
                                        //    {
                                        //        LogHelper.Info($"{EdnRarea}任务数1管制2");
                                        //        continue;
                                        //    }
                                        //}
                                        if (CDlist.Contains(EdnRarea))
                                        {
                                            var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_STATE == "入库锁");
@@ -1190,7 +1202,6 @@
                                            else InworkLock = false;
                                            Location endbit = null;
                                            //foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(xx => xx.Key))
                                            RowLock inlock = null;
                                            List<RowLock> inlockLis = new List<RowLock>();
                                            bool isCd = false;
@@ -1234,11 +1245,6 @@
                                            foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(x => x.Key))
                                            {
                                                rowlist = rss.OrderBy(x => x.N_COL).ToList();
                                                //if (rowlist.FindAll((Location x) => x.S_LOCK_STATE.Trim() == "空间锁").Count > 0) { continue; }
                                                //if (rowlist.FindAll((Location x) => x.S_LOCK_STATE.Trim() != "无" && x.S_LOCK_STATE.Trim() != "报废").Count > 0)
                                                //{
                                                //    continue;
                                                //}
                                                var _cl2 = rowlist.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
                                                endbit = rowlist.Find(x => x.N_COL > (_cl2?.N_COL ?? 0));
                                                if (endbit == null) continue;
@@ -1280,12 +1286,6 @@
                                                        endbit = null;
                                                        continue;
                                                    }
                                                    //}
                                                    //else
                                                    //{
                                                    //    endbit = null;
                                                    //    continue;
                                                    //}
                                                }
                                                if (endbit != null) break;
                                            }
@@ -1294,24 +1294,6 @@
                                                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 (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 };
                                                //    LogHelper.Info($"原物料入库 添加排锁信息{JsonConvert.SerializeObject(rrrr)} ");
                                                //    WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand());
                                                //}
                                                if (EdnRarea == "YWLWJJB") InworkLock = false;
                                                break;
                                            }