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/CheckOrderResultService.cs | 448 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 417 insertions(+), 31 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
index 0c8493b..bb5a54d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
@@ -4,12 +4,19 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.OrderEnum;
+using WIDESEA_Common.StockEnum;
using WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
+using WIDESEA_External.Model;
using WIDESEA_IApprovalRepository;
using WIDESEA_ICheckRepository;
using WIDESEA_ICheckService;
+using WIDESEA_IInboundRepository;
+using WIDESEA_IOutboundRepository;
+using WIDESEA_IStockRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_CheckService
@@ -17,10 +24,23 @@
public class CheckOrderResultService : ServiceBase<Dt_CheckOrderResult, ICheckOrderResultRepository>, ICheckOrderResultService
{
private readonly ICheckOrderRepository _checkOrderRepository;
-
- public CheckOrderResultService(ICheckOrderResultRepository BaseDal, ICheckOrderRepository checkOrderRepository) : base(BaseDal)
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+ private readonly IReceiveOrderRepository _receiveOrderRepository;
+ private readonly ICheckOrderService _checkOrderService;
+ private readonly IPurchaseOrderRepository _purchaseOrderRepository;
+ private readonly IPurchaseOrderDetailRepository _purchaseOrderDetailRepository;
+ private readonly IOutboundRepository _outboundRepository;
+ private readonly IStockRepository _stockRepository;
+ public CheckOrderResultService(ICheckOrderResultRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICheckOrderRepository checkOrderRepository, IReceiveOrderRepository receiveOrderRepository, ICheckOrderService checkOrderService, IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IOutboundRepository outboundRepository, IStockRepository stockRepository) : base(BaseDal)
{
_checkOrderRepository = checkOrderRepository;
+ _unitOfWorkManage = unitOfWorkManage;
+ _receiveOrderRepository = receiveOrderRepository;
+ _checkOrderService = checkOrderService;
+ _purchaseOrderRepository = purchaseOrderRepository;
+ _purchaseOrderDetailRepository = purchaseOrderDetailRepository;
+ _outboundRepository = outboundRepository;
+ _stockRepository = stockRepository;
}
/// <summary>
@@ -28,61 +48,427 @@
/// </summary>
/// <param name="checkOrderId">璐ㄦ鍗曚富閿�</param>
/// <param name="checkResult">璐ㄦ缁撴灉瀵硅薄</param>
+ /// <param name="IsAccept">鏄惁鎺ュ彈</param>
/// <returns></returns>
- public WebResponseContent CommitCheckResult(int checkOrderId, Dt_CheckOrderResult checkResult)
+ public WebResponseContent CommitCheckResult(int checkOrderId,Dt_CheckOrderResult checkResult,int IsAccept=0)
{
+ WebResponseContent content = new WebResponseContent();
try
{
Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == checkOrderId);
+ //鑾峰彇璐ㄦ鍗曞搴旂殑鏀惰揣鍗�
if (checkOrder == null)
{
- return WebResponseContent.Instance.Error($"鏈壘鍒拌璐ㄦ鍗�");
+ return content.Error($"鏈壘鍒拌璐ㄦ鍗�");
+ }
+ Dt_ReceiveOrder receiveOrder = _receiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == checkOrder.ReceiveOrderNo).Includes(x => x.Details).First();
+ if (receiveOrder.ReceiveOrderStatus!=ReceiveOrderStatusEnum.Completed.ObjToInt())
+ {
+ return content.Error($"{receiveOrder.ReceiveOrderNo}鏀惰揣鍗曟湭瀹屾垚鏃犳硶璐ㄦ");
}
if (checkOrder.CheckOrderStatus == CheckOrderStatusEnum.Checked.ObjToInt())
{
- return WebResponseContent.Instance.Error($"璇ュ崟鎹凡缁忔楠屽畬鎴�");
+ return content.Error($"璇ュ崟鎹凡缁忔楠屽畬鎴�");
}
- if (checkResult.Quantity < 0 || checkResult.Quantity > checkOrder.ReceivedQuantity || checkOrder.ReceivedQuantity - checkOrder.ScrappedQuantity - checkOrder.DefectedQuantity - checkOrder.ReturnQuantity < checkResult.Quantity)
+ Dt_CheckOrderResult? checkOrderResult = null;
+ Dt_PurchaseOrder? purchaseOrder = null;
+ Dt_PurchaseOrderDetail? purchaseOrderDetail= null;
+ if (checkResult.CheckOrderId!=0)
{
- return WebResponseContent.Instance.Error($"鏁伴噺杈撳叆閿欒");
+ if (checkResult.Quantity < 0 || checkResult.Quantity > checkOrder.ReceivedQuantity || checkOrder.ReceivedQuantity - checkOrder.ReturnQuantity < checkResult.Quantity)
+ {
+ return content.Error($"鏁伴噺瓒呭嚭");
+ }
+ if (checkResult.Result == CheckResultEnum.Return.ToString())//閫�璐�
+ {
+ checkOrder.DefectedNote = checkResult.Note;
+ checkOrder.ReturnQuantity += checkResult.Quantity;
+ }
+ else
+ {
+ return content.Error($"鏈壘鍒扮己闄风被鍨�");
+ }
+ checkOrderResult = new Dt_CheckOrderResult()
+ {
+ Quantity = checkResult.Quantity,
+ CheckOrderId = checkOrderId,
+ DefectCode = checkResult.DefectCode,
+ Result = checkResult.Result,
+ Note = checkResult.Note,
+ SampleCount=checkResult.SampleCount,
+ };
+ //鑾峰彇瀵瑰簲閲囪喘鍗�
+ Dt_ReceiveOrderDetail receiveOrderDetail = receiveOrder.Details.First(x => x.RowNo == checkOrder.ReceiveDetailRowNo);
+ purchaseOrder = _purchaseOrderRepository.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == receiveOrderDetail.PurchaseOrderNo).Includes(x => x.Details).Where(x => x.Details.Any(v => v.RowNo == receiveOrderDetail.PurchaseOrderDetailRowNo)).First();
+ if (purchaseOrder == null)
+ {
+ return content.Error("鏈壘鍒板搴旀敹璐ч噰璐崟");
+ }
+ purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault();
+ if (purchaseOrderDetail==null)
+ {
+ return content.Error("鏈壘鍒伴��璐у搴旂殑閲囪喘鍗曟槑缁�");
+ }
+ purchaseOrderDetail.PurchaseDetailReceiveQty -= checkResult.Quantity;
}
- if (checkResult.Result == CheckResultEnum.Defect.ToString())//鐗归噰
+ if (IsAccept==CheckAcceptEnum.Accept.ObjToInt())
{
- checkOrder.DefectedNote = checkResult.Note;
- checkOrder.DefectedQuantity += checkResult.Quantity;
- checkOrder.QualifiedQuantity -= checkResult.Quantity;
+ checkOrder.Result = CheckAcceptEnum.Accept.ToString();
}
- else if (checkResult.Result == CheckResultEnum.Return.ToString())//閫�璐�
+ else if (IsAccept == CheckAcceptEnum.UnAccept.ObjToInt())
{
- checkOrder.DefectedNote = checkResult.Note;
- checkOrder.ReturnQuantity += checkResult.Quantity;
- checkOrder.QualifiedQuantity -= checkResult.Quantity;
+ checkOrder.Result = CheckAcceptEnum.UnAccept.ToString();
}
- else if (checkResult.Result == CheckResultEnum.Scrapped.ToString())//鎶ュ簾
+ else
{
- checkOrder.DefectedNote = checkResult.Note;
- checkOrder.ScrappedQuantity += checkResult.Quantity;
- checkOrder.QualifiedQuantity -= checkResult.Quantity;
+ return content.Error("鏈壘鍒版楠岀被鍨�");
}
-
checkOrder.CheckOrderStatus = CheckOrderStatusEnum.Checked.ObjToInt();
-
- Dt_CheckOrderResult checkOrderResult = new Dt_CheckOrderResult()
+ if (checkOrderResult!=null)
{
- Quantity = checkResult.Quantity,
- CheckOrderId = checkOrderId,
- DefectCode = checkResult.DefectCode,
- Result = checkResult.Result,
- Note = checkResult.Note
- };
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity - checkOrderResult.Quantity;
+ }
+ else
+ {
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity;
+ }
+ checkOrder.CheckUserName = App.User.UserName;
+ _unitOfWorkManage.BeginTran();
+
+ if (checkOrderResult!=null && purchaseOrder!=null && purchaseOrderDetail!=null)
+ {
+ BaseDal.AddData(checkOrderResult);
+ if (purchaseOrder.PurchaseOrderStatus>=PurchaseOrderStatusEnum.Received.ObjToInt())
+ {
+ purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Receiving.ObjToInt();
+ _purchaseOrderRepository.UpdateData(purchaseOrder);
+ }
+ if (purchaseOrderDetail.PurchaseDetailStatus== PurchaseOrderDetailStatusEnum.Received.ObjToInt())
+ {
+ purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Receiving.ObjToInt();
+ }
+ _purchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
+ }
+ //ERP涓婃姤
+ WebResponseContent responseContent= _checkOrderService.FeedbackCheckResult(checkOrder, checkOrderResult!=null? new List<Dt_CheckOrderResult> { checkOrderResult }:new List<Dt_CheckOrderResult>());
+ if (!responseContent.Status)
+ {
+ throw new Exception(responseContent.Message);
+ }
+ checkOrder.UploadStatus = CheckUploadEnum.UploadOk.ObjToInt();
_checkOrderRepository.UpdateData(checkOrder);
- BaseDal.AddData(checkOrderResult);
- return WebResponseContent.Instance.OK();
+ _unitOfWorkManage.CommitTran();
+ content.OK();
}
catch (Exception ex)
{
- return WebResponseContent.Instance.Error($"{ex.Message}");
+ _unitOfWorkManage.RollbackTran();
+ return content.Error($"{ex.Message}");
}
+ return content;
+ }
+ public WebResponseContent CommitCheckResult(ERPCheckModel checkModel)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderNo == checkModel.Code);
+ //鑾峰彇璐ㄦ鍗曞搴旂殑鏀惰揣鍗�
+ if (checkOrder == null)
+ {
+ return content.Error($"鏈壘鍒拌璐ㄦ鍗�");
+ }
+ Dt_ReceiveOrder receiveOrder = _receiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == checkOrder.ReceiveOrderNo).Includes(x => x.Details).First();
+ if (receiveOrder.ReceiveOrderStatus != ReceiveOrderStatusEnum.Completed.ObjToInt())
+ {
+ return content.Error($"{receiveOrder.ReceiveOrderNo}鏀惰揣鍗曟湭瀹屾垚鏃犳硶璐ㄦ");
+ }
+ if (checkOrder.CheckOrderStatus == CheckOrderStatusEnum.Checked.ObjToInt())
+ {
+ return content.Error($"璇ュ崟鎹凡缁忔楠屽畬鎴�");
+ }
+ Dt_CheckOrderResult? checkOrderResult = null;
+ Dt_PurchaseOrder? purchaseOrder = null;
+ Dt_PurchaseOrderDetail? purchaseOrderDetail = null;
+ if (checkModel.Details.Count>0)
+ {
+
+ ERPCheckResult eRPCheckResult = checkModel.Details.FirstOrDefault();
+ if (eRPCheckResult.Result == CheckResultEnum.Return.ToString())//閫�璐�
+ {
+ checkOrder.DefectedNote = eRPCheckResult.Result;
+ checkOrder.ReturnQuantity += (float)Convert.ToDecimal(eRPCheckResult.Quantity);
+ }
+ else
+ {
+ return content.Error($"鏈壘鍒扮己闄风被鍨�");
+ }
+ checkOrderResult = new Dt_CheckOrderResult()
+ {
+ Quantity = (float)Convert.ToDecimal(eRPCheckResult.Quantity),
+ CheckOrderId = checkOrder.CheckOrderId,
+ DefectCode = eRPCheckResult.DefectCode,
+ Result = eRPCheckResult.Result,
+ Note = eRPCheckResult.Note,
+ SampleCount = 0,
+ };
+ //鑾峰彇瀵瑰簲閲囪喘鍗�
+ Dt_ReceiveOrderDetail receiveOrderDetail = receiveOrder.Details.First(x => x.RowNo == checkOrder.ReceiveDetailRowNo);
+ purchaseOrder = _purchaseOrderRepository.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == receiveOrderDetail.PurchaseOrderNo).Includes(x => x.Details).Where(x => x.Details.Any(v => v.RowNo == receiveOrderDetail.PurchaseOrderDetailRowNo)).First();
+ if (purchaseOrder == null)
+ {
+ return content.Error("鏈壘鍒板搴旀敹璐ч噰璐崟");
+ }
+ purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault();
+ if (purchaseOrderDetail == null)
+ {
+ return content.Error("鏈壘鍒伴��璐у搴旂殑閲囪喘鍗曟槑缁�");
+ }
+ purchaseOrderDetail.PurchaseDetailReceiveQty -= (float)Convert.ToDecimal(eRPCheckResult.Quantity);
+ }
+ if (checkModel.Result == CheckAcceptEnum.Accept.ToString())
+ {
+ checkOrder.Result = CheckAcceptEnum.Accept.ToString();
+ }
+ else if (checkModel.Result == CheckAcceptEnum.UnAccept.ToString())
+ {
+ checkOrder.Result = CheckAcceptEnum.UnAccept.ToString();
+ }
+ else
+ {
+ return content.Error("鏈壘鍒版楠岀被鍨�");
+ }
+ checkOrder.CheckOrderStatus = CheckOrderStatusEnum.Checked.ObjToInt();
+ if (checkOrderResult != null)
+ {
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity - checkOrderResult.Quantity;
+ }
+ else
+ {
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity;
+ }
+ checkOrder.CheckUserName = App.User.UserName;
+ _unitOfWorkManage.BeginTran();
+
+ if (checkOrderResult != null && purchaseOrder != null && purchaseOrderDetail != null)
+ {
+ BaseDal.AddData(checkOrderResult);
+ if (purchaseOrder.PurchaseOrderStatus >= PurchaseOrderStatusEnum.Received.ObjToInt())
+ {
+ purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Receiving.ObjToInt();
+ _purchaseOrderRepository.UpdateData(purchaseOrder);
+ }
+ if (purchaseOrderDetail.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Received.ObjToInt())
+ {
+ purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Receiving.ObjToInt();
+ }
+ _purchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
+ }
+ //ERP涓婃姤
+ WebResponseContent responseContent = _checkOrderService.FeedbackCheckResult(checkOrder, checkOrderResult != null ? new List<Dt_CheckOrderResult> { checkOrderResult } : new List<Dt_CheckOrderResult>());
+ if (!responseContent.Status)
+ {
+ throw new Exception(responseContent.Message);
+ }
+ checkOrder.UploadStatus = CheckUploadEnum.UploadOk.ObjToInt();
+ _checkOrderRepository.UpdateData(checkOrder);
+ _unitOfWorkManage.CommitTran();
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content.Error($"{ex.Message}");
+ }
+ return content;
+ }
+ /// <summary>
+ /// 鎻愪氦閫佹纭缁撴灉
+ /// </summary>
+ /// <param name="checkOrderId"></param>
+ /// <param name="checkResult"></param>
+ /// <param name="IsAccept"></param>
+ /// <returns></returns>
+ public WebResponseContent CommitInspectResult(int checkOrderId, Dt_CheckOrderResult checkResult, int IsAccept = 0)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == checkOrderId);
+ //鑾峰彇璐ㄦ鍗曞搴旂殑鏀惰揣鍗�
+ if (checkOrder == null)
+ {
+ return content.Error($"鏈壘鍒拌璐ㄦ鍗�");
+ }
+ Dt_OutboundOrder outboundOrder = _outboundRepository.OutboundOrderRepository.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == checkOrder.ReceiveOrderNo).Includes(x => x.Details).First();
+ if (outboundOrder.OrderStatus != OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt())
+ {
+ return content.Error($"{outboundOrder.OrderNo}閫佹鍗曞嚭搴撴湭瀹屾垚鏃犳硶璐ㄦ");
+ }
+ if (checkOrder.CheckOrderStatus == CheckOrderStatusEnum.Checked.ObjToInt())
+ {
+ return content.Error($"璇ュ崟鎹凡缁忔楠屽畬鎴�");
+ }
+ Dt_CheckOrderResult? checkOrderResult = null;
+ //鑾峰彇搴撳瓨
+ Dt_OutStockLockInfo outStockLockInfo = _outboundRepository.OutboundStockLockInfoRepository.QueryFirst(x => x.Id == checkOrder.ReceiveDetailRowNo) ?? throw new Exception("鏈壘鍒伴�佹鍗曡鎯�");
+ Dt_StockInfo? stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>()
+ .Where(x => x.PalletCode == outStockLockInfo.PalletCode && x.StockStatus == StockStatusEmun.閫佹瀹屾垚.ObjToInt()).Includes(x => x.Details).First() ?? throw new Exception("鏈壘鍒伴�佹鍗曞搴斿簱瀛樻暟鎹�");
+ List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
+ List<Dt_StockInfoDetail> DelStockDetails =new List<Dt_StockInfoDetail>();
+ if (checkResult.CheckOrderId != 0)
+ {
+ if (checkResult.Quantity < 0 || checkResult.Quantity > checkOrder.ReceivedQuantity)
+ {
+ return content.Error($"鏁伴噺瓒呭嚭");
+ }
+ //鍒ゆ柇妫�楠岀粨鏋�
+ if (checkResult.Result == InspectResultEnum.Return.ToString())
+ {
+ checkOrder.DefectedNote = checkResult.Note;
+ checkOrder.ReturnQuantity += checkResult.Quantity;
+ }
+ else if(checkResult.Result == InspectResultEnum.Defect.ToString())
+ {
+ checkOrder.DefectedNote = checkResult.Note;
+ checkOrder.DefectedQuantity += checkResult.Quantity;
+ }
+ else if (checkResult.Result == InspectResultEnum.Scrapped.ToString())
+ {
+ checkOrder.DefectedNote = checkResult.Note;
+ checkOrder.ScrappedQuantity += checkResult.Quantity;
+ }
+ else
+ {
+ return content.Error($"鏈壘鍒扮己闄风被鍨�");
+ }
+ checkOrderResult = new Dt_CheckOrderResult()
+ {
+ Quantity = checkResult.Quantity,
+ CheckOrderId = checkOrderId,
+ DefectCode = checkResult.DefectCode,
+ Result = checkResult.Result,
+ Note = checkResult.Note,
+ SampleCount = checkResult.SampleCount,
+ };
+ foreach (var item in stockInfo.Details)
+ {
+ if (checkResult.Quantity == 0)
+ {
+ break;
+ }
+ else if (checkResult.Quantity < item.StockQuantity)
+ {
+ item.StockQuantity -= checkResult.Quantity;
+ item.OutboundQuantity = 0;
+ checkResult.Quantity = 0;
+ stockInfoDetails.Add(item);
+ }
+ else if (checkResult.Quantity >= item.StockQuantity)
+ {
+ checkResult.Quantity = (float)Math.Round((checkResult.Quantity - item.StockQuantity), 2);
+ DelStockDetails.Add(item);
+ }
+ }
+ }
+ if (IsAccept == InspectAcceptEnum.Accept.ObjToInt())
+ {
+ checkOrder.Result = InspectAcceptEnum.Accept.ToString();
+ }
+ else if (IsAccept == InspectAcceptEnum.UnAccept.ObjToInt())
+ {
+ checkOrder.Result = InspectAcceptEnum.UnAccept.ToString();
+ }
+ else if (IsAccept == InspectAcceptEnum.DefectAccept.ObjToInt())
+ {
+ checkOrder.Result = InspectAcceptEnum.DefectAccept.ToString();
+ }
+ else
+ {
+ return content.Error("鏈壘鍒版楠岀被鍨�");
+ }
+ checkOrder.CheckOrderStatus = CheckOrderStatusEnum.Checked.ObjToInt();
+ if (checkOrderResult != null)
+ {
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity - checkOrderResult.Quantity;
+ }
+ else
+ {
+ checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity;
+ }
+ checkOrder.CheckUserName = App.User.UserName;
+ List<Dt_StockInfoDetail> initialStockDetails = stockInfo.Details.Where(x=> !(stockInfoDetails.Select(v=>v.Id).ToList()).Contains(x.Id)).ToList();
+ _unitOfWorkManage.BeginTran();
+
+ if (checkOrderResult != null)
+ {
+ BaseDal.AddData(checkOrderResult);
+ }
+ //娓呴櫎搴撳瓨鏁伴噺
+ if (stockInfoDetails.Count>0)
+ {
+ stockInfoDetails.ForEach(x =>
+ {
+ x.Status = StockStatusEmun.閫佹搴撳瓨瀹屾垚.ObjToInt();
+ });
+ _stockRepository.StockInfoDetailRepository.UpdateData(stockInfoDetails);
+ }
+ if (initialStockDetails.Count>0)
+ {
+ initialStockDetails.ForEach(x =>
+ {
+ x.OutboundQuantity = 0;
+ x.Status = StockStatusEmun.閫佹搴撳瓨瀹屾垚.ObjToInt();
+ });
+ _stockRepository.StockInfoDetailRepository.UpdateData(initialStockDetails);
+ }
+ if (DelStockDetails.Count>0)
+ {
+ _stockRepository.StockInfoDetailRepository.DeleteAndMoveIntoHty(DelStockDetails, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ }
+ if (DelStockDetails.Count==stockInfo.Details.Count)
+ {
+ _stockRepository.StockInfoRepository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ }
+ else
+ {
+ stockInfo.StockStatus = StockStatusEmun.閫佹搴撳瓨瀹屾垚.ObjToInt();
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+ }
+ //ERP涓婃姤
+ WebResponseContent responseContent = _checkOrderService.FeedbackInspectResult(checkOrder, checkOrderResult != null ? new List<Dt_CheckOrderResult> { checkOrderResult } : new List<Dt_CheckOrderResult>());
+ if (!responseContent.Status)
+ {
+ throw new Exception(responseContent.Message);
+ }
+ checkOrder.UploadStatus = CheckUploadEnum.UploadOk.ObjToInt();
+ _checkOrderRepository.UpdateData(checkOrder);
+ _unitOfWorkManage.CommitTran();
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content.Error($"{ex.Message}");
+ }
+ return content;
+ }
+ /// <summary>
+ /// 鑾峰彇妫�楠屼俊鎭�
+ /// </summary>
+ public WebResponseContent GetCheckResultInfo(int checkId)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_CheckOrderResult checkOrderResult = BaseDal.QueryFirst(x => x.CheckOrderId == checkId);
+ content.OK("鎴愬姛", checkOrderResult);
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
}
}
}
--
Gitblit v1.9.3