public async Task <IActionResult> AddOrUpdate([FromForm] Wms_inventorybox model, [FromForm] string id, [FromForm] string storeId)
        {
            var validator = new InventoryBoxFluent();
            var results   = validator.Validate(model);
            var success   = results.IsValid;

            if (!success)
            {
                string msg = results.Errors.Aggregate("", (current, item) => (current + item.ErrorMessage + "</br>"));
                return(BootJsonH((PubEnum.Failed.ToInt32(), msg)));
            }

            IWMSManagementApiAccessor wmsAccessor = WMSApiManager.GetManagementApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData routeData = null;

            if (id.IsEmptyZero())
            {
                routeData = await wmsAccessor.AddInventoryBox(model);
            }
            else
            {
                routeData = await wmsAccessor.UpdateInventoryBox(SqlFunc.ToInt64(id), model);
            }

            return(BootJsonH((routeData.IsSccuess, routeData.Message)));
        }
Пример #2
0
        /// <summary>
        /// 获取管理API
        /// </summary>
        /// <param name="key"></param>
        /// <param name="sqlSugar"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public static IWMSManagementApiAccessor GetManagementApiAccessor(string key, ISqlSugarClient sqlSugar, SysUserDto user)
        {
            if (_managementApiInstanceMap.ContainsKey(key))
            {
                return(_managementApiInstanceMap[key]);
            }
            if (!_warehouseMap.ContainsKey(key))
            {
                return(null);
            }
            Wms_warehouse             warehouse = _warehouseMap[key];
            IWMSManagementApiAccessor accessor  = null;

            if (string.IsNullOrWhiteSpace(warehouse.IFAddress))
            {
                accessor = new SelfWMSManagementApiAccessor(warehouse, sqlSugar, user);
            }
            else
            {
                //TODO 操作API外部接口,第三方库暂不使用
                accessor = null; // new WMSApiAccessor(warehouse);
                _managementApiInstanceMap.Add(key, accessor);
            }
            return(accessor);
        }
        public async Task <IActionResult> Delete(int storeId, string id)
        {
            IWMSManagementApiAccessor wmsAccessor = WMSApiManager.GetManagementApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData routeData = await wmsAccessor.DeleteInventoryBox(SqlFunc.ToInt64(id));


            return(BootJsonH((routeData.IsSccuess, routeData.Message)));
        }
Пример #4
0
        public async Task <string> List(string storeId, string materialTypeId, string materialName)
        {
            IWMSManagementApiAccessor wmsAccessor = WMSApiManager.GetManagementApiAccessor(storeId, _client, this.UserDto);
            long?mtId = string.IsNullOrWhiteSpace(materialTypeId) ? (long?)null : materialTypeId.ToInt32();
            RouteData <Wms_StockCountInventoryBoxDto[]> result = (await wmsAccessor.GetStockCountInventoryBoxList(mtId, materialName));

            if (!result.IsSccuess)
            {
                return(new PageGridData().JilToJson());
            }
            return(result.ToGridJson());
        }
Пример #5
0
        public async Task <RouteData <Sys_dict[]> > GetMaterialTypes(string storeId = "", string search = "")
        {
            IWMSManagementApiAccessor wmsAccessor = WMSApiManager.GetManagementApiAccessor(storeId, _client, this.UserDto);

            return(await wmsAccessor.GetMaterialTypes(search));
        }