From 9d34ec27aa5bb9310abd23c6f542b6e4e79a3637 Mon Sep 17 00:00:00 2001 From: Zhang-Hong-Lin <a3219986988@163.com> Date: 星期日, 09 三月 2025 10:44:08 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhuZhouYouRuiKe/YangJiPingKu --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs | 394 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 311 insertions(+), 83 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..b6c7193 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" @@ -5,6 +5,7 @@ using Microsoft.Extensions.Hosting; using Microsoft.VisualBasic.FileIO; using Newtonsoft.Json; +using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; using Quartz; using SixLabors.ImageSharp.PixelFormats; using System; @@ -15,6 +16,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; @@ -28,6 +30,7 @@ using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_TaskInfoService; using WIDESEAWCS_Tasks.OHT; +using static System.Collections.Specialized.BitVector32; namespace WIDESEAWCS_Tasks { @@ -43,6 +46,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 +58,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 +72,8 @@ _outStockRepository = outStockRepository; _batchInfoRepository = batchInfoRepository; _StockInfoRepository = StockInfoRepository; + _LocationInfoRepository = LocationInfoRepository; + _unitOfWorkManage = unitOfWorkManage; } public Task Execute(IJobExecutionContext context) @@ -77,74 +86,223 @@ try { #region 鐢熸垚鍏ュ簱浠诲姟 - if (!OHTJob.oHTReadData.R_GZJ_isWork) + //if (!OHTJob.oHTReadData.R_GZJ_isWork) + //{ + // throw new Exception($"瑙勬暣鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); + //} + var Inisout = _outStockRepository.QueryFirst(v => v.Id == 1); + //鍏ュ簱 + if (Inisout.InOut==1) { - throw new Exception($"瑙勬暣鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); - } - Dt_Task task = new Dt_Task(); - var storagemode = _storagemodeRepository.QueryFirst(v=>v.Id==1); - if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙� - { - var station=_dt_stationInfoRepository.QueryFirst(v=>v.msg== "涓滆法鏋跺瓙"); - task.SourceAddress = station.Row + "-" + station.Column + "-1"; - task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode; - task.Grade = 1; - task.Remark = (int)MateTypeEnum.ZiChan; - } - else if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙� - { - var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); - task.SourceAddress = station.Row + "-" + station.Column + "-1"; - task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode; - var DKstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙"); - string address= DKstation.Row + "-" + DKstation.Column + "-1"; - var oldtask = _dt_taskRepositiry.QueryFirst(v=>v.SourceAddress== address); - if (oldtask!=null && oldtask.TaskState== (int)TaskInStatusEnum.InNew) + Dt_Task task = new Dt_Task(); + var storagemode = _storagemodeRepository.QueryFirst(v => v.Id == 1); + if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙� { - task.Grade = 2; + + 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(storagemode.storagemode).LocationCode; + if (OHTJob.oHTReadData.R_DK_isready) + { + task.Grade = 2; + } + else + { + task.Grade = 1; + } + task.Remark = (int)MateTypeEnum.ZiChan; + //鏌ユ壘鐩搁偦鐨勫簱浣� + Dt_LocationInfo Towlocation = new Dt_LocationInfo(); + var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); + if (Onelocation.Depth == 1) + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2); + } + else + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1); + } + task.NextAddress = Towlocation.LocationCode; + task.Roadway = "TC01"; + task.TaskType = (int)TaskInboundTypeEnum.Inbound; + task.TaskState = (int)TaskInStatusEnum.InNew; + task.PalletCode = "text"; + task.CurrentAddress = "text"; + task.WMSId = 3; + _dt_taskRepositiry.AddData(task); + } } - else + if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙� { - task.Grade = 1; + 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(storagemode.storagemode).LocationCode; + + task.Grade = 1; + task.Remark = (int)MateTypeEnum.ZiChan; + //鏌ユ壘鐩搁偦鐨勫簱浣� + Dt_LocationInfo Towlocation = new Dt_LocationInfo(); + var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); + if (Onelocation.Depth == 1) + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2); + } + else + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1); + } + task.NextAddress = Towlocation.LocationCode; + task.Roadway = "TC01"; + task.TaskType = (int)TaskInboundTypeEnum.Inbound; + task.TaskState = (int)TaskInStatusEnum.InNew; + task.PalletCode = "text"; + task.CurrentAddress = "text"; + task.WMSId = 3; + _dt_taskRepositiry.AddData(task); + } } - task.Remark = (int)MateTypeEnum.ZiChan; - } - else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_XK_isready)//浜哄伐鍙夎溅涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙� - { - var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); - task.SourceAddress = station.Row + "-" + station.Column + "-1"; - task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode; - task.Grade = 1; - task.Remark = (int)MateTypeEnum.WaiGou; - } - else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready)//浜哄伐鍙夎溅涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙� - { - var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙"); - task.SourceAddress = station.Row + "-" + station.Column + "-1"; - task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode; - var XKstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); - string address= XKstation.Row + "-" + XKstation.Column + "-1"; - var oldtask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == address); - if (oldtask != null && oldtask.TaskState == (int)TaskInStatusEnum.InNew) + if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready) { - task.Grade = 2; + 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(storagemode.storagemode).LocationCode; + if (OHTJob.oHTReadData.R_XK_isready) + { + task.Grade = 2; + } + else + { + task.Grade = 1; + } + task.Remark = (int)MateTypeEnum.WaiGou; + //鏌ユ壘鐩搁偦鐨勫簱浣� + Dt_LocationInfo Towlocation = new Dt_LocationInfo(); + var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); + if (Onelocation.Depth == 1) + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2); + } + else + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1); + } + task.NextAddress = Towlocation.LocationCode; + task.Roadway = "TC01"; + task.TaskType = (int)TaskInboundTypeEnum.Inbound; + task.TaskState = (int)TaskInStatusEnum.InNew; + task.PalletCode = "text"; + task.CurrentAddress = "text"; + task.WMSId = 3; + _dt_taskRepositiry.AddData(task); + } } - else + if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_XK_isready) { - task.Grade = 1; + 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(storagemode.storagemode).LocationCode; + //var XKstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙"); + //string address = XKstation.Row + "-" + XKstation.Column + "-1"; + //var oldtask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == address); + //if (oldtask != null && oldtask.TaskState == (int)TaskInStatusEnum.InNew) + //{ + // task.Grade = 2; + //} + //else + //{ + // task.Grade = 1; + //} + task.Grade = 1; + task.Remark = (int)MateTypeEnum.WaiGou; + //鏌ユ壘鐩搁偦鐨勫簱浣� + Dt_LocationInfo Towlocation = new Dt_LocationInfo(); + var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); + if (Onelocation.Depth == 1) + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2); + } + else + { + Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1); + } + task.NextAddress = Towlocation.LocationCode; + task.Roadway = "TC01"; + task.TaskType = (int)TaskInboundTypeEnum.Inbound; + task.TaskState = (int)TaskInStatusEnum.InNew; + task.PalletCode = "text"; + task.CurrentAddress = "text"; + task.WMSId = 3; + _dt_taskRepositiry.AddData(task); + } } - task.Remark = (int)MateTypeEnum.WaiGou; } - else + //鐩存帴鍑哄簱 + else if(Inisout.InOut == 2) { - throw new Exception($"瑙勬暣鏈哄綋鍓嶄俊鍙蜂笉婊¤冻鍏ュ簱浠诲姟鐢熸垚鏉′欢"); - } - task.Roadway = "TC01"; - task.TaskType = (int)TaskInboundTypeEnum.Inbound; - task.TaskState = (int)TaskInStatusEnum.InNew; + if (!OHTJob.oHTReadData.R_ZXJ_TCMode) + { + throw new Exception($"鏁村舰鏈轰笉灞炰簬澶╄溅涓婃枡妯″紡鎴栧ぉ杞︽斁鏉夸俊鍙蜂负false"); + } + if (!OHTJob.oHTReadData.R_HC_isReadyWork) + { + throw new Exception($"鏁村舰鏈哄ぉ杞︽斁鏉夸俊鍙蜂负false"); + } + Dt_Task outtask = new Dt_Task(); + //灏忚溅涓婃枡 + if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready ) + { + var Stastation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); + outtask.SourceAddress = Stastation.Row + "-" + Stastation.Column + "-1"; - _dt_taskRepositiry.AddData(task); - + } + else if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready) + { + var Stastation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙"); + outtask.SourceAddress = Stastation.Row + "-" + Stastation.Column + "-1"; + } + //浜哄伐涓婃枡 + else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready) + { + var Stastation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙"); + outtask.SourceAddress = Stastation.Row + "-" + Stastation.Column + "-1"; + } + else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_XK_isready) + { + var Stastation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙"); + outtask.SourceAddress = Stastation.Row + "-" + Stastation.Column + "-1"; + } + + var Endstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鏁村舰鏈烘斁鏂欎綅"); + //娣诲姞浠诲姟淇℃伅 + outtask.TargetAddress = Endstation.Row + "-" + Endstation.Column + "-1"; + outtask.Grade = 1; + outtask.NextAddress = Endstation.Row + "-" + Endstation.Column + "-1"; + outtask.Roadway = "TC01"; + outtask.TaskType = (int)TaskOutboundTypeEnum.OutInventory; + outtask.TaskState = (int)TaskOutStatusEnum.OutNew; + outtask.WMSId = 3; + outtask.PalletCode = "text"; + outtask.CurrentAddress = "text"; + //闃叉閲嶅浠诲姟 + var oldtask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == outtask.SourceAddress &&v.TargetAddress== outtask.TargetAddress); + if (oldtask == null) + { + //鐢熸垚浠诲姟 + _dt_taskRepositiry.AddData(outtask); + } + } #endregion } catch (Exception ex) @@ -155,50 +313,120 @@ try { #region 鐢熸垚鍑哄簱浠诲姟 + //if (!OHTJob.oHTReadData.R_ZXJ_isWork) + //{ + // throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); + //} var isout = _outStockRepository.QueryFirst(v => v.Id == 1); - if (isout.isout != 1) + if (isout.isout == 1) { - throw new Exception($"褰撳墠绯荤粺璁剧疆涓轰笉鍑哄簱妯″紡"); + if (!OHTJob.oHTReadData.R_ZXJ_TCMode ) + { + throw new Exception($"鏁村舰鏈轰笉灞炰簬澶╄溅涓婃枡妯″紡鎴栧ぉ杞︽斁鏉夸俊鍙蜂负false"); + } + if (!OHTJob.oHTReadData.R_HC_isReadyWork) + { + 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 == 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 == "鏁村舰鏈烘斁鏂欎綅"); + //寮�濮嬪垱寤轰换鍔� + 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 = 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(); } - if (!OHTJob.oHTReadData.R_ZXJ_isWork) + + #endregion + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 3); + } + + + try + { + #region 鐢熸垚澶╄溅绉诲姩浠诲姟 + if (!OHTJob.oHTReadData.R_ZXJ_isWork || !OHTJob.oHTReadData.R_HC_isReady) { - throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false"); - } - if (!OHTJob.oHTReadData.R_ZXJ_TCMode || OHTJob.oHTReadData.R_HC_isReadyWork) - { - throw new Exception($"鏁村舰鏈轰笉灞炰簬澶╄溅涓婃枡妯″紡鎴栧ぉ杞︽斁鏉夸俊鍙蜂负false"); - } - //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鍑哄簱浠诲姟锛屽嚭搴撲换鍔″彧鑳藉瓨鍦ㄤ竴鏉� - var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound); - if (oldtask != null) - { - throw new Exception($"褰撳墠浠诲姟姹犱腑宸插瓨鍦ㄤ竴鏉″嚭搴撲换鍔�"); + throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false鎴栬�呰杞﹀彲鍑嗗鍙栨澘涓篺alse"); } //鏌ヨ褰撳墠闇�瑕佸嚭搴撶殑鎵规鍙凤紝浠ュ強鍑哄簱鐗╂枡绫诲瀷 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(); - if (stocks.Count <= 0) - { - throw new Exception($"褰撳墠搴撳瓨涓病鏈夈�恵batch.materType}銆戯紙0鑷骇 1澶栬喘锛変笖鎵规涓恒�恵batch.OutBatch}銆戠殑鐗╂枡"); - } - //鏌ヨ缁堢偣绔欏彴淇℃伅 - var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鏁村舰鏈烘斁鏂欎綅"); + var stocks = _StockInfoRepository.QueryData(v => v.Remark == batch.materType && v.BatchNo == batch.OutBatch && v.StockStatus == 0) + .OrderBy(v => v.CreateDate).ToList(); + //寮�濮嬪垱寤轰换鍔� 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.TaskType = (int)TaskMoveEnum.Mowe; + outtask.TaskState = (int)TaskMoveStatusEnum.OutNewMove; + outtask.SourceAddress = "text"; + outtask.TargetAddress = stocks[0].LocationCode; + outtask.NextAddress = "text"; outtask.Grade = 1; + outtask.WMSId = 3; outtask.Remark = batch.materType; + outtask.PalletCode = "text"; + outtask.CurrentAddress = "text"; _dt_taskRepositiry.AddData(outtask); #endregion } catch (Exception ex) { - _ErrormsginfoService.UpdateErrorMsg(ex.Message, 3); + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 4); } } return Task.CompletedTask; -- Gitblit v1.9.3