From cf1d3c24ed1ca4596d950a4dace9550bdaf8252c Mon Sep 17 00:00:00 2001
From: Zhang-Hong-Lin <a3219986988@163.com>
Date: 星期五, 07 三月 2025 10:10:55 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs | 220 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 160 insertions(+), 60 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 8326550..a680bba 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"
@@ -96,84 +96,150 @@
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;
+ 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);
+ }
}
- else if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙�
+ 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)
+ var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
+ if (oldhtytask!=null)
{
- task.Grade = 2;
+ 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)
+ {
+ 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
- {
- task.Grade = 1;
- }
- task.Remark = (int)MateTypeEnum.ZiChan;
}
- else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_XK_isready)//浜哄伐鍙夎溅涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙�
+ 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;
+ 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.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_DK_isready)//浜哄伐鍙夎溅涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙�
+ 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)
+ var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
+ if (true)
{
- task.Grade = 2;
+ 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.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
- {
- task.Grade = 1;
- }
- task.Remark = (int)MateTypeEnum.WaiGou;
}
- else
- {
- throw new Exception($"瑙勬暣鏈哄綋鍓嶄俊鍙蜂笉婊¤冻鍏ュ簱浠诲姟鐢熸垚鏉′欢");
- }
- //鏌ユ壘鐩搁偦鐨勫簱浣�
- 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;
- var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
- if (oldhtytask == null)
- {
- _dt_taskRepositiry.AddData(task);
- }
+
}
else if(Inisout.InOut == 2)
{
@@ -220,7 +286,6 @@
_dt_taskRepositiry.AddData(outtask);
}
}
-
#endregion
}
catch (Exception ex)
@@ -307,6 +372,41 @@
_unitOfWorkManage.RollbackTran();
_ErrormsginfoService.UpdateErrorMsg(ex.Message, 3);
}
+
+
+ try
+ {
+ #region 鐢熸垚澶╄溅绉诲姩浠诲姟
+ if (!OHTJob.oHTReadData.R_ZXJ_isWork || !OHTJob.oHTReadData.R_HC_isReady)
+ {
+ 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 && v.StockStatus == 0)
+ .OrderBy(v => v.CreateDate).ToList();
+
+ //寮�濮嬪垱寤轰换鍔�
+ Dt_Task outtask = new Dt_Task();
+ outtask.Roadway = "TC01";
+ 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, 4);
+ }
}
return Task.CompletedTask;
}
--
Gitblit v1.9.3