From 81cfbb34ad9092b19a2e3692786ee97f3646014b Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 16 十二月 2024 21:30:46 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs |   68 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 2 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
index 6e4dce7..568e071 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
@@ -10,6 +10,8 @@
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
+using WIDESEA_External.ERPService;
+using WIDESEA_External.Model;
 using WIDESEA_IApprovalRepository;
 using WIDESEA_ICheckRepository;
 using WIDESEA_ICheckService;
@@ -26,8 +28,9 @@
         private readonly IApprovalTaskRepository _approvalTaskRepository;
         private readonly ISys_UserRepository _userRepository;
         private readonly WebSocketServer _webSocketServer;
+        private readonly IInvokeERPService _invokeERPService;
 
-        public CheckOrderService(ICheckOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IApprovalFlowRepository approvalFlowRepository, IApprovalNodeRepository approvalNodeRepository, IApprovalTaskRepository approvalTaskRepository, ISys_UserRepository userRepository, WebSocketServer webSocketServer) : base(BaseDal)
+        public CheckOrderService(ICheckOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IApprovalFlowRepository approvalFlowRepository, IApprovalNodeRepository approvalNodeRepository, IApprovalTaskRepository approvalTaskRepository, ISys_UserRepository userRepository, WebSocketServer webSocketServer, IInvokeERPService invokeERPService) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _approvalFlowRepository = approvalFlowRepository;
@@ -35,6 +38,7 @@
             _approvalTaskRepository = approvalTaskRepository;
             _userRepository = userRepository;
             _webSocketServer = webSocketServer;
+            _invokeERPService = invokeERPService;
         }
 
         public WebResponseContent CommitAudit(int checkOrderId)
@@ -46,7 +50,7 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌璐ㄦ鍗�");
                 }
-                if(checkOrder.CheckOrderStatus != CheckOrderStatusEnum.Checked.ObjToInt())
+                if (checkOrder.CheckOrderStatus != CheckOrderStatusEnum.Checked.ObjToInt())
                 {
                     return WebResponseContent.Instance.Error($"璇ヨ川妫�鍗曡繕鏈楠屽畬鎴�");
                 }
@@ -121,5 +125,65 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        public WebResponseContent FeedbackCheckResult(int id)
+        {
+            try
+            {
+                Dt_CheckOrder checkOrder = Db.Queryable<Dt_CheckOrder>().Where(x => x.CheckOrderId == id).Includes(x => x.Details).First();
+                if (checkOrder == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌川妫�鍗曟嵁");
+                }
+                if(checkOrder.AuditStatus != AuditStatusEnum.Agree.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"瀹℃壒鏈�氳繃");
+                }
+
+                List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
+                foreach (var item in checkOrder.Details)
+                {
+                    ERPCheckResult checkResult = new ERPCheckResult()
+                    {
+                        DefectCode = item.DefectCode,
+                        Note = item.Note,
+                        Quantity = item.Quantity.ToString(),
+                        Result = item.Result
+                    };
+                    checkResults.Add(checkResult);
+                }
+
+                ERPCheckModel model = new ERPCheckModel()
+                {
+                    Code = checkOrder.CheckOrderNo,
+                    CompanyId = "",
+                    Result = checkOrder.Result,
+                    CreatorCode = checkOrder.Creater,
+                    DefectedNote = checkOrder.DefectedNote,
+                    MaterialsCode = checkOrder.MaterielCode,
+                    PlantsId = "",
+                    QtyDefected = checkOrder.DefectedQuantity.GetValueOrDefault().ToString(),
+                    QtyInspected = checkOrder.ReceivedQuantity.ToString(),
+                    QtyQualified = checkOrder.QualifiedQuantity.GetValueOrDefault().ToString(),
+                    QtyReturn = checkOrder.ReturnQuantity.GetValueOrDefault().ToString(),
+                    QtyScrapped = checkOrder.ScrappedQuantity.GetValueOrDefault().ToString(),
+                    ReceiptCode = checkOrder.ReceiveOrderNo,
+                    ReceiveDate = "",
+                    SerNo = checkOrder.ReceiveDetailRowNo.ToString(),
+                    TestDate = "",
+                    UniqueTag = checkOrder.CheckOrderId.ToString(),
+                    Way = 1,
+                    Details = checkResults
+                };
+
+                string response = _invokeERPService.InvokeCheckOrderApi(model);
+
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3