iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
@@ -447,6 +447,16 @@ OP80NewCode = OP80NewCode, }; } //判断是否已经出库 List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.DetachedEntities.Where(w => (w.WorkPieceID == OP80NewCode || w.OP80NewCode == OP80NewCode) && w.IsDeleted == false).ToListAsync(); if (db_itemModelList != null && db_itemModelList.Count > 0) { var itemModel = db_itemModelList.First(); var createitme = itemModel.CreatedTime == null ? "" : (((DateTimeOffset)itemModel.CreatedTime).UtcDateTime.ToString("yyyy-MM-dd HH:mm:ss")); throw Oops.Oh($"工件{itemModel.WorkPieceID}已出库,出库时间:{createitme}"); } return workPieceInfo; } @@ -456,6 +466,7 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost("outBoundWorkPiece")] [UnitOfWork] public async Task<string> outBoundWorkPiece([FromBody] OutBoundInput input) { @@ -474,6 +485,8 @@ var queryWorkPieceIDList = WorkPieceInfoLst.Select(x => x.WorkPieceID).ToList(); List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync(); List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync(); foreach (var item in WorkPieceInfoLst) { @@ -497,6 +510,17 @@ CreatedUserName = CurrentUserInfo.Name, }; addOutBoundList.Add(outBoundLog); var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID); if (workPiece != null) { workPiece.OutPerson = CurrentUserInfo.Name; workPiece.OutRemark = "撤销工件出库"; workPiece.OutTime = DateTime.Now; workPiece.IsOut = false; await _workPieceInfoRep.UpdateAsync(workPiece); } } await _workPieceOutboundRep.InsertAsync(addOutBoundList); return "出库成功"; iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs
@@ -22,12 +22,14 @@ public class WorkPieceOutboundService : IWorkPieceOutboundService, IDynamicApiController, ITransient { private readonly IRepository<WorkPieceOutbound,MasterDbContextLocator> _workPieceOutboundRep; private readonly IRepository<WorkPieceInfo, MasterDbContextLocator> _workPieceInfoRep; public WorkPieceOutboundService( IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep, IRepository<WorkPieceOutbound,MasterDbContextLocator> workPieceOutboundRep ) { _workPieceInfoRep = workPieceInfoRep; _workPieceOutboundRep = workPieceOutboundRep; } @@ -117,9 +119,11 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost("revoke")] [UnitOfWork] public async Task Revoke(List<DeleteWorkPieceOutboundInput> input) { foreach (var item in input) { foreach (var item in input) { var workPieceOutbound = await _workPieceOutboundRep.FirstOrDefaultAsync(u => u.Id == item.Id); if (workPieceOutbound == null) { @@ -128,6 +132,17 @@ workPieceOutbound.IsDeleted = true; workPieceOutbound.Remark = workPieceOutbound.Remark??""+"撤销发货"; await _workPieceOutboundRep.UpdateAsync(workPieceOutbound); var workPiece = await _workPieceInfoRep.FirstOrDefaultAsync(u => u.WorkPieceID == workPieceOutbound.WorkPieceID); if (workPiece != null) { workPiece.OutPerson = CurrentUserInfo.Name; workPiece.OutRemark = "撤销工件出库"; workPiece.OutTime = DateTime.Now; workPiece.IsOut = false; await _workPieceInfoRep.UpdateAsync(workPiece); } } } iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs
@@ -231,5 +231,36 @@ /// </summary> [Comment("完成时间")] public DateTime? CompleteTime { get; set; } #region 出库相关 /// <summary> /// 是否出库 /// </summary> [Comment("是否出库")] public bool? IsOut { get; set; } /// <summary> /// 出库人 /// </summary> [Comment("出库人")] [MaxLength(255)] public string OutPerson { get; set; } /// <summary> /// 出库备注 /// </summary> [Comment("出库备注")] [MaxLength(255)] public string OutRemark { get; set; } /// <summary> /// 出库时间 /// </summary> [Comment("出库时间")] public DateTime? OutTime { get; set; } #endregion } }