移箱操作
This commit is contained in:
@@ -64,7 +64,7 @@ namespace WMS.Web.Api.Controllers
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
|
||||
return await _changeMoveBoxService.Save(dto, loginInfo);
|
||||
return await _changeMoveBoxService.ChangeBoxSave(dto, loginInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,13 +56,13 @@ namespace WMS.Web.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("Save")]
|
||||
public async Task<Result> Save(SaveChangeBoxRecordRequest dto)
|
||||
public async Task<Result> Save(SaveMoveBoxRecordRequest dto)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
|
||||
return await _changeMoveBoxService.Save(dto, loginInfo);
|
||||
return await _changeMoveBoxService.MoveBoxSave(dto, loginInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,5 +6,37 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
|
||||
{
|
||||
public class MoveBoxRecordQueryInfoResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料规格型号
|
||||
/// </summary>
|
||||
public string Specifications { get; set; }
|
||||
/// <summary>
|
||||
/// 箱号
|
||||
/// </summary>
|
||||
public string Box { get; set; }
|
||||
/// <summary>
|
||||
/// 原仓位
|
||||
/// </summary>
|
||||
public string SrcSubStock { get; set; }
|
||||
/// <summary>
|
||||
/// 目标仓位
|
||||
/// </summary>
|
||||
public string DestSubStock { get; set; }
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
public decimal Qty { get; set; }
|
||||
/// <summary>
|
||||
/// 类型:整箱移货上级,整箱移货下级
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
/// <summary>
|
||||
/// 操作人
|
||||
/// </summary>
|
||||
public string Creator { get; set; }
|
||||
/// <summary>
|
||||
/// 操作时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,5 +9,25 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
|
||||
/// </summary>
|
||||
public class MoveBoxRecordQueryRequest : PaginationBaseRequestDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 类型:1- 整箱移货上级,2-整箱移货下级
|
||||
/// </summary>
|
||||
public int? Type { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 箱号
|
||||
/// </summary>
|
||||
public string Box { get; set; }
|
||||
/// <summary>
|
||||
/// 操作人
|
||||
/// </summary>
|
||||
public string Creator { get; set; }
|
||||
/// <summary>
|
||||
/// 操作时间开始
|
||||
/// </summary>
|
||||
public DateTime? CreateBeginDate { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 操作时间结束
|
||||
/// </summary>
|
||||
public DateTime? CreateEndDate { get; set; } = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.MoveBoxRecord
|
||||
{
|
||||
/// <summary>
|
||||
/// 移箱保存
|
||||
/// </summary>
|
||||
public class SaveMoveBoxRecordRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 箱号ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "箱号不能为空")]
|
||||
public int BoxId { get; set; }
|
||||
/// <summary>
|
||||
/// 原仓位ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "原仓位不能为空")]
|
||||
public int SrcSubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 目标仓位ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "目标仓位不能为空")]
|
||||
public int DestSubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "数量不能为空")]
|
||||
public decimal Qty { get; set; }
|
||||
/// <summary>
|
||||
/// 类型:1-整箱移货上级,2-整箱移货下级
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "类型不能为空")]
|
||||
public int Type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -36,6 +36,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("DestSubStockId")]
|
||||
public int DestSubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
[Column("Qty")]
|
||||
public decimal Qty { get; set; }
|
||||
/// <summary>
|
||||
/// 类型:1-整箱移货上级,2-整箱移货下级
|
||||
/// </summary>
|
||||
[Column("Type")]
|
||||
@@ -50,5 +55,15 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("CreateTime")]
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 创建
|
||||
/// </summary>
|
||||
/// <param name="creatorId"></param>
|
||||
public void Create(int creatorId)
|
||||
{
|
||||
this.CreatorId = creatorId;
|
||||
this.CreateTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Dto.ChangeBoxRecord;
|
||||
using WMS.Web.Core.Dto.Login;
|
||||
using WMS.Web.Core.Dto.MoveBoxRecord;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Services;
|
||||
|
||||
@@ -15,6 +16,10 @@ namespace WMS.Web.Domain.IService
|
||||
/// </summary>
|
||||
public interface IChangeMoveBoxService
|
||||
{
|
||||
Task<Result> Save(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo);
|
||||
//改箱保存
|
||||
Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo);
|
||||
//移箱保存
|
||||
Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto, LoginInDto loginInfo);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Dto.ChangeBoxRecord;
|
||||
using WMS.Web.Core.Dto.Login;
|
||||
using WMS.Web.Core.Dto.MoveBoxRecord;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
@@ -22,16 +23,24 @@ namespace WMS.Web.Domain.Services
|
||||
private readonly ILoginService _loginService;
|
||||
private readonly IChangeBoxRecordRepositories _changeBoxRecordRepositories;
|
||||
public readonly ITransactionRepositories _transactionRepositories;
|
||||
private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories;
|
||||
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
|
||||
IChangeBoxRecordRepositories changeBoxRecordRepositories, ITransactionRepositories transactionRepositories)
|
||||
IChangeBoxRecordRepositories changeBoxRecordRepositories, ITransactionRepositories transactionRepositories,
|
||||
IMoveBoxRecordRepositories moveBoxRecordRepositories)
|
||||
{
|
||||
_mapper = mapper;
|
||||
_loginService = loginService;
|
||||
_changeBoxRecordRepositories = changeBoxRecordRepositories;
|
||||
_transactionRepositories = transactionRepositories;
|
||||
_moveBoxRecordRepositories = moveBoxRecordRepositories;
|
||||
}
|
||||
|
||||
public async Task<Result> Save(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo)
|
||||
/// <summary>
|
||||
/// 改箱保存
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo)
|
||||
{
|
||||
var entity = _mapper.Map<ChangeBoxRecord>(dto);
|
||||
entity.Create(loginInfo.UserInfo.StaffId);
|
||||
@@ -45,6 +54,33 @@ namespace WMS.Web.Domain.Services
|
||||
entity = await _changeBoxRecordRepositories.Add(entity, true);
|
||||
if (entity == null) isRollback = true;
|
||||
|
||||
//提交事务
|
||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
/// <summary>
|
||||
/// 移箱保存
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto, LoginInDto loginInfo)
|
||||
{
|
||||
var entity = _mapper.Map<MoveBoxRecord>(dto);
|
||||
entity.Create(loginInfo.UserInfo.StaffId);
|
||||
|
||||
//需要填写规格型号
|
||||
//需要修改库存
|
||||
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isSuccess = true;
|
||||
entity = await _moveBoxRecordRepositories.Add(entity, true);
|
||||
if (entity == null) isRollback = true;
|
||||
|
||||
//提交事务
|
||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using AutoMapper;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Dto.MoveBoxRecord;
|
||||
@@ -58,10 +60,38 @@ namespace WMS.Web.Repositories
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Task<(List<MoveBoxRecordQueryInfoResponse> list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto)
|
||||
/// <summary>
|
||||
/// 列表
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<(List<MoveBoxRecordQueryInfoResponse> list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
var query = _context.MoveBoxRecord
|
||||
.OrderByDescending(o => o.Id)
|
||||
.Where(adv => 1 == 1);
|
||||
|
||||
if (dto.CreateBeginDate != null)
|
||||
query = query.Where(w => w.CreateTime >= dto.CreateBeginDate);
|
||||
if (dto.CreateEndDate != null)
|
||||
query = query.Where(w => w.CreateTime <= dto.CreateEndDate);
|
||||
//组装
|
||||
int total = await query.CountAsync();
|
||||
var list = await query.Select(s => new MoveBoxRecordQueryInfoResponse()
|
||||
{
|
||||
#region dto组装
|
||||
Box = "",
|
||||
SrcSubStock = "",
|
||||
Specifications = "",
|
||||
DestSubStock = "",
|
||||
Qty = 0,
|
||||
Type = "",
|
||||
Creator = "",
|
||||
CreateTime = s.CreateTime
|
||||
#endregion
|
||||
|
||||
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
||||
return (list, total);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user