This commit is contained in:
tongfei
2024-04-08 14:10:55 +08:00
parent c2b51ebf66
commit 006ab4d02d
5 changed files with 98 additions and 6 deletions

View File

@@ -45,5 +45,21 @@ namespace WMS.Web.Domain.Infrastructure
/// </summary>
/// <returns></returns>
Task<List<string>> GetAllNumbers();
/// <summary>
/// 列表
/// </summary>
/// <param name="materNumbers"></param>
/// <param name="isBatchManage"></param>
/// <returns></returns>
Task<List<Materials>> GetEntityList(List<string> materNumbers, bool isBatchManage);
/// <summary>
/// 修改物料
/// </summary>
/// <param name="entitys"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
Task<bool> UpdateRange(List<Materials> entitys, bool isTransaction = true);
}
}

View File

@@ -794,7 +794,8 @@ namespace WMS.Web.Domain.Services
var resPurchaseInStock = await sc_erpService.BillQueryForPurchaseInStock(id);
var purchaseInStock = resPurchaseInStock.Data;
purchaseInStock.Details[0].Qty = erpDetail.Qty;
purchaseInStock.Details[0].Lot = erpDetail.BatchBillNo;
if (!string.IsNullOrEmpty(erpDetail.BatchBillNo))
purchaseInStock.Details[0].Lot = erpDetail.BatchBillNo;
string formId = dto.TargetFormId.ToString();
_logger.LogInformation($"入库单->开始同步金蝶 单号:{billNo} erp明细Id:{erpDetail.ErpDetailId} 数据: {JsonConvert.SerializeObject(dto)}");
var res_s = await sc_erpService.Save<ErpPurchaseInStockSaveDto>(purchaseInStock, formId);

View File

@@ -18,13 +18,13 @@ namespace WMS.Web.Domain.Services
/// <summary>
/// 物料服务
/// </summary>
public class MaterialService: IMaterialService
public class MaterialService : IMaterialService
{
private IMapper _mapper;
private ILogger<MaterialService> _logger;
private IErpService _erpService;
private IMaterialsRepositories _materialsRepositories;
public MaterialService(IMapper mapper, ILogger<MaterialService> logger, IErpService erpService, IMaterialsRepositories materialsRepositories)
public MaterialService(IMapper mapper, ILogger<MaterialService> logger, IErpService erpService, IMaterialsRepositories materialsRepositories)
{
_mapper = mapper;
_logger = logger;
@@ -36,7 +36,7 @@ namespace WMS.Web.Domain.Services
/// 同步金蝶新的物料
/// </summary>
/// <returns></returns>
public async Task<Result> SyncNewMaterials()
public async Task<Result> SyncNewMaterials()
{
try
{
@@ -65,13 +65,30 @@ namespace WMS.Web.Domain.Services
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
}
_logger.LogInformation("同步金蝶新物料:结束->" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"->添加数量:"+entitys.Count);
//5.修改物料数据
if (mats.Count != 0)
{
var isBatchManageMatNumbs= mats.Where(x => x.IsBatchManage == true).Select(x=>x.MaterialNumber).ToList();
//取金蝶拉取的已启用批号管理的物料并且本地数据库中的未启用批号管理的物料来更新批号管理修改为true
var updateList= await _materialsRepositories.GetEntityList(isBatchManageMatNumbs,false);
if (updateList.Count != 0)
{
updateList.ForEach(x => { x.IsBatchManage = true; });
var isSuccess= await _materialsRepositories.UpdateRange(updateList);
if (!isSuccess)
_logger.LogInformation("同步金蝶新物料-修改物料:失败");
else
_logger.LogInformation("同步金蝶新物料-修改物料:成功->" + updateList.Count + "条");
}
}
_logger.LogInformation("同步金蝶新物料:结束->" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->添加数量:" + entitys.Count);
return Result.ReSuccess();
}
catch (Exception ex)
{
_logger.LogInformation("同步金蝶新物料:失败->" + ex.Message);
return Result.ReFailure(ex.Message,ex.HResult);
return Result.ReFailure(ex.Message, ex.HResult);
}
}
}