diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index d50a23be..a018352a 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 202b67e9..a8244137 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -22,6 +22,7 @@ using Microsoft.Extensions.Hosting; using WMS.Web.Domain.Options; using Microsoft.Extensions.Options; using WMS.Web.Domain.Values; +using WMS.Web.Core.Dto.Erp; namespace WMS.Web.Api.Controllers { @@ -71,39 +72,6 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - //OperateRequest dto = new OperateRequest(); - //dto.Ids.Add(95); - // var result = await this._erpService.BillQueryForSubStock(); - //var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList(); - //await _outStockService.Sync(dto, null); - //var b = await _takeStockService.Sync(dto); - // List list = null; - //var b= list.FirstOrDefault(f => f.Id == 123); - //var entity=await _takeStockRepositories.GetEntityList(new List() {2 }); - //var r= await _takeStockService.Loss_Profit(entity.First()); - //var list = await GetList(); - //List<(string materialNumber, string orgCode, string stockCode, int subStockId)> request = new List<(string materialNumber, string orgCode, string stockCode, int subStockId)>(); - //request.Add(("G03-60-551495", "101", "WMSCH001", 2683)); - //var c = await _erpService.BillQueryForInventory(request); - //var c = await _erpService.BillQueryForAssembledAppOutStock_Assembly(new List() { "ZZCX003061" }, DateTime.Now.AddDays(-10)); - //var bc2 = await _erpService.BillQueryForDeliveryNoticeOutStock(new List() { "FHTZD8022232" }, DateTime.Now.AddDays(-10)); - //var bc = await _erpService.BillQueryForTransferOutOutStock(null, DateTime.Now.AddDays(-10)); - //var b=await _erpService.BillQueryForAssembledAppOutStock_Assembly(null, DateTime.Now.AddDays(-1)); - // var b2 = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(null, DateTime.Now.AddDays(-10)); - //var b = await _outStockTaskService.Sync(new List() { "FHTZD8022232" }); - //var result = await this._outStockTaskService.Sync(null); - //var t=await _outStockTaskRepositories.Get(1); - // t.Details[0].Remark = "sdf"; - // t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb"; - // var s = await _outStockTaskRepositories.Edit(t); - //await _boxService.Sync(); - //var res = await this._erpService.BillQueryForAssembledAppOutStock_Dassembly(null,DateTime.Now.AddDays(-300)); - //var result= await this._erpService.BillQueryForPurchaseInStock(); - //var result = await this._erpService.BillQueryForOrg(); - //var result = await this._erpService.BillQueryForMaterial(); - //if (!result.IsSuccess) - // return ""; - //return JsonConvert.SerializeObject(result.Data); return ""; } @@ -137,59 +105,21 @@ namespace WMS.Web.Api.Controllers [Route("tf")] public async Task TestTF() { + if (!_env.IsDevelopment()) return ""; ////var result = await this._erpService.BillQueryForOrg(); - var result = await this._erpService.BillQueryForBillType(); - //if (!result.IsSuccess) - // return ""; - //return JsonConvert.SerializeObject(result.Data); - - // var bis = new List() { "CGDD224198", "CGDD224199", "CGDD224200", "CGDD224202", "SUB00006680", "CGDD224203", "SUB000066801", "CGDD224204", "CGDD224205", "CGDD224206", "CGDD224207", "SUB00006681", "CGDD224208", "CGDD224209", "SUB00006682", "CGDD224210", "CGDD224211", "CGDD224212", "CGDD224213", "CGDD224216", "SUB00006683", "CGDD224218", "CGDD224219", "CGDD224220", "CGDD224221", "CGDD224222", "CGDD224223", "CGDD224224", "CGDD224225", "CGDD224226", "CGDD224227", "CGDD224229", "CGDD224230", "CGDD224231", "CGDD224232", "CGDD224233", "SUB00006685", "SUB00006686", "CGDD224234", "CGDD224235", "CGDD224236", "CGDD224237", "CGDD224238", "CGDD224239", "CGDD224240", "CGDD224241", "CGDD224242", "CGDD224243", "CGDD224244", "CGDD224245", "CGDD224246", "CGDD224247", "CGDD224248", "CGDD224249", "CGDD224250", "CGDD224251" }; - - - //var result = await this._erpService.BillQueryForPurchaseInStock(); - //var result1 = await this._erpService.BillQueryForMiscellaneous(); - //var result2 = await this._erpService.BillQueryForTransferDirect(); - //var result3 = await this._erpService.BillQueryForTransferin(); - - //var result4= await this._erpService.BillQueryForAssembledApp_Assembly(); - - //var result5 = await this._erpService.BillQueryForAssembledApp_Disassembly(); - - //var list= result.Data.ToList(); - //list.AddRange(result2.Data.ToList()); - + //var result = await this._erpService.BillQueryForBillType(); + var result = await this._erpService.BillQueryForMaterial(); + //var list = new List(); + //foreach (var item in result.Data.ToList()) + //{ + // var t = new TestMar(); + // t.MaterialNumber = item.MaterialNumber; + // t.BarCode = item.BarCode; + // list.Add(t); + //} + var tt = JsonConvert.SerializeObject(result); - //var tttt = new List() { "ABCD14200999" }; - //var boxInventorys = await _boxInventoryRepositories.Get(142); - - //var data = new List(); - - //var entity = new BoxInventory(); - //entity.Id = 34; - //entity.BoxId = 142; - //entity.OrgCode = "101"; - //entity.StockCode = "CK003"; - //entity.SubStockId = 2949; - - //var det = new BoxInventoryDetails(); - - //det.Id = 266; - //det.Fid = 34; - //det.MaterialId = 4799560; - //det.SerialNumbers = new List() { "ABCD143001", "ABCD142002" }; - //det.Qty = 2; - //entity.Details.Add(det); - - //boxInventorys.Details.ForEach(x=> - //{ - // x.SerialNumbers.RemoveAll(t => tttt.Contains(t)); - // //x.SerialNumbers.AddRange(tttt); - // x.Qty = 3; - //}); - - //data.Add(boxInventorys); - //var result= await _boxInventoryRepositories.UpdateRange(data); return tt; @@ -334,7 +264,7 @@ namespace WMS.Web.Api.Controllers [Route("InStock")] public async Task InStock() { - + if (!_env.IsDevelopment()) return Result.ReSuccess(); //3.同步数据 var result = await _inStockTaskService.Sysn(); return result; diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 457dddb1..da66d6ac 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1116,6 +1116,11 @@ 基本单位编码 + + + 条码 + + 金蝶组织-基本信息 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index a0a1afc6..0d06f1eb 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3083,6 +3083,14 @@ + + + 获取物料的条码 + + + + + 获取物料基本单位id @@ -4534,6 +4542,14 @@ + + + 获取物料的条码 + + + + + 获取物料基本单位Id diff --git a/src/WMS.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs b/src/WMS.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs index 5aa29e2a..a3d5ddeb 100644 --- a/src/WMS.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs @@ -40,5 +40,10 @@ namespace WMS.Web.Core.Dto.Erp /// 基本单位编码 /// public string BaseUnitNumber { get; set; } + + /// + /// 条码 + /// + public string BarCode { get; set; } } } diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs index 24cf4666..7fb795c1 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs @@ -43,6 +43,15 @@ namespace WMS.Web.Domain.IService.Public /// /// string GetMaterialUnitName(List erpMaterials, int materialId); + + /// + /// 获取物料的条码 + /// + /// + /// + /// + string GetMaterialBarCode(List erpMaterials, int materialId); + /// /// 获取物料基本单位id /// diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs index 23002527..525371db 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs @@ -116,6 +116,28 @@ namespace WMS.Web.Domain.Services.Public } return mat.BaseUnitName; } + + /// + /// 获取物料的条码 + /// + /// + /// + /// + public string GetMaterialBarCode(List erpMaterials, int materialId) + { + if (erpMaterials == null || erpMaterials.Count == 0) + return ""; + var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault(); + if (mat == null) + { + var result = _erpService.BillQueryForMaterial(materialId).Result; + if (!result.IsSuccess) + return ""; + return result.Data == null ? "" : result.Data.BarCode; + } + return mat.BarCode; + } + /// /// 获取物料基本单位Id /// diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index bd994613..8028e8d7 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -857,7 +857,7 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶物料:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString()); - param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber"; + param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! @@ -873,42 +873,55 @@ namespace WMS.Web.Domain.Services.Public int skip = 0; var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); _logger.LogInformation($"物料拉取-开始时间:{beginTime}"); - while (isHave) + var error_josn = ""; + try { - //4.1.页码:页码按照金蝶的要求从0开始 - param.StartRow = (Convert.ToInt32(skip) * param.Limit); - //4.2.参数json化 - query.Data = JsonConvert.SerializeObject(param); - var json = JsonConvert.SerializeObject(query); - - //4.3.请求查询接口并返回数据 - var result_json = await _client.ExecuteBillQueryAsync(json); - var result = JsonConvert.DeserializeObject>>(result_json); - //4.4.判断数据是否全部拉取完成:并停止循环的条件 - if (result == null || result.Count == 0) - isHave = false; - //4.5.拼装 - foreach (var item in result) + while (isHave) { - var lis = new ErpMaterialDto(); - lis.MaterialId = Convert.ToInt32(item[0]); - lis.MaterialName = item[1]; - lis.MaterialNumber = item[2]; - lis.Specifications = item[3]; - lis.BaseUnitId = Convert.ToInt32(item[4]); - lis.BaseUnitName = item[5]; - lis.BaseUnitNumber = item[6]; - erp_materials_list.Add(lis); + //4.1.页码:页码按照金蝶的要求从0开始 + param.StartRow = (Convert.ToInt32(skip) * param.Limit); + //4.2.参数json化 + query.Data = JsonConvert.SerializeObject(param); + var json = JsonConvert.SerializeObject(query); + + //4.3.请求查询接口并返回数据 + var result_json = await _client.ExecuteBillQueryAsync(json); + error_josn = result_json; + var result = JsonConvert.DeserializeObject>>(result_json); + //4.4.判断数据是否全部拉取完成:并停止循环的条件 + if (result == null || result.Count == 0) + isHave = false; + //4.5.拼装 + foreach (var item in result) + { + var lis = new ErpMaterialDto(); + lis.MaterialId = Convert.ToInt32(item[0]); + lis.MaterialName = item[1]; + lis.MaterialNumber = item[2]; + lis.Specifications = item[3]; + lis.BaseUnitId = Convert.ToInt32(item[4]); + lis.BaseUnitName = item[5]; + lis.BaseUnitNumber = item[6]; + lis.BarCode = item[7]; + erp_materials_list.Add(lis); + } + //4.6页面的叠加 + skip++; } - //4.6页面的叠加 - skip++; + var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + _logger.LogInformation($"物料拉取-结束时间:{endTime}"); + //5.物料集合进行缓存-当前缓存时间到当天晚上的0点,后面定时任务执行重新放入缓存 + _memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan()))); + _logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}"); + return ResultList.ReSuccess(erp_materials_list); } - var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - _logger.LogInformation($"物料拉取-结束时间:{endTime}"); - //5.物料集合进行缓存-当前缓存时间到当天晚上的0点,后面定时任务执行重新放入缓存 - _memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan()))); - _logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}"); - return ResultList.ReSuccess(erp_materials_list); + catch (Exception) + { + _logger.LogInformation("物料拉取->错误的Json:" + error_josn); + return null; + } + + } /// @@ -926,7 +939,7 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶物料:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString()); - param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber"; + param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! @@ -964,6 +977,7 @@ namespace WMS.Web.Domain.Services.Public lis.BaseUnitId = Convert.ToInt32(item[4]); lis.BaseUnitName = item[5]; lis.BaseUnitNumber = item[6]; + lis.BarCode = item[7]; erp_materials_list.Add(lis); } if (erp_materials_list.Count == 0) diff --git a/src/WMS.Web.Repositories/BoxMarkRepositories.cs b/src/WMS.Web.Repositories/BoxMarkRepositories.cs index 3d8d39ab..fd323d21 100644 --- a/src/WMS.Web.Repositories/BoxMarkRepositories.cs +++ b/src/WMS.Web.Repositories/BoxMarkRepositories.cs @@ -134,7 +134,7 @@ namespace WMS.Web.Repositories MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId), MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId), Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId), - BarCode = "", + BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialId), CratingQty = s.CratingQty, CratingNetWeightQty = s.CratingNetWeightQty,