diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 4dabf6fc..0048ce30 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -170,24 +170,33 @@ namespace WMS.Web.Api.Controllers /// /// /// + /// /// [HttpGet] - [Route("SCBox/{str}/{number}")] - public async Task SCBox([FromRoute] string str, [FromRoute] int number) + [Route("SCBox/{str}/{number}/{materialNumber}")] + public async Task SCBox([FromRoute] string str, [FromRoute] int number, [FromRoute] List materialNumbers) { - var list = await GetList(str, number); + if (materialNumbers == null) + materialNumbers = new List(); + var list = await GetList(str, number, materialNumbers); await _boxService.Sync(list); return Result.ReSuccess(); } - private async Task> GetList(string str, int number) + private async Task> GetList(string str, int number, List materialNumbers) { var materials_result = await _erpService.BillQueryForMaterial(); var materials = materials_result.Data.ToList(); + + List mIds = materials.Where(w => materialNumbers.Equals(w.MaterialNumber)).Select(s => s.MaterialId).ToList(); + int jn = 3; + if (mIds.Count() <= 0) + mIds= materials.Skip((new Random()).Next(1000, 10000)).Take(4).Select(s => s.MaterialId).ToList(); + jn = mIds.Count() - 1; List list = new List(); for (int i = 0; i < number; i++) { List Details = new List(); - for (int j = 0; j <= 3; j++) + for (int j = 0; j <= jn; j++) { var ran = (new Random()).Next(5, 10); List SerialNumbers = new List(); @@ -204,7 +213,7 @@ namespace WMS.Web.Api.Controllers var mi = (new Random()).Next(1000, 20000); OpsBoxDetailsResponse d = new OpsBoxDetailsResponse() { - MaterialId = materials[mi].MaterialId, + MaterialId = mIds[j], Qty = ran, SerialNumbers = SerialNumbers }; diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 168a90dc..35e74004 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -564,12 +564,13 @@ - + 自动生成箱信息 +