Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Z
zhmes-agecal
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
zhmes-agecal
Commits
533cce1e
Commit
533cce1e
authored
Jun 30, 2025
by
wanghao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1 开始标检后 时间设置及 状态 和 数据 记录;
parent
858fc493
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
383 additions
and
42 deletions
+383
-42
PalletDeviceBinding.java
...in/java/com/zehong/system/domain/PalletDeviceBinding.java
+68
-0
PalletDeviceBindingMapper.java
...a/com/zehong/system/mapper/PalletDeviceBindingMapper.java
+8
-0
DeviceStatusReaderAndTimeSetter.java
...stem/modbus/business/DeviceStatusReaderAndTimeSetter.java
+1
-1
ModbusResultHandler.java
...com/zehong/system/modbus/handler/ModbusResultHandler.java
+157
-11
DeviceStatusReaderDto.java
...hong/system/modbus/handler/dto/DeviceStatusReaderDto.java
+1
-1
ModbusDeviceData.java
...om/zehong/system/modbus/handler/dto/ModbusDeviceData.java
+1
-1
Modbus4jUtils.java
...ain/java/com/zehong/system/modbus/util/Modbus4jUtils.java
+108
-26
PalletDeviceBindingMapper.xml
...ain/resources/mapper/system/PalletDeviceBindingMapper.xml
+38
-1
AgingCabinetBoard.vue
...cal-web/src/views/screen/components/AgingCabinetBoard.vue
+1
-1
No files found.
zhmes-agecal-system/src/main/java/com/zehong/system/domain/PalletDeviceBinding.java
View file @
533cce1e
...
...
@@ -51,8 +51,36 @@ public class PalletDeviceBinding extends BaseEntity
@Excel
(
name
=
"解绑时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
unbindingTime
;
/**
* 状态
*/
private
String
status
;
/**
* modbus 通信设置时间 年
*/
private
String
recordYear
;
/**
* modbus 通信设置时间 月
*/
private
String
recordMonth
;
/**
* modbus 通信设置时间 日
*/
private
String
recordDate
;
/**
* modbus 通信设置时间 时
*/
private
String
recordHour
;
/**
* modbus 通信设置时间 分
*/
private
String
recordMinute
;
public
String
getStatus
()
{
return
status
;
}
...
...
@@ -133,6 +161,46 @@ public class PalletDeviceBinding extends BaseEntity
return
unbindingTime
;
}
public
String
getRecordYear
()
{
return
recordYear
;
}
public
void
setRecordYear
(
String
recordYear
)
{
this
.
recordYear
=
recordYear
;
}
public
String
getRecordMonth
()
{
return
recordMonth
;
}
public
void
setRecordMonth
(
String
recordMonth
)
{
this
.
recordMonth
=
recordMonth
;
}
public
String
getRecordDate
()
{
return
recordDate
;
}
public
void
setRecordDate
(
String
recordDate
)
{
this
.
recordDate
=
recordDate
;
}
public
String
getRecordHour
()
{
return
recordHour
;
}
public
void
setRecordHour
(
String
recordHour
)
{
this
.
recordHour
=
recordHour
;
}
public
String
getRecordMinute
()
{
return
recordMinute
;
}
public
void
setRecordMinute
(
String
recordMinute
)
{
this
.
recordMinute
=
recordMinute
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/mapper/PalletDeviceBindingMapper.java
View file @
533cce1e
...
...
@@ -20,6 +20,14 @@ public interface PalletDeviceBindingMapper
*/
public
PalletDeviceBinding
selectPalletDeviceBindingById
(
Long
palletDeviceBindingId
);
/**
* 根据 老化柜 层 ip 和 index 查询
* @param ip ip
* @param index index
* @return r
*/
public
PalletDeviceBinding
selectByTrayIdAndIndex
(
@Param
(
"ip"
)
String
ip
,
@Param
(
"index"
)
Integer
index
);
/**
* 查询托盘绑定的设备列列表
*
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/business/DeviceStatusReaderAndTimeSetter.java
View file @
533cce1e
...
...
@@ -9,7 +9,7 @@ import com.serotonin.modbus4j.msg.ModbusResponse;
import
com.serotonin.modbus4j.msg.ReadHoldingRegistersRequest
;
import
com.serotonin.modbus4j.msg.ReadHoldingRegistersResponse
;
import
com.zehong.system.domain.TEquipmentAlarmData
;
import
com.zehong.system.modbus.dto.DeviceStatusReaderDto
;
import
com.zehong.system.modbus.
handler.
dto.DeviceStatusReaderDto
;
import
com.zehong.system.modbus.util.Modbus4jUtils
;
import
com.zehong.system.service.ITEquipmentAlarmDataService
;
import
org.springframework.stereotype.Component
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/handler/ModbusResultHandler.java
View file @
533cce1e
package
com
.
zehong
.
system
.
modbus
.
handler
;
import
com.serotonin.modbus4j.ModbusMaster
;
import
com.serotonin.modbus4j.exception.ModbusInitException
;
import
com.serotonin.modbus4j.exception.ModbusTransportException
;
import
com.zehong.system.domain.PalletDeviceBinding
;
import
com.zehong.system.domain.TEquipmentAlarmData
;
import
com.zehong.system.mapper.PalletDeviceBindingMapper
;
import
com.zehong.system.modbus.business.DeviceStatusReaderAndTimeSetter
;
import
com.zehong.system.modbus.dto.DeviceStatusReaderDto
;
import
com.zehong.system.modbus.handler.dto.DeviceStatusReaderDto
;
import
com.zehong.system.modbus.util.Modbus4jUtils
;
import
com.zehong.system.service.ITEquipmentAlarmDataService
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.Arrays
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.function.Consumer
;
import
java.util.function.Predicate
;
/**
* @author lenovo
* @date 2025/6/27
* @description
TODO
* @description
读取数据后根据状态判断设置时间
*/
@Component
public
class
ModbusResultHandler
implements
Consumer
<
DeviceStatusReaderDto
>
{
@Resource
private
ITEquipmentAlarmDataService
alarmDataService
;
@Resource
private
PalletDeviceBindingMapper
palletDeviceBindingMapper
;
// 创建固定大小的线程池(根据实际情况调整大小)
private
static
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
()
*
2
);
@Override
public
void
accept
(
DeviceStatusReaderDto
deviceStatusReaderDto
)
{
// 提交任务到线程池异步执行
executorService
.
submit
(()
->
handleData
(
deviceStatusReaderDto
));
}
// 实际的数据处理方法(线程安全)
private
void
handleData
(
DeviceStatusReaderDto
dto
)
{
int
deviceId
=
dto
.
getDeviceId
();
int
[]
data
=
dto
.
getRegisterData
();
String
ip
=
dto
.
getIp
();
int
port
=
dto
.
getPort
();
int
deviceId
=
deviceStatusReaderDto
.
getDeviceId
();
int
[]
data
=
deviceStatusReaderDto
.
getRegisterData
();
String
ip
=
deviceStatusReaderDto
.
getIp
();
int
port
=
deviceStatusReaderDto
.
getPort
();
// 根据 层ip 查找 层 code 根据层code 查 托盘id 根据托盘id 和 deviceId 查 绑定的点位数据
PalletDeviceBinding
palletDeviceBinding
=
palletDeviceBindingMapper
.
selectByTrayIdAndIndex
(
ip
,
deviceId
);
System
.
out
.
println
(
">>> 回调处理: 接收到新数据"
);
TEquipmentAlarmData
alarmData
;
// 1 获取 线程专有的Modbus连接
try
{
ModbusMaster
master
=
Modbus4jUtils
.
getMaster
(
ip
,
port
);
System
.
out
.
println
(
">>> 回调处理["
+
Thread
.
currentThread
().
getName
()
+
"]: 接收到新数据"
);
System
.
out
.
println
(
" 数据: "
+
Arrays
.
toString
(
data
));
if
(
data
.
length
>=
2
&&
data
[
1
]
==
DeviceStatusReaderAndTimeSetter
.
TARGET_VALUE
)
{
System
.
out
.
println
(
" >>> 注意: 第二个寄存器值为1!"
);
if
(
data
.
length
>=
2
)
{
// 给点位设置状态
palletDeviceBinding
.
setStatus
(
data
[
1
]
+
""
);
System
.
out
.
println
(
" >>> 注意: 第二个寄存器值为1 或者 3 或者 4 允许写时间!"
);
if
(
data
[
1
]
==
1
||
data
[
1
]
==
3
||
data
[
1
]
==
4
)
{
Calendar
cal
=
Calendar
.
getInstance
();
// 当前年
int
y
=
cal
.
get
(
Calendar
.
YEAR
);
// 当前月
int
m
=
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
// 当前日
int
d
=
cal
.
get
(
Calendar
.
DATE
);
// 当前小时
int
h
=
cal
.
get
(
Calendar
.
HOUR_OF_DAY
);
// 当前分钟
int
mm
=
cal
.
get
(
Calendar
.
MINUTE
);
boolean
yearResult
=
Modbus4jUtils
.
writeRegister
(
master
,
deviceId
,
4
,
(
short
)
y
);
if
(!
yearResult
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"年-日期写入失败"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
palletDeviceBinding
.
setRecordYear
(
y
+
""
);
}
boolean
mResult
=
Modbus4jUtils
.
writeRegister
(
master
,
deviceId
,
5
,
(
short
)
m
);
if
(!
mResult
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"月-日期写入失败"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
palletDeviceBinding
.
setRecordYear
(
m
+
""
);
}
boolean
dResult
=
Modbus4jUtils
.
writeRegister
(
master
,
deviceId
,
6
,
(
short
)
d
);
if
(!
dResult
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"天-日期写入失败"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
palletDeviceBinding
.
setRecordYear
(
h
+
""
);
}
boolean
hResult
=
Modbus4jUtils
.
writeRegister
(
master
,
deviceId
,
7
,
(
short
)
h
);
if
(!
hResult
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"时-日期写入失败"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
palletDeviceBinding
.
setRecordYear
(
d
+
""
);
}
boolean
mmResult
=
Modbus4jUtils
.
writeRegister
(
master
,
deviceId
,
8
,
(
short
)
mm
);
if
(!
mmResult
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"分-日期写入失败"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
else
{
palletDeviceBinding
.
setRecordYear
(
mm
+
""
);
}
// 更新
palletDeviceBindingMapper
.
updatePalletDeviceBinding
(
palletDeviceBinding
);
}
else
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"三次读取后 状态不是为 1 或 3 或 4"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
}
else
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"三次读取后 状态不是为 1 或 3 或 4"
);
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
}
catch
(
ModbusInitException
e
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
//01.老化柜 02.机械臂 03.老化层 04.点位
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
);
alarmData
.
setfAlarmData
(
"Modbus初始化失败"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
catch
(
ModbusTransportException
e
)
{
alarmData
=
new
TEquipmentAlarmData
();
alarmData
.
setfAlarmType
(
"04"
);
//01.老化柜 02.机械臂 03.老化层 04.点位
alarmData
.
setfEquipmentCode
(
"ip:"
+
ip
+
",port:"
+
port
+
"deviceId:"
+
deviceId
);
alarmData
.
setfAlarmData
(
"日期写入失败"
);
alarmData
.
setCreateTime
(
new
Date
());
alarmDataService
.
insertTEquipmentAlarmData
(
alarmData
);
}
}
// 创建通用的停止条件(可选)
public
static
Predicate
<
int
[]>
createDefaultStopCondition
()
{
return
values
->
values
.
length
>=
2
&&
values
[
1
]
==
DeviceStatusReaderAndTimeSetter
.
TARGET_VALUE
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/dto/DeviceStatusReaderDto.java
→
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/
handler/
dto/DeviceStatusReaderDto.java
View file @
533cce1e
package
com
.
zehong
.
system
.
modbus
.
dto
;
package
com
.
zehong
.
system
.
modbus
.
handler
.
dto
;
import
java.util.Arrays
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/dto/ModbusDeviceData.java
→
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/
handler/
dto/ModbusDeviceData.java
View file @
533cce1e
package
com
.
zehong
.
system
.
modbus
.
dto
;
package
com
.
zehong
.
system
.
modbus
.
handler
.
dto
;
import
java.util.Map
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/modbus/util/Modbus4jUtils.java
View file @
533cce1e
...
...
@@ -62,10 +62,12 @@ public class Modbus4jUtils {
// modbusFactory.createRtuMaster(wapper); //RTU 协议
// modbusFactory.createUdpMaster(params);//UDP 协议
// modbusFactory.createAsciiMaster(wrapper);//ASCII 协议
if
(
master
==
null
||
!
master
.
isConnected
())
{
master
=
modbusFactory
.
createTcpMaster
(
params
,
false
);
// TCP 协议
master
.
setTimeout
(
3
000
);
// 设置超时时间
master
.
setTimeout
(
5
000
);
// 设置超时时间
master
.
setRetries
(
3
);
// 设置重试次数
master
.
init
();
}
return
master
;
}
...
...
@@ -457,32 +459,102 @@ public class Modbus4jUtils {
}
}
/**
* 写入单个 Holding Register(功能码 6)
*
* @param slaveId 从站ID
* @param writeOffset 寄存器偏移地址(如 0 表示地址 40001)
* @param writeValue 要写入的值(short 类型)
* @return 是否写入成功
* @throws ModbusTransportException 如果传输失败
* @throws ModbusInitException 如果初始化失败
*/
public
static
boolean
writeRegister
(
ModbusMaster
master
,
int
slaveId
,
int
writeOffset
,
short
writeValue
)
throws
ModbusTransportException
,
ModbusInitException
{
/***
* 写[03 Holding Register(4x)] 写一个 function ID = 6
WriteRegisterRequest
request
=
new
WriteRegisterRequest
(
slaveId
,
writeOffset
,
writeValue
);
log
.
info
(
"发送写入请求:从站={}, 地址={}, 值={}"
,
slaveId
,
writeOffset
,
writeValue
);
WriteRegisterResponse
response
=
null
;
synchronized
(
master
)
{
// 多线程下保护主站资源
response
=
(
WriteRegisterResponse
)
master
.
send
(
request
);
}
if
(
response
==
null
)
{
log
.
error
(
"未收到 Modbus 响应"
);
return
false
;
}
if
(
response
.
isException
())
{
log
.
error
(
"Modbus 异常响应: {}"
,
response
.
getExceptionMessage
());
return
false
;
}
log
.
info
(
"写入成功,响应确认"
);
return
true
;
}
/**
* 写入单个 Holding Register(功能码 6)
*
* @param slaveId
s
* @param writeOffset
w
* @param writeValue
w
* @return
* @throws ModbusTransportException
m
* @throws ModbusInitException
m
* @param slaveId
从站ID
* @param writeOffset
寄存器偏移地址(如 0 表示地址 40001)
* @param writeValue
要写入的值(short 类型)
* @return
是否写入成功
* @throws ModbusTransportException
如果传输失败
* @throws ModbusInitException
如果初始化失败
*/
public
static
boolean
writeRegister
(
int
slaveId
,
int
writeOffset
,
short
writeValue
)
throws
ModbusTransportException
,
ModbusInitException
{
// 获取master
ModbusMaster
tcpMaster
=
getMaster
();
// 创建请求对象
ModbusMaster
master
=
getMaster
();
WriteRegisterRequest
request
=
new
WriteRegisterRequest
(
slaveId
,
writeOffset
,
writeValue
);
WriteRegisterResponse
response
=
(
WriteRegisterResponse
)
tcpMaster
.
send
(
request
);
log
.
info
(
"发送写入请求:从站={}, 地址={}, 值={}"
,
slaveId
,
writeOffset
,
writeValue
);
WriteRegisterResponse
response
=
null
;
synchronized
(
master
)
{
// 多线程下保护主站资源
response
=
(
WriteRegisterResponse
)
master
.
send
(
request
);
}
if
(
response
==
null
)
{
log
.
error
(
"未收到 Modbus 响应"
);
return
false
;
}
if
(
response
.
isException
())
{
log
.
error
(
response
.
getExceptionMessage
());
log
.
error
(
"Modbus 异常响应: {}"
,
response
.
getExceptionMessage
());
return
false
;
}
else
{
return
true
;
}
log
.
info
(
"写入成功,响应确认"
);
return
true
;
}
/***
* 写[03 Holding Register(4x)] 写一个 function ID = 6
*
* @param slaveId s
* @param writeOffset w
* @param writeValue w
* @return
* @throws ModbusTransportException m
* @throws ModbusInitException m
*/
// public static boolean writeRegister(int slaveId, int writeOffset, short writeValue)
// throws ModbusTransportException, ModbusInitException {
// // 获取master
// ModbusMaster tcpMaster = getMaster();
// // 创建请求对象
// WriteRegisterRequest request = new WriteRegisterRequest(slaveId, writeOffset, writeValue);
// WriteRegisterResponse response = (WriteRegisterResponse) tcpMaster.send(request);
// if (response.isException()) {
// log.error(response.getExceptionMessage());
// return false;
// } else {
// return true;
// }
//
// }
/**
*
...
...
@@ -514,6 +586,8 @@ public class Modbus4jUtils {
}
}
/**
* 写入数字类型的模拟量(如:写入Float类型的模拟量、Double类型模拟量、整数类型Short、Integer、Long)
*
...
...
@@ -588,6 +662,9 @@ public class Modbus4jUtils {
return
unsignedValues
;
}
/**
* 测试
*
...
...
@@ -610,18 +687,23 @@ public class Modbus4jUtils {
// 当前分钟
int
mm
=
cal
.
get
(
Calendar
.
MINUTE
);
boolean
yearResult
=
writeRegister
(
1
,
0
,
(
short
)
y
);
boolean
mResult
=
writeRegister
(
1
,
0
,
(
short
)
m
);
boolean
dResult
=
writeRegister
(
1
,
0
,
(
short
)
d
);
boolean
hResult
=
writeRegister
(
1
,
0
,
(
short
)
h
);
boolean
mmResult
=
writeRegister
(
1
,
0
,
(
short
)
mm
);
ModbusMaster
master1
=
getMaster
();
boolean
yearResult
=
writeRegister
(
1
,
4
,
(
short
)
y
);
System
.
out
.
println
(
yearResult
?
"写入成功"
:
"写入失败"
);
boolean
mResult
=
writeRegister
(
1
,
5
,
(
short
)
m
);
System
.
out
.
println
(
mResult
?
"写入成功"
:
"写入失败"
);
boolean
dResult
=
writeRegister
(
1
,
6
,
(
short
)
d
);
System
.
out
.
println
(
dResult
?
"写入成功"
:
"写入失败"
);
boolean
hResult
=
writeRegister
(
1
,
7
,
(
short
)
h
);
System
.
out
.
println
(
hResult
?
"写入成功"
:
"写入失败"
);
boolean
mmResult
=
writeRegister
(
1
,
8
,
(
short
)
mm
);
System
.
out
.
println
(
mmResult
?
"写入成功"
:
"写入失败"
);
int
[]
ints
=
readDeviceRegisters
(
1
);
for
(
int
i
=
0
;
i
<
ints
.
length
;
i
++)
{
System
.
out
.
println
(
ints
[
i
]);
}
//// 01测试
// Boolean v011 = readCoilStatus(1, 0);
// Boolean v012 = readCoilStatus(1, 1);
...
...
zhmes-agecal-system/src/main/resources/mapper/system/PalletDeviceBindingMapper.xml
View file @
533cce1e
...
...
@@ -15,10 +15,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"unbindingTime"
column=
"f_unbinding_time"
/>
<result
property=
"createTime"
column=
"f_create_time"
/>
<result
property=
"status"
column=
"f_status"
/>
<result
property=
"recordYear"
column=
"f_record_year"
/>
<result
property=
"recordMonth"
column=
"f_record_month"
/>
<result
property=
"recordDate"
column=
"f_record_date"
/>
<result
property=
"recordHour"
column=
"f_record_hour"
/>
<result
property=
"recordMinute"
column=
"f_record_minute"
/>
</resultMap>
<sql
id=
"selectPalletDeviceBindingVo"
>
select f_pallet_device_binding_id, f_tray_id, f_device_code, f_row, f_col, f_index,f_binding_time, f_unbinding_time, f_create_time,f_status from t_pallet_device_binding
select f_pallet_device_binding_id, f_tray_id, f_device_code, f_row, f_col, f_index,f_binding_time,
f_unbinding_time, f_create_time,f_status,f_record_year,f_record_month,f_record_date,f_record_hour,f_record_minute from t_pallet_device_binding
</sql>
<select
id=
"selectPalletDeviceBindingList"
parameterType=
"PalletDeviceBinding"
resultMap=
"PalletDeviceBindingResult"
>
...
...
@@ -40,6 +46,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include
refid=
"selectPalletDeviceBindingVo"
/>
where f_pallet_device_binding_id = #{palletDeviceBindingId}
</select>
<select
id=
"selectByTrayIdAndIndex"
resultMap=
"PalletDeviceBindingResult"
>
select f_pallet_device_binding_id,
f_tray_id,
f_device_code,
f_row,
f_col,
f_index,
f_binding_time,
f_unbinding_time,
f_create_time,
f_status,
f_record_year,
f_record_month,
f_record_date,
f_record_hour,
f_record_minute from t_pallet_device_binding palDeviceBinding where palDeviceBinding.f_tray_id = (
SELECT
trayInfo.f_tray_id
FROM
t_tray_info trayInfo
LEFT JOIN t_storey_info storeyInfo ON trayInfo.f_storey_code = storeyInfo.f_storey_code
where storeyInfo.f_ip = #{ip}
) and palDeviceBinding.f_index = #{index}
</select>
<insert
id=
"batchInsertPalletDeviceBinding"
parameterType=
"list"
>
insert into t_pallet_device_binding (f_tray_id, f_device_code,f_row,f_col,f_index,f_binding_time,f_unbinding_time,
...
...
@@ -90,6 +121,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"unbindingTime != null"
>
f_unbinding_time = #{unbindingTime},
</if>
<if
test=
"createTime != null"
>
f_create_time = #{createTime},
</if>
<if
test=
"status != null"
>
f_status = #{status},
</if>
<if
test=
"recordYear != null"
>
f_record_year = #{recordYear},
</if>
<if
test=
"recordMonth != null"
>
f_record_month = #{recordMonth},
</if>
<if
test=
"recordDate != null"
>
f_record_date = #{recordDate},
</if>
<if
test=
"recordHour != null"
>
f_record_hour = #{recordHour},
</if>
<if
test=
"recordMinute != null"
>
f_record_minute = #{recordMinute},
</if>
</trim>
where f_pallet_device_binding_id = #{palletDeviceBindingId}
</update>
...
...
zhmes-agecal-web/src/views/screen/components/AgingCabinetBoard.vue
View file @
533cce1e
...
...
@@ -95,7 +95,7 @@ export default {
{
id
:
34
,
deviceStatus
:
'0'
},
{
id
:
35
,
deviceStatus
:
'0'
},
{
id
:
36
,
deviceStatus
:
'0'
},
//...共36个
//
//
...共36个
],
// 状态对应的颜色类名
statusMap
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment