wxw
3 天以前 61c3051ac62f6bc15c885403a0b9bd53f0d1b7e0
Wms/WMS.BLL/SysServer/StorageLocatServer.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using Model.ModelDto.SysDto;
@@ -81,6 +82,8 @@
                    StatusName = GetStatus(m.Status),
                    Flag = m.Flag,
                    FlagName = GetFlag(m.Flag),
                    Make = m.Make,
                    MakeName = m.Make == "0" ? "跑道" : m.Make == "1" ? "储位" : "",
                    Depth = m.Depth,
                    Row = m.Row,
                    Column = m.Column,
@@ -137,7 +140,7 @@
        {
            try
            {
                var bl = LocatRst.EditStorageLocat(model.Id,model.AreaNo, model.Status, model.Flag, model.Temperature, url, userId);
                var bl = LocatRst.EditStorageLocat(model.Id, model.AreaNo, model.Status, model.Flag, model.Temperature, url, userId);
                return bl;
            }
@@ -164,7 +167,79 @@
        {
            try
            {
                #region MyRegion
                //var q = 0;
                ////R01 -01 -01 -02
                ////巷道–排-列-层
                //for (int r = index; r <= row; r++)//排
                //{
                //    var r1 = "1";
                //    if (r < 10)
                //    {
                //        r1 = "0" + r;
                //    }
                //    else
                //    {
                //        r1 = r.ToString();
                //    }
                //    for (int l = 1; l <= layer; l++)//层
                //    {
                //        var l1 = "1";
                //        if (l < 10)
                //        {
                //            l1 = "0" + l;
                //        }
                //        else
                //        {
                //            l1 = l.ToString();
                //        }
                //        for (int c = 1; c <= col; c++)//列
                //        {
                //            var c1 = "1";
                //            if (c < 10)
                //            {
                //                c1 = "0" + c;
                //            }
                //            else
                //            {
                //                c1 = c.ToString();
                //            }
                //            var area = l <= 7 ? "A12" : "A11";//区域
                //            for (int d = 1; d <= int.Parse(dept); d++) //深度
                //            {
                //                var s = "0" + d;//深度
                //                q += await LocatRst.AddAsync(new SysStorageLocat()
                //                {
                //                    LocatNo = r1 + c1 + l1 + s,
                //                    WareHouseNo = houseNo,
                //                    RoadwayNo = roadwayNo,
                //                    AreaNo = areaNo,
                //                    Status = "0",
                //                    Flag = "0",
                //                    Depth = s,
                //                    Row = r,
                //                    Column = c,
                //                    Layer = l,
                //                    CreateUser = userId
                //                });
                //            }
                //        }
                //    }
                //}
                //return q;
                #endregion
                #region jc34
                var q = 0;
                //R01 -01 -01 -02
                //巷道–排-列-层 
                for (int r = index; r <= row; r++)//排
@@ -178,7 +253,7 @@
                    {
                        r1 = r.ToString();
                    }
                    for (int l = 1; l <= layer; l++)//层
                    for (int l = 1; l <= col; l++)//列
                    {
                        var l1 = "1";
                        if (l < 10)
@@ -189,7 +264,7 @@
                        {
                            l1 = l.ToString();
                        }
                        for (int c = 1; c <= col; c++)//列
                        for (int c = 1; c <= layer; c++)//层
                        {
                            var c1 = "1";
                            if (c < 10)
@@ -200,35 +275,29 @@
                            {
                                c1 = c.ToString();
                            }
                            var area = l <= 7 ? "A12" : "A11";//区域
                            for (int d = 1; d <= int.Parse(dept); d++) //深度
                            q += await LocatRst.AddAsync(new SysStorageLocat()
                            {
                                var s = "0" + d;//深度
                                q += await LocatRst.AddAsync(new SysStorageLocat()
                                {
                                    LocatNo = r1 + c1 + l1 + s,
                                    WareHouseNo = houseNo,
                                    RoadwayNo = roadwayNo,
                                    AreaNo = areaNo,
                                    Status = "0",
                                    Flag = "0",
                                    Depth = s,
                                    Row = r,
                                    Column = c,
                                    Layer = l,
                                    CreateUser = userId
                                });
                            }
                                LocatNo = r1 + l1 + c1,
                                WareHouseNo = houseNo,
                                RoadwayNo = roadwayNo,
                                AreaNo = areaNo,
                                Status = "0",
                                Flag = "0",
                                Depth = "01",
                                Row = r,
                                Column = l,
                                Layer = c,
                                CreateUser = userId
                            });
                        }
                    }
                }
                return q;
                #endregion
            }
            catch (Exception e)
            {
@@ -248,44 +317,45 @@
            {
                var q = 0;
                var depth = 0;
                var depthString = "";
                var depthString = "01";
                // 排(组)循环
                for (int i = 1; i <= model.Row; i++)
                for (int i = 19; i <= model.Row; i++)
                {
                    // 列循环
                    for (int z = 1; z <= model.Col; z++)
                    {
                        if (z == 1)
                        {
                            depth += 1;
                            if (depth >= 10)
                            {
                                depthString = depth.ToString();
                            }
                            else if (depth < 10)
                            {
                                depthString = "0" + depth.ToString();
                            }
                            else {
                                //其余条件
                            }
                        }
                        //if (z == 1)
                        //{
                        //    depth += 1;
                        //    if (depth >= 10)
                        //    {
                        //        depthString = depth.ToString();
                        //    }
                        //    else if (depth < 10)
                        //    {
                        //        depthString = "0" + depth.ToString();
                        //    }
                        //    else {
                        //        //其余条件
                        //    }
                        //}
                        q += await LocatRst.AddAsync(new SysStorageLocat()
                        {
                            // 区域+排+列+层
                            LocatNo = model.AreaNo + i.ToString().PadLeft(2, '0') + z.ToString().PadLeft(2, '0') + "01",
                            LocatNo = i.ToString().PadLeft(2, '0') + z.ToString().PadLeft(2, '0') + "02",
                            WareHouseNo = model.HouseNo,
                            RoadwayNo = "",
                            AreaNo = model.AreaNo,
                            Status = "0",
                            AisleOne = "1",
                            AisleOne = "",
                            AisleTwo = "",
                            Flag = "0",
                            Make = "1",
                            Depth = depthString,
                            Row = i,
                            Column = z,
                            Layer = 1,
                            Layer = 2,
                            CreateUser = userId
                        }); ;
                    }
@@ -417,12 +487,12 @@
        {
            try
            {
                var road = roadway.Substring(1, roadway.Length - 1);
                var road = roadway.Substring(2, roadway.Length - 2);
                var num = int.Parse(road);
                var rows = (num - 1) * 2 + int.Parse(row);//排
                //var rows = (num - 1) * 2 + int.Parse(row);//排
                var maxLayer = Db.Queryable<SysStorageLocat>().Where(m =>
                    m.IsDel == "0" && m.WareHouseNo == wareHouseNo && m.RoadwayNo == roadway && m.Row == int.Parse(row)).Max(m => m.Layer);
                    m.IsDel == "0" && m.WareHouseNo == wareHouseNo && m.RoadwayNo == roadway && m.Row == num).Max(m => m.Layer);
                return maxLayer;
            }
@@ -443,9 +513,9 @@
        {
            try
            {
                var road = roadway.Substring(1, roadway.Length - 1);
                var road = roadway.Substring(2, roadway.Length - 2);
                var num = int.Parse(road);
                var rows = (num - 1) * 2 + int.Parse(row);//排
                //var rows = (num - 1) * 2 + int.Parse(row);//排
                var maxColumn = Db.Queryable<SysStorageLocat>().Where(m =>
                    m.IsDel == "0" && m.WareHouseNo == wareHouseNo && m.RoadwayNo == roadway && m.Row == int.Parse(row)).Max(m => m.Column);
@@ -839,9 +909,9 @@
        /// </summary>
        /// <param name="roadwayNo">巷道</param>
        /// <returns></returns>
        public List<string> ByRoadwayGetRow(string roadwayNo)
        public List<string> ByRoadwayGetRow(string wareHouseNo, string roadwayNo)
        {
            string str = $"select Row from SysStorageLocat where IsDel = '0' and WareHouseNo = 'W01' and RoadwayNo = '{roadwayNo}' group by Row order by Row";
            string str = $"select Row from SysStorageLocat where IsDel = '0' and WareHouseNo = '{wareHouseNo}' and RoadwayNo = '{roadwayNo}' group by Row order by Row";
            List<string> row = Db.Ado.SqlQuery<string>(str);
            return row;
@@ -905,5 +975,63 @@
        }
        #endregion
        /// <summary>
        /// 获取储位信息(密集库)
        /// </summary>
        /// <param name="wareHouseNo">仓库</param>
        /// <param name="row">排</param>
        /// <returns></returns>
        public async Task<BordModelVM> GetFlatLegend(string wareHouseNo, int layer)
        {
            var list = await Db.Queryable<SysStorageLocat>().Where(s => s.WareHouseNo == wareHouseNo && s.Layer == layer && s.IsDel == "0").ToListAsync();
            BordModelVM listBord = new BordModelVM()
            {
                Col = 15,
                Row = 21
            };
            foreach (var modLocat in list)
            {
                SlotsVm mod = new SlotsVm()
                {
                    SlotColumn = modLocat.Column,
                    SlotRow = modLocat.Row,
                    SlotCode = modLocat.LocatNo,
                    //SlotStatusCls = modLocat.Flag!="0"? "eight": modLocat.Status == "0"? "zero":,
                    Make = modLocat.Make
                };
                if (modLocat.Flag != "0")
                    mod.SlotStatusCls = "eight";
                switch (modLocat.Status)
                {
                    case "0":
                        mod.SlotStatusCls = "zero";
                        break;
                    case "1":
                        mod.SlotStatusCls = "one";
                        break;
                    case "2":
                        mod.SlotStatusCls = "two";
                        break;
                    case "3":
                        mod.SlotStatusCls = "three";
                        break;
                    case "4":
                        mod.SlotStatusCls = "four";
                        break;
                    case "5":
                        mod.SlotStatusCls = "five";
                        break;
                    default:
                        break;
                }
                listBord.SlotsVm.Add(mod);
            }
            return listBord;
        }
    }
}