Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 54eb7048
由
LN
编写于
2026-04-07 15:26:17 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加新设备ml5s
1 个父辈
e9f70c62
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
409 行增加
和
63 行删除
src/main/java/com/neotel/smfcore/core/deviceState/util/DeviceStateDurationUtil.java
src/main/java/com/neotel/smfcore/core/equipment/enums/EquipmentType.java
src/main/java/com/neotel/smfcore/core/equipment/rest/EquipViewController.java
src/main/java/com/neotel/smfcore/core/equipment/service/po/Equipment.java
src/main/java/com/neotel/smfcore/core/equipment/util/EquipmentCache.java
src/main/java/com/neotel/smfcore/custom/micron1053/Micron1053Menu.java
src/main/java/com/neotel/smfcore/custom/micron1551/bean/SPutInfo.java
src/main/java/com/neotel/smfcore/custom/micron1551/bean/TPMoveInfo.java
src/main/java/com/neotel/smfcore/custom/micron1551/bean/dto/ML5SViewDto.java
src/main/java/com/neotel/smfcore/custom/micron1551/controller/ML5SDeviceController.java
src/main/java/com/neotel/smfcore/custom/micron1551/util/Micron1551Menu.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/core/deviceState/util/DeviceStateDurationUtil.java
查看文件 @
54eb704
...
@@ -91,7 +91,7 @@ public class DeviceStateDurationUtil {
...
@@ -91,7 +91,7 @@ public class DeviceStateDurationUtil {
DeviceStateDuration
currentDuration
=
null
;
DeviceStateDuration
currentDuration
=
null
;
// 1. 从集合中查找
// 1. 从集合中查找
for
(
DeviceStateDuration
d
:
lastStorageStatusMap
)
{
for
(
DeviceStateDuration
d
:
lastStorageStatusMap
)
{
if
(
cid
.
equals
(
d
.
getCid
())
&&
d
.
getDeviceType
()
==
dType
)
{
if
(
cid
.
equals
(
d
.
getCid
())
&&
d
.
getDeviceType
()
.
equals
(
dType
)
)
{
currentDuration
=
d
;
currentDuration
=
d
;
break
;
break
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/equipment/enums/EquipmentType.java
查看文件 @
54eb704
...
@@ -63,11 +63,17 @@ public enum EquipmentType {
...
@@ -63,11 +63,17 @@ public enum EquipmentType {
/**
/**
* NEXIM
* NEXIM
*/
*/
NEXIM
();
NEXIM
(),
ML5S
(),
ML5O
();
public
static
List
<
EquipmentType
>
availableTypeList
(){
public
static
List
<
EquipmentType
>
availableTypeList
(){
return
Lists
.
newArrayList
(
AUTO
,
NS100
,
NS200
,
NEOCOUNTER
,
PANACIMNEOLINK
,
AGV
,
T_SOLUTION
,
NEXIM
);
return
Lists
.
newArrayList
(
AUTO
,
NEOCOUNTER
,
ML5S
,
ML5O
);
// return Lists.newArrayList(AUTO,NS100,NS200,NEOCOUNTER,PANACIMNEOLINK,AGV,T_SOLUTION,NEXIM);
}
}
public
static
List
<
String
>
apiTypeList
(){
public
static
List
<
String
>
apiTypeList
(){
...
@@ -84,4 +90,8 @@ public enum EquipmentType {
...
@@ -84,4 +90,8 @@ public enum EquipmentType {
return
Lists
.
newArrayList
(
NEOCOUNTER
.
name
());
return
Lists
.
newArrayList
(
NEOCOUNTER
.
name
());
}
}
public
static
List
<
String
>
otherList
(){
return
Lists
.
newArrayList
(
ML5S
.
name
(),
ML5O
.
name
());
}
}
}
src/main/java/com/neotel/smfcore/core/equipment/rest/EquipViewController.java
查看文件 @
54eb704
...
@@ -201,10 +201,16 @@ public class EquipViewController {
...
@@ -201,10 +201,16 @@ public class EquipViewController {
EquipGroupDto
dto
=
new
EquipGroupDto
(
MessageUtils
.
getText
(
"smfcore.equipment.view.ncgroup"
,
locale
,
"Neo Counter"
),
neoCounterList
);
EquipGroupDto
dto
=
new
EquipGroupDto
(
MessageUtils
.
getText
(
"smfcore.equipment.view.ncgroup"
,
locale
,
"Neo Counter"
),
neoCounterList
);
list
.
add
(
dto
);
list
.
add
(
dto
);
}
}
List
<
EquipStatusDto
>
ml5sList
=
resultList
.
stream
().
filter
(
dto
->
EquipmentType
.
otherList
().
contains
(
dto
.
getType
())).
collect
(
Collectors
.
toList
());
if
(
ml5sList
.
size
()>
0
){
EquipGroupDto
dto
=
new
EquipGroupDto
(
MessageUtils
.
getText
(
"smfcore.equipment.view.ml5"
,
locale
,
"ML5"
),
ml5sList
);
list
.
add
(
dto
);
}
List
<
String
>
otherType
=
new
ArrayList
<>();
List
<
String
>
otherType
=
new
ArrayList
<>();
otherType
.
addAll
(
EquipmentType
.
nsList
());
otherType
.
addAll
(
EquipmentType
.
nsList
());
otherType
.
addAll
(
EquipmentType
.
apiTypeList
()
);
otherType
.
addAll
(
EquipmentType
.
apiTypeList
()
);
otherType
.
addAll
(
EquipmentType
.
neoCounterList
()
);
otherType
.
addAll
(
EquipmentType
.
neoCounterList
()
);
otherType
.
addAll
(
EquipmentType
.
otherList
());
List
<
EquipStatusDto
>
otherList
=
resultList
.
stream
().
filter
(
dto
->
otherType
.
contains
(
dto
.
getType
())==
false
).
collect
(
Collectors
.
toList
());
List
<
EquipStatusDto
>
otherList
=
resultList
.
stream
().
filter
(
dto
->
otherType
.
contains
(
dto
.
getType
())==
false
).
collect
(
Collectors
.
toList
());
if
(
otherList
.
size
()>
0
){
if
(
otherList
.
size
()>
0
){
EquipGroupDto
dto
=
new
EquipGroupDto
(
""
,
otherList
);
EquipGroupDto
dto
=
new
EquipGroupDto
(
""
,
otherList
);
...
...
src/main/java/com/neotel/smfcore/core/equipment/service/po/Equipment.java
查看文件 @
54eb704
...
@@ -43,6 +43,9 @@ public class Equipment extends BasePo implements Serializable {
...
@@ -43,6 +43,9 @@ public class Equipment extends BasePo implements Serializable {
public
boolean
isNEOCOUNTER
()
{
public
boolean
isNEOCOUNTER
()
{
return
EquipmentType
.
NEOCOUNTER
.
name
().
equals
(
type
);
return
EquipmentType
.
NEOCOUNTER
.
name
().
equals
(
type
);
}
}
public
boolean
isML5S
()
{
return
EquipmentType
.
ML5S
.
name
().
equals
(
type
);
}
/**
/**
* 是否是接口设备
* 是否是接口设备
* @return
* @return
...
...
src/main/java/com/neotel/smfcore/core/equipment/util/EquipmentCache.java
查看文件 @
54eb704
...
@@ -96,6 +96,15 @@ public class EquipmentCache {
...
@@ -96,6 +96,15 @@ public class EquipmentCache {
}
}
}
}
public
Equipment
findEquipByType
(
String
type
){
for
(
Equipment
equipment
:
getAllEquipment
().
values
()){
if
(
equipment
.
getType
().
equals
(
type
)){
return
equipment
;
}
}
return
null
;
}
public
synchronized
Equipment
autoCreateEquip
(
String
name
,
String
cid
,
String
type
)
{
public
synchronized
Equipment
autoCreateEquip
(
String
name
,
String
cid
,
String
type
)
{
//判断cid存在
//判断cid存在
Equipment
equipment
=
null
;
Equipment
equipment
=
null
;
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/Micron1053Menu.java
查看文件 @
54eb704
...
@@ -24,60 +24,60 @@ public class Micron1053Menu {
...
@@ -24,60 +24,60 @@ public class Micron1053Menu {
@PostConstruct
@PostConstruct
public
void
init
(){
public
void
init
(){
//
String
menuLabel
=
"1053"
;
//
String menuLabel = "1053";
//
//Status
//
//Status
MenuInit
.
addMenu
(
menuLabel
,
null
,
2
,
"Status"
,
"status"
,
"state/state/index"
,
"state"
);
//
MenuInit.addMenu(menuLabel,null,2, "Status","status", "state/state/index","state");
//ML5
//
//ML5
Menu
mL5
=
Menu
.
CreatePMenu
(
"ML5"
,
13
,
"mlFive"
,
"miFive"
,
null
);
//
Menu mL5 = Menu.CreatePMenu("ML5", 13, "mlFive", "miFive",null);
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
130
,
"ML5"
,
"miFive"
,
"mlFive/miFive/index"
,
"miFive"
);
//
MenuInit.addMenu(menuLabel,mL5,130, "ML5","miFive", "mlFive/miFive/index","miFive");
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
131
,
"ML5O STATUS"
,
"ML5DispatchSelect"
,
"mlFive/dispatchSelect/index"
,
"dispatchSelection"
);
//
MenuInit.addMenu(menuLabel,mL5, 131, "ML5O STATUS", "ML5DispatchSelect", "mlFive/dispatchSelect/index","dispatchSelection");
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
132
,
"ML5S STORAGE"
,
"ML5Loading"
,
"mlFive/LoadingSelect/index"
,
"loadingSelection"
);
//
MenuInit.addMenu(menuLabel,mL5,132, "ML5S STORAGE","ML5Loading", "mlFive/LoadingSelect/index","loadingSelection");
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
133
,
"DISPATCH STATUS"
,
"dispatchStatus"
,
"mlFive/dispatchStatus/index"
,
"dispatchStatus"
);
//
MenuInit.addMenu(menuLabel,mL5,133, "DISPATCH STATUS", "dispatchStatus", "mlFive/dispatchStatus/index","dispatchStatus");
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
134
,
"LOADING STATUS"
,
"loadingStatus"
,
"mlFive/loadingStatus/index"
,
"loadingStatus"
);
//
MenuInit.addMenu(menuLabel,mL5,134,"LOADING STATUS","loadingStatus", "mlFive/loadingStatus/index","loadingStatus");
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
136
,
"ML5S Dispatch"
,
"mlFivesDispatch"
,
"mlFives/dispatch/index"
,
"dispatch"
);
//
MenuInit.addMenu(menuLabel,mL5,136,"ML5S Dispatch","mlFivesDispatch", "mlFives/dispatch/index","dispatch");
//status菜单
//
//status菜单
// Menu status = Menu.CreatePMenu("Status", 14, "status1053", "state",null);
//
//
Menu status = Menu.CreatePMenu("Status", 14, "status1053", "state",null);
// MenuInit.addMenu(menuLabel,status,140, "Equipment Status","statePage", "state/state/index","statePage");
//
//
MenuInit.addMenu(menuLabel,status,140, "Equipment Status","statePage", "state/state/index","statePage");
// MenuInit.addMenu(menuLabel,status,141, "Pallet Status","palletStatus", "status/palletStatus/index","BOM");
//
//
MenuInit.addMenu(menuLabel,status,141, "Pallet Status","palletStatus", "status/palletStatus/index","BOM");
// MenuInit.addMenu(menuLabel,status,142, "Temperature Log","tempLog", "status/tempLog/index","temput");
//
//
MenuInit.addMenu(menuLabel,status,142, "Temperature Log","tempLog", "status/tempLog/index","temput");
// MenuInit.addMenu(menuLabel,status,143, "Humidity Log","humidityLog", "status/humidityLog/index","hum");
//
//
MenuInit.addMenu(menuLabel,status,143, "Humidity Log","humidityLog", "status/humidityLog/index","hum");
//
//
MenuInit
.
addMenu
(
menuLabel
,
null
,
150
,
"SBSH1"
,
"SBSH1"
,
"SBSH/sbshOne/index"
,
"sbsh"
);
//
MenuInit.addMenu(menuLabel,null,150, "SBSH1","SBSH1", "SBSH/sbshOne/index","sbsh");
MenuInit
.
addMenu
(
menuLabel
,
null
,
151
,
"SBSH2"
,
"SBSH2"
,
"SBSH/sbshOne/index"
,
"sbsh"
);
//
MenuInit.addMenu(menuLabel,null,151, "SBSH2","SBSH2", "SBSH/sbshOne/index","sbsh");
MenuInit
.
addMenu
(
menuLabel
,
null
,
152
,
"SBDH1"
,
"SBDH1"
,
"SBSH/sbshOne/index"
,
"sbdh"
);
//
MenuInit.addMenu(menuLabel,null,152, "SBDH1","SBDH1", "SBSH/sbshOne/index","sbdh");
MenuInit
.
addMenu
(
menuLabel
,
null
,
153
,
"SBDH2"
,
"SBDH2"
,
"SBSH/sbshOne/index"
,
"sbdh"
);
//
MenuInit.addMenu(menuLabel,null,153, "SBDH2","SBDH2", "SBSH/sbshOne/index","sbdh");
MenuInit
.
addMenu
(
menuLabel
,
null
,
154
,
"SBDH3"
,
"SBDH3"
,
"SBSH/sbshOne/index"
,
"sbdh"
);
//
MenuInit.addMenu(menuLabel,null,154, "SBDH3","SBDH3", "SBSH/sbshOne/index","sbdh");
//CI
//
//CI
MenuInit
.
addMenu
(
menuLabel
,
null
,
160
,
"CI"
,
"cl"
,
"cl/cl/index"
,
"cl"
);
//
MenuInit.addMenu(menuLabel,null,160, "CI","cl", "cl/cl/index","cl");
//MT
//
//MT
MenuInit
.
addMenu
(
menuLabel
,
null
,
161
,
"MT"
,
"mt"
,
"mt/mt/index"
,
"mt"
);
//
MenuInit.addMenu(menuLabel,null,161, "MT","mt", "mt/mt/index","mt");
//MI1
//
//MI1
MenuInit
.
addMenu
(
menuLabel
,
null
,
162
,
"MI1"
,
"ml"
,
"miOne/miOne/index"
,
"miOne"
);
//
MenuInit.addMenu(menuLabel,null,162, "MI1","ml", "miOne/miOne/index","miOne");
//MI2
//
//MI2
MenuInit
.
addMenu
(
menuLabel
,
null
,
163
,
"MI2"
,
"ml2"
,
"miOne/miOne/index"
,
"miOne"
);
//
MenuInit.addMenu(menuLabel,null,163, "MI2","ml2", "miOne/miOne/index","miOne");
MenuInit
.
addMenu
(
menuLabel
,
null
,
130
,
"Shelf Life Mgmt"
,
"expSetting"
,
"system/expirationSetting/index"
,
"expireSetting"
);
//
MenuInit.addMenu(menuLabel,null,130, "Shelf Life Mgmt","expSetting", "system/expirationSetting/index","expireSetting");
// //Report
//
//
//Report
// MenuInit.addMenu(menuLabel,null,128, "Report","reports", "report/reports/index","report");
//
//
MenuInit.addMenu(menuLabel,null,128, "Report","reports", "report/reports/index","report");
//设置管理
//
//设置管理
Menu
poutSet
=
Menu
.
CreatePMenu
(
"设置"
,
10
,
"system"
,
"system"
,
null
);
//
Menu poutSet = Menu.CreatePMenu("设置", 10, "system", "system",null);
MenuInit
.
addMenu
(
menuLabel
,
poutSet
,
166
,
"Diagnosis"
,
"diagnosis"
,
"system/diagnosis/index"
,
"diagnosis"
);
//
MenuInit.addMenu(menuLabel,poutSet,166, "Diagnosis","diagnosis", "system/diagnosis/index","diagnosis");
//报表:出入库、库存
//
//报表:出入库、库存
Menu
pMenuReport
=
Menu
.
CreatePMenu
(
"报表"
,
7
,
"report"
,
"inOutData"
,
null
);
//
Menu pMenuReport = Menu.CreatePMenu("报表", 7, "report","inOutData",null);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
201
,
"料盘日志"
,
"trayLog"
,
"report/trayLog/index"
,
"trayLog"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,201, "料盘日志","trayLog", "report/trayLog/index","trayLog");
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
202
,
"Utilization "
,
"utilization "
,
"report/utilization/index"
,
"utilization"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,202, "Utilization ","utilization ", "report/utilization/index","utilization");
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
203
,
"ErrorLog"
,
"errorLog"
,
"report/errorLog/index"
,
"errorLog"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,203, "ErrorLog","errorLog", "report/errorLog/index","errorLog");
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
204
,
"ErrorReport"
,
"errorReport"
,
"report/errorReport/index"
,
"errorReport"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,204, "ErrorReport","errorReport", "report/errorReport/index","errorReport");
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
205
,
"EventLog"
,
"eventLog"
,
"report/eventLog/index"
,
"eventlog"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,205, "EventLog","eventLog", "report/eventLog/index","eventlog");
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
206
,
"Tool Utilization"
,
"deviceSChart"
,
"report/deviceSChart/index"
,
"deviceSChart"
);
//
MenuInit.addMenu(menuLabel,pMenuReport,206, "Tool Utilization","deviceSChart", "report/deviceSChart/index","deviceSChart");
//
//Help
//
//Help
MenuInit
.
addMenu
(
menuLabel
,
null
,
999
,
"Help"
,
"helps"
,
"help/helps/index"
,
"help"
);
//
MenuInit.addMenu(menuLabel,null,999, "Help","helps", "help/helps/index","help");
String
apiName
=
smfApi
.
getApiName
();
//
String apiName = smfApi.getApiName();
if
(
Strings
.
isNotBlank
(
apiName
)
&&
apiName
.
equals
(
menuLabel
)){
//
if(Strings.isNotBlank(apiName) && apiName.equals(menuLabel)){
menuInit
.
showMenu
(
apiName
);
//
menuInit.showMenu(apiName);
}
//
}
}
}
}
}
src/main/java/com/neotel/smfcore/custom/micron1551/bean/SPutInfo.java
0 → 100644
查看文件 @
54eb704
package
com
.
neotel
.
smfcore
.
custom
.
micron1551
.
bean
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
/**
* INPUT OUTPUT 信息
*/
public
class
SPutInfo
implements
Serializable
{
private
String
name
;
/**
* 状态,0=离线,1=在线,2=急停,3=故障,4=警告,5=调试,6=忙碌中
*/
private
int
currState
;
private
String
msg
;
/**
* 小车到位状态,0=无,1=到位
*/
private
int
trolley
;
/**
* 料串到位状态,0=无,1=到位
*/
private
int
stacker
;
/**
* 料串等待离开中
*/
private
boolean
waitLeave
;
/**
* 摄像头扫码内容,Input用
*/
private
String
cameraCode
;
/**
* 已放扫码数量,Input用
*/
private
int
scannedQty
;
/**
* 已取料盘数量,Input用
*/
private
int
pickedQty
;
/**
* 已放料盘数量, Output用
*/
private
int
putQty
;
}
src/main/java/com/neotel/smfcore/custom/micron1551/bean/TPMoveInfo.java
0 → 100644
查看文件 @
54eb704
package
com
.
neotel
.
smfcore
.
custom
.
micron1551
.
bean
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 龙门架状态
*/
@Data
public
class
TPMoveInfo
implements
Serializable
{
/**
* 名称
*/
private
String
name
;
/**
* 状态,0=离线,1=在线,2=急停,3=故障,4=警告,5=调试,6=忙碌中
*/
private
int
currState
;
/**
* 是否在移动中
*/
private
boolean
isMoveing
=
false
;
/**
* 当前正在移动的料盘信息
*/
private
String
currMoveReel
;
/**
* 取料位置
*/
private
String
startIn
=
""
;
/**
* 目标放料位置
*/
private
String
tOut
=
""
;
}
src/main/java/com/neotel/smfcore/custom/micron1551/bean/dto/ML5SViewDto.java
0 → 100644
查看文件 @
54eb704
package
com
.
neotel
.
smfcore
.
custom
.
micron1551
.
bean
.
dto
;
import
com.neotel.smfcore.core.equipment.bean.EquipMsg
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
ML5SViewDto
implements
Serializable
{
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"CID"
)
private
String
cid
;
@ApiModelProperty
(
"设备状态,0=离线,1=正常运行中, 2=急停,3=故障,4=警告,5=调试,6=忙碌中"
)
//1=设备联机 2=急停,3=故障,4=警告,5=调试,6=忙碌中
private
int
status
=
0
;
@ApiModelProperty
(
"文字显示"
)
private
String
msg
=
""
;
@ApiModelProperty
(
"当前Loading信息名称,为空时可以点START,"
)
private
String
currLoading
=
""
;
@ApiModelProperty
(
"仅显示的日志消息集合"
)
private
List
<
EquipMsg
>
showLogs
=
new
ArrayList
<>();
/**
* 发上来的数据
*
* ml5s定义:
* key=LP1,value=入口1
* key=LP2,value=入口2
* key=TP1,value=龙门架1
* kty=TP2,value=龙门架2
* key=UP1,value=出口1
* key=UP2,value=出口2
* key=UP3,value=出口3
* key=UP4,value=出口4
*/
private
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
}
src/main/java/com/neotel/smfcore/custom/micron1551/controller/ML5SDeviceController.java
0 → 100644
查看文件 @
54eb704
package
com
.
neotel
.
smfcore
.
custom
.
micron1551
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.equipment.bean.EquipStatusBean
;
import
com.neotel.smfcore.core.equipment.enums.EquipmentType
;
import
com.neotel.smfcore.core.equipment.service.po.Equipment
;
import
com.neotel.smfcore.core.equipment.util.EquipmentCache
;
import
com.neotel.smfcore.core.inList.service.po.InList
;
import
com.neotel.smfcore.core.system.util.EquipStatusUtil
;
import
com.neotel.smfcore.custom.micron1053.loading.util.LoadingUtil
;
import
com.neotel.smfcore.custom.micron1551.bean.dto.ML5SViewDto
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
@Slf4j
@RestController
@Api
(
tags
=
"1551:ML5S"
)
@RequestMapping
(
"/rest/micron/ml5s"
)
public
class
ML5SDeviceController
{
@Autowired
private
EquipmentCache
equipmentCache
;
@Autowired
private
DataCache
dataCache
;
@Autowired
private
LoadingUtil
loadingUtil
;
@ApiOperation
(
"获取ML5S信息"
)
@GetMapping
(
"ml5sView"
)
@PreAuthorize
(
"@el.check('equipmentView:info')"
)
public
ML5SViewDto
ml5sView
(
String
cid
,
HttpServletRequest
servletRequest
){
Equipment
equip
=
null
;
if
(
ObjectUtil
.
isEmpty
(
cid
)){
equip
=
equipmentCache
.
findEquipByType
(
EquipmentType
.
ML5S
.
name
());
}
else
{
equip
=
equipmentCache
.
getEquipment
(
cid
);
}
if
(
equip
==
null
||(!
equip
.
isML5S
()))
{
throw
new
ValidateException
(
"smfcore.equip.notExist"
,
"设备不存在"
);
}
ML5SViewDto
dto
=
new
ML5SViewDto
();
dto
.
setCid
(
cid
);
dto
.
setName
(
equip
.
getName
());
EquipStatusBean
bean
=
EquipStatusUtil
.
getStatusBean
(
equip
.
getCid
());
if
(
bean
!=
null
){
if
(
bean
.
timeOut
()){
dto
.
setStatus
(
0
);
}
else
{
dto
.
setStatus
(
bean
.
getStatus
());
dto
.
setMsg
(
bean
.
getShowMsg
(
servletRequest
.
getLocale
()));
dto
.
setData
(
bean
.
getData
());
dto
.
setShowLogs
(
bean
.
getShowLogs
());
}
}
InList
inList
=
loadingUtil
.
getInlist
();
if
(
inList
==
null
)
{
dto
.
setCurrLoading
(
""
);
}
else
{
dto
.
setCurrLoading
(
inList
.
getName
());
}
return
dto
;
}
}
src/main/java/com/neotel/smfcore/custom/micron1551/util/Micron1551Menu.java
0 → 100644
查看文件 @
54eb704
package
com
.
neotel
.
smfcore
.
custom
.
micron1551
.
util
;
import
com.neotel.smfcore.common.init.MenuInit
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.security.service.po.Menu
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
@Component
public
class
Micron1551Menu
{
@Autowired
MenuInit
menuInit
;
@Autowired
SmfApi
smfApi
;
@PostConstruct
public
void
init
(){
String
menuLabel
=
"1551"
;
//Status
MenuInit
.
addMenu
(
menuLabel
,
null
,
2
,
"Status"
,
"status"
,
"state/state/index"
,
"state"
);
//ML5
Menu
mL5
=
Menu
.
CreatePMenu
(
"ML5"
,
13
,
"mlFive"
,
"miFive"
,
null
);
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
120
,
"ML5S Input"
,
"ml5sInput"
,
"ml5s/input/index"
,
"dispatch"
);
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
121
,
"ML5S Ouput"
,
"ml5sOutput"
,
"ml5s/output/index"
,
"dispatch"
);
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
122
,
"X800"
,
"X800"
,
"x800kanban/index"
,
"X800"
);
MenuInit
.
addMenu
(
menuLabel
,
mL5
,
131
,
"ML5O STATUS"
,
"ML5DispatchSelect"
,
"mlFive/dispatchSelect/index"
,
"dispatchSelection"
);
// MenuInit.addMenu(menuLabel,mL5,132, "ML5S STORAGE","ML5Loading", "mlFive/LoadingSelect/index","loadingSelection");
// MenuInit.addMenu(menuLabel,mL5,133, "DISPATCH STATUS", "dispatchStatus", "mlFive/dispatchStatus/index","dispatchStatus");
// MenuInit.addMenu(menuLabel,mL5,134,"LOADING STATUS","loadingStatus", "mlFive/loadingStatus/index","loadingStatus");
// MenuInit.addMenu(menuLabel,mL5,136,"ML5S Dispatch","mlFivesDispatch", "mlFives/dispatch/index","dispatch");
//status菜单
// Menu status = Menu.CreatePMenu("Status", 14, "status1053", "state",null);
// MenuInit.addMenu(menuLabel,status,140, "Equipment Status","statePage", "state/state/index","statePage");
// MenuInit.addMenu(menuLabel,status,141, "Pallet Status","palletStatus", "status/palletStatus/index","BOM");
// MenuInit.addMenu(menuLabel,status,142, "Temperature Log","tempLog", "status/tempLog/index","temput");
// MenuInit.addMenu(menuLabel,status,143, "Humidity Log","humidityLog", "status/humidityLog/index","hum");
//
// MenuInit.addMenu(menuLabel,null,150, "SBSH1","SBSH1", "SBSH/sbshOne/index","sbsh");
// MenuInit.addMenu(menuLabel,null,151, "SBSH2","SBSH2", "SBSH/sbshOne/index","sbsh");
// MenuInit.addMenu(menuLabel,null,152, "SBDH1","SBDH1", "SBSH/sbshOne/index","sbdh");
// MenuInit.addMenu(menuLabel,null,153, "SBDH2","SBDH2", "SBSH/sbshOne/index","sbdh");
// MenuInit.addMenu(menuLabel,null,154, "SBDH3","SBDH3", "SBSH/sbshOne/index","sbdh");
// //CI
// MenuInit.addMenu(menuLabel,null,160, "CI","cl", "cl/cl/index","cl");
// //MT
// MenuInit.addMenu(menuLabel,null,161, "MT","mt", "mt/mt/index","mt");
// //MI1
// MenuInit.addMenu(menuLabel,null,162, "MI1","ml", "miOne/miOne/index","miOne");
// //MI2
// MenuInit.addMenu(menuLabel,null,163, "MI2","ml2", "miOne/miOne/index","miOne");
// MenuInit.addMenu(menuLabel,null,130, "Shelf Life Mgmt","expSetting", "system/expirationSetting/index","expireSetting");
//// //Report
//// MenuInit.addMenu(menuLabel,null,128, "Report","reports", "report/reports/index","report");
//设置管理
Menu
poutSet
=
Menu
.
CreatePMenu
(
"设置"
,
10
,
"system"
,
"system"
,
null
);
MenuInit
.
addMenu
(
menuLabel
,
poutSet
,
166
,
"Diagnosis"
,
"diagnosis"
,
"system/diagnosis/index"
,
"diagnosis"
);
//报表:出入库、库存
Menu
pMenuReport
=
Menu
.
CreatePMenu
(
"报表"
,
7
,
"report"
,
"inOutData"
,
null
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
201
,
"料盘日志"
,
"trayLog"
,
"report/trayLog/index"
,
"trayLog"
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
202
,
"Utilization "
,
"utilization "
,
"report/utilization/index"
,
"utilization"
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
203
,
"ErrorLog"
,
"errorLog"
,
"report/errorLog/index"
,
"errorLog"
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
204
,
"ErrorReport"
,
"errorReport"
,
"report/errorReport/index"
,
"errorReport"
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
205
,
"EventLog"
,
"eventLog"
,
"report/eventLog/index"
,
"eventlog"
);
MenuInit
.
addMenu
(
menuLabel
,
pMenuReport
,
206
,
"Tool Utilization"
,
"deviceSChart"
,
"report/deviceSChart/index"
,
"deviceSChart"
);
//Help
MenuInit
.
addMenu
(
menuLabel
,
null
,
999
,
"Help"
,
"helps"
,
"help/helps/index"
,
"help"
);
String
apiName
=
smfApi
.
getApiName
();
if
(
Strings
.
isNotBlank
(
apiName
)
&&
apiName
.
equals
(
menuLabel
)){
menuInit
.
showMenu
(
apiName
);
}
}
}
src/main/resources/messages.properties
查看文件 @
54eb704
...
@@ -409,4 +409,7 @@ smfcore.xray.countingHistory.xRayFile=\u56FE\u7247\u6587\u4EF6\u540D
...
@@ -409,4 +409,7 @@ smfcore.xray.countingHistory.xRayFile=\u56FE\u7247\u6587\u4EF6\u540D
smfcore.xray.countingHistory.resultFile
=
\u
7ED3
\u
679C
\u6587\u
4EF6
\u
540D
smfcore.xray.countingHistory.resultFile
=
\u
7ED3
\u
679C
\u6587\u
4EF6
\u
540D
smfcore.xray.countingHistory.uploadOk
=
\u
662F
\u5426\u
4E0A
\u
4F20
\u
5B8C
\u6210
smfcore.xray.countingHistory.uploadOk
=
\u
662F
\u5426\u
4E0A
\u
4F20
\u
5B8C
\u6210
smfcore.xray.countingHistory.countingTime
=
\u
70B9
\u6599\u
65F6
\u
95F4
smfcore.xray.countingHistory.countingTime
=
\u
70B9
\u6599\u
65F6
\u
95F4
smfcore.deviceSChart
=
Tool Utilization
\ No newline at end of file
\ No newline at end of file
smfcore.deviceSChart
=
Tool Utilization
smfcore.ml5sInput
=
ML5S Input
smfcore.ml5sOutput
=
ML5S Ouput
smfcore.X800
=
X800
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_en_US.properties
查看文件 @
54eb704
...
@@ -387,4 +387,7 @@ smfcore.xray.countingHistory.xRayFile=Image File Name
...
@@ -387,4 +387,7 @@ smfcore.xray.countingHistory.xRayFile=Image File Name
smfcore.xray.countingHistory.resultFile
=
Result File Name
smfcore.xray.countingHistory.resultFile
=
Result File Name
smfcore.xray.countingHistory.uploadOk
=
Upload Completed
smfcore.xray.countingHistory.uploadOk
=
Upload Completed
smfcore.xray.countingHistory.countingTime
=
Counting Time
smfcore.xray.countingHistory.countingTime
=
Counting Time
smfcore.deviceSChart
=
Tool Utilization
\ No newline at end of file
\ No newline at end of file
smfcore.deviceSChart
=
Tool Utilization
smfcore.ml5sInput
=
ML5S Input
smfcore.ml5sOutput
=
ML5S Ouput
smfcore.X800
=
X800
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
54eb704
...
@@ -382,4 +382,7 @@ smfcore.xray.countingHistory.xRayFile=\u753B\u50CF\u30D5\u30A1\u30A4\u30EB\u540D
...
@@ -382,4 +382,7 @@ smfcore.xray.countingHistory.xRayFile=\u753B\u50CF\u30D5\u30A1\u30A4\u30EB\u540D
smfcore.xray.countingHistory.resultFile
=
\u
7D50
\u
679C
\u
30D5
\u
30A1
\u
30A4
\u
30EB
\u
540D
smfcore.xray.countingHistory.resultFile
=
\u
7D50
\u
679C
\u
30D5
\u
30A1
\u
30A4
\u
30EB
\u
540D
smfcore.xray.countingHistory.uploadOk
=
\u
30A2
\u
30C3
\u
30D7
\u
30ED
\u
30FC
\u
30C9
\u
5B8C
\u
4E86
smfcore.xray.countingHistory.uploadOk
=
\u
30A2
\u
30C3
\u
30D7
\u
30ED
\u
30FC
\u
30C9
\u
5B8C
\u
4E86
smfcore.xray.countingHistory.countingTime
=
\u
30AB
\u
30A6
\u
30F3
\u
30C8
\u6642\u9593
smfcore.xray.countingHistory.countingTime
=
\u
30AB
\u
30A6
\u
30F3
\u
30C8
\u6642\u9593
smfcore.deviceSChart
=
Tool Utilization
\ No newline at end of file
\ No newline at end of file
smfcore.deviceSChart
=
Tool Utilization
smfcore.ml5sInput
=
ML5S Input
smfcore.ml5sOutput
=
ML5S Ouput
smfcore.X800
=
X800
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
54eb704
...
@@ -384,4 +384,7 @@ smfcore.xray.countingHistory.uploadOk=\u662F\u5426\u4E0A\u4F20\u5B8C\u6210
...
@@ -384,4 +384,7 @@ smfcore.xray.countingHistory.uploadOk=\u662F\u5426\u4E0A\u4F20\u5B8C\u6210
smfcore.xray.countingHistory.countingTime
=
\u
70B9
\u6599\u
65F6
\u
95F4
smfcore.xray.countingHistory.countingTime
=
\u
70B9
\u6599\u
65F6
\u
95F4
smfcore.common.createDate
=
\u
521B
\u
5EFA
\u
65F6
\u
95F4
smfcore.common.createDate
=
\u
521B
\u
5EFA
\u
65F6
\u
95F4
smfcore.common.updateDate
=
\u
66F4
\u
65B0
\u
65F6
\u
95F4
smfcore.common.updateDate
=
\u
66F4
\u
65B0
\u
65F6
\u
95F4
smfcore.deviceSChart
=
Tool Utilization
\ No newline at end of file
\ No newline at end of file
smfcore.deviceSChart
=
Tool Utilization
smfcore.ml5sInput
=
ML5S Input
smfcore.ml5sOutput
=
ML5S Ouput
smfcore.X800
=
X800
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
54eb704
...
@@ -385,4 +385,7 @@ smfcore.xray.countingHistory.xRayFile=\u5716\u7247\u6A94\u540D
...
@@ -385,4 +385,7 @@ smfcore.xray.countingHistory.xRayFile=\u5716\u7247\u6A94\u540D
smfcore.xray.countingHistory.resultFile
=
\u
7D50
\u
679C
\u
6A94
\u
540D
smfcore.xray.countingHistory.resultFile
=
\u
7D50
\u
679C
\u
6A94
\u
540D
smfcore.xray.countingHistory.uploadOk
=
\u
662F
\u5426\u
4E0A
\u
50B3
\u
5B8C
\u6210
smfcore.xray.countingHistory.uploadOk
=
\u
662F
\u5426\u
4E0A
\u
50B3
\u
5B8C
\u6210
smfcore.xray.countingHistory.countingTime
=
\u
9EDE
\u6599\u6642\u9593
smfcore.xray.countingHistory.countingTime
=
\u
9EDE
\u6599\u6642\u9593
smfcore.deviceSChart
=
Tool Utilization
\ No newline at end of file
\ No newline at end of file
smfcore.deviceSChart
=
Tool Utilization
smfcore.ml5sInput
=
ML5S Input
smfcore.ml5sOutput
=
ML5S Ouput
smfcore.X800
=
X800
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论