Demo
2024-03-11 59a91fadefd16806964ab9f6e2ca0fb90c23854c
Wms/Wms/Controllers/SysController.cs
@@ -20,6 +20,7 @@
using System.Security.Cryptography;
using Model.ModelDto;
using Model.ModelDto.LogDto;
using Newtonsoft.Json.Linq;
namespace Wms.Controllers
{
@@ -42,7 +43,7 @@
        private readonly IExceptionServer _table; //异常处理
        private readonly IHeaderSettingsServer _headerSet;//表头设置
        private readonly IMaterialCategory _category;//物料类别
        private readonly IMaterialCategoryServer _category;//物料类别
        /// <summary>
        /// 构造函数
@@ -58,7 +59,7 @@
        /// <param name="operation">操作日志</param>
        /// <param name="table">异常处理</param>
        /// <param name="category">物料类别</param>
        public SysController(IWareHouseServer wareHouseSvc, IStorageAreaServer areaSvc, IStorageRoadwayServer roadwaySvc, IStorageLocatServer locatSvc, IPalletsServer palletSvc, IPalletTrackServer palletTrackSvc, IMenuServer menuSvc, IDictionaryServer dic, IOperationSysServer operation, IExceptionServer table, IHeaderSettingsServer headerSet, IMaterialCategory category)
        public SysController(IWareHouseServer wareHouseSvc, IStorageAreaServer areaSvc, IStorageRoadwayServer roadwaySvc, IStorageLocatServer locatSvc, IPalletsServer palletSvc, IPalletTrackServer palletTrackSvc, IMenuServer menuSvc, IDictionaryServer dic, IOperationSysServer operation, IExceptionServer table, IHeaderSettingsServer headerSet, IMaterialCategoryServer category)
        {
            _wareHouseSvc = wareHouseSvc; //仓库
            _areaSvc = areaSvc; //区域
@@ -734,6 +735,50 @@
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        /// 添加区域信息
        /// </summary>
        /// <param name="model">模型</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult InsertStorageArea(SysStorageArea model)
        {
            try
            {
                //获取当前登录的用户ID
                var claimsIdentity = this.User.Identity as ClaimsIdentity;
                if (claimsIdentity == null)
                {
                    return Ok(new { code = 1, msg = "为获取到当前操作人信息" });
                }
                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                if (string.IsNullOrWhiteSpace(userId))
                {
                    return Ok(new { code = 1, msg = "为获取到当前操作人信息" });
                }
                model.CreateUser = int.Parse(userId);
                string bolls = _areaSvc.InsertStorageArea(model);
                var arr = bolls.Split(":");
                if (arr[0] != "-1")
                {
                    SysStorageArea area = _areaSvc.GetStorageMaxArea();
                    _operation.InsertOperation("仓库设置", "区域管理", area.AreaNo, "添加", "添加区域信息 区域号:" + area.AreaNo, Convert.ToInt32(userId));
                    return Ok(new { code = 0, msg = bolls, data = "" });
                }
                else
                {
                    return Ok(new { code = 1, msg = bolls, data = "" });
                }
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        /// 修改区域信息
        /// </summary>
@@ -1011,7 +1056,7 @@
            }
        }
        /// <summary>
        /// 添加储位信息
        /// 添加立体库储位信息
        /// </summary>
        /// <param name="model">模型</param>
        /// <returns></returns> 
@@ -1056,6 +1101,54 @@
                return Ok(new { code = 400, ErrorMsg = "数据格式错误" });
            }
        }
        /// <summary>
        /// 添加平库储位信息
        /// </summary>
        /// <param name="model">模型</param>
        /// <returns></returns>
        [AllowAnonymous]
        [HttpPost]
        public async Task<IActionResult> AddPkStorageLocat(AddLocateVm model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //获取当前登录的用户ID
                    //var claimsIdentity = this.User.Identity as ClaimsIdentity;
                    //if (claimsIdentity == null)
                    //{
                    //    return Ok(new { code = 400, ErrorMsg = "为获取到当前操作人信息" });
                    //}
                    //var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                    //if (string.IsNullOrWhiteSpace(userId))
                    //{
                    //    return Ok(new { code = 400, ErrorMsg = "为获取到当前操作人信息" });
                    //}
                    var bolls = await _locatSvc.AddPkStorageLocat(model, 1);
                    if (bolls > 0)
                    {
                        await _operation.InsertOperation("仓库设置", "储位管理", model.RoadwayNo, "添加", "添加储位信息 储位号:" + model.RoadwayNo, 1);
                        return Ok(new { code = 200, ErrorMsg = "添加成功", data = bolls });
                    }
                    else
                    {
                        return Ok(new { code = 400, ErrorMsg = "添加失败", data = "" });
                    }
                }
                catch (Exception e)
                {
                    return Ok(new { code = 400, ErrorMsg = "请联系管理员/" + e.Message });
                }
            }
            else //数据格式错误
            {
                return Ok(new { code = 400, ErrorMsg = "数据格式错误" });
            }
        }
        /// <summary>
        /// 修改储位信息
        /// </summary>
@@ -1443,6 +1536,7 @@
        #region 储位图例
        #region 立库
        /// <summary>
        /// 根据仓库 排
        /// </summary>
@@ -1559,6 +1653,41 @@
            });
        }
        #endregion
        #region 平库
        /// <summary>
        /// 根据仓库 排
        /// </summary>
        /// <param name="wareHouseNo">仓库</param>
        /// <param name="row">排</param>
        /// <param name="depth">深度</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetFlatLibraryLegend(string wareHouseNo, string row)
        {
            //获取储位信息
            List<SysStorageLocat> storagelist = _locatSvc.GetFlatLibraryLegend(wareHouseNo, row);
            //Dictionary<string, int> dic = new Dictionary<string, int>()
            //{
            //    "B01"
            //};
            return Ok(new
            {
                data = storagelist,
                //dic,
                code = 0,
                msg = ""
            });
        }
        #endregion
        /// <summary>
        /// 根据储位地址获取储位上的托盘和物品信息
        /// </summary>
@@ -1620,8 +1749,100 @@
                {
                    data = "",
                    code = 0,
                    msg = "获取物料类别信息异常"
                    msg = ex.Message
                });
            }
        }
        /// <summary>
        /// 获取物料类别下拉菜单信息
        /// </summary>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        [HttpGet]
        public IActionResult GetMaterialCategories1()
        {
            try
            {
                var list = _category.GetMaterialCategories();
                return Ok(new
                {
                    data = list,
                    code = 1,
                    msg = "获取物料类别信息成功"
                });
            }
            catch (Exception ex)
            {
                return Ok(new
                {
                    data = "",
                    code = 0,
                    msg = ex.Message
                });
            }
        }
        /// <summary>
        /// 根据Id获取物料类别信息
        /// </summary>
        /// <param name="Id">Id</param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        [HttpGet]
        public IActionResult GetMaterialCategoriesById(int Id)
        {
            try
            {
                var list = _category.GetMaterialCategoriesById(Id);
                return Ok(new
                {
                    data = list,
                    code = 1,
                    msg = "根据Id获取物料类别信息成功"
                });
            }
            catch (Exception ex)
            {
                return Ok(new
                {
                    data = "",
                    code = 0,
                    msg = ex.Message
                });
            }
        }
        /// <summary>
        /// 获取区域信息
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetStorageAreaList()
        {
            try
            {
                var bolls = _category.GetStorageAreaList();
                List<XmSelectDto> list = new List<XmSelectDto>();
                foreach (var item in bolls)
                {
                    XmSelectDto list1 = new XmSelectDto()
                    {
                        name = item.AreaName, //区域名称
                        value = item.AreaNo, //区域号
                        selected = false, //是否选中
                    };
                    list.Add(list1);
                }
                return Ok(new { code = 0, msg = "区域信息", data = bolls, list });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
@@ -1651,7 +1872,7 @@
                var list = _category.InsertMaterialCategories(category);
                _operation.InsertOperation("基础信息", "物料类别", category.CategoryNo, "新增", "新增类别信息 类别号:" + category.CategoryNo, Convert.ToInt32(userId));
                _operation.InsertOperation("基础信息", "物料类别", category.CategoryNo, "添加", "添加类别信息 类别号:" + category.CategoryNo, Convert.ToInt32(userId));
                return Ok(new
                {
@@ -1668,7 +1889,7 @@
                {
                    data = "",
                    code = 0,
                    msg = "新增物料类别信息异常"
                    msg = ex.Message
                });
            }
        }
@@ -1716,7 +1937,7 @@
                {
                    data = "",
                    code = 0,
                    msg = "编辑物料类别信息异常"
                    msg = ex.Message
                });
            }
        }
@@ -1728,7 +1949,7 @@
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        [HttpPost]
        public IActionResult DeleteMaterialCategories(SysMaterialCategory category)
        public IActionResult DeleteMaterialCategories(MaterialCategoryDto category)
        {
            try
            {
@@ -1743,7 +1964,7 @@
                {
                    return Ok(new { code = 1, msg = "为获取到当前操作人信息" });
                }
                category.UpdateUser = int.Parse(userId);
                category.UpdateUser = userId;
                var list = _category.DeleteMaterialCategories(category);
@@ -1764,7 +1985,7 @@
                {
                    data = "",
                    code = 0,
                    msg = "删除物料类别信息异常"
                    msg = ex.Message
                });
            }
        }