From 565c3a3d0e7fb13effb526d2d6014f70a4d23f3b Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期一, 13 一月 2025 22:06:46 +0800 Subject: [PATCH] 板材仓 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs | 73 +++++++++++++++++++++++++++++++++++- 1 files changed, 71 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..eccb5e8 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,70 @@ return WebResponseContent.Instance.Error(ex.Message); } } + /// <summary> + /// 璐ㄦ瀹屼笂鎶ヨ嚦ERP + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + 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 = "HATC", + Result = checkOrder.Result, + CreatorCode = "TC20082",//娴嬭瘯 + DefectedNote = checkOrder.DefectedNote, + MaterialsCode = checkOrder.MaterielCode, + PlantsId = "HA02", + 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 = checkOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), + SerNo = checkOrder.ReceiveDetailRowNo.ToString(), + TestDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + 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