From 695571c6009ecbc12e7d4a4fb147df7967a1260e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:21:19 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs | 190 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 188 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..83c4c81 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,10 @@
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
+using WIDESEA_DTO;
+using WIDESEA_DTO.ERP;
+using WIDESEA_External.ERPService;
+using WIDESEA_External.Model;
using WIDESEA_IApprovalRepository;
using WIDESEA_ICheckRepository;
using WIDESEA_ICheckService;
@@ -26,8 +30,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,8 +40,10 @@
_approvalTaskRepository = approvalTaskRepository;
_userRepository = userRepository;
_webSocketServer = webSocketServer;
+ _invokeERPService = invokeERPService;
}
+ #region 涓嶄娇鐢�
public WebResponseContent CommitAudit(int checkOrderId)
{
try
@@ -46,7 +53,7 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌璐ㄦ鍗�");
}
- if(checkOrder.CheckOrderStatus != CheckOrderStatusEnum.Checked.ObjToInt())
+ if (checkOrder.CheckOrderStatus != CheckOrderStatusEnum.Checked.ObjToInt())
{
return WebResponseContent.Instance.Error($"璇ヨ川妫�鍗曡繕鏈楠屽畬鎴�");
}
@@ -121,5 +128,184 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+ #endregion
+ /// <summary>
+ /// 妫�楠屽畬鎺ㄩ�丒RP
+ /// </summary>
+ /// <param name="checkOrder"></param>
+ /// <param name="checkOrderResults"></param>
+ /// <returns></returns>
+ public WebResponseContent FeedbackCheckResult(Dt_CheckOrder checkOrder,List<Dt_CheckOrderResult> checkOrderResults)
+ {
+ try
+ {
+ //澧炲姞涓笂浼犵姸鎬� 璐ㄦ鍗曠粨鏋�
+ List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
+ foreach (var item in checkOrderResults)
+ {
+ 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 = checkOrder.CheckUserName,
+ 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);
+ ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
+ if (requestContent.res!=1)
+ {
+ return WebResponseContent.Instance.Error(requestContent.Data);
+ }
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 閫佹楠屽畬鎺ㄩ�丒RP
+ /// </summary>
+ /// <param name="checkOrder"></param>
+ /// <param name="checkOrderResults"></param>
+ /// <returns></returns>
+ public WebResponseContent FeedbackInspectResult(Dt_CheckOrder checkOrder, List<Dt_CheckOrderResult> checkOrderResults)
+ {
+ try
+ {
+ //澧炲姞涓笂浼犵姸鎬� 璐ㄦ鍗曠粨鏋�
+ List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
+ foreach (var item in checkOrderResults)
+ {
+ ERPCheckResult checkResult = new ERPCheckResult()
+ {
+ DefectCode = item.DefectCode,
+ Note = item.Note,
+ Quantity = item.Quantity.ToString(),
+ Result = item.Result
+ };
+ checkResults.Add(checkResult);
+ }
+ ERPInspectModel model = new ERPInspectModel()
+ {
+ Code = checkOrder.CheckOrderNo,
+ CompanyId = "HATC",
+ Result = checkOrder.Result,
+ CreatorCode = checkOrder.CheckUserName,
+ 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(),
+ Recheckcode = checkOrder.ReceiveOrderNo,
+ ReceiveDate = checkOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
+ TestDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ UniqueTag = checkOrder.CheckOrderId.ToString(),
+ Way = 1,
+ Details = checkResults
+ };
+
+ string response = _invokeERPService.InvokeInspectApi(model);
+ ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
+ if (requestContent.res != 1)
+ {
+ return WebResponseContent.Instance.Error(requestContent.Data);
+ }
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ 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($"鏈壘鍒拌川妫�鍗曟嵁");
+ }
+
+ 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 = checkOrder.CheckUserName,
+ 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