非采购上架-接口

This commit is contained in:
tongfei
2023-11-09 14:05:55 +08:00
parent b51f09542c
commit 3ccebc07f5
11 changed files with 366 additions and 33 deletions

View File

@@ -65,15 +65,19 @@ namespace WMS.Web.Api.Controllers
} }
/// <summary> /// <summary>
/// 上架-非采购订单 /// 上架-非采购订单(按箱和按产品)
/// </summary> /// </summary>
/// <param name="dto"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("ShelfOther")] [Route("ShelfOther")]
public async Task<Result> ShelfOther([FromBody] SaveInStockRequest dto) public async Task<Result> ShelfOther([FromBody] NoPurchaseShelfRequest dto)
{ {
return Result.ReSuccess(); var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _inStockService.ShelfNoPurchase(dto, loginInfo);
} }
/// <summary> /// <summary>

View File

@@ -79,6 +79,10 @@ namespace WMS.Web.Api.Controllers
{ {
response.OrderType.Add(enumv.ToString(), enumv.GetRemark()); response.OrderType.Add(enumv.ToString(), enumv.GetRemark());
} }
foreach (ShelfMethod enumv in Enum.GetValues(typeof(ShelfMethod)))
{
response.ShelfMethod.Add(enumv.ToString(), enumv.GetRemark());
}
//2 //2
//1 //1

View File

@@ -68,9 +68,9 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.InStockController.ShelfOther(WMS.Web.Core.Dto.InStock.SaveInStockRequest)"> <member name="M:WMS.Web.Api.Controllers.InStockController.ShelfOther(WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest)">
<summary> <summary>
上架-非采购订单 上架-非采购订单(按箱和按产品)
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>

View File

@@ -465,6 +465,11 @@
单据类型 单据类型
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.EnumStatusResponse.ShelfMethod">
<summary>
非采购上架方式
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpBillQueryDto"> <member name="T:WMS.Web.Core.Dto.Erp.ErpBillQueryDto">
<summary> <summary>
ERP单据查询-dto ERP单据查询-dto
@@ -1530,6 +1535,36 @@
同步成功或者失败 同步成功或者失败
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest">
<summary>
非采购单上架请求对象-按箱
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest.TaskId">
<summary>
单据ID(等同-入库任务单ID)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest.ShelfMethod">
<summary>
上架方式
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest.Boxs">
<summary>
箱集合
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest.TaskDetails">
<summary>
入库任务单明细
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest.Details">
<summary>
入库单明细
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.InStock.PurchaseShelfRequest"> <member name="T:WMS.Web.Core.Dto.InStock.PurchaseShelfRequest">
<summary> <summary>
采购上架-请求对象 采购上架-请求对象
@@ -1572,7 +1607,7 @@
</member> </member>
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.StockCode"> <member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.StockCode">
<summary> <summary>
仓库ID 仓库编码
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.SubStockId"> <member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.SubStockId">
@@ -2350,12 +2385,7 @@
完成装箱时间 完成装箱时间
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.cartonCreateTime"> <member name="P:WMS.Web.Core.Dto.OpsBoxResponse.CreateUser">
<summary>
箱子的创建时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.BoxUser">
<summary> <summary>
箱子创建用户 箱子创建用户
</summary> </summary>
@@ -2365,7 +2395,7 @@
创建时间对应老OPS的创建时间 创建时间对应老OPS的创建时间
</summary> </summary>
</member> </member>
<member name="F:WMS.Web.Core.Dto.OpsBoxResponse.Details"> <member name="P:WMS.Web.Core.Dto.OpsBoxResponse.Details">
<summary> <summary>
明细 明细
</summary> </summary>
@@ -2375,14 +2405,14 @@
序列号 序列号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.SerialNumbersResponse.barCreateTime"> <member name="P:WMS.Web.Core.Dto.SerialNumbersResponse.BarCreateTime">
<summary> <summary>
条码生成时间 序列号生成时间
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.SerialNumbersResponse.barCereateUser"> <member name="P:WMS.Web.Core.Dto.SerialNumbersResponse.BarCereateUser">
<summary> <summary>
条码生成用户 序列号生成用户
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OpsBoxDetailsResponse.MaterialId"> <member name="P:WMS.Web.Core.Dto.OpsBoxDetailsResponse.MaterialId">

View File

@@ -110,6 +110,16 @@
组织Id 组织Id
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.Box.CompleteCartonTime">
<summary>
完成装箱时间
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.Box.CreateUser">
<summary>
箱子创建用户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.Box.CreateTime"> <member name="P:WMS.Web.Domain.Entitys.Box.CreateTime">
<summary> <summary>
创建时间对应老OPS的创建时间 创建时间对应老OPS的创建时间
@@ -449,6 +459,12 @@
</summary> </summary>
<param name="creatorId"></param> <param name="creatorId"></param>
</member> </member>
<member name="M:WMS.Web.Domain.Entitys.InStockTask.NoPurchaseShelf(System.Int32)">
<summary>
非采购上架
</summary>
<param name="creatorId"></param>
</member>
<member name="T:WMS.Web.Domain.Entitys.InStockTaskBox"> <member name="T:WMS.Web.Domain.Entitys.InStockTaskBox">
<summary> <summary>
erp入库任务单的对应box箱信息表 erp入库任务单的对应box箱信息表
@@ -938,6 +954,56 @@
出库结束时间 出库结束时间
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Domain.Entitys.SerialNumberOperate">
<summary>
序列号操作记录表
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.Id">
<summary>
ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.SerialNumber">
<summary>
序列号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.OperateType">
<summary>
序列号操作类型
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.SupplierId">
<summary>
供应商Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.OrgId">
<summary>
组织Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.StockId">
<summary>
仓库Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.OperateTime">
<summary>
操作时间
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.OperateUser">
<summary>
操作人
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.SerialNumberOperate.Remark">
<summary>
备注
</summary>
</member>
<member name="T:WMS.Web.Domain.Entitys.TakeStock"> <member name="T:WMS.Web.Domain.Entitys.TakeStock">
<summary> <summary>
wms盘点单 wms盘点单
@@ -1393,6 +1459,14 @@
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.DeleteEntityList(System.Collections.Generic.List{System.Int32},System.Boolean)"> <member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.DeleteEntityList(System.Collections.Generic.List{System.Int32},System.Boolean)">
删除实体集合 删除实体集合
</member> </member>
<member name="M:WMS.Web.Domain.Infrastructure.ISerialNumberOperateRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
<summary>
批量添加
</summary>
<param name="entitys"></param>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.ITakeStockRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.TakeStock},System.Boolean)"> <member name="M:WMS.Web.Domain.Infrastructure.ITakeStockRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.TakeStock},System.Boolean)">
<summary> <summary>
批量添加 批量添加
@@ -1462,6 +1536,14 @@
<param name="loginInfo"></param> <param name="loginInfo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.IInStockService.ShelfNoPurchase(WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest,WMS.Web.Core.Dto.Login.LoginInDto)">
<summary>
上架-非采购订单
</summary>
<param name="dto"></param>
<param name="loginInDto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.IInStockService.GetInfoByBox(System.String)"> <member name="M:WMS.Web.Domain.IService.IInStockService.GetInfoByBox(System.String)">
<summary> <summary>
获取任务单:根据箱号信息 获取任务单:根据箱号信息
@@ -1469,7 +1551,7 @@
<param name="boxBillNo"></param> <param name="boxBillNo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.IInStockService.Update(WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest,System.Int32,System.Boolean,System.Boolean)"> <member name="M:WMS.Web.Domain.IService.IInStockService.Update(WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest,System.Int32,System.Nullable{System.Boolean},System.Boolean,System.Boolean)">
<summary> <summary>
修改-入库任务信息 修改-入库任务信息
</summary> </summary>
@@ -2199,6 +2281,14 @@
箱服务信息 箱服务信息
</summary> </summary>
</member> </member>
<member name="M:WMS.Web.Domain.Services.BoxService.SerialNumberOperate(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
<summary>
序列号操作记录日志
</summary>
<param name="list"></param>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService"> <member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
改箱 移箱服务 改箱 移箱服务
</member> </member>
@@ -2246,6 +2336,14 @@
<param name="loginInfo"></param> <param name="loginInfo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.InStockService.ShelfNoPurchase(WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest,WMS.Web.Core.Dto.Login.LoginInDto)">
<summary>
非采购单上架-按箱
</summary>
<param name="dto"></param>
<param name="loginInDto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.GetInfoByBox(System.String)"> <member name="M:WMS.Web.Domain.Services.InStockService.GetInfoByBox(System.String)">
<summary> <summary>
获取任务单:根据箱号信息 获取任务单:根据箱号信息
@@ -2253,7 +2351,7 @@
<param name="boxBillNo"></param> <param name="boxBillNo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.InStockService.Save(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.InstockType,System.Int32,System.Boolean)"> <member name="M:WMS.Web.Domain.Services.InStockService.ShelfSave(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.InstockType,System.Int32,System.Boolean)">
<summary> <summary>
采购上架-保存 采购上架-保存
</summary> </summary>
@@ -2262,7 +2360,16 @@
<param name="isTransaction"></param> <param name="isTransaction"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.InStockService.Update(WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest,System.Int32,System.Boolean,System.Boolean)"> <member name="M:WMS.Web.Domain.Services.InStockService.ShelfNoPurchaseSave(WMS.Web.Core.Dto.InStock.NoPurchaseShelfRequest,System.Int32,System.Boolean)">
<summary>
非采购上架-按箱-保存
</summary>
<param name="dto"></param>
<param name="staffId"></param>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.Update(WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest,System.Int32,System.Nullable{System.Boolean},System.Boolean,System.Boolean)">
<summary> <summary>
修改-入库任务信息 修改-入库任务信息
</summary> </summary>
@@ -3259,6 +3366,26 @@
数据操作失败 数据操作失败
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Domain.Values.SerialNumberOperateType">
<summary>
序列号操作类型
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.ShelfMethod">
<summary>
非采购上架方式
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.ShelfMethod.Box">
<summary>
按箱上架
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.ShelfMethod.Product">
<summary>
按产品上架
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.Single.SingleAction"> <member name="T:WMS.Web.Domain.Values.Single.SingleAction">
<summary> <summary>
对接单点的接口方法-枚举 对接单点的接口方法-枚举

View File

@@ -42,6 +42,10 @@ namespace WMS.Web.Core.Dto
/// 单据类型 /// 单据类型
/// </summary> /// </summary>
public Dictionary<string, string> OrderType { get; set; } = new Dictionary<string, string>(); public Dictionary<string, string> OrderType { get; set; } = new Dictionary<string, string>();
/// <summary>
/// 非采购上架方式
/// </summary>
public Dictionary<string, string> ShelfMethod { get; set; } = new Dictionary<string, string>();

View File

@@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using WMS.Web.Core.Dto.InStockTask;
namespace WMS.Web.Core.Dto.InStock
{
/// <summary>
/// 非采购单上架请求对象-按箱
/// </summary>
public class NoPurchaseShelfRequest
{
/// <summary>
/// 单据ID(等同-入库任务单ID)
/// </summary>
[Required(ErrorMessage = "任务单ID不能为空")]
public int TaskId { get; set; }
/// <summary>
/// 上架方式
/// </summary>
[Required(ErrorMessage = "上架方式不能为空")]
public int ShelfMethod { get; set; }
/// <summary>
/// 箱集合
/// </summary>
public List<UpdateInStockTaskBoxRequest> Boxs { get; set; } = new List<UpdateInStockTaskBoxRequest>();
/// <summary>
/// 入库任务单明细
/// </summary>
public List<UpdateInStockTaskDetailsRequest> TaskDetails { get; set; } = new List<UpdateInStockTaskDetailsRequest>();
/// <summary>
/// 入库单明细
/// </summary>
public List<SaveInStockDetailsRequest> Details { get; set; } = new List<SaveInStockDetailsRequest>();
}
}

View File

@@ -115,5 +115,17 @@ namespace WMS.Web.Domain.Entitys
this.ShelferId = creatorId; this.ShelferId = creatorId;
this.ShelfTime = DateTime.Now; this.ShelfTime = DateTime.Now;
} }
/// <summary>
/// 非采购上架
/// </summary>
/// <param name="creatorId"></param>
public void NoPurchaseShelf(int creatorId)
{
this.ReceiverId = creatorId;
this.ReceiveTime = DateTime.Now;
this.ShelferId = creatorId;
this.ShelfTime = DateTime.Now;
}
} }
} }

View File

@@ -7,6 +7,7 @@ using WMS.Web.Core.Dto.InStock;
using WMS.Web.Core.Dto.InStockTask; using WMS.Web.Core.Dto.InStockTask;
using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Dto.Login;
using WMS.Web.Core.Internal.Results; using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Values; using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.IService namespace WMS.Web.Domain.IService
@@ -40,6 +41,14 @@ namespace WMS.Web.Domain.IService
/// <returns></returns> /// <returns></returns>
Task<Result> Shelf(PurchaseShelfRequest instock, LoginInDto loginInfo); Task<Result> Shelf(PurchaseShelfRequest instock, LoginInDto loginInfo);
/// <summary>
/// 上架-非采购订单
/// </summary>
/// <param name="dto"></param>
/// <param name="loginInDto"></param>
/// <returns></returns>
Task<Result> ShelfNoPurchase(NoPurchaseShelfRequest dto, LoginInDto loginInDto);
/// <summary> /// <summary>
/// 获取任务单:根据箱号信息 /// 获取任务单:根据箱号信息
/// </summary> /// </summary>
@@ -55,7 +64,7 @@ namespace WMS.Web.Domain.IService
/// <param name="isReceive"></param> /// <param name="isReceive"></param>
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <returns></returns>
Task<Result> Update(UpdateInStockTaskRequest dto, int staffId, bool isReceive, bool isTransaction = true); Task<Result<InStockTask>> Update(UpdateInStockTaskRequest dto, int staffId, bool? isReceive, bool isTransaction = true, bool isNoPurchaseShelf = false);
/// <summary> /// <summary>
/// 批量修改-入库任务信息 /// 批量修改-入库任务信息

View File

@@ -6,6 +6,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using WMS.Web.Core.Dto; using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.ChangeBoxRecord;
using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp;
using WMS.Web.Core.Dto.InStock; using WMS.Web.Core.Dto.InStock;
using WMS.Web.Core.Dto.InStockTask; using WMS.Web.Core.Dto.InStockTask;
@@ -28,19 +29,21 @@ namespace WMS.Web.Domain.Services
private readonly IMapper _mapper; private readonly IMapper _mapper;
private readonly IErpService _erpService; private readonly IErpService _erpService;
private readonly ILoginService _loginService; private readonly ILoginService _loginService;
private readonly IChangeMoveBoxService _changeMoveBoxService;
private readonly IBoxRepositories _boxRepositories; private readonly IBoxRepositories _boxRepositories;
private readonly IBasicsRepositories _basicsRepositories; private readonly IBasicsRepositories _basicsRepositories;
private readonly IInStockRepositories _inStockRepositories; private readonly IInStockRepositories _inStockRepositories;
private readonly IInStockTaskRepositories _inStockTaskRepositories; private readonly IInStockTaskRepositories _inStockTaskRepositories;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
public InStockService(IMapper mapper, IErpService erpService, ILoginService loginService, IBoxRepositories boxRepositories, public InStockService(IMapper mapper, IErpService erpService, ILoginService loginService, IBoxRepositories boxRepositories,
IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService,
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories) IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
{ {
_mapper = mapper; _mapper = mapper;
_erpService = erpService; _erpService = erpService;
_loginService = loginService; _loginService = loginService;
_boxRepositories = boxRepositories; _boxRepositories = boxRepositories;
_changeMoveBoxService = changeMoveBoxService;
_basicsRepositories = basicsRepositories; _basicsRepositories = basicsRepositories;
_inStockRepositories = inStockRepositories; _inStockRepositories = inStockRepositories;
_inStockTaskRepositories = inStockTaskRepositories; _inStockTaskRepositories = inStockTaskRepositories;
@@ -95,7 +98,7 @@ namespace WMS.Web.Domain.Services
bool isRollback = false; bool isRollback = false;
bool isTransaction = false; bool isTransaction = false;
//1.添加入库单同步金蝶在save方法里面进行 //1.添加入库单同步金蝶在save方法里面进行
var save_result = await this.Save(instock, InstockType.Purchase, loginInfo.UserInfo.StaffId, isTransaction); var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo.UserInfo.StaffId, isTransaction);
if (!save_result.IsSuccess) isRollback = true; if (!save_result.IsSuccess) isRollback = true;
{ {
//2.修改入库任务单 //2.修改入库任务单
@@ -112,6 +115,27 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess(); return Result.ReSuccess();
} }
/// <summary>
/// 非采购单上架-按箱
/// </summary>
/// <param name="dto"></param>
/// <param name="loginInDto"></param>
/// <returns></returns>
public async Task<Result> ShelfNoPurchase(NoPurchaseShelfRequest dto,LoginInDto loginInDto)
{
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
//保存非采购上架的数据
var shelfSave_result = await this.ShelfNoPurchaseSave(dto,loginInDto.UserInfo.StaffId, isTransaction);
if(!shelfSave_result.IsSuccess) isRollback = true;
//提交事务
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
/// <summary> /// <summary>
/// 获取任务单:根据箱号信息 /// 获取任务单:根据箱号信息
/// </summary> /// </summary>
@@ -160,7 +184,7 @@ namespace WMS.Web.Domain.Services
/// <param name="staffId"></param> /// <param name="staffId"></param>
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <returns></returns>
private async Task<Result> Save(PurchaseShelfRequest dto, InstockType type, int staffId, bool isTransaction = true) private async Task<Result> ShelfSave(PurchaseShelfRequest dto, InstockType type, int staffId, bool isTransaction = true)
{ {
var entity = new InStock(); var entity = new InStock();
entity.Type = type; entity.Type = type;
@@ -178,7 +202,49 @@ namespace WMS.Web.Domain.Services
else else
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);
} }
/// <summary>
/// 非采购上架-按箱-保存
/// </summary>
/// <param name="dto"></param>
/// <param name="staffId"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
private async Task<Result> ShelfNoPurchaseSave(NoPurchaseShelfRequest dto,int staffId, bool isTransaction = true)
{
//1.修改-入库任务单的信息
var updateInStockTaskRequest = new UpdateInStockTaskRequest();
updateInStockTaskRequest.Id = dto.TaskId;
updateInStockTaskRequest.Boxs = dto.Boxs;
updateInStockTaskRequest.Details = dto.TaskDetails;
//2.修改后返回当前实体
var update_result = await this.Update(updateInStockTaskRequest, staffId, null, isTransaction, true);
if (!update_result.IsSuccess)
return update_result;
//执行保存
var entity = new InStock();
entity.Type = update_result.Data.Type;
entity.Details = _mapper.Map<List<InStockDetails>>(dto.Details);
entity.Create(staffId);
//需要填写序列号
//需要修改库存
//需要同步金蝶
entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity != null)
return Result.ReSuccess();
else
return Result.ReFailure(ResultCodes.DateWriteError);
//当按产品上架:就要调用该箱的操作;
var changeBox = new SaveChangeBoxRecordRequest();
//await _changeMoveBoxService.ChangeBoxSave()
}
/// <summary> /// <summary>
/// 修改-入库任务信息 /// 修改-入库任务信息
/// </summary> /// </summary>
@@ -187,26 +253,38 @@ namespace WMS.Web.Domain.Services
/// <param name="isReceive"></param> /// <param name="isReceive"></param>
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <returns></returns>
public async Task<Result> Update(UpdateInStockTaskRequest dto, int staffId,bool isReceive, bool isTransaction = true) public async Task<Result<InStockTask>> Update(UpdateInStockTaskRequest dto, int staffId,bool? isReceive, bool isTransaction = true,bool isNoPurchaseShelf=false)
{ {
var entity = await _inStockTaskRepositories.Get(dto.Id); var entity = await _inStockTaskRepositories.Get(dto.Id);
if (entity == null) if (entity == null)
return Result.ReFailure(ResultCodes.DateWriteError); return Result<InStockTask>.ReFailure(ResultCodes.DateWriteError);
entity = _mapper.Map(dto, entity); entity = _mapper.Map(dto, entity);
//子集单独映射 ////子集单独映射:这个弃用这个不好的地方就是前端必须拿到全部的boxs集合一起给到后端处理
entity.Boxs = _mapper.ToMapList(dto.Boxs, entity.Boxs); //entity.Boxs = _mapper.ToMapList(dto.Boxs, entity.Boxs);
//子集单独映射box子集单独组装获取这个好处就是前端就只传新增的box过来
foreach (var item in dto.Boxs)
{
var box = _mapper.Map<InStockTaskBox>(item);
entity.Boxs.Add(box);
}
//子集单独映射 //子集单独映射
entity.Details = _mapper.ToMapList(dto.Details, entity.Details); entity.Details = _mapper.ToMapList(dto.Details, entity.Details);
if (isReceive) if (isNoPurchaseShelf)
entity.Receive(staffId); entity.NoPurchaseShelf(staffId);
else else
entity.Shelf(staffId); {
if (isReceive.HasValue && isReceive.Value)
entity.Receive(staffId);
else
entity.Shelf(staffId);
}
var result =await _inStockTaskRepositories.Update(entity, isTransaction); var result =await _inStockTaskRepositories.Update(entity, isTransaction);
if (result != null) if (result != null)
return Result.ReSuccess(); return Result<InStockTask>.ReSuccess(entity);
else else
return Result.ReFailure(ResultCodes.DateWriteError); return Result<InStockTask>.ReFailure(ResultCodes.DateWriteError);
} }
/// <summary> /// <summary>

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Text;
using WMS.Web.Core;
namespace WMS.Web.Domain.Values
{
/// <summary>
/// 非采购上架方式
/// </summary>
public enum ShelfMethod
{
/// <summary>
/// 按箱上架
/// </summary>
[EnumRemark("按箱上架")]
Box = 1,
/// <summary>
/// 按产品上架
/// </summary>
[EnumRemark("按产品上架")]
Product = 2,
}
}