From 90b264c675155d6fb921d256f2de48ad398845c6 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 20 6月 2024 13:25:38 +0800 Subject: [PATCH] 2 --- iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs | 29 +++++++++++--- iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs | 24 ++++++++++++ iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs | 43 ++++++++++++++++++--- 3 files changed, 83 insertions(+), 13 deletions(-) diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs index 655cbdd..7aed2ca 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs +++ b/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 "鍑哄簱鎴愬姛"; diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs index a3c2b34..141c83c 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs +++ b/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); + } } - + } } diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs index 3003246..d34e15a 100644 --- a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs +++ b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs @@ -79,12 +79,12 @@ [Comment("宸ュ簭寮�濮嬫椂闂�")] public DateTime? WorkingProcedureStartTime { get; set; } [Comment("宸ュ簭缁撴潫鏃堕棿")] - public DateTime? WorkingProcedureEndTime{get; set;} + public DateTime? WorkingProcedureEndTime { get; set; } - /// <summary> - /// 褰撳墠宸ュ簭鍔犲伐鏃堕暱 - /// </summary> - [Comment("褰撳墠宸ュ簭鍔犲伐鏃堕暱")] + /// <summary> + /// 褰撳墠宸ュ簭鍔犲伐鏃堕暱 + /// </summary> + [Comment("褰撳墠宸ュ簭鍔犲伐鏃堕暱")] public int? ProcessingDurationForCurrent { get; set; } /// <summary> @@ -103,7 +103,7 @@ /// 宸ュ簭涓嬬嚎鏃堕棿 /// </summary> [Comment("宸ュ簭涓嬬嚎鏃堕棿")] - public DateTime? WorkPieceLastOfflineTime { get; set; } + public DateTime? WorkPieceLastOfflineTime { get; set; } /// <summary> /// 鏁伴噺 @@ -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 } } -- Gitblit v1.9.3