From 2a19504209e763a7c0e957e4ee265dd419486ef1 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 06 9月 2024 10:21:48 +0800 Subject: [PATCH] 入库优化 --- iWara.SCADA.Code/iWare.Wms.Core/Enum/WMS/OutboundOperationType.cs | 13 ++++++ iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs | 51 +++++++++++++++++++++++-- iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs | 27 ++++++++++++- iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml | 7 +++ iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/dbsettings.json | 5 -- 5 files changed, 91 insertions(+), 12 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 619cbf8..699af9d 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs @@ -492,7 +492,7 @@ } if (input.WorkPieceInfoLst.Count < 1) { - throw Oops.Oh("宸ヤ欢鍑哄簱澶辫触锛氭暟鎹笉鑳戒负绌猴紒"); + throw Oops.Oh("宸ヤ欢鍏ュ簱澶辫触锛氭暟鎹笉鑳戒负绌猴紒"); } List<OutBoundDetailsInput> WorkPieceInfoLst = input.WorkPieceInfoLst; @@ -504,9 +504,11 @@ List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryOP80NewCodeList.Contains(w.OP80NewCode) && w.IsDeleted == false).ToListAsync(); + var addOutBoundLogList = new List<WorkPieceOutboundRecord>(); + foreach (var item in WorkPieceInfoLst) { - var itemModel = db_itemModelList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode); + var itemModel = db_itemModelList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode && w.IsDeleted == false); if (itemModel != null) { //itemModel.IsDeleted = true; @@ -526,7 +528,7 @@ if (workPiece != null) { workPiece.OutPerson = CurrentUserInfo.Name; - workPiece.OutRemark = "鎾ら攢宸ヤ欢鍑哄簱"; + workPiece.OutRemark = "鎾ら攢宸ヤ欢鍏ュ簱"; workPiece.OutTime = DateTime.Now; workPiece.IsOut = false; @@ -544,9 +546,28 @@ }; addOutBoundList.Add(outBoundLog); + var outBoundLogRecord = new WorkPieceOutboundRecord + { + OperationType = OutboundOperationType.鍏ュ簱.ToString(), + WorkPieceID = workPiece?.WorkPieceID, + OP80NewCode = item.OP80NewCode, + + CreatedUserId = CurrentUserInfo.UserId, + CreatedUserName = CurrentUserInfo.Name, + + + //CarNo = input.CarNo, + Remark = "宸ヤ欢鍏ュ簱", + + }; + addOutBoundLogList.Add(outBoundLogRecord); + } await _workPieceOutboundRep.InsertAsync(addOutBoundList); + + await _workPieceOutboundRecordRep.InsertAsync(addOutBoundLogList); + 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 a8ce3f3..ba88729 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs @@ -8,6 +8,7 @@ using Mapster; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using SharpYaml; using System.Linq.Dynamic.Core; namespace iWare.Wms.Application @@ -23,12 +24,15 @@ { private readonly IRepository<WorkPieceOutbound, MasterDbContextLocator> _workPieceOutboundRep; private readonly IRepository<WorkPieceInfo, MasterDbContextLocator> _workPieceInfoRep; + private readonly IRepository<WorkPieceOutboundRecord, MasterDbContextLocator> _workPieceOutboundRecordRep; public WorkPieceOutboundService( + IRepository<WorkPieceOutboundRecord, MasterDbContextLocator> workPieceOutboundRecordRep, IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep, IRepository<WorkPieceOutbound, MasterDbContextLocator> workPieceOutboundRep ) { + _workPieceOutboundRecordRep = workPieceOutboundRecordRep; _workPieceInfoRep = workPieceInfoRep; _workPieceOutboundRep = workPieceOutboundRep; } @@ -52,6 +56,27 @@ .ToADPagedListAsync(input.PageNo, input.PageSize); return workPieceOutbounds; } + + /// <summary> + /// 鍒嗛〉鏌ヨ宸ヤ欢鍑哄簱鍘嗗彶淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("pageForRecord")] + public async Task<PageResult<WorkPieceOutboundRecord>> PageForRecord([FromQuery] WorkPieceOutboundSearch input) + { + var workPieceOutbounds = await _workPieceOutboundRecordRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.WorkPieceID), u => u.WorkPieceID.Contains(input.WorkPieceID)) + .Where(!string.IsNullOrEmpty(input.OP80NewCode), u => u.OP80NewCode.Contains(input.OP80NewCode)) + .Where(!string.IsNullOrEmpty(input.WorkPieceOutboundUserName), u => u.CreatedUserName.Contains(input.WorkPieceOutboundUserName)) + .Where(!string.IsNullOrEmpty(input.StartTimeBeginTime.ToString()), u => u.CreatedTime >= input.StartTimeBeginTime) + .Where(!string.IsNullOrEmpty(input.StartTimeEndTime.ToString()), u => u.CreatedTime <= input.StartTimeEndTime) + .OrderBy(PageInputOrder.OrderBuilder<WorkPieceOutboundSearch>(input)) + .ProjectToType<WorkPieceOutboundRecord>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return workPieceOutbounds; + } + /// <summary> /// 澧炲姞宸ヤ欢鍑哄簱淇℃伅 @@ -128,17 +153,33 @@ var workPieceOutbound = await _workPieceOutboundRep.FirstOrDefaultAsync(u => u.Id == item.Id); if (workPieceOutbound == null) { - throw Oops.Oh("宸ヤ欢鍑哄簱淇℃伅涓嶅瓨鍦�"); + throw Oops.Oh("宸ヤ欢鍏ュ簱淇℃伅涓嶅瓨鍦�"); } - workPieceOutbound.IsDeleted = true; - workPieceOutbound.Remark = workPieceOutbound.Remark ?? "" + "鎾ら攢鍙戣揣"; - await _workPieceOutboundRep.UpdateAsync(workPieceOutbound); + //workPieceOutbound.IsDeleted = true; + //workPieceOutbound.Remark = workPieceOutbound.Remark ?? "" + "鎾ら攢鍏ュ簱"; + //await _workPieceOutboundRep.UpdateAsync(workPieceOutbound); + await _workPieceOutboundRep.DeleteAsync(workPieceOutbound); + + var outBoundLog = new WorkPieceOutboundRecord + { + OperationType = OutboundOperationType.鎾ら攢鍏ュ簱.ToString(), + WorkPieceID = workPieceOutbound?.WorkPieceID, + OP80NewCode = workPieceOutbound?.OP80NewCode, + + CreatedUserId = CurrentUserInfo.UserId, + CreatedUserName = CurrentUserInfo.Name, + + // CarNo = itemModel.CarNo, + Remark = "鎾ら攢鍏ュ簱", + + }; + await _workPieceOutboundRecordRep.InsertAsync(outBoundLog); var workPiece = await _workPieceInfoRep.FirstOrDefaultAsync(u => u.WorkPieceID == workPieceOutbound.WorkPieceID); if (workPiece != null) { workPiece.OutPerson = CurrentUserInfo.Name; - workPiece.OutRemark = "鎾ら攢宸ヤ欢鍑哄簱"; + workPiece.OutRemark = "鎾ら攢鍏ュ簱"; workPiece.OutTime = DateTime.Now; workPiece.IsOut = false; diff --git a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml index 951733f..c3de318 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml +++ b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml @@ -15224,6 +15224,13 @@ <param name="input"></param> <returns></returns> </member> + <member name="M:iWare.Wms.Application.WorkPieceOutboundService.PageForRecord(iWare.Wms.Application.WorkPieceOutboundSearch)"> + <summary> + 鍒嗛〉鏌ヨ宸ヤ欢鍑哄簱鍘嗗彶淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> <member name="M:iWare.Wms.Application.WorkPieceOutboundService.Add(iWare.Wms.Application.AddWorkPieceOutboundInput)"> <summary> 澧炲姞宸ヤ欢鍑哄簱淇℃伅 diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Enum/WMS/OutboundOperationType.cs b/iWara.SCADA.Code/iWare.Wms.Core/Enum/WMS/OutboundOperationType.cs index ba5f7e0..04bf008 100644 --- a/iWara.SCADA.Code/iWare.Wms.Core/Enum/WMS/OutboundOperationType.cs +++ b/iWara.SCADA.Code/iWare.Wms.Core/Enum/WMS/OutboundOperationType.cs @@ -31,5 +31,18 @@ [Description("鎾ら攢鍑哄簱")] 鎾ら攢鍑哄簱 = 4, + + /// <summary> + /// 鍏ュ簱 + /// </summary> + [Description("鍏ュ簱")] + 鍏ュ簱 = 5, + + /// <summary> + /// 鎾ら攢鍏ュ簱 + /// </summary> + [Description("鎾ら攢鍏ュ簱")] + 鎾ら攢鍏ュ簱 = 6, + } } \ No newline at end of file diff --git a/iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/dbsettings.json b/iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/dbsettings.json index 34e5ee1..1831657 100644 --- a/iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/dbsettings.json +++ b/iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/dbsettings.json @@ -15,10 +15,7 @@ //"MultiTenantConnection": "Data Source=localhost;Database=Admin.NET_SaaS;User ID=root;Password=123456;pooling=true;port=3306;sslmode=none;CharSet=utf8;" //MSSQL杩炴帴瀛楃涓� - //"DefaultConnection": "Server=.;Database=iWare.WMS;User=sa;Password=123abc.com;MultipleActiveResultSets=True;" - //"DefaultConnection": "Server=82.156.32.44;Database=iWare.WMS;User=sa;Password=123abc.com;MultipleActiveResultSets=True;" - //"DefaultConnection": "Server=192.168.216.203;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True;" - "DefaultConnection": "Server=.;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True;" + "DefaultConnection": "Server=192.168.216.203;Database=iWare.SCADA;User=sa;Password=123abc.com;MultipleActiveResultSets=True;" //"MultiTenantConnection": "Server=localhost;Database=Admin.NET_SaaS;User=sa;Password=123456;MultipleActiveResultSets=True;" } } \ No newline at end of file -- Gitblit v1.9.3