private RouteData StockCountCore( string StockInventoryId, DateTime StockCountDate, string WarehouseID, OutsideStockCountMaterial[] materials) { if (materials.Length == 0) { return(YL.Core.Dto.RouteData.From(PubMessages.E2204_STOCKCOUNT_MATERIAL_ZERO)); } string warehouseNo = string.IsNullOrWhiteSpace(WarehouseID) ? "A00" : WarehouseID; Wms_warehouse warehouse = WMSApiManager.GetWarehouse(warehouseNo); if (warehouse == null) { return(YL.Core.Dto.RouteData.From(PubMessages.E1026_SUPPLIES_WAREHOUSEID_NOTFOUND, $"warehouseId = {warehouseNo}")); } long warehouseId = warehouse.WarehouseId; IWMSBaseApiAccessor proxy = WMSApiManager.GetBaseApiAccessor(warehouseId.ToString(), _sqlClient); Wms_mestask mesTask = new Wms_mestask() { MesTaskId = PubId.SnowflakeId, MesTaskType = MESTaskTypes.StockCount, WarehousingId = StockInventoryId, //入库单编号 WarehousingType = String.Empty, //入库类型 WarehousingTime = StockCountDate, //入库时间 ProductionPlanId = String.Empty, //生产令号 BatchPlanId = String.Empty, //批次号 WorkAreaName = String.Empty, //作业区 SuppliesKinds = materials.Length, //物料种类 SuppliesInfoJson = "", // jsonSuppliesInfoStr, //物料信息 WorkStatus = MESTaskWorkStatus.WaitPlan, //等待计划 NotifyStatus = MESTaskNotifyStatus.Requested, //已接收 CreateDate = DateTime.Now }; RouteData result = null; try { result = proxy.StockCount(new OutsideStockCountRequestDto() { MesTaskId = mesTask.MesTaskId, StockCountNo = StockInventoryId, PlanDate = StockCountDate.ToString(PubConst.Format_Date), MaterialList = materials }).GetAwaiter().GetResult(); if (result == null || !result.IsSccuess) { mesTask.WorkStatus = MESTaskWorkStatus.Failed; mesTask.Remark = result.Message; } } catch (Exception ex) { mesTask.WorkStatus = MESTaskWorkStatus.Failed; mesTask.Remark = ex.Message; } _mastaskServices.Insert(mesTask); return(result); }
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 <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> 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)); }
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()); }
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> 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 <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()); }
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 <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 <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> 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)); }
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()); }
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); }
public async Task <string> GetReservoirarea(string id) { //var json = _reservoirareaServices.Queryable().Where(c => c.IsDel == 1 && c.WarehouseId == SqlFunc.ToInt64(id)) // .Select(c => new { ReservoirAreaId = c.ReservoirAreaId.ToString(), c.ReservoirAreaName }) // .ToList(); //return Content(json.JilToJson()); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(id.ToString(), _client); RouteData <Wms_reservoirarea[]> result = (await wmsAccessor.GetReservoirAreaList(1, 100, null, null, null, null)); if (!result.IsSccuess) { return(new PageGridData().JilToJson()); } return(result.ToGridJson()); }
public async Task <string> DetailList(long storeId, long id) { if (id == 0) { return(PubMessages.E1006_INVENTORYBOX_MISSING.Message); } IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client); RouteData <Wms_inventory[]> result = await wmsAccessor.GetInventoryBoxDetail(id); if (!result.IsSccuess) { return(result.Message); } return(result.ToGridJson()); }
public async Task <IActionResult> InventoryBoxList(long storeId, string materialNo) { ViewBag.StoreId = storeId; ViewBag.MaterialNo = materialNo; IWMSOperationApiAccessor accessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client); RouteData <Wms_reservoirarea[]> reservoirAreaResult = (await wmsAccessor.GetReservoirAreaList(1, 100, null, null, null, null)); ViewData["reservoirAreaList"] = reservoirAreaResult.Data; RouteData <Wms_InventoryBoxMaterialInfo[]> result = await accessor.GetInventoryBoxList(materialNo); Wms_InventoryBoxMaterialInfo last = result.Data.FirstOrDefault(x => x.InventoryBoxStatus == (int)InventoryBoxStatus.InPosition); ViewBag.Data = JsonConvert.SerializeObject(new Wms_InventoryBoxMaterialInfo[] { last }); return(View()); }
public async Task <IActionResult> Add(long storeId, string id) { ViewData["currentStoreId"] = storeId; var model = new Wms_inventorybox(); if (id.IsEmpty()) { return(View(model)); } else { IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client); RouteData <Wms_inventorybox> result = await wmsAccessor.GetInventoryBox(SqlFunc.ToInt64(id)); return(View(result.Data)); } }
public async Task <string> List([FromForm] StorageRackBootstrapParams bootstrap) { //var sd = _storagerackServices.PageList(bootstrap); //return Content(sd); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client); RouteData <Wms_storagerack[]> result = await wmsAccessor.GetStorageRackList( bootstrap.ReservoirAreaId, bootstrap.Status, bootstrap.pageIndex, 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 <IActionResult> Detail(long storeId, long id) { IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client); if (id == 0) { return(Content("调用错误")); } RouteData <Wms_inventorybox> result = (await wmsAccessor.GetInventoryBox(id)); if (!result.IsSccuess) { return(Content(result.Message)); } ViewData["currentStoreId"] = storeId; return(View(result.Data)); }
public async Task <string> List([FromForm] Bootstrap.BootstrapParams bootstrap) { //var sd = _materialServices.PageList(bootstrap); //return Content(sd); 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 PageGridData().JilToJson()); } return(result.ToGridJson()); }
public async Task <IActionResult> StockOutBoxBack(long storeId, long inventoryBoxTaskId) { IWMSOperationApiAccessor wmsAccessor = WMSApiManager.GetOperationApiAccessor(storeId.ToString(), _client, this.UserDto); RouteData <Wms_inventoryboxTask> result = await wmsAccessor.GetInventoryBoxkTask(inventoryBoxTaskId); IWMSBaseApiAccessor wmsBaseAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client, this.UserDto); RouteData <Wms_inventorybox> boxResult = await wmsBaseAccessor.GetInventoryBox(result.Data.InventoryBoxId); if (!boxResult.IsSccuess) { return(Json(boxResult.Message)); } ViewData["currentStoreId"] = storeId; ViewData["InventoryBoxTaskId"] = inventoryBoxTaskId; return(View(boxResult.Data)); }
public async Task <PageGridData> List([FromForm] PubParams.InventoryBootstrapParams bootstrap) { //var sd = _inventoryrecordServices.PageList(bootstrap); //return Content(sd); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client); RouteData <OutsideInventoryRecordDto[]> result = (await wmsAccessor.QueryInventoryRecord( null, null, null, null, bootstrap.pageIndex, bootstrap.limit, bootstrap.search, new string[] { bootstrap.sort + " " + bootstrap.order }, bootstrap.datemin, bootstrap.datemax)); if (!result.IsSccuess) { return(new PageGridData()); } return(result.ToGridData()); }
public async Task <string> List([FromForm] PubParams.StockInBootstrapParams bootstrap) { //var sd = _stockinServices.PageList(bootstrap); //return Content(sd); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client); RouteData <OutsideStockInQueryResult[]> result = await wmsAccessor.QueryStockInList( null, null, bootstrap.pageIndex, 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 <IActionResult> Add(string id, 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; var model = new Wms_storagerack(); if (id.IsEmpty()) { return(View(model)); } else { model = _storagerackServices.QueryableToEntity(c => c.StorageRackId == SqlFunc.ToInt64(id)); return(View(model)); } }
public async Task <string> GetStoragerack(long storeId, long id) { //var json = _storagerackServices.Queryable().Where(c => c.IsDel == 1 && c.ReservoirAreaId == SqlFunc.ToInt64(id)) // .Select(c => new { value = c.StorageRackId.ToString(), name = c.StorageRackName }) // .ToList(); //return Content(json.JilToJson()); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId.ToString(), _client); if (wmsAccessor == null) { return(""); } RouteData <Wms_storagerack[]> result = (await wmsAccessor.GetStorageRackList(SqlFunc.ToInt64(id), null, 1, 500, null, null, null, null)); if (!result.IsSccuess) { return(new PageGridData().JilToJson()); } return(result.Data.JilToJson()); }
public async Task <string> List([FromForm] PubParams.InventoryBootstrapParams bootstrap) { try { //var sd = _inventoryServices.PageList(bootstrap); //return Content(sd); long?materialId = string.IsNullOrWhiteSpace(bootstrap.MaterialId) ? (long?)null : long.Parse(bootstrap.MaterialId); IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(bootstrap.storeId.ToString(), _client); RouteData <OutsideInventoryDto[]> result = (await wmsAccessor.QueryInventory( null, null, null, materialId, bootstrap.pageIndex, bootstrap.limit, bootstrap.search, new string[] { bootstrap.sort + " " + bootstrap.order }, bootstrap.datemin, bootstrap.datemax)); if (!result.IsSccuess) { return(new PageGridData().JilToJson()); } return(result.ToGridJson()); } catch (Exception ex) { return(ex.ToString()); } }
/// <summary> /// 获取基本Api /// </summary> /// <param name="key"></param> /// <param name="sqlSugar"></param> /// <param name="user"></param> /// <returns></returns> public static IWMSBaseApiAccessor GetBaseApiAccessor(string key, ISqlSugarClient sqlSugar, SysUserDto user = null) { if (_baseApiInstanceMap.ContainsKey(key)) { return(_baseApiInstanceMap[key]); } if (!_warehouseMap.ContainsKey(key)) { return(null); } Wms_warehouse warehouse = _warehouseMap[key]; IWMSBaseApiAccessor accessor = null; if (string.IsNullOrWhiteSpace(warehouse.IFAddress)) { accessor = new SelfWMSBaseApiAccessor(warehouse, sqlSugar, user); } else { accessor = new WMSBaseApiAccessor(warehouse, sqlSugar, user); _baseApiInstanceMap.Add(key, accessor); } return(accessor); }
private RouteData CreateWMSStockout(Wms_mestask mesTask, OutsideWarehouseEntryMaterialDto[] suppliesInfoList) { Dictionary <long, List <Wms_WarehouseEntryMaterialInventoryDto> > map = new Dictionary <long, List <Wms_WarehouseEntryMaterialInventoryDto> >(); foreach (OutsideWarehouseEntryMaterialDto materialDto in suppliesInfoList) { //Sys_dict typeDict = _sqlClient.Queryable<Sys_dict>() // .First(x => x.DictType == PubDictType.material.ToByte().ToString() && x.DictName == materialDto.SuppliesType); //if (typeDict == null) //{ // return RouteData<Wms_material>.From(PubMessages.E1001_SUPPLIESTYPE_NOTFOUND, $"SuppliesType = {materialDto.SuppliesType}"); //} //else if (typeDict.WarehouseId == null) //{ // return RouteData<Wms_material>.From(PubMessages.E1002_SUPPLIESTYPE_WAREHOUSEID_NOTSET, $"SuppliesType = {materialDto.SuppliesType}"); //} //long warehouseId = typeDict.WarehouseId.Value; string warehouseNo = string.IsNullOrWhiteSpace(materialDto.WarehouseId) ? "A00" : materialDto.WarehouseId; //MES的WarehouseID对应WMS的WarehouseNo Wms_warehouse warehouse = WMSApiManager.GetWarehouse(warehouseNo); if (warehouse == null) { return(RouteData <Wms_material> .From(PubMessages.E1026_SUPPLIES_WAREHOUSEID_NOTFOUND, $"warehouseId = {warehouseNo}")); } long warehouseId = warehouse.WarehouseId; List <Wms_WarehouseEntryMaterialInventoryDto> warehouseMaterialList = null; if (map.ContainsKey(warehouseId)) { warehouseMaterialList = map[warehouseId]; } else { warehouseMaterialList = new List <Wms_WarehouseEntryMaterialInventoryDto>(); map.Add(warehouseId, warehouseMaterialList); } warehouseMaterialList.Add(new Wms_WarehouseEntryMaterialInventoryDto() { MaterialId = "-1", SubWarehouseEntryId = materialDto.SubWarehouseEntryId, UniqueIndex = materialDto.UniqueIndex, MaterialOnlyId = materialDto.SuppliesOnlyId, MaterialNo = materialDto.SuppliesId, MaterialName = materialDto.SuppliesName, MaterialType = materialDto.SuppliesType, Qty = materialDto.SuppliesNumber, Unit = materialDto.Unit }); } List <RouteData> result = new List <RouteData>(); foreach (KeyValuePair <long, List <Wms_WarehouseEntryMaterialInventoryDto> > keyValue in map) { try { IWMSBaseApiAccessor proxy = WMSApiManager.GetBaseApiAccessor(keyValue.Key.ToString(), _sqlClient); OutsideStockOutRequestDto request = new OutsideStockOutRequestDto() { MesTaskId = mesTask.MesTaskId, WarehouseEntryId = mesTask.WarehousingId, WarehouseEntryTime = mesTask.WarehousingTime.ToString(PubConst.Format_DateTime), WarehouseEntryType = mesTask.WarehousingType, WarehouseId = keyValue.Key, OrderNo = mesTask.ProductionPlanId, WorkNo = mesTask.TotalWorkOrder, BatchNumber = mesTask.BatchNumber, WorkAreaName = mesTask.WorkAreaName, WorkStationId = mesTask.WorkStationId, BatchPlanId = mesTask.BatchPlanId, MaterialList = keyValue.Value.ToArray(), }; _logger.LogInformation("小WMS的StockOut开始", ""); RouteData data = proxy.StockOut(request).GetAwaiter().GetResult(); _logger.LogInformation("小WMS的StockOut结束", ""); if (!data.IsSccuess) { string message = $"仓库{keyValue.Key}下发出库任务失败,Code={data.Code},Message={data.Message}"; _logger.LogError(message); result.Add(data); return(new RouteData() { Code = -1, Message = message }); } else { _logger.LogInformation($"仓库{keyValue.Key}下发出库任务成功"); } } catch (Exception ex) { string message = $"仓库{keyValue.Key}下发出库任务发生异常"; _logger.LogError(ex, message); return(new RouteData() { Code = -1, Message = message }); } } return(new RouteData()); }
public async Task <string> DetailList(string id, MESTaskTypes mesTaskType) { long searchMesId = id.ToInt64(); if (id.IsEmptyZero()) { return(""); } //IWMSBaseApiAccessor[] proxies = WMSApiManager.GetAll(_client); if (mesTaskType == MESTaskTypes.StockIn) { List <Wms_stockin> stockins = await _client.Queryable <Wms_stockin>().Where(x => x.MesTaskId == searchMesId).ToListAsync(); List <OutsideStockInQueryResult> totalResult = new List <OutsideStockInQueryResult>(); foreach (Wms_stockin stockin in stockins) { IWMSBaseApiAccessor proxy = WMSApiManager.GetBaseApiAccessor(stockin.WarehouseId.ToString(), _client, this.UserDto); Wms_warehouse warehouse = proxy.Warehouse; try { RouteData <OutsideStockInQueryResult> result = await proxy.QueryStockIn(stockin.StockInId); result.Data.WarehouseName = warehouse.WarehouseName; totalResult.Add(result.Data); } catch (Exception ex) { this._logger.LogError(ex, $"查询入库信息失败,WarhouseId={stockin.WarehouseId},StockInId={stockin.StockInId}"); OutsideStockInQueryResult resultData = new OutsideStockInQueryResult() { WarehouseName = warehouse.WarehouseName, StockInId = stockin.StockInId.ToString(), StockInNo = stockin.StockInNo, StockInTypeName = stockin.StockInTypeName, StockInStatus = (StockInStatus)stockin.StockInStatus, MesTaskId = stockin.MesTaskId.ToString(), OrderNo = stockin.OrderNo, Remark = "详细信息查询失败,仅显示本地信息" }; totalResult.Add(resultData); } } return(JsonConvert.SerializeObject(Bootstrap.GridData(totalResult, totalResult.Count))); } else if (mesTaskType == MESTaskTypes.StockOut) { List <Wms_stockout> stockOuts = await _client.Queryable <Wms_stockout>().Where(x => x.MesTaskId == searchMesId).ToListAsync(); List <OutsideStockOutQueryResult> totalResult = new List <OutsideStockOutQueryResult>(); foreach (Wms_stockout stockout in stockOuts) { IWMSBaseApiAccessor proxy = WMSApiManager.GetBaseApiAccessor(stockout.WarehouseId.ToString(), _client, this.UserDto); Wms_warehouse warehouse = proxy.Warehouse; try { RouteData <OutsideStockOutQueryResult> result = await proxy.QueryStockOut(stockout.StockOutId); result.Data.WarehouseName = warehouse.WarehouseName; totalResult.Add(result.Data); } catch (Exception ex) { this._logger.LogError(ex, $"查询出库信息失败,WarhouseId={stockout.WarehouseId},StockOutId={stockout.StockOutId}"); OutsideStockOutQueryResult resultData = new OutsideStockOutQueryResult() { WarehouseName = warehouse.WarehouseName, StockOutId = stockout.StockOutId.ToString(), StockOutNo = stockout.StockOutNo, StockOutTypeName = stockout.StockOutTypeName, StockOutStatus = (StockOutStatus)stockout.StockOutStatus.Value, BatchNumber = stockout.BatchNumber, BatchPlanId = stockout.BatchPlanId, MesTaskId = stockout.MesTaskId.ToString(), WorkNo = stockout.WorkNo, WorkAreaName = stockout.WorkAreaName, WorkStationId = stockout.WorkStationId, OrderNo = stockout.OrderNo, Remark = "详细信息查询失败,仅显示本地信息" }; totalResult.Add(resultData); } } return(Bootstrap.GridData(totalResult, totalResult.Count).JilToJson()); } else { return(""); } }