Beispiel #1
0
        public async Task <RouteData> DoScanComplate(long storeId, long stockInId, long inventoryBoxId, Wms_StockMaterialDetailDto[] materials, string remark)
        {
            //try
            //{
            //    _client.BeginTran();
            //    RouteData result = await _stockinServices.DoScanComplate(stockInId, inventoryBoxId, materials, remark, this.UserDto);
            //    if (!result.IsSccuess)
            //    {
            //        _client.RollbackTran();
            //        return result;
            //    }
            //    _client.CommitTran();
            //    return result;
            //}
            //catch (Exception)
            //{
            //    _client.RollbackTran();
            //    return YL.Core.Dto.RouteData.From(PubMessages.E2005_STOCKIN_BOXOUT_FAIL);
            //}
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (wmsAccessor == null)
            {
                return(YL.Core.Dto.RouteData.From(PubMessages.E0007_WAREHOUSE_NOTFOUND));
            }
            return(await wmsAccessor.DoStockInScanComplate(stockInId, inventoryBoxId, materials, remark));
        }
        public async Task <RouteData> DoStockCount(long storeId, [FromForm] OutsideStockCountStep step)
        {
            IWMSOperationApiAccessor operationAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData result = await operationAccessor.DoStockCount(step);

            return(result);
        }
        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)));
        }
        public async Task <RouteData> DoInventoryBoxBack(long storeId, StockOperation mode, long inventoryBoxTaskId, InventoryDetailDto[] details, PLCPosition pos)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData result = await wmsAccessor.DoInventoryBoxBack(mode, inventoryBoxTaskId, details, pos);

            return(result);
        }
        public async Task <RouteData> DoInventoryBoxsOut(long storeId, long[] inventoryBoxIds, PLCPosition pos)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData result = await wmsAccessor.DoInventoryBoxOut(inventoryBoxIds, pos);

            return(result);
        }
        public async Task <RouteData <InventoryDetailDto[]> > InventoryOutDetailList(long storeId, long inventoryBoxTaskId)
        {
            IWMSOperationApiAccessor         wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData <InventoryDetailDto[]> result      = await wmsAccessor.InventoryOutDetailList(inventoryBoxTaskId);

            return(result);
        }
Beispiel #7
0
        public async Task <string> Search(string text)
        {
            //var bootstrap = new Bootstrap.BootstrapParams
            //{
            //    limit = 100,
            //    offset = 0,
            //    sort = "CreateDate",
            //    search = text,
            //    order = "desc"
            //};
            //var json = _storagerackServices.PageList(bootstrap);
            //return Content(json);

            var bootstrap = new Bootstrap.BootstrapParams
            {
                limit  = 100,
                offset = 1,
                sort   = "CreateDate",
                search = text,
                order  = "desc"
            };
            IWMSBaseApiAccessor           wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client);
            RouteData <Wms_storagerack[]> result      = await wmsAccessor.GetStorageRackList(
                null, null, bootstrap.offset, bootstrap.limit, bootstrap.search,
                new string[] { bootstrap.sort + " " + bootstrap.order },
                bootstrap.datemin, bootstrap.datemax);

            if (!result.IsSccuess)
            {
                return(new PageGridData().JilToJson());
            }
            return(result.ToGridJson());
        }
        public async Task <RouteData> DoAutoSelectBox(long storeId, long?reservoirAreaId, int requestSize, PLCPosition pos)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData result = await wmsAccessor.DoAutoSelectBoxOut(reservoirAreaId, requestSize, pos);

            return(result);
        }
Beispiel #9
0
        public async Task <IActionResult> Index(string storeId)
        {
            IWMSBaseApiAccessor             wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId, _client);
            RouteData <Wms_reservoirarea[]> result      = (await wmsAccessor.GetReservoirAreaList(1, 100, null, null, null, null));

            ViewData["reservoirAreaList"] = result.Data;
            return(View());
        }
        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)));
        }
Beispiel #11
0
 private void InitSystemData(SqlSugarClient db)
 {
     Wms_warehouse[] warehouses = db.Queryable <Wms_warehouse>().ToArray();
     foreach (Wms_warehouse warehouse in warehouses)
     {
         WMSApiManager.Regist(warehouse);
     }
 }
Beispiel #12
0
        public async Task <IActionResult> Work(long storeId, string pid)
        {
            IWMSBaseApiAccessor baseApiAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client, this.UserDto);
            var model = _stockinServices.QueryableToEntity(c => c.StockInId == SqlFunc.ToInt64(pid) && c.IsDel == 1);

            ViewData["currentStoreId"]    = model.WarehouseId;
            ViewData["reservoirAreaList"] = (await baseApiAccessor.GetReservoirAreaList(1, 20, "", new string[0], "", "")).Data;
            return(View(model));
        }
Beispiel #13
0
        public async Task <RouteData> DoScanComplate(long storeId, long stockOutId, long inventoryBoxId, Wms_StockMaterialDetailDto[] materials, string remark)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (wmsAccessor == null)
            {
                return(YL.Core.Dto.RouteData.From(PubMessages.E0007_WAREHOUSE_NOTFOUND));
            }
            return(await wmsAccessor.DoStockOutScanComplate(stockOutId, inventoryBoxId, materials, remark));
        }
Beispiel #14
0
        public async Task <RouteData> Resume(long storeId, long id)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (wmsAccessor == null)
            {
                return(YL.Core.Dto.RouteData.From(PubMessages.E0007_WAREHOUSE_NOTFOUND));
            }
            return(await wmsAccessor.ResumeStockOut(id));
        }
        public async Task <IActionResult> Index(string storeId)
        {
            long currentStoreId = (long)ViewData["currentStoreId"];

            IWMSBaseApiAccessor             wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId, _client);
            RouteData <Wms_reservoirarea[]> result      = (await wmsAccessor.GetReservoirAreaList(1, 100, null, null, null, null));

            ViewData["reservoirAreaList"] = result.Data;
            //ViewBag.StorageRack = _storagerackServices.QueryableToList(c => c.WarehouseId == currentStoreId && c.IsDel == 1);
            return(View());
        }
        public async Task <IActionResult> BoxBack(long storeId, long inventoryBoxId)
        {
            IWMSBaseApiAccessor          wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData <Wms_inventorybox> result      = await wmsAccessor.GetInventoryBox(inventoryBoxId);

            if (!result.IsSccuess)
            {
                return(Json(result));
            }
            Wms_inventorybox     box  = result.Data;
            Wms_inventoryboxTask task = await _client.Queryable <Wms_inventoryboxTask>().FirstAsync(x => x.InventoryBoxId == inventoryBoxId &&
                                                                                                    (x.Status != (int)InventoryBoxTaskStatus.task_canceled &&
                                                                                                     x.Status != (int)InventoryBoxTaskStatus.task_backed));

            if (task == null) //新料箱入库
            {
                if (box.Status == (int)InventoryBoxStatus.None)
                {
                    task = new Wms_inventoryboxTask()
                    {
                        InventoryBoxTaskId = PubId.SnowflakeId,
                        InventoryBoxId     = box.InventoryBoxId,
                        InventoryBoxNo     = box.InventoryBoxNo,
                        ReservoirareaId    = (long)box.ReservoirAreaId,
                        StoragerackId      = (long)box.StorageRackId,
                        Data         = null,
                        OperaterDate = DateTime.Now,
                        OperaterId   = UserDto.UserId,
                        OperaterUser = UserDto.UserName,
                        Status       = InventoryBoxTaskStatus.task_leaved.ToByte()
                    };

                    if (_client.Insertable(task).ExecuteCommand() == 0)
                    {
                        return(Json(YL.Core.Dto.RouteData.From(PubMessages.E0005_DATABASE_INSERT_FAIL, "新料箱入库时任务记录生成失败")));
                    }
                }
                else
                {
                    return(Json(YL.Core.Dto.RouteData.From(PubMessages.E1013_INVENTORYBOXTASK_NOTFOUND)));
                }
            }
            else if (await _client.Queryable <Wms_stockindetail_box>().AnyAsync(x => x.InventoryBoxId == task.InventoryBoxTaskId))
            {
                return(Redirect($"/inventorybox/stockinboxback?storeId={storeId}&inventoryBoxTaskId=" + task.InventoryBoxTaskId));
            }
            else if (await _client.Queryable <Wms_stockoutdetail_box>().AnyAsync(x => x.InventoryBoxId == task.InventoryBoxTaskId))
            {
                return(Redirect($"/inventorybox/stockoutboxback?storeId={storeId}&inventoryBoxTaskId=" + task.InventoryBoxTaskId));
            }
            ViewData["InventoryBoxTaskId"] = task.InventoryBoxTaskId;
            ViewData["currentStoreId"]     = storeId;
            return(View(box));
        }
Beispiel #17
0
        public async Task <string> Search(long storeId, string text)
        {
            IWMSBaseApiAccessor           wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client);
            RouteData <Wms_MaterialDto[]> result      = (await wmsAccessor.GetMateralList(1, 100, text, new string[0], null, null));

            if (!result.IsSccuess)
            {
                return(new PageGridData().JilToJson());
            }
            return(result.ToGridJson());
        }
Beispiel #18
0
        public async Task <string> Search(string storeId, string text)
        {
            IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client);
            RouteData <OutsideStockOutQueryResult[]> result = await wmsAccessor.QueryStockOutList(null, null, 1, 20, text, new string[0], null, null);

            if (!result.IsSccuess)
            {
                return(new PageGridData().JilToJson());
            }
            return(result.ToGridJson());
        }
        public async Task <OutsideStockCountMaterial[]> QueryPlanMaterialList(StockCountMaterialBootstrapParams bootstrap)
        {
            IWMSBaseApiAccessor baseAccessor        = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client);
            RouteData <OutsideStockCountDto> result = await baseAccessor.QueryStockCount(bootstrap.StockCountNo);

            if (!result.IsSccuess || result.Data == null)
            {
                return(new OutsideStockCountMaterial[0]);
            }
            return(result.Data.MaterialList);
        }
        public async Task <PageGridData> QueryPlanList(StockCountBootstrapParams bootstrap)
        {
            IWMSBaseApiAccessor baseAccessor          = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client);
            RouteData <OutsideStockCountDto[]> result = await baseAccessor.QueryStockCountList(
                bootstrap.StockCountStatus, bootstrap.pageIndex, bootstrap.limit, bootstrap.search,
                new string[] { bootstrap.sort + " " + bootstrap.order },
                bootstrap.datemin, bootstrap.datemax
                );

            return(result.ToGridData());
        }
Beispiel #21
0
        public async Task <string> ListDetail(int storeId, string pid)
        {
            IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client);
            RouteData <OutsideStockInQueryResult> result = await wmsAccessor.QueryStockIn(SqlFunc.ToInt64(pid));

            if (!result.IsSccuess)
            {
                return(null);
            }
            return(new PageGridData(result.Data.Details, result.Data.Details.Length).JilToJson());
        }
        public async Task <IActionResult> Index()
        {
            long currentStoreId = (long)ViewData["currentStoreId"];


            IWMSBaseApiAccessor baseAccessor = WMSApiManager.GetBaseApiAccessor(currentStoreId.ToString(), _client);

            ViewBag.ReservoirAreas = (await baseAccessor.GetReservoirAreaList(0, 100, "", null, "", "")).Data;

            return(View());
        }
        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());
        }
Beispiel #24
0
        public async Task <RouteData <bool> > HasNofity(long storeId)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (wmsAccessor == null)
            {
                return(RouteData <bool> .From(false));
            }
            RouteData <bool> result = await wmsAccessor.HasStockOutNofity();

            return(result);
        }
Beispiel #25
0
        public async Task <RouteData> SetStockOutNofitied(long storeId)
        {
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (wmsAccessor == null)
            {
                return(new RouteData());
            }
            RouteData result = await wmsAccessor.SetStockOutNofitied();

            return(result);
        }
        public async Task <string> Search(long storeId, string text)
        {
            IWMSBaseApiAccessor            wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client);
            RouteData <Wms_inventorybox[]> result      = (await wmsAccessor.GetInventoryBoxList(
                                                              null, null, null, 1, 20, text, null, null, null));

            if (!result.IsSccuess)
            {
                return(new PageGridData().JilToJson());
            }
            return(result.ToGridJson());
        }
Beispiel #27
0
        public async Task <string> WorkList(long storeId, long pid)
        {
            Wms_stockout stockout = await _client.Queryable <Wms_stockout>().FirstAsync(x => x.StockOutId == pid);

            if (stockout == null)
            {
                return("");
            }
            IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            Wms_StockOutWorkDetailDto[] result = await wmsAccessor.GetStockOutCurrentPlan(pid);

            return(Bootstrap.GridData(result, result.Length).JilToJson());
        }
Beispiel #28
0
        public async Task <Wms_MaterialDto[]> MaterialList(Bootstrap.BootstrapParams bootstrap)
        {
            IWMSBaseApiAccessor           wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client);
            RouteData <Wms_MaterialDto[]> result      = (await wmsAccessor.GetMateralList(
                                                             bootstrap.pageIndex, bootstrap.limit, bootstrap.search,
                                                             new string[] { bootstrap.sort + " " + bootstrap.order },
                                                             bootstrap.datemin, bootstrap.datemax));

            if (!result.IsSccuess)
            {
                return(new Wms_MaterialDto[0]);
            }
            return(result.Data);
        }
Beispiel #29
0
        public async Task <RouteData> RepeatWCSTaskStatus(long storeId, long wcsTaskId)
        {
            IWMSOperationApiAccessor accessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);

            if (accessor == null)
            {
                return(YL.Core.Dto.RouteData.From(PubMessages.E0007_WAREHOUSE_NOTFOUND));
            }
            RouteData result = await accessor.RepeatWCSTaskStatus(wcsTaskId);

            if (!result.IsSccuess)
            {
            }
            return(result);
        }
        public async Task <IActionResult> StepList(long storeId, string stockCountNo)
        {
            IWMSOperationApiAccessor operationAccessor =
                WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto);
            RouteData <OutsideStockCountDto> result = await operationAccessor.BeginStockCount(stockCountNo);

            if (!result.IsSccuess)
            {
                return(Content(result.Message));
            }

            ViewData["currentStoreId"] = storeId;
            ViewData["stockCountNo"]   = stockCountNo;
            ViewData["stockCountDate"] = result.Data.StockCountDate;
            return(View(result.Data));
        }