From a9a3f943efb083de8ed88b293897886b3ef612a2 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 11 八月 2025 17:37:09 +0800
Subject: [PATCH] 功能增添优化
---
代码管理/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