This commit is contained in:
tongfei
2024-03-22 16:54:27 +08:00
parent 17378dafb5
commit ae135dff4e
4 changed files with 90 additions and 91 deletions

View File

@@ -179,7 +179,7 @@ namespace WMS.Web.Domain.Entitys
/// <param name="syncStatus"></param>
public void SyncFail(string remark, int erpDetailId, int operateId, SyncStatus syncStatus)
{
var erpd = this.ErpDetails.Where(w=>w.ErpDetailId==erpDetailId).ToList();
var erpd = this.ErpDetails.Where(w => w.ErpDetailId == erpDetailId).ToList();
erpd.ForEach(det =>
{
det.SuccessSync = syncStatus;

View File

@@ -149,7 +149,7 @@ namespace WMS.Web.Domain.Services
{
OperateRequest oRequest = new OperateRequest();
oRequest.Ids.Add(entity.Id);
await Sync(oRequest, loginInfo,false);
await Sync(oRequest, loginInfo, false);
}
return Result.ReSuccess();
}
@@ -162,7 +162,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns>
public async Task<Result> ShelfNoPurchase(NoPurchaseShelfRequest dto, LoginInDto loginInDto)
{
_logger.LogInformation($"非采购入库:{JsonConvert.SerializeObject(dto)} 操作人:{loginInDto.UserInfo.StaffId+loginInDto.UserInfo.Nickname}");
_logger.LogInformation($"非采购入库:{JsonConvert.SerializeObject(dto)} 操作人:{loginInDto.UserInfo.StaffId + loginInDto.UserInfo.Nickname}");
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
@@ -272,7 +272,7 @@ namespace WMS.Web.Domain.Services
var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
var tasks = await _inStockTaskRepositories.GetList(taskIds);
if (tasks == null || tasks.Count==0)
if (tasks == null || tasks.Count == 0)
return Result<InStock>.ReFailure(ResultCodes.SourceBillNoDateError);
// 组织集合
@@ -361,7 +361,7 @@ namespace WMS.Web.Domain.Services
//保存成功后:序列号跟踪流程添加
var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction);
if (!serialNumber_result.IsSuccess)
return Result<InStock >.ReFailure(serialNumber_result);
return Result<InStock>.ReFailure(serialNumber_result);
//箱库存变动
var boxInventoryResult = await _boxInventoryService.GenerateInStockBox(entity, isTransaction);
@@ -384,7 +384,7 @@ namespace WMS.Web.Domain.Services
_logger.LogInformation($"非采购上架-保存:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}");
//非采购入库的时候:不能扫同样的箱,按箱入库时候
if (dto.Boxs != null && dto.Boxs.Count != 0 && dto.ShelfMethod==(int)ShelfMethod.Box)
if (dto.Boxs != null && dto.Boxs.Count != 0 && dto.ShelfMethod == (int)ShelfMethod.Box)
{
if (dto.Boxs.Select(x => x.BoxId).Distinct().Count() != dto.Boxs.Select(x => x.BoxId).Count())
return Result<InStock>.ReFailure(ResultCodes.BoxOutStockTaskBoxError);
@@ -402,7 +402,7 @@ namespace WMS.Web.Domain.Services
//1.1.2判断上架数量不能超过应入库数量
var dtoDetails = dto.Boxs.SelectMany(x => x.Details).ToList();
var dtoTotalDetails = dtoDetails.GroupBy(x => new { x.ErpDetailId,x.MaterialNumber }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, MaterialNumber = x.Key.MaterialNumber, Qty = x.Sum(t => t.Qty) }).ToList();
var dtoTotalDetails = dtoDetails.GroupBy(x => new { x.ErpDetailId, x.MaterialNumber }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, MaterialNumber = x.Key.MaterialNumber, Qty = x.Sum(t => t.Qty) }).ToList();
foreach (var item in task.Details)
{
var current_det = dtoTotalDetails.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialNumber == item.MaterialNumber).FirstOrDefault();
@@ -617,7 +617,7 @@ namespace WMS.Web.Domain.Services
//1.1筛选出对应仓库的明细
var task_details = task.Details.Where(x => x.StockCode == dto.StockCode && x.AccruedQty>0).ToList();
var task_details = task.Details.Where(x => x.StockCode == dto.StockCode && x.AccruedQty > 0).ToList();
//2.找到箱对应的物料信息:多个箱
var boxs = await _boxRepositories.GetEntityListByNos(dto.BoxBillNos);
@@ -627,7 +627,7 @@ namespace WMS.Web.Domain.Services
//3.判断箱里面对应的物料是否存在;不存在就报错
foreach (var item in boxs)
{
if(item.Details==null || item.Details.Count==0)
if (item.Details == null || item.Details.Count == 0)
return Result<ContrastMaterialsResponse>.ReFailure(ResultCodes.BoxMateriaNoData);
}
@@ -707,19 +707,17 @@ namespace WMS.Web.Domain.Services
var sc_erpService = scope.ServiceProvider.GetRequiredService<IErpService>();
//找到金蝶最新的采购订单数据
var erp_purchase_result =await sc_erpService.BillQueryForPurchaseInStock(entity.ErpDetails.GroupBy(x=>x.SourceBillNo).Select(x=>x.Key).ToList());
var erp_purchase_result = await sc_erpService.BillQueryForPurchaseInStock(entity.ErpDetails.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList());
if (!erp_purchase_result.IsSuccess)
return erp_purchase_result;
//然后刷选出对应金蝶明细和物料和wms的任务单的明细和物料是一致的就同步下推
foreach (var item in erpDetails_tags)
{
var isHave= erp_purchase_result.Data.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialNumber == item.MaterialNumber).Any();
var isHave = erp_purchase_result.Data.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialNumber == item.MaterialNumber).Any();
if (isHave)
erpDetails.Add(item);
}
try
{
foreach (var s in erpDetails)
{
var erp_details = entity.ErpDetails
@@ -744,14 +742,6 @@ namespace WMS.Web.Domain.Services
if (entity == null) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
catch (Exception ex)
{
_logger.LogInformation($"采购下推-同步:错误:{JsonConvert.SerializeObject(entity)} 操作人:{loginInfo.UserInfo.StaffId}");
return Result.ReFailure(ResultCodes.ErpSynsError);
}
}
/// <summary>
/// 下推
@@ -762,7 +752,8 @@ namespace WMS.Web.Domain.Services
/// <returns></returns>
private async Task<(Result result, SyncStatus syncStatus, string erpBillNo)> Push(ErpPushDto dto, InStockErpDetails erpDetail, string billNo, IErpService sc_erpService)
{
try
{
//下推动作
var res = await sc_erpService.Push(dto);
if (!res.IsSuccess)
@@ -802,6 +793,14 @@ namespace WMS.Web.Domain.Services
_logger.LogInformation($"入库单->同步金蝶成功->单号:{billNo} erp明细Id:{erpDetail.ErpDetailId}");
return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First());
}
catch (Exception ex)
{
_logger.LogInformation($"入库单-同步:错误:{billNo} erp明细Id:{erpDetail.ErpDetailId} 错误:{ex.Message}");
var result = Result.ReFailure(ex.Message, 50001);
return (result, SyncStatus.Fail, "");
}
}
}

View File

@@ -173,8 +173,8 @@ namespace WMS.Web.Domain.Services.Public
loginInfo.TokenInfo = token;
//var ops_login_time = token.Expired.AddDays(1) - DateTime.Now;//用于正式
_redisClientService.SetStringKey<LoginInDto>($"wms_login_{token.Token}", loginInfo, token.Expired.TimeOfDay);
var ops_login_time = token.Expired - DateTime.Now;//用于正式
_redisClientService.SetStringKey<LoginInDto>($"wms_login_{token.Token}", loginInfo, ops_login_time);
_logger.LogInformation($"登录信息:用户人员信息->{staffName}{r.UserInfo.StaffId}),公司名称->{r.UserInfo.CompanyName}"+",过期时间:"+token.Expired.ToString("yyyy-MM-dd HH:mm:ss"));

View File

@@ -34,6 +34,6 @@ namespace WMS.Web.Domain.Values
/// 同步中
/// </summary>
[EnumRemark("同步中")]
SyncIng = 4
SyncIng = 4,
}
}