海波 张
12 小时以前 5321419f5fddb4e877fe90ccd90ebdc1a115af64
wms/LocationHelper.cs
@@ -682,7 +682,7 @@
            foreach (var item in v)
            {
                //取得巷道列表中可用货位最多的巷道  并获取巷道中所有货位
                location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).ToList();
                location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList();
                if (location_roadray != null && location_roadray.Count > 0)
                {
@@ -714,7 +714,7 @@
            foreach (var item in v)
            {
                //取得巷道列表中可用货位最多的巷道  并获取巷道中所有货位
                var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).ToList();
                var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList();
                foreach (var item1 in loclist)
                {
@@ -749,7 +749,7 @@
            {
                var ConnectionList = 0;
               
                var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList();
                var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList();
                foreach (var item1 in loclist)
                {
                    var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item1.S_CODE).First();
@@ -779,7 +779,7 @@
                foreach (var item in result)
                {
                    var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList();
                    var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList();
                    foreach (var item1 in loclist)
                    {
                        location_roadray.Add(item1);
@@ -999,10 +999,8 @@
            var db = new SqlHelper<object>().GetInstance();
            try
            {
               var connectionList = LocationHelper.GetConnectionList(CONNECTION);
                var connectionList = LocationHelper.GetConnectionListByN(CONNECTION);
                var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList);
@@ -1011,7 +1009,7 @@
                //查找不可用巷道
                var rowdwa = db.Queryable<RoadWayEnable>().Where(x => x.areaCode == startArea && x.status == "0").ToList();
                LogHelper.Info($"空托自动出库排除不可用货位开始:{locations.Count}", "空托出库");
                for (int i = 0; i < rowsStart.Count; i++)
                {
                    var rowList = locations.Where(r => r.N_ROW == rowsStart[i]).ToList().OrderByDescending(a => a.N_COL);
@@ -1032,7 +1030,7 @@
                    foreach (var item2 in balanceConnectionList)
                    {
                        if (rowList.Count(a => a.N_ROADWAY != item2.CONNEC_ROADWAY) > 0)
                        if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0)
                        {
                            flag2 = true;
                            break;
@@ -1042,7 +1040,7 @@
                    if (flag || flag2)
                    {
                        continue;
                        locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
                    }
                    //当前排有锁并且没有满货位,排除
@@ -1051,6 +1049,8 @@
                        locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
                    }
                }
                LogHelper.Info($"空托自动出库排除不可用货位结束:{locations.Count}", "空托出库");
                foreach (var item in locations)
                {
                    if (item.N_CURRENT_NUM == 0)
@@ -1058,11 +1058,13 @@
                        continue;
                    }
                    var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item.S_CODE).First();
                    LogHelper.Info($"空托自动出库itemCode:{item.S_CODE},itemLock:{item.S_LOCK_STATE} ,tp信息" + JsonConvert.SerializeObject(tp), "空托出库");
                    if (tp != null && item.S_LOCK_STATE == "无")
                    {
                        var tp1 = db.Queryable<Container>().Where(s => s.S_CODE == tp.S_CNTR_CODE).First();
                        LogHelper.Info($"空托自动出库tp1信息"+JsonConvert.SerializeObject(tp1), "空托出库");
                        if (tp1 != null && tp1.N_DETAIL_COUNT==0)
                        {
                            start = item;