Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 07c67e06
由
张东亮
编写于
2023-02-24 08:54:57 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
单独钢网入库运输
1 个父辈
3d426a33
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
121 行增加
和
43 行删除
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
DeviceLibrary/bean/job/SteelLiftToStorageJob.cs
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
DeviceLibrary/bean/job/SwitchShelfJob.cs
DeviceLibrary/bean/jobType/SteelLiftToLinesJobType.cs
DeviceLibrary/manager/MissionManager.cs
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
查看文件 @
07c67e0
...
@@ -61,7 +61,7 @@ namespace DeviceLibrary.bean.job
...
@@ -61,7 +61,7 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"{JobParam.SrcNode.AliceName}门已开启,进电梯取料点"
;
runInfo
=
$
"{JobParam.SrcNode.AliceName}门已开启,进电梯取料点"
;
ToPutShelfOn
(
agv
,
JobParam
.
SrcNode
.
Name
);
ToPutShelfOn
(
agv
,
JobParam
.
SrcNode
.
Name
);
//任务状态变更
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
电梯到达
,
out
string
msg
);
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
返回
电梯到达
,
out
string
msg
);
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
}
}
}
}
...
@@ -99,7 +99,7 @@ namespace DeviceLibrary.bean.job
...
@@ -99,7 +99,7 @@ namespace DeviceLibrary.bean.job
bool
rtn
=
lift
.
LiftContext
.
AGVLeave
(
JobParam
.
SrcNode
.
Name
,
agv
,
false
);
bool
rtn
=
lift
.
LiftContext
.
AGVLeave
(
JobParam
.
SrcNode
.
Name
,
agv
,
false
);
runInfo
=
$
"离开{JobParam.SrcNode.AliceName},关闭门:{rtn}"
;
runInfo
=
$
"离开{JobParam.SrcNode.AliceName},关闭门:{rtn}"
;
//任务状态变更
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
离开电梯
,
out
string
msg
);
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
返回
离开电梯
,
out
string
msg
);
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
ClearLiftNodeOccupied
(
agv
);
ClearLiftNodeOccupied
(
agv
);
}
}
...
@@ -116,7 +116,7 @@ namespace DeviceLibrary.bean.job
...
@@ -116,7 +116,7 @@ namespace DeviceLibrary.bean.job
//else
//else
{
{
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_07_ToLine
);
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_07_ToLine
);
runInfo
=
$
"关闭{JobParam.SrcNode.AliceName}门完成
,钢网出库,
去{JobParam.CurTargetNode.AliceName}的放料点"
;
runInfo
=
$
"关闭{JobParam.SrcNode.AliceName}门完成去{JobParam.CurTargetNode.AliceName}的放料点"
;
//任务状态变更
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
送料
,
out
string
msg
);
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
送料
,
out
string
msg
);
AllocateTask
(
agv
,
$
"{GetTargetName(JobParam.CurTargetNode)}_{SettingString.TakeShelfOff}"
);
AllocateTask
(
agv
,
$
"{GetTargetName(JobParam.CurTargetNode)}_{SettingString.TakeShelfOff}"
);
...
...
DeviceLibrary/bean/job/SteelLiftToStorageJob.cs
查看文件 @
07c67e0
此文件的差异被折叠,
点击展开。
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
查看文件 @
07c67e0
...
@@ -63,18 +63,18 @@ namespace DeviceLibrary
...
@@ -63,18 +63,18 @@ namespace DeviceLibrary
{
{
if
(
agv
.
TaskRunState
.
CheckTaskFinished
(
agv
.
Name
))
if
(
agv
.
TaskRunState
.
CheckTaskFinished
(
agv
.
Name
))
{
{
if
(
JobParam
.
GetMissionInfo
().
projectType
.
Equals
(
ProjectType
.
钢网入库
))
//
if(JobParam.GetMissionInfo().projectType.Equals(ProjectType.钢网入库))
{
//
{
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_ToSteelSrc
);
//
JobRunStep.ToNextStep(RunStep.LineToLift_ToSteelSrc);
//上报状态
//
//上报状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
//
manager.UploadManager.UploadTransportStatus(new service.model.TransportStatus(agv.CurJob.JobParam.GetMissionInfo().missionId,
service
.
model
.
TransportStatus
.
TypeStr
.
status
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
//
service.model.TransportStatus.TypeStr.status, agv.Name, agv.Place.Name, service.model.TransportStatus.ModeStr.auto,
$
"取车"
));
//
$"取车"));
runInfo
=
$
"在{JobParam.SrcNode.AliceName}拾取料车完成,去{JobParam.SrcNode.AliceName}放料点"
;
//
runInfo = $"在{JobParam.SrcNode.AliceName}拾取料车完成,去{JobParam.SrcNode.AliceName}放料点";
ToTakeShelfOff
(
agv
,
JobParam
.
SrcNode
.
Name
);
//
ToTakeShelfOff(agv, JobParam.SrcNode.Name);
JobRunStep
.
Msg
=
runInfo
;
//
JobRunStep.Msg = runInfo;
}
//
}
else
//
else
{
{
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_WaitConfirm
);
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_WaitConfirm
);
runInfo
=
$
"钢网领用任务,直接去电梯口"
;
runInfo
=
$
"钢网领用任务,直接去电梯口"
;
...
@@ -160,8 +160,6 @@ namespace DeviceLibrary
...
@@ -160,8 +160,6 @@ namespace DeviceLibrary
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
status
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
status
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"到达{JobParam.CurTargetNode.Name}"
));
$
"到达{JobParam.CurTargetNode.Name}"
));
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
到达电梯
,
out
string
msg
);
runInfo
=
$
"到达{JobParam.CurTargetNode.AliceName},请求电梯并等待开门"
;
runInfo
=
$
"到达{JobParam.CurTargetNode.AliceName},请求电梯并等待开门"
;
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
//开始请求电梯
//开始请求电梯
...
...
DeviceLibrary/bean/job/SwitchShelfJob.cs
查看文件 @
07c67e0
...
@@ -348,42 +348,87 @@ namespace DeviceLibrary
...
@@ -348,42 +348,87 @@ namespace DeviceLibrary
}
}
else
else
{
{
if
(
missionInfo
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
||
missionInfo
.
projectType
.
Equals
(
ProjectType
.
钢网领用
))
{
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
destinationPoint
,
NodeType
.
Node
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
job
=
new
SteelLiftToStorageJob
(
jobParam
);
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_06_CloseLiftDoor
);
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
}
else
{
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
string
[]
destTmp
=
missionInfo
.
destinationPoint
.
Split
(
','
);
string
[]
dests
=
destTmp
.
Distinct
().
ToArray
();
Node
dest
=
manager
.
NodeManager
.
GetNode
(
dests
.
Length
>
1
?
dests
[
0
]
:
missionInfo
.
destinationPoint
,
NodeType
.
Node
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
if
(
dests
.
Length
>
1
)
{
for
(
int
i
=
1
;
i
<
dests
.
Length
;
i
++)
{
Node
node
=
manager
.
NodeManager
.
GetNode
(
dests
[
i
],
NodeType
.
Node
);
if
(
node
!=
null
)
jobParam
.
TargetNodes
.
Add
(
node
);
else
{
LogUtil
.
error
(
$
"无法生成任务,因不存在的节点:{dests[i]}"
);
job
=
null
;
}
}
}
job
=
new
LiftToLinesJob
(
jobParam
);
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
SD_LiftToLine_06_CloseLiftDoor
);
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Switch_19_ReturnShelf
))
{
JobRunStep
.
ToNextStep
(
RunStep
.
END
);
MissionInfo
missionInfo
=
MissionManager
.
GetMission
(
liftMission
.
missionId
);
if
(
missionInfo
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
||
missionInfo
.
projectType
.
Equals
(
ProjectType
.
钢网领用
))
{
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
string
[]
destTmp
=
missionInfo
.
destinationPoint
.
Split
(
','
);
string
[]
dests
=
missionInfo
.
destinationPoint
.
Split
(
','
);
string
[]
dests
=
destTmp
.
Distinct
().
ToArray
();
Node
dest
=
manager
.
NodeManager
.
GetNode
(
dests
.
Length
>
1
?
dests
[
0
]
:
missionInfo
.
destinationPoint
,
NodeType
.
Node
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
dests
.
Length
>
1
?
dests
[
0
]
:
missionInfo
.
destinationPoint
,
NodeType
.
Node
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
jobParam
.
SteelShelfNode
=
NodeManager
.
GetNode
(
Common
.
AppConfigHelper
.
GetValue
(
"SteelShelfPos"
),
NodeType
.
Node
);
if
(
dests
.
Length
>
1
)
if
(
dests
.
Length
>
1
)
{
{
for
(
int
i
=
1
;
i
<
dests
.
Length
;
i
++)
for
(
int
i
=
1
;
i
<
dests
.
Length
;
i
++)
{
{
Node
node
=
manager
.
NodeManager
.
GetNode
(
dests
[
i
],
NodeType
.
Node
);
Node
node
=
manager
.
NodeManager
.
GetNode
(
dests
[
i
],
NodeType
.
Node
);
if
(
node
!=
null
)
if
(
node
!=
null
)
jobParam
.
TargetNodes
.
Add
(
node
);
else
{
{
LogUtil
.
error
(
$
"无法生成任务,因不存在的节点:{dests[i]}"
);
Node
tmp
=
jobParam
.
TargetNodes
.
Find
(
s
=>
s
.
Name
.
Equals
(
node
.
Name
));
job
=
null
;
if
(
tmp
==
null
)
{
jobParam
.
TargetNodes
.
Add
(
node
);
}
}
}
}
}
}
}
job
=
new
LiftToLinesJob
(
jobParam
);
MissionManager
.
SetMissionOccupied
(
missionInfo
,
agv
);
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
SD_LiftToLine_06_CloseLiftDoor
);
job
=
new
SteelLiftToLinesJob
(
jobParam
);
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_05_LeaveLift
);
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
}
}
}
else
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Switch_19_ReturnShelf
))
{
{
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
JobRunStep
.
ToNextStep
(
RunStep
.
END
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
sourcePoint
,
NodeType
.
Node
);
MissionInfo
missionInfo
=
MissionManager
.
GetMission
(
liftMission
.
missionId
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
Node
src
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
liftName
,
NodeType
.
Lift
);
MissionManager
.
SetMissionOccupied
(
missionInfo
,
agv
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
missionInfo
.
sourcePoint
,
NodeType
.
Node
);
job
=
new
ShelfBackLiftToStoreJob
(
jobParam
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
ShelfBack_LiftToStore_05_CloseLiftDoor
);
MissionManager
.
SetMissionOccupied
(
missionInfo
,
agv
);
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
job
=
new
ShelfBackLiftToStoreJob
(
jobParam
);
}
job
.
JobRunStep
.
ToNextStep
(
RunStep
.
ShelfBack_LiftToStore_05_CloseLiftDoor
);
job
.
JobRunStep
.
Msg
=
$
"从{JobParam.CurTargetNode.AliceName}取料完成,继续执行任务:{JsonHelper.SerializeObject(missionInfo)}"
;
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
END
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
END
))
{
{
...
...
DeviceLibrary/bean/jobType/SteelLiftToLinesJobType.cs
查看文件 @
07c67e0
...
@@ -22,7 +22,7 @@ namespace DeviceLibrary.bean.jobType
...
@@ -22,7 +22,7 @@ namespace DeviceLibrary.bean.jobType
{
{
Node
src
=
manager
.
NodeManager
.
GetNode
(
liftname
,
NodeType
.
Lift
);
Node
src
=
manager
.
NodeManager
.
GetNode
(
liftname
,
NodeType
.
Lift
);
string
[]
dests
=
missionInfo
.
destinationPoint
.
Split
(
','
);
string
[]
dests
=
missionInfo
.
destinationPoint
.
Split
(
','
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
dests
.
Length
>
1
?
dests
[
0
]
:
lift
.
source
Point
,
NodeType
.
Node
);
Node
dest
=
manager
.
NodeManager
.
GetNode
(
dests
.
Length
>
1
?
dests
[
0
]
:
lift
.
destination
Point
,
NodeType
.
Node
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
JobParam
jobParam
=
new
JobParam
(
src
,
dest
,
null
,
missionInfo
);
jobParam
.
SteelShelfNode
=
NodeManager
.
GetNode
(
Common
.
AppConfigHelper
.
GetValue
(
"SteelShelfPos"
),
NodeType
.
Node
);
jobParam
.
SteelShelfNode
=
NodeManager
.
GetNode
(
Common
.
AppConfigHelper
.
GetValue
(
"SteelShelfPos"
),
NodeType
.
Node
);
if
(
dests
.
Length
>
1
)
if
(
dests
.
Length
>
1
)
...
...
DeviceLibrary/manager/MissionManager.cs
查看文件 @
07c67e0
...
@@ -221,7 +221,7 @@ namespace DeviceLibrary.manager
...
@@ -221,7 +221,7 @@ namespace DeviceLibrary.manager
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
missionInfo
=
missions
.
Where
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Where
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
||
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
{
{
...
@@ -319,7 +319,10 @@ namespace DeviceLibrary.manager
...
@@ -319,7 +319,10 @@ namespace DeviceLibrary.manager
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
移远成品入库
));
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
移远成品入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
));
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
{
{
return
missionInfo
;
return
missionInfo
;
...
@@ -395,7 +398,7 @@ namespace DeviceLibrary.manager
...
@@ -395,7 +398,7 @@ namespace DeviceLibrary.manager
{
{
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
missionInfo
=
missions
.
Where
(
s
=>
s
.
source
Workshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Where
(
s
=>
s
.
destination
Workshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
(
s
.
state
>=
MissionState
.
返回到达电梯内
&&
s
.
state
<=
MissionState
.
返回电梯到达
)
(
s
.
state
>=
MissionState
.
返回到达电梯内
&&
s
.
state
<=
MissionState
.
返回电梯到达
)
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
||
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)))
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
||
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)))
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
...
@@ -417,7 +420,7 @@ namespace DeviceLibrary.manager
...
@@ -417,7 +420,7 @@ namespace DeviceLibrary.manager
{
{
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
var
missions
=
GetMissionInfos
().
Where
(
w
=>
w
.
state
!=
MissionState
.
中止
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
missionInfo
=
missions
.
Where
(
s
=>
s
.
source
Workshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Where
(
s
=>
s
.
destination
Workshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
(
s
.
state
>=
MissionState
.
电梯运行
&&
s
.
state
<=
MissionState
.
电梯到达
)
(
s
.
state
>=
MissionState
.
电梯运行
&&
s
.
state
<=
MissionState
.
电梯到达
)
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
||
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)))
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
||
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)))
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
...
@@ -651,7 +654,7 @@ namespace DeviceLibrary.manager
...
@@ -651,7 +654,7 @@ namespace DeviceLibrary.manager
Log
.
Info
(
$
"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功"
);
Log
.
Info
(
$
"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功"
);
//
//
}
}
public
static
void
Add
SteelTarNodes
(
string
missionId
,
string
nodes
)
public
static
void
Change
SteelTarNodes
(
string
missionId
,
string
nodes
)
{
{
MissionInfo
missionInfo
=
GetMission
(
missionId
);
MissionInfo
missionInfo
=
GetMission
(
missionId
);
if
(
missionInfo
!=
null
)
if
(
missionInfo
!=
null
)
...
@@ -669,6 +672,7 @@ namespace DeviceLibrary.manager
...
@@ -669,6 +672,7 @@ namespace DeviceLibrary.manager
mission
.
liftName
=
item
.
liftName
;
mission
.
liftName
=
item
.
liftName
;
mission
.
occupiedAgv
=
item
.
occupiedAgv
;
mission
.
occupiedAgv
=
item
.
occupiedAgv
;
mission
.
destinationPoint
=
item
.
destinationPoint
;
mission
.
destinationPoint
=
item
.
destinationPoint
;
mission
.
sourcePoint
=
item
.
sourcePoint
;
}
}
}
}
ctx
.
SaveChanges
();
ctx
.
SaveChanges
();
...
@@ -680,6 +684,37 @@ namespace DeviceLibrary.manager
...
@@ -680,6 +684,37 @@ namespace DeviceLibrary.manager
}
}
}
}
public
static
void
ChangeSteelSrcNodes
(
string
missionId
,
string
nodes
)
{
MissionInfo
missionInfo
=
GetMission
(
missionId
);
if
(
missionInfo
!=
null
)
{
missionInfo
.
sourcePoint
=
nodes
;
{
using
(
AGVDataContext
ctx
=
new
AGVDataContext
())
{
foreach
(
var
item
in
GetMissionInfos
())
{
var
mission
=
ctx
.
MissionInfos
.
Where
(
s
=>
s
.
missionId
.
Equals
(
item
.
missionId
)).
FirstOrDefault
();
if
(
mission
!=
null
)
{
mission
.
SetState
(
item
.
state
);
mission
.
liftName
=
item
.
liftName
;
mission
.
occupiedAgv
=
item
.
occupiedAgv
;
mission
.
destinationPoint
=
item
.
destinationPoint
;
mission
.
sourcePoint
=
item
.
sourcePoint
;
}
}
ctx
.
SaveChanges
();
InitMission
();
}
}
Log
.
Info
(
$
"任务[{missionInfo.missionId}]更改钢网起始地[{nodes}]成功"
);
}
}
/// <summary>
/// <summary>
/// 根据任务信息得到电梯名称
/// 根据任务信息得到电梯名称
/// </summary>
/// </summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论