From aeaab43f0a625382eaa85144b20d15eb00862a4c Mon Sep 17 00:00:00 2001 From: qinchulong <qinchulong@hnkhzn.com> Date: 星期一, 03 三月 2025 19:18:08 +0800 Subject: [PATCH] 20250303调试后 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs | 54 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 8 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" index 1ebe252..674b8c5 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" @@ -15,6 +15,7 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Common.LocationEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Communicator; using WIDESEAWCS_Core.BaseRepository; @@ -43,6 +44,8 @@ private readonly IRepository<dt_outstockinfo> _outStockRepository; private readonly IRepository<dt_batchInfo> _batchInfoRepository; private readonly IRepository<Dt_StockInfo> _StockInfoRepository; + private readonly IRepository<Dt_LocationInfo> _LocationInfoRepository; + private readonly IUnitOfWorkManage _unitOfWorkManage; WebSocketServer _webSocketServer; public GZJJob(ITaskService taskService, WebSocketServer webSocketServer, Idt_ErrormsginfoService errormsginfoService, @@ -53,7 +56,9 @@ IRepository<dt_outstockinfo> outStockRepository, IRepository<dt_storagemode> storagemodeRepository, IRepository<dt_batchInfo> batchInfoRepository, - IRepository<Dt_StockInfo> StockInfoRepository) + IRepository<Dt_StockInfo> StockInfoRepository, + IRepository<Dt_LocationInfo> LocationInfoRepository, + IUnitOfWorkManage unitOfWorkManage) { _taskService = taskService;//娉ㄥ叆 _webSocketServer = webSocketServer; @@ -65,6 +70,8 @@ _outStockRepository = outStockRepository; _batchInfoRepository = batchInfoRepository; _StockInfoRepository = StockInfoRepository; + _LocationInfoRepository = LocationInfoRepository; + _unitOfWorkManage = unitOfWorkManage; } public Task Execute(IJobExecutionContext context) @@ -155,16 +162,16 @@ try { #region 鐢熸垚鍑哄簱浠诲姟 + if (!OHTJob.oHTReadData.R_ZXJ_isWork) + { + throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); + } var isout = _outStockRepository.QueryFirst(v => v.Id == 1); if (isout.isout != 1) { throw new Exception($"褰撳墠绯荤粺璁剧疆涓轰笉鍑哄簱妯″紡"); } - if (!OHTJob.oHTReadData.R_ZXJ_isWork) - { - throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); - } - if (!OHTJob.oHTReadData.R_ZXJ_TCMode || OHTJob.oHTReadData.R_HC_isReadyWork) + if (!OHTJob.oHTReadData.R_ZXJ_TCMode || !OHTJob.oHTReadData.R_HC_isReadyWork) { throw new Exception($"鏁村舰鏈轰笉灞炰簬澶╄溅涓婃枡妯″紡鎴栧ぉ杞︽斁鏉夸俊鍙蜂负false"); } @@ -177,11 +184,30 @@ //鏌ヨ褰撳墠闇�瑕佸嚭搴撶殑鎵规鍙凤紝浠ュ強鍑哄簱鐗╂枡绫诲瀷 var batch = _batchInfoRepository.QueryFirst(v => v.Id == 1); //鏌ヨ搴撳瓨鐗╂枡搴撳瓨淇℃伅 - var stocks = _StockInfoRepository.QueryData(v => v.Remark == batch.materType && v.BatchNo == batch.OutBatch).OrderBy(v => v.CreateDate).ToList(); + var stocks = _StockInfoRepository.QueryData(v => v.Remark == batch.materType && v.BatchNo == batch.OutBatch && v.StockStatus==0) + .OrderBy(v => v.CreateDate).ToList(); if (stocks.Count <= 0) { throw new Exception($"褰撳墠搴撳瓨涓病鏈夈�恵batch.materType}銆戯紙0鑷骇 1澶栬喘锛変笖鎵规涓恒�恵batch.OutBatch}銆戠殑鐗╂枡"); } + //鏌ヨ璐т綅 + var locaOne=_LocationInfoRepository.QueryFirst(v=>v.LocationCode== stocks[0].LocationCode); + //鏌ヨ鐩搁偦鐨勮揣浣� + Dt_LocationInfo locaTow = new Dt_LocationInfo(); + if (locaOne.Depth==1) + { + locaTow = _LocationInfoRepository.QueryFirst(v => v.Row == locaOne.Row &&v.Column== locaOne.Column && v.Depth==2); + } + else + { + locaTow = _LocationInfoRepository.QueryFirst(v => v.Row == locaOne.Row && v.Column == locaOne.Column && v.Depth == 1); + } + locaOne.LocationStatus = (int)LocationStatusEnum.Lock; + locaTow.LocationStatus = (int)LocationStatusEnum.Lock; + //鏌ヨ鐩搁偦鐨勫簱瀛� + var BBstock = _StockInfoRepository.QueryFirst(v=>v.LocationCode== locaTow.LocationCode); + BBstock.StockStatus = 1; + stocks[0].StockStatus = 1; //鏌ヨ缁堢偣绔欏彴淇℃伅 var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鏁村舰鏈烘斁鏂欎綅"); //寮�濮嬪垱寤轰换鍔� @@ -190,14 +216,26 @@ outtask.TaskType = (int)TaskOutboundTypeEnum.Outbound; outtask.TaskState = (int)TaskOutStatusEnum.OutNew; outtask.SourceAddress = stocks[0].LocationCode; - outtask.TargetAddress = station.Row + "-" + station.Column + "-1"; ; + outtask.TargetAddress = station.Row + "-" + station.Column + "-1"; + outtask.NextAddress = locaTow.LocationCode; outtask.Grade = 1; + outtask.WMSId = 3; outtask.Remark = batch.materType; + outtask.PalletCode = "text"; + outtask.CurrentAddress = "text"; + + _unitOfWorkManage.BeginTran(); + _LocationInfoRepository.UpdateData(locaOne); + _LocationInfoRepository.UpdateData(locaTow); + _StockInfoRepository.UpdateData(BBstock); _dt_taskRepositiry.AddData(outtask); + _StockInfoRepository.UpdateData(stocks[0]); + _unitOfWorkManage.CommitTran(); #endregion } catch (Exception ex) { + _unitOfWorkManage.RollbackTran(); _ErrormsginfoService.UpdateErrorMsg(ex.Message, 3); } } -- Gitblit v1.9.3