移箱支持多个
This commit is contained in:
@@ -88,7 +88,7 @@ namespace WMS.Web.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("Down_Save")]
|
||||
public async Task<Result> Down_Save(SaveMoveBoxRecordRequest dto)
|
||||
public async Task<Result> Down_Save(List<SaveMoveBoxRecordRequest> dto)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
@@ -103,7 +103,7 @@ namespace WMS.Web.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("Up_Save")]
|
||||
public async Task<Result> Up_Save(SaveMoveBoxRecordRequest dto)
|
||||
public async Task<Result> Up_Save(List<SaveMoveBoxRecordRequest> dto)
|
||||
{
|
||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
|
||||
@@ -301,14 +301,14 @@
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Down_Save(WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest)">
|
||||
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Down_Save(System.Collections.Generic.List{WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest})">
|
||||
<summary>
|
||||
移箱下架保存-PDA
|
||||
</summary>
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Up_Save(WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest)">
|
||||
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Up_Save(System.Collections.Generic.List{WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest})">
|
||||
<summary>
|
||||
移箱上架保存-PDA
|
||||
</summary>
|
||||
|
||||
@@ -321,6 +321,71 @@
|
||||
最新一次同步时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.ErpOutStockSync">
|
||||
<summary>
|
||||
erp原始数据表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSync.Id">
|
||||
<summary>
|
||||
主键 订单编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSync.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSync.SuccessSync">
|
||||
<summary>
|
||||
同步成功或者失败 null 就是未同步
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSync.Remark">
|
||||
<summary>
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSync.Details">
|
||||
<summary>
|
||||
明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails">
|
||||
<summary>
|
||||
erp原始数据表明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.Id">
|
||||
<summary>
|
||||
主键 订单编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.Fid">
|
||||
<summary>
|
||||
单据头Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.MaterialId">
|
||||
<summary>
|
||||
物料Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.AccruedQty">
|
||||
<summary>
|
||||
应出库数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.RealityQty">
|
||||
<summary>
|
||||
已出库数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.ErpOutStockSyncDetails.NewQty">
|
||||
<summary>
|
||||
当前最新一次出库数量(用来做再次同步)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.FileDownManager">
|
||||
<summary>
|
||||
文件下载类型
|
||||
@@ -1755,6 +1820,9 @@
|
||||
公司Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IMoveBoxRecordRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.MoveBoxRecord},System.Boolean)">
|
||||
批量添加
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.GetEntityList(System.Collections.Generic.List{System.Int32})">
|
||||
查询实体集合
|
||||
</member>
|
||||
@@ -2075,7 +2143,7 @@
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.ChangeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ChangeBoxRecord},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
改箱
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.MoveBox(WMS.Web.Domain.Entitys.MoveBoxRecord,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.MoveBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.MoveBoxRecord},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
移箱
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.OutStock(WMS.Web.Domain.Entitys.OutStock,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
@@ -2892,7 +2960,7 @@
|
||||
<param name="loginInfo"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.MoveBoxSave(WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest,System.Boolean,WMS.Web.Core.Dto.Login.LoginInDto)">
|
||||
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.MoveBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest},System.Boolean,WMS.Web.Core.Dto.Login.LoginInDto)">
|
||||
<summary>
|
||||
移箱保存
|
||||
</summary>
|
||||
@@ -3870,11 +3938,11 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.SerialNumberService.MoveBox(WMS.Web.Domain.Entitys.MoveBoxRecord,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
<member name="M:WMS.Web.Domain.Services.SerialNumberService.MoveBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.MoveBoxRecord},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
<summary>
|
||||
移箱
|
||||
</summary>
|
||||
<param name="moveBoxRecord"></param>
|
||||
<param name="moveBoxRecords"></param>
|
||||
<param name="loginInfo"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
|
||||
40
src/WMS.Web.Domain/Entitys/ErpOutStockSync.cs
Normal file
40
src/WMS.Web.Domain/Entitys/ErpOutStockSync.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
|
||||
namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
/// <summary>
|
||||
/// erp原始数据表
|
||||
/// </summary>
|
||||
public class ErpOutStockSync:EntityBase
|
||||
{
|
||||
public ErpOutStockSync() { }
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
/// </summary>
|
||||
[Column("Id")]
|
||||
public override int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 同步成功或者失败 null 就是未同步
|
||||
/// </summary>
|
||||
[Column("SuccessSync")]
|
||||
public bool? SuccessSync { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[Column("Remark")]
|
||||
public string Remark { get; set; }
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
public List<ErpOutStockSyncDetails> Details { get; set; } = new List<ErpOutStockSyncDetails>();
|
||||
}
|
||||
}
|
||||
46
src/WMS.Web.Domain/Entitys/ErpOutStockSyncDetails.cs
Normal file
46
src/WMS.Web.Domain/Entitys/ErpOutStockSyncDetails.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
|
||||
namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
/// <summary>
|
||||
/// erp原始数据表明细
|
||||
/// </summary>
|
||||
public class ErpOutStockSyncDetails : EntityBase
|
||||
{
|
||||
public ErpOutStockSyncDetails() { }
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
/// </summary>
|
||||
[Column("Id")]
|
||||
public override int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 单据头Id
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 应出库数量
|
||||
///</summary>
|
||||
[Column("AccruedQty")]
|
||||
public decimal AccruedQty { get; set; }
|
||||
/// <summary>
|
||||
/// 已出库数量
|
||||
///</summary>
|
||||
[Column("RealityQty")]
|
||||
public decimal RealityQty { get; set; }
|
||||
/// <summary>
|
||||
/// 当前最新一次出库数量(用来做再次同步)
|
||||
///</summary>
|
||||
[Column("NewQty")]
|
||||
public decimal NewQty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ namespace WMS.Web.Domain.IService
|
||||
//改箱保存
|
||||
Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo, bool isTransaction=true);
|
||||
//移箱保存
|
||||
Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto,bool IsUp, LoginInDto loginInfo);
|
||||
Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto,bool IsUp, LoginInDto loginInfo);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace WMS.Web.Domain.IService
|
||||
/// 改箱
|
||||
Task<Result> ChangeBox(List<ChangeBoxRecord> changeBoxRecords, LoginInDto loginInfo, bool isTransaction = true);
|
||||
/// 移箱
|
||||
Task<Result> MoveBox(MoveBoxRecord moveBoxRecord, LoginInDto loginInfo, bool isTransaction = true);
|
||||
Task<Result> MoveBox(List<MoveBoxRecord> moveBoxRecords, LoginInDto loginInfo, bool isTransaction = true);
|
||||
/// 出库
|
||||
Task<Result> OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true);
|
||||
/// 入库
|
||||
|
||||
@@ -11,6 +11,8 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
{
|
||||
// 新增
|
||||
Task<MoveBoxRecord> Add(MoveBoxRecord entity, bool isTransaction = true);
|
||||
/// 批量添加
|
||||
Task<bool> AddRange(List<MoveBoxRecord> entitys, bool isTransaction = true);
|
||||
// 获取列表
|
||||
Task<(List<MoveBoxRecordQueryInfoResponse> list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@ namespace WMS.Web.Domain.Mappers
|
||||
CreateMap<OutStockTaskDetails, GetOutStockTaskByNoDetailsResponse>();
|
||||
|
||||
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskDetails>()
|
||||
.ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x =>new List<string>() { x.SourceBillNo }));
|
||||
.ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x =>new List<string>() { x.SourceBillNo }))
|
||||
.ForPath(x => x.SaleBillNos, ops => ops.MapFrom(x => new List<string>() { x.SaleBillNo }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,19 +109,24 @@ namespace WMS.Web.Domain.Services
|
||||
/// <param name="dto"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto, bool IsUp, LoginInDto loginInfo)
|
||||
public async Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo)
|
||||
{
|
||||
List<MoveBoxRecord> entityList = new List<MoveBoxRecord>();
|
||||
foreach (var d in dto)
|
||||
{
|
||||
var entity = new MoveBoxRecord();
|
||||
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, dto.BoxId, dto.SubStockId, loginInfo.UserInfo.StaffId);
|
||||
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.SubStockId, loginInfo.UserInfo.StaffId);
|
||||
entityList.Add(entity);
|
||||
}
|
||||
//需要填写规格型号
|
||||
//需要修改库存
|
||||
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isSuccess = true;
|
||||
entity = await _moveBoxRecordRepositories.Add(entity, true);
|
||||
if (entity == null) isRollback = true;
|
||||
var res_change = await _serialNumberService.MoveBox(entity, loginInfo, false);
|
||||
isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, true);
|
||||
if (!isSuccess) isRollback = true;
|
||||
var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false);
|
||||
if (!res_change.IsSuccess) isRollback = true;
|
||||
//提交事务
|
||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
|
||||
@@ -133,14 +133,14 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var item in billNos)
|
||||
{
|
||||
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
|
||||
var dto = new OutStockTask();
|
||||
dto.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||
var entity = new OutStockTask();
|
||||
entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<OutStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
entity.Details = _mapper.Map<List<OutStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(entity);
|
||||
}
|
||||
//3.1提交新增
|
||||
isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction);
|
||||
|
||||
@@ -104,15 +104,16 @@ namespace WMS.Web.Domain.Services
|
||||
/// <summary>
|
||||
/// 移箱
|
||||
/// </summary>
|
||||
/// <param name="moveBoxRecord"></param>
|
||||
/// <param name="moveBoxRecords"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> MoveBox(MoveBoxRecord moveBoxRecord, LoginInDto loginInfo, bool isTransaction = true)
|
||||
public async Task<Result> MoveBox(List<MoveBoxRecord> moveBoxRecords, LoginInDto loginInfo, bool isTransaction = true)
|
||||
{
|
||||
//获取序列号信息
|
||||
var entityList = await _serialNumbersRepositories.GetEntityListByBoxId(moveBoxRecord.BoxId);
|
||||
var box = await _boxRepositories.Get(moveBoxRecord.BoxId);
|
||||
var boxids = moveBoxRecords.Select(s => s.BoxId).ToList();
|
||||
var entityList = await _serialNumbersRepositories.GetEntityListByBoxIds(boxids);
|
||||
var boxList = await _boxRepositories.GetEntityList(boxids);
|
||||
var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId);
|
||||
|
||||
IDbContextTransaction _transaction = null;
|
||||
@@ -123,8 +124,10 @@ namespace WMS.Web.Domain.Services
|
||||
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
|
||||
foreach (var entity in entityList)
|
||||
{
|
||||
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
|
||||
var moveBoxRecord = moveBoxRecords.FirstOrDefault(f => f.BoxId == entity.BoxId);
|
||||
//修改序列号和箱绑定关系
|
||||
entity.Bind(moveBoxRecord.BoxId);
|
||||
//entity.Bind(moveBoxRecord.BoxId);
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
|
||||
@@ -71,6 +71,38 @@ namespace WMS.Web.Repositories
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public async Task<bool> AddRange(List<MoveBoxRecord> entitys, bool isTransaction = true)
|
||||
{
|
||||
IDbContextTransaction _transaction = null;
|
||||
if (isTransaction)
|
||||
_transaction = _context.Database.BeginTransaction();
|
||||
try
|
||||
{
|
||||
if (entitys != null && entitys.Count != 0)
|
||||
{
|
||||
await _context.MoveBoxRecord.AddRangeAsync(entitys);
|
||||
await _context.SaveChangesAsync();
|
||||
foreach (var item in entitys)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.BillNo))
|
||||
//自动生成单据编号
|
||||
item.GenerateNo();
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
if (_transaction != null)
|
||||
_transaction.Commit();
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
if (_transaction != null)
|
||||
_transaction.Rollback();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 列表
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user