From 25cb7cd50d12f48e93d6cde47420ca3458e9c47a Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期四, 12 六月 2025 21:39:43 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs | 61 +++++++++++++++++++++++++++++- 1 files changed, 59 insertions(+), 2 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" index 118aa27..7bc2e90 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" @@ -3,14 +3,19 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Common.OrderEnum; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; +using WIDESEA_Core.CodeConfigEnum; +using WIDESEA_Core.Helper; +using WIDESEA_DTO.Basic; using WIDESEA_DTO.MES; using WIDESEA_IBasicRepository; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; using WIDESEA_IOutboundService; +using WIDESEA_IStockRepository; using WIDESEA_Model.Models; namespace WIDESEA_InboundService @@ -19,10 +24,62 @@ { public IMesProInOrderRepository Repository => BaseDal; private readonly IUnitOfWorkManage _unitOfWorkManage; - public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag) : base(BaseDal) + private readonly IInboundRepository _inboundRepository; + private readonly IStockRepository _stockRepository; + public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag, IInboundRepository inboundRepository, IStockRepository stockRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManag; + _inboundRepository = inboundRepository; + _stockRepository = stockRepository; } - + /// <summary> + /// 鎴愬搧鍏ュ簱鎵爜 + /// </summary> + /// <param name="Id"></param> + /// <param name="saveModel"></param> + /// <returns></returns> + public WebResponseContent ProInboundScan(int Id,string serNum) + { + WebResponseContent content = new WebResponseContent(); + try + { + //鑾峰彇瀵瑰簲MES鎴愬搧鍏ュ簱鍗曟嵁 + Dt_MesProInOrder mesProInOrder = BaseDal.Db.Queryable<Dt_MesProInOrder>().Where(x => x.Id == Id).Includes(x => x.Details).First(); + if (mesProInOrder==null) + { + return content.Error("褰撳墠MES鍏ュ簱鍗曟嵁涓嶅瓨鍦�"); + } + if (mesProInOrder.MesProStatus>= InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt()) + { + return content.Error("褰撳墠鍗曟嵁宸插叆搴撴垨鍏抽棴鐘舵��"); + } + ProSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<ProSerNumAnalysisModel>(AnalysisCodeEnum.ProSerNumAnalysis, serNum); + Dt_MesProInOrderDetail? proInOrderDetail = mesProInOrder.Details.FirstOrDefault(x => x.BagNo == model.BagNO); + //鍒ゆ柇鎵弿鍜屽崟鎹腑鏄惁鍖归厤 + if (proInOrderDetail == null) + { + return content.Error($"妗嗙爜{mesProInOrder.BatchNo}涓棤鍐呭寘{model.BagNO}淇℃伅"); + } + if ((proInOrderDetail.OverInQuantity + model.OKPCSQTY.ObjToInt())> proInOrderDetail.OKPCSQTY) + { + return content.Error($"鍐呭寘鏁伴噺婧㈠嚭{(proInOrderDetail.OverInQuantity + model.OKPCSQTY.ObjToInt()) - proInOrderDetail.OKPCSQTY}"); + } + float SumPCSQty = mesProInOrder.Details.Sum(x => x.OKPCSQTY); + float OverPCSQty = mesProInOrder.Details.Sum(x=>x.OverInQuantity); + if ((OverPCSQty+model.OKPCSQTY.ObjToInt())>SumPCSQty) + { + return content.Error($"褰撳墠鍏ュ簱璁㈠崟鏁伴噺婧㈠嚭{(OverPCSQty + model.OKPCSQTY.ObjToInt())- SumPCSQty}"); + } + + proInOrderDetail.OverInQuantity += model.OKPCSQTY.ObjToInt(); + _inboundRepository.MesProInOrderDetailRepository.UpdateData(proInOrderDetail); + return content.OK($"鍐呭寘{proInOrderDetail.BagNo}宸叉壂鏁伴噺锛歿proInOrderDetail.OverInQuantity},鍓╀綑锛歿proInOrderDetail.OKPCSQTY-proInOrderDetail.OverInQuantity}"); + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } } } -- Gitblit v1.9.3