From eb72ad7c5ec8f4f0cd8b291d16534a10e9eb113c Mon Sep 17 00:00:00 2001 From: Zhang-Hong-Lin <a3219986988@163.com> Date: 星期一, 10 三月 2025 14:50:01 +0800 Subject: [PATCH] 后端 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 1 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 b6c7193..b6c9f94 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" @@ -78,14 +78,105 @@ public Task Execute(IJobExecutionContext context) { - + //return Task.CompletedTask; bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); if (flag && value != null) { OtherDevice device = (OtherDevice)value; + + try + { + #region 鐢熸垚鍓旈櫎璐т綅鍏ュ簱浠诲姟 + //鍒ゆ柇鏁村舰鏈轰俊鍙� + if(!OHTJob.oHTReadData.R_ZXJ_TC_isready&& !OHTJob.oHTReadData.R_TCMode_TC) + { + throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); + } + Dt_Task task = new Dt_Task(); + var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鍓旈櫎鏋�"); + task.SourceAddress = station.Row + "-" + station.Column + "-1"; + var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress); + if (oldhtytask == null) + { + task.TargetAddress = _locationInfoService.GetInLocation(6).LocationCode; + task.Grade = 1; + task.Remark = (int)MateTypeEnum.ZiChan; + task.NextAddress = "text"; + task.Roadway = "TC01"; + task.TaskType = (int)TaskInboundTypeEnum.Inbound; + task.TaskState = (int)TaskInStatusEnum.InNew; + task.PalletCode = "text"; + task.CurrentAddress = "text"; + task.WMSId = 2; + _dt_taskRepositiry.AddData(task); + } + + #endregion + } + catch (Exception ex) + { + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 5); + } + + try + { + #region 鐢熸垚鍓旈櫎璐т綅鍑哄簱浠诲姟 + if (!OHTJob.oHTReadData.R_TCMode && !OHTJob.oHTReadData.R_TC_isready) + { + throw new Exception($"瑙勬暣鏈哄墧闄ゆ灦瀛愬彲鏀炬澘鎴栧墧闄や笂鏂欐ā寮忎俊鍙蜂负false"); + } + //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鍑哄簱浠诲姟锛屽嚭搴撲换鍔″彧鑳藉瓨鍦ㄤ竴鏉� + var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound); + if (oldtask != null) + { + throw new Exception($"褰撳墠浠诲姟姹犱腑宸插瓨鍦ㄤ竴鏉″嚭搴撲换鍔�"); + } + //鏌ヨ褰撳墠闇�瑕佸嚭搴撶殑鎵规鍙凤紝浠ュ強鍑哄簱鐗╂枡绫诲瀷 + var batch = _batchInfoRepository.QueryFirst(v => v.Id == 1); + //鏌ヨ搴撳瓨鐗╂枡搴撳瓨淇℃伅 + var stocks = _StockInfoRepository.QueryData(v => v.Remark == 3 && 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); + locaOne.LocationStatus = (int)LocationStatusEnum.Lock; + stocks[0].StockStatus = 1; + //鏌ヨ缁堢偣绔欏彴淇℃伅 + var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); + //寮�濮嬪垱寤轰换鍔� + Dt_Task outtask = new Dt_Task(); + outtask.Roadway = "TC01"; + outtask.TaskType = (int)TaskOutboundTypeEnum.Outbound; + outtask.TaskState = (int)TaskOutStatusEnum.OutNew; + outtask.SourceAddress = stocks[0].LocationCode; + outtask.TargetAddress = station.Row + "-" + station.Column + "-1"; + outtask.NextAddress = "text"; + outtask.Grade = 1; + outtask.WMSId = 2; + outtask.Remark = 3; + outtask.PalletCode = "text"; + outtask.CurrentAddress = "text"; + + _unitOfWorkManage.BeginTran(); + _LocationInfoRepository.UpdateData(locaOne); + _dt_taskRepositiry.AddData(outtask); + _StockInfoRepository.UpdateData(stocks[0]); + _unitOfWorkManage.CommitTran(); + #endregion + } + catch (Exception ex) + { + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 6); + } + try { #region 鐢熸垚鍏ュ簱浠诲姟 + + //if (!OHTJob.oHTReadData.R_GZJ_isWork) //{ // throw new Exception($"瑙勬暣鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); -- Gitblit v1.9.3