diff --git a/src/BarCode.Web.Api/Controllers/TestController.cs b/src/BarCode.Web.Api/Controllers/TestController.cs index 86f85d5..9f28b86 100644 --- a/src/BarCode.Web.Api/Controllers/TestController.cs +++ b/src/BarCode.Web.Api/Controllers/TestController.cs @@ -156,8 +156,8 @@ namespace BarCode.Web.Api.Controllers //}); //await _serialNumberService.Generate(r, null); - // await _materialService.SyncNewMaterials(); - //var s= await _repositories.GetList(new Core.Dto.FileDownManagerRequest(), 0); + await _materialService.SyncNewMaterials(); + // var s= await _repositories.GetList(new Core.Dto.FileDownManagerRequest(), 0); return Result.ReSuccess(); } diff --git a/src/BarCode.Web.Api/appsettings.json b/src/BarCode.Web.Api/appsettings.json index a86d550..342527f 100644 --- a/src/BarCode.Web.Api/appsettings.json +++ b/src/BarCode.Web.Api/appsettings.json @@ -10,7 +10,9 @@ "AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",//跨域 "AppOptions": { "DBConnectionString": "Server=rm-wz9215skklas0287pwo.mysql.rds.aliyuncs.com; Database=test_barcode_db;User Id=orico_erp;password=Orico2023;port=3306;CharSet=gb2312;Connect Timeout=150;", //数据库连接地址 + //"DBConnectionString": "Server=rm-wz9215skklas0287pwo.mysql.rds.aliyuncs.com; Database=barcode_db;User Id=orico_erp;password=Orico2023;port=3306;CharSet=gb2312;Connect Timeout=150;", //数据库连接地址 "RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=7", //redis连接地址test_barcode_db + //"RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=3", //redis连接地址barcode_db "RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=3", //redis连接地址 "SingleBaseUrl": "http://127.0.0.1:8066/api", //单点服务连接地址 "DBType": "Mysql", //数据库类型 diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml index 4905ceb..682101a 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml @@ -1264,6 +1264,56 @@ 物料Id 32进制字符串 + + + 修改日期 + + + + + 创建日期 + + + + + 产品线(1级) + + + + + 产品分类(2级) + + + + + 产品分组(3级) + + + + + SPU + + + + + 产品线(1级)名称 + + + + + 产品分类(2级)名称 + + + + + 产品分组(3级)名称 + + + + + 物料32进制 + + 金蝶组织-基本信息 diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml index eac1105..3d2206a 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml @@ -456,6 +456,46 @@ 物料Id 32进制字符串 + + + 产品线(1级) + + + + + 产品分类(2级) + + + + + 产品分组(3级) + + + + + SPU + + + + + 产品线(1级)名称 + + + + + 产品分类(2级)名称 + + + + + 产品分组(3级)名称 + + + + + 物料32进制Id + + 防伪码生成记录 @@ -1178,6 +1218,13 @@ + + + 列表 + + + + 物料 diff --git a/src/BarCode.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs b/src/BarCode.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs index 7322c1c..2c1798a 100644 --- a/src/BarCode.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs +++ b/src/BarCode.Web.Core/Dto/Erp/Material/ErpMaterialDto.cs @@ -64,5 +64,53 @@ namespace BarCode.Web.Core.Dto.Erp /// 物料Id 32进制字符串 /// public string IdConvertBar { get; set; } + + /// + /// 修改日期 + /// + public DateTime? FModifyDate { get; set; } + + /// + /// 创建日期 + /// + public DateTime? FCreateDate { get; set; } + + /// + /// 产品线(1级) + /// + public string FProductLines1 { get; set; } + + /// + /// 产品分类(2级) + /// + public string FProductCATs1 { get; set; } + /// + /// 产品分组(3级) + /// + public string FMaterialGroup { get; set; } + + /// + /// SPU + /// + public string F_Product { get; set; } + + /// + /// 产品线(1级)名称 + /// + public string FProductLines1FName { get; set; } + /// + /// 产品分类(2级)名称 + /// + public string FProductCATs1FName { get; set; } + /// + /// 产品分组(3级)名称 + /// + public string FMaterialGroupFName { get; set; } + + + /// + /// 物料32进制 + /// + public string FProductIDS { get; set; } } } diff --git a/src/BarCode.Web.Domain/Entitys/Materials.cs b/src/BarCode.Web.Domain/Entitys/Materials.cs index 9eae68f..9ed7d69 100644 --- a/src/BarCode.Web.Domain/Entitys/Materials.cs +++ b/src/BarCode.Web.Domain/Entitys/Materials.cs @@ -73,5 +73,44 @@ namespace BarCode.Web.Domain.Entitys /// 物料Id 32进制字符串 /// public string IdConvertBar { get; set; } + + /// + /// 产品线(1级) + /// + public string FProductLines1 { get; set; } + + /// + /// 产品分类(2级) + /// + public string FProductCATs1 { get; set; } + /// + /// 产品分组(3级) + /// + public string FMaterialGroup { get; set; } + + /// + /// SPU + /// + public string F_Product { get; set; } + + /// + /// 产品线(1级)名称 + /// + public string FProductLines1FName { get; set; } + /// + /// 产品分类(2级)名称 + /// + public string FProductCATs1FName { get; set; } + /// + /// 产品分组(3级)名称 + /// + public string FMaterialGroupFName { get; set; } + + /// + /// 物料32进制Id + /// + public string FProductIDS { get; set; } + + } } diff --git a/src/BarCode.Web.Domain/Infrastructure/IMaterialsRepositories.cs b/src/BarCode.Web.Domain/Infrastructure/IMaterialsRepositories.cs index f3eba04..bd62ff1 100644 --- a/src/BarCode.Web.Domain/Infrastructure/IMaterialsRepositories.cs +++ b/src/BarCode.Web.Domain/Infrastructure/IMaterialsRepositories.cs @@ -25,6 +25,13 @@ namespace BarCode.Web.Domain.Infrastructure /// Task> GetEntityList(int? orgId = null); + /// + /// 列表 + /// + /// + /// + Task> GetEntityListAddMaterial(List materNumbers); + /// /// 物料 /// diff --git a/src/BarCode.Web.Domain/Services/Public/ErpService.cs b/src/BarCode.Web.Domain/Services/Public/ErpService.cs index 85a7196..408975c 100644 --- a/src/BarCode.Web.Domain/Services/Public/ErpService.cs +++ b/src/BarCode.Web.Domain/Services/Public/ErpService.cs @@ -222,7 +222,7 @@ namespace BarCode.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,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductIDS"; + param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductIDS,FModifyDate,FCreateDate,FProductLines1.FName,FProductCATs1.FName,FMaterialGroup.FName"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! @@ -278,6 +278,11 @@ namespace BarCode.Web.Domain.Services.Public lis.OrgCode = item[9]; lis.IsBatchManage = Convert.ToBoolean(item[10]); lis.IdConvertBar = item[11].Trim(); + lis.FModifyDate = Convert.ToDateTime(item[12]); + lis.FCreateDate = Convert.ToDateTime(item[13]); + lis.FProductLines1FName =item[14]; + lis.FProductCATs1FName = item[15]; + lis.FMaterialGroupFName = item[16]; erp_materials_list.Add(lis); } } @@ -364,7 +369,7 @@ namespace BarCode.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,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductIDS"; + param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductIDS,FModifyDate,FCreateDate,FProductLines1.FName,FProductCATs1.FName,FMaterialGroup.FName"; param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! @@ -415,6 +420,11 @@ namespace BarCode.Web.Domain.Services.Public lis.OrgCode = item[9]; lis.IsBatchManage = Convert.ToBoolean(item[10]); lis.IdConvertBar = item[11].Trim(); + lis.FModifyDate = Convert.ToDateTime(item[12]); + lis.FCreateDate = Convert.ToDateTime(item[13]); + lis.FProductLines1FName = item[14]; + lis.FProductCATs1FName = item[15]; + lis.FMaterialGroupFName = item[16]; erp_materials_list.Add(lis); } //4.6页面的叠加 diff --git a/src/BarCode.Web.Domain/Services/Public/MaterialService.cs b/src/BarCode.Web.Domain/Services/Public/MaterialService.cs index 77e8aa4..3384864 100644 --- a/src/BarCode.Web.Domain/Services/Public/MaterialService.cs +++ b/src/BarCode.Web.Domain/Services/Public/MaterialService.cs @@ -95,7 +95,7 @@ namespace BarCode.Web.Domain.Services { try { - _logger.LogInformation("同步金蝶新物料:开始->" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); + _logger.LogInformation("同步金蝶新物料(20260209):开始->" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); //1.获取全部物料编码 var materialNumbers = await _materialsRepositories.GetAllNumbers(); //1.1通过hash处理 @@ -120,6 +120,77 @@ namespace BarCode.Web.Domain.Services if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); } + + //修改有更新的数据 + if (mats.Count != 0) + { + var isFModifyDateMatNumbs = mats.Where(x => x.FModifyDate >= DateTime.Now.AddDays(-5)).Select(x => new { MaterialNumber = x.MaterialNumber, Specifications = x.Specifications, MaterialName = x.MaterialName, BarCode = x.BarCode, OrgId = x.OrgId, FProductLines1 = x.FProductLines1, FProductCATs1 = x.FProductCATs1, FMaterialGroup = x.FMaterialGroup, F_Product = x.F_Product, FProductLines1FName = x.FProductLines1FName, FProductCATs1FName = x.FProductCATs1FName, FMaterialGroupFName = x.FMaterialGroupFName, MaterialId = x.MaterialId, FProductIDS = x.FProductIDS }).ToList(); + // + + _logger.LogInformation("取到需要同步的金蝶修改物料规格yzh(20260209):" + isFModifyDateMatNumbs.Count + "个"); + List s = new List(); + foreach (var ismat in isFModifyDateMatNumbs) + { + s.Add(ismat.MaterialNumber); + } + + var updateList = await _materialsRepositories.GetEntityListAddMaterial(s); + if (isFModifyDateMatNumbs.Count != 0) + { + //updateList.ForEach(x => { x.Specifications = ; }); + + foreach (var entity in updateList) + { + // entity.Specifications = mats_result[]; + foreach (var mat in isFModifyDateMatNumbs) + { + if (entity.MaterialNumber == mat.MaterialNumber) + { + entity.Specifications = mat.Specifications; + entity.MaterialName = mat.MaterialName; + entity.BarCode = mat.BarCode; + //entity.OrgId = mat.OrgId; + entity.FProductLines1 = mat.FProductLines1; + entity.FProductCATs1 = mat.FProductCATs1; + entity.FMaterialGroup = mat.FMaterialGroup; + entity.F_Product = mat.F_Product; + entity.FProductLines1FName = mat.FProductLines1FName; + entity.FProductCATs1FName = mat.FProductCATs1FName; + entity.FMaterialGroupFName = mat.FMaterialGroupFName; + entity.MaterialId = mat.MaterialId; + entity.FProductIDS = mat.FProductIDS; + continue; + } + } + } + + var isSuccess = await _materialsRepositories.UpdateRange(updateList); + if (!isSuccess) + _logger.LogInformation("同步金蝶修改物料-修改物料规格yzh:失败"); + else + _logger.LogInformation("同步金蝶修改物料-修改物料规格yzh:成功->" + updateList.Count + "条"); + } + + + + // List s = new List(); + //foreach (var ismat in isFModifyDateMatNumbs) + // { + // s.Add(ismat.MaterialNumber); + // } + + // var updateList = await _materialsRepositories.GetEntityListAddMaterial(s); + // if (updateList.Count != 0) + // { + // updateList.ForEach(x => { x.Specifications = ; }); + // var isSuccess = await _materialsRepositories.UpdateRange(updateList); + // if (!isSuccess) + // _logger.LogInformation("同步金蝶新物料-修改物料:失败"); + // else + // _logger.LogInformation("同步金蝶新物料-修改物料:成功->" + updateList.Count + "条"); + // } + } + //5.修改物料数据 if (mats.Count != 0) { diff --git a/src/BarCode.Web.Repositories/MaterialsRepositories.cs b/src/BarCode.Web.Repositories/MaterialsRepositories.cs index 516b417..c094cad 100644 --- a/src/BarCode.Web.Repositories/MaterialsRepositories.cs +++ b/src/BarCode.Web.Repositories/MaterialsRepositories.cs @@ -78,6 +78,16 @@ namespace BarCode.Web.Repositories return await query.ToListAsync(); } + /// + /// 获取全部的物料编码2 + /// + /// + public async Task> GetEntityListAddMaterial(List materNumbers) + { + var entitys = await _context.Materials.Where(x => materNumbers.Contains(x.MaterialNumber)).ToListAsync(); + return entitys; + } + /// /// 获取 ///