优化
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user