2
schangxiang@126.com
2024-06-20 90b264c675155d6fb921d256f2de48ad398845c6
iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs
@@ -21,13 +21,15 @@
    [DisableOpLog]
    public class WorkPieceOutboundService : IWorkPieceOutboundService, IDynamicApiController, ITransient
    {
        private readonly IRepository<WorkPieceOutbound,MasterDbContextLocator> _workPieceOutboundRep;
        private readonly IRepository<WorkPieceOutbound, MasterDbContextLocator> _workPieceOutboundRep;
        private readonly IRepository<WorkPieceInfo, MasterDbContextLocator> _workPieceInfoRep;
        public WorkPieceOutboundService(
            IRepository<WorkPieceOutbound,MasterDbContextLocator> workPieceOutboundRep
            IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep,
            IRepository<WorkPieceOutbound, MasterDbContextLocator> workPieceOutboundRep
        )
        {
            _workPieceInfoRep = workPieceInfoRep;
            _workPieceOutboundRep = workPieceOutboundRep;
        }
@@ -86,7 +88,7 @@
            if (!isExist) throw Oops.Oh(ErrorCode.D3000);
            var workPieceOutbound = input.Adapt<WorkPieceOutbound>();
            await _workPieceOutboundRep.UpdateAsync(workPieceOutbound,ignoreNullValues:true);
            await _workPieceOutboundRep.UpdateAsync(workPieceOutbound, ignoreNullValues: true);
        }
        /// <summary>
@@ -117,19 +119,32 @@
        /// <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)
                {
                    throw Oops.Oh("工件出库信息不存在");
                }
                workPieceOutbound.IsDeleted = true;
                workPieceOutbound.Remark = workPieceOutbound.Remark??""+"撤销发货";
                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);
                }
            }
        }
    }