Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 26962ef7
由
LN
编写于
2023-02-09 15:03:46 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1053设备客户端调用接口修改
1 个父辈
cb388b9a
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
143 行增加
和
51 行删除
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronML5Controller.java
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
查看文件 @
26962ef
...
@@ -45,6 +45,10 @@ public enum OP_STATUS {
...
@@ -45,6 +45,10 @@ public enum OP_STATUS {
*/
*/
OUTBOX
,
OUTBOX
,
/**
/**
* 在线体上
*/
INLINE
,
/**
* 机器人正在移栽中
* 机器人正在移栽中
*/
*/
INROBOT
,
INROBOT
,
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
查看文件 @
26962ef
...
@@ -375,7 +375,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -375,7 +375,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
return
resultMap
;
return
resultMap
;
}
}
@ApiOperation
(
"
机器人
更新任务状态"
)
@ApiOperation
(
"更新任务状态"
)
@PostMapping
(
value
=
"/service/store/robotBox/updateLocInfo"
)
@PostMapping
(
value
=
"/service/store/robotBox/updateLocInfo"
)
@ResponseBody
@ResponseBody
@AnonymousAccess
@AnonymousAccess
...
@@ -441,12 +441,15 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -441,12 +441,15 @@ public class RobotBoxHandler extends BaseDeviceHandler {
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
@ApiOperation
(
"获取指定任务信息 传realId时获取指定料盘任务信息,传cid时获取料仓任务,传robotIndex返回指定机器人任务"
)
@ApiOperation
(
"机器人定时获取任务"
)
@PostMapping
(
value
=
"/service/store/robotBox/getTask"
)
@PostMapping
(
value
=
"/service/store/robotBox/getRobotTask"
)
@ResponseBody
@ResponseBody
@AnonymousAccess
@AnonymousAccess
public
ResultBean
getRobotTask
(
HttpServletRequest
request
)
{
public
ResultBean
getTask
(
HttpServletRequest
request
)
{
String
cid
=
request
.
getParameter
(
"cid"
);
String
realId
=
request
.
getParameter
(
"realId"
);
String
robotIndex
=
request
.
getParameter
(
"robotIndex"
);
Collection
<
DataLog
>
datalogs
=
taskService
.
getAllTasks
();
Collection
<
DataLog
>
datalogs
=
taskService
.
getAllTasks
();
//先查找已在机器人的
//先查找已在机器人的
// for (DataLog task : datalogs) {
// for (DataLog task : datalogs) {
...
@@ -457,64 +460,114 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -457,64 +460,114 @@ public class RobotBoxHandler extends BaseDeviceHandler {
// }
// }
//查找出库已经到门口的
//查找出库已经到门口的
for
(
DataLog
task
:
datalogs
)
{
for
(
DataLog
task
:
datalogs
)
{
if
(
task
.
isCheckOutTask
())
{
//根据realID获取任务
if
(
task
.
isBoxdoor
())
{
if
(
ObjectUtil
.
isNotEmpty
(
realId
))
{
Map
<
String
,
String
>
taskMap
=
new
HashMap
<>();
if
(
task
.
getBarcode
().
equals
(
realId
))
{
taskMap
.
put
(
"cid"
,
task
.
getCid
());
//取料位置
return
returnTaskResult
(
task
);
// taskMap.put("targetPos", "out");//放料位置
}
taskMap
.
put
(
"type"
,
task
.
getType
()
+
""
);
//类型,1=入库,2=出库
}
taskMap
.
put
(
"posId"
,
task
.
getPosName
());
//机器人编号获取任务
else
if
(
ObjectUtil
.
isNotEmpty
(
robotIndex
))
{
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
if
(
task
.
isCheckOutTask
())
{
if
(
task
.
isBoxdoor
()
&&
task
.
getLocInfo
().
equals
(
robotIndex
+
""
))
{
int
plateW
=
0
;
return
returnTaskResult
(
task
);
int
plateH
=
0
;
}
if
(
barcode
!=
null
)
{
}
plateW
=
barcode
.
getPlateSize
();
}
plateH
=
barcode
.
getHeight
();
//根据CID获取任务
else
if
(
ObjectUtil
.
isNotEmpty
(
cid
))
{
if
(
task
.
getCid
().
equals
(
cid
))
{
if
(
task
.
isBoxdoor
())
{
return
returnTaskResult
(
task
);
}
}
taskMap
.
put
(
"plateW"
,
plateW
+
""
);
taskMap
.
put
(
"plateH"
,
plateH
+
""
);
taskMap
.
put
(
"barcode"
,
task
.
getBarcode
());
taskMap
.
put
(
"taskId"
,
task
.
getId
());
return
ResultBean
.
newOkResult
(
taskMap
);
}
}
}
}
}
}
return
ResultBean
.
newErrorResult
(-
1
,
""
,
""
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
""
);
}
}
private
ResultBean
returnTaskResult
(
DataLog
task
)
{
Map
<
String
,
String
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"cid"
,
task
.
getCid
());
//取料位置
// taskMap.put("targetPos", "out");//放料位置
taskMap
.
put
(
"type"
,
task
.
getType
()
+
""
);
//类型,1=入库,2=出库
taskMap
.
put
(
"posId"
,
task
.
getPosName
());
@ApiOperation
(
"料仓判断仓门口是否可以放料"
)
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
@PostMapping
(
value
=
"/service/store/robotBox/getBoxDoorStatus"
)
@ResponseBody
int
plateW
=
0
;
@AnonymousAccess
int
plateH
=
0
;
public
ResultBean
getBoxDoorStatus
(
HttpServletRequest
request
)
{
if
(
barcode
!=
null
)
{
String
cid
=
request
.
getParameter
(
"cid"
);
plateW
=
barcode
.
getPlateSize
();
//判断仓门口状态,0=空闲,返回其他表示仓门口有料或机器人正在取料
plateH
=
barcode
.
getHeight
();
Storage
storage
=
dataCache
.
getStorage
(
cid
);
if
(
storage
==
null
)
{
return
ResultBean
.
newErrorResult
(
99
,
"smfcore.robotBox.notFound"
,
"未找到机器人料仓[{0}]"
,
new
String
[]{
cid
});
}
if
(!
storage
.
isRobotBox
())
{
return
ResultBean
.
newErrorResult
(
99
,
"smfcore.robotBox.notFound"
,
"未找到机器人料仓[{0}]"
,
new
String
[]{
cid
});
}
Collection
<
DataLog
>
tasks
=
taskService
.
getQueueTasks
();
for
(
DataLog
task
:
tasks
)
{
if
(
task
.
getStorageId
().
equals
(
storage
.
getId
()))
{
if
(
task
.
isBoxdoor
())
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.robotBox.boxHasTask"
,
"任务[{0}][{1}]类型{2}状态{3}"
,
new
String
[]{
task
.
getPosName
(),
task
.
getBarcode
(),
task
.
getType
()
+
""
,
task
.
getStatus
()});
}
// else if(task.isPutInTask()&&task.isInRobot()){
// return ResultBean.newErrorResult(-1, "smfcore.robotBox.boxHasTask", "任务[{0}][{1}]类型{2}状态{3}", new String[]{task.getPosName(), task.getBarcode(),task.getType()+"", task.getStatus()});
// }
}
}
}
return
ResultBean
.
newOkResult
(
""
);
taskMap
.
put
(
"plateW"
,
plateW
+
""
);
taskMap
.
put
(
"plateH"
,
plateH
+
""
);
taskMap
.
put
(
"barcode"
,
task
.
getBarcode
());
taskMap
.
put
(
"taskId"
,
task
.
getId
());
return
ResultBean
.
newOkResult
(
taskMap
);
}
}
// @ApiOperation("机器人定时获取任务")
// @PostMapping(value = "/service/store/robotBox/getRobotTask")
// @ResponseBody
// @AnonymousAccess
// public ResultBean getRobotTask(HttpServletRequest request) {
// Collection<DataLog> datalogs = taskService.getAllTasks();
// //先查找已在机器人的
//// for (DataLog task : datalogs) {
//// if (task.isInRobot()) {
//// //获取任务失败,还有未完成的任务
//// return ResultBean.newErrorResult(1, "smfcore.task.lastNotEnd", "上个任务未结束{0}{1}", new String[]{task.getPosName(), task.getBarcode()});
//// }
//// }
// //查找出库已经到门口的
// for (DataLog task : datalogs) {
// if (task.isCheckOutTask()) {
// if (task.isBoxdoor()) {
// return returnTaskResult(task);
// }
//
// }
// }
//
// return ResultBean.newErrorResult(-1, "", "");
// }
// @ApiOperation("获取指定任务信息")
// @PostMapping(value = "/service/store/robotBox/getBoxDoorStatus")
// @ResponseBody
// @AnonymousAccess
// public ResultBean getBoxDoorStatus(HttpServletRequest request) {
// String cid = request.getParameter("cid");
// //判断仓门口状态,0=空闲,返回其他表示仓门口有料或机器人正在取料
// Storage storage = dataCache.getStorage(cid);
// if (storage == null) {
// return ResultBean.newErrorResult(99, "smfcore.robotBox.notFound", "未找到机器人料仓[{0}]", new String[]{cid});
// }
// if (!storage.isRobotBox()) {
// return ResultBean.newErrorResult(99, "smfcore.robotBox.notFound", "未找到机器人料仓[{0}]", new String[]{cid});
// }
// Collection<DataLog> tasks = taskService.getQueueTasks();
// for (DataLog task : tasks) {
// if (task.getStorageId().equals(storage.getId())) {
// if (task.isBoxdoor()) {
// return ResultBean.newErrorResult(-1, "smfcore.robotBox.boxHasTask", "任务[{0}][{1}]类型{2}状态{3}", new String[]{task.getPosName(), task.getBarcode(), task.getType() + "", task.getStatus()});
// }
//// else if(task.isPutInTask()&&task.isInRobot()){
//// return ResultBean.newErrorResult(-1, "smfcore.robotBox.boxHasTask", "任务[{0}][{1}]类型{2}状态{3}", new String[]{task.getPosName(), task.getBarcode(),task.getType()+"", task.getStatus()});
//// }
// }
// }
// return ResultBean.newOkResult("");
// }
@ApiOperation
(
"点料后更新物料数量"
)
@ApiOperation
(
"点料后更新物料数量"
)
@PostMapping
(
value
=
"/service/store/robotBox/updateReelQty"
)
@PostMapping
(
value
=
"/service/store/robotBox/updateReelQty"
)
@ResponseBody
@ResponseBody
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronML5Controller.java
0 → 100644
查看文件 @
26962ef
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
controller
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
@Slf4j
@RestController
@Api
(
tags
=
"1053:ML5页面接口"
)
@RequestMapping
(
"/rest/micron/ml5"
)
public
class
MicronML5Controller
{
@ApiOperation
(
"ML5页面数据获取"
)
@GetMapping
(
"/view"
)
@AnonymousAccess
public
ResultBean
view
(
)
{
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"ML5设备状态更新"
)
@PostMapping
(
value
=
"/deviceStatus"
)
@ResponseBody
@AnonymousAccess
public
ResultBean
deviceStatus
(
HttpServletRequest
request
)
{
String
barcode
=
request
.
getParameter
(
"barcode"
);
Integer
qty
=
Integer
.
parseInt
(
request
.
getParameter
(
"qty"
))
;
return
ResultBean
.
newOkResult
(
""
);
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论