1
wangxinhui
2025-01-18 a7ceaaa38a4394b82501ca60230e97d25a6871e3
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs
@@ -5,11 +5,13 @@
using System.Threading.Tasks;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_IApprovalRepository;
using WIDESEA_ICheckRepository;
using WIDESEA_ICheckService;
using WIDESEA_IInboundRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_CheckService
@@ -17,10 +19,13 @@
    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;
        public CheckOrderResultService(ICheckOrderResultRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICheckOrderRepository checkOrderRepository, IReceiveOrderRepository receiveOrderRepository) : base(BaseDal)
        {
            _checkOrderRepository = checkOrderRepository;
            _unitOfWorkManage = unitOfWorkManage;
            _receiveOrderRepository = receiveOrderRepository;
        }
        /// <summary>
@@ -29,11 +34,17 @@
        /// <param name="checkOrderId">质检单主键</param>
        /// <param name="checkResult">质检结果对象</param>
        /// <returns></returns>
        public WebResponseContent CommitCheckResult(int checkOrderId, Dt_CheckOrderResult checkResult)
        public WebResponseContent CommitCheckResult(int checkOrderId,Dt_CheckOrderResult checkResult)
        {
            try
            {
                Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == checkOrderId);
                //获取质检单对应的收货单
                Dt_ReceiveOrder receiveOrder = _receiveOrderRepository.QueryFirst(x=>x.ReceiveOrderNo==checkOrder.ReceiveOrderNo);
                if (receiveOrder.ReceiveOrderStatus!=ReceiveOrderStatusEnum.Completed.ObjToInt())
                {
                    return WebResponseContent.Instance.Error($"{receiveOrder.ReceiveOrderNo}收货单未完成无法质检");
                }
                if (checkOrder == null)
                {
                    return WebResponseContent.Instance.Error($"未找到该质检单");
@@ -75,8 +86,10 @@
                    Result = checkResult.Result,
                    Note = checkResult.Note
                };
                _unitOfWorkManage.BeginTran();
                _checkOrderRepository.UpdateData(checkOrder);
                BaseDal.AddData(checkOrderResult);
                _unitOfWorkManage.CommitTran();
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)