This commit is contained in:
tongfei
2023-12-04 10:30:47 +08:00
4 changed files with 20 additions and 7 deletions

View File

@@ -1,5 +1,7 @@
using AutoMapper; using AutoMapper;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -30,10 +32,12 @@ namespace WMS.Web.Domain.Services
private readonly ISerialNumberService _serialNumberService; private readonly ISerialNumberService _serialNumberService;
private readonly IBoxInventoryService _boxInventoryService; private readonly IBoxInventoryService _boxInventoryService;
private readonly IBoxInventoryRepositories _boxInventoryRepositories; private readonly IBoxInventoryRepositories _boxInventoryRepositories;
private readonly ILogger<ChangeMoveBoxService> _logger;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories, IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories) ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories,
ILogger<ChangeMoveBoxService> logger)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
@@ -44,6 +48,7 @@ namespace WMS.Web.Domain.Services
_serialNumberService = serialNumberService; _serialNumberService = serialNumberService;
_boxInventoryService = boxInventoryService; _boxInventoryService = boxInventoryService;
_boxInventoryRepositories = boxInventoryRepositories; _boxInventoryRepositories = boxInventoryRepositories;
_logger = logger;
} }
/// <summary> /// <summary>
/// 改箱保存 /// 改箱保存
@@ -53,6 +58,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction = false, bool IsInventory = true) public async Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction = false, bool IsInventory = true)
{ {
_logger.LogInformation($"改箱:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}");
//1.有原箱时 需要判断 物料对应的序列号是否存在 //1.有原箱时 需要判断 物料对应的序列号是否存在
var srcIds = dto.Select(s => s.SrcBoxId).ToList(); var srcIds = dto.Select(s => s.SrcBoxId).ToList();
var destIds = dto.Select(s => s.DestBoxId).ToList(); var destIds = dto.Select(s => s.DestBoxId).ToList();
@@ -169,6 +175,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo) public async Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo)
{ {
_logger.LogInformation($"移箱:{JsonConvert.SerializeObject(dto)} 是否上架:{IsUp} 操作人:{loginInfo.UserInfo.StaffId}");
//1.下架时 需要验证箱是否在库存里 //1.下架时 需要验证箱是否在库存里
if (!IsUp) if (!IsUp)
{ {

View File

@@ -1,5 +1,7 @@
using AutoMapper; using AutoMapper;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -38,12 +40,13 @@ namespace WMS.Web.Domain.Services
private readonly IBoxInventoryService _boxInventoryService; private readonly IBoxInventoryService _boxInventoryService;
private readonly IInventoryInOutDetailsService _inventoryInOutDetailsService; private readonly IInventoryInOutDetailsService _inventoryInOutDetailsService;
private readonly IBoxInventoryRepositories _boxInventoryRepositories; private readonly IBoxInventoryRepositories _boxInventoryRepositories;
private readonly ILogger<OutStockService> _logger;
public OutStockService(IMapper mapper, ILoginService loginService, public OutStockService(IMapper mapper, ILoginService loginService,
IBasicsRepositories transactionRepositories, IBasicsRepositories transactionRepositories,
IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories,
IOutStockTaskService outStockTaskService, IErpService erpService, ISerialNumberService serialNumberService, IOutStockTaskService outStockTaskService, IErpService erpService, ISerialNumberService serialNumberService,
IBoxInventoryService boxInventoryService, IInventoryInOutDetailsService inventoryInOutDetailsService, IBoxInventoryService boxInventoryService, IInventoryInOutDetailsService inventoryInOutDetailsService,
IBoxInventoryRepositories boxInventoryRepositories) IBoxInventoryRepositories boxInventoryRepositories, ILogger<OutStockService> logger)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
@@ -56,6 +59,7 @@ namespace WMS.Web.Domain.Services
_boxInventoryService = boxInventoryService; _boxInventoryService = boxInventoryService;
_inventoryInOutDetailsService = inventoryInOutDetailsService; _inventoryInOutDetailsService = inventoryInOutDetailsService;
_boxInventoryRepositories = boxInventoryRepositories; _boxInventoryRepositories = boxInventoryRepositories;
_logger = logger;
} }
/// <summary> /// <summary>
/// 出库单 /// 出库单
@@ -65,6 +69,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result> Save(SaveOutStockRequest dto, LoginInDto loginInfo) public async Task<Result> Save(SaveOutStockRequest dto, LoginInDto loginInfo)
{ {
_logger.LogInformation($"出库:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}");
var outStockTask = await _outStockTaskRepositories.Get(dto.TaskId); var outStockTask = await _outStockTaskRepositories.Get(dto.TaskId);
if (outStockTask.Status == OutStockStatus.Already) if (outStockTask.Status == OutStockStatus.Already)
return Result.ReFailure(ResultCodes.OutStockTaskAlready); return Result.ReFailure(ResultCodes.OutStockTaskAlready);
@@ -121,7 +126,7 @@ namespace WMS.Web.Domain.Services
//循环添加erp同步明细 //循环添加erp同步明细
foreach (var c in res.Data) foreach (var c in res.Data)
{ {
var tErpDetail = tDetail.ErpDetails.FirstOrDefault(f => f.Erp_DetailId==c.erpDetailId); var tErpDetail = tDetail.ErpDetails.FirstOrDefault(f => f.Erp_DetailId == c.erpDetailId);
var oErpDetail = _mapper.Map<OutStockErpDetails>(tErpDetail); var oErpDetail = _mapper.Map<OutStockErpDetails>(tErpDetail);
oErpDetail.Qty = c.qty; oErpDetail.Qty = c.qty;
outd.ErpDetails.Add(oErpDetail); outd.ErpDetails.Add(oErpDetail);
@@ -178,10 +183,10 @@ namespace WMS.Web.Domain.Services
var list = await _outStockRepositories.GetEntityList(dto.Ids); var list = await _outStockRepositories.GetEntityList(dto.Ids);
foreach (var entity in list) foreach (var entity in list)
{ {
if (entity.SuccessSync!=SyncStatus.Fail) continue; if (entity.SuccessSync != SyncStatus.Fail) continue;
List<string> failList =entity.Details.SelectMany(s=>s.ErpDetails) List<string> failList = entity.Details.SelectMany(s => s.ErpDetails)
.Where(w=> w.SuccessSync== SyncStatus.Fail).GroupBy(g=>g.SourceBillNo) .Where(w => w.SuccessSync == SyncStatus.Fail).GroupBy(g => g.SourceBillNo)
.Select(s=>s.Key).ToList();//同步失败的来源单号 .Select(s => s.Key).ToList();//同步失败的来源单号
//找到单据里需要同步的单据 //找到单据里需要同步的单据
var sourcNos = entity.Details.SelectMany(s => s.ErpDetails).GroupBy(s => s.SourceBillNo).Select(s => s.Key); var sourcNos = entity.Details.SelectMany(s => s.ErpDetails).GroupBy(s => s.SourceBillNo).Select(s => s.Key);
foreach (var s in failList) foreach (var s in failList)

View File

@@ -64,6 +64,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result> Save(List<SaveTakeStockRequest> dto, LoginInDto loginInfo) public async Task<Result> Save(List<SaveTakeStockRequest> dto, LoginInDto loginInfo)
{ {
_logger.LogInformation($"盘点保存:{JsonConvert.SerializeObject(dto)} 盘点人:{loginInfo.UserInfo.StaffId}" );
List<TakeStock> list = _mapper.Map<List<TakeStock>>(dto); List<TakeStock> list = _mapper.Map<List<TakeStock>>(dto);
foreach (var entity in list) foreach (var entity in list)
{ {