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.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 46 insertions(+), 5 deletions(-)

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;
 

--
Gitblit v1.9.3