| | |
| | | using WIDESEA_IInboundRepository; |
| | | using WIDESEA_IInboundService; |
| | | using WIDESEA_IOutboundService; |
| | | using WIDESEA_IStockRepository; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_InboundService |
| | |
| | | public IMesProInOrderRepository Repository => BaseDal; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IInboundRepository _inboundRepository; |
| | | public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag, IInboundRepository inboundRepository) : base(BaseDal) |
| | | private readonly IStockRepository _stockRepository; |
| | | public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag, IInboundRepository inboundRepository, IStockRepository stockRepository) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManag; |
| | | _inboundRepository = inboundRepository; |
| | | _stockRepository = stockRepository; |
| | | } |
| | | /// <summary> |
| | | /// æåå
¥åºæ«ç |
| | |
| | | try |
| | | { |
| | | //è·å对åºMESæåå
¥åºåæ® |
| | | Dt_MesProInOrder mesProInOrder = BaseDal.Db.Queryable<Dt_MesProInOrder>().Includes(x => x.Details).First(); |
| | | 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å
¥åºåæ®ä¸åå¨"); |
| | |
| | | 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}"); |
| | | } |
| | | //è·å对åºå
å
æç» |
| | | Dt_MesProInOrderDetail? proInOrderDetail = mesProInOrder.Details.FirstOrDefault(x=>x.BagNo==model.BagNO) ?? throw new Exception($"æªæ¾å°"); |
| | | |
| | | proInOrderDetail.OverInQuantity += model.OKPCSQTY.ObjToInt(); |
| | | _inboundRepository.MesProInOrderDetailRepository.UpdateData(proInOrderDetail); |
| | | return content.OK($"å
å
{proInOrderDetail.BagNo}å·²æ«æ°éï¼{proInOrderDetail.OverInQuantity},å©ä½ï¼{proInOrderDetail.OKPCSQTY-proInOrderDetail.OverInQuantity}"); |
| | | } |
| | | catch (Exception ex) |
| | | { |