Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
7475f0ff
提交
7475f0ff
authored
12月 15, 2021
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(增加修改ip接口): 增加修改ip接口
释放读写机资源
上级
0fc9fda3
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
1471 行增加
和
1155 行删除
+1471
-1155
pom.xml
dev-readmachine/pom.xml
+9
-1
ReadMachineIp.java
.../dev/readmachine/devreadmachine/Entity/ReadMachineIp.java
+50
-0
ReadMachineBillController.java
.../devreadmachine/controller/ReadMachineBillController.java
+18
-11
ReadMachineIpController.java
...ne/devreadmachine/controller/ReadMachineIpController.java
+74
-0
ReadMachineIpDao.java
...admachine/devreadmachine/repository/ReadMachineIpDao.java
+15
-0
ReadMachineIpService.java
...dmachine/devreadmachine/service/ReadMachineIpService.java
+39
-0
DeviceLibraryPositionServiceImpl.java
...achine/service/impl/DeviceLibraryPositionServiceImpl.java
+47
-0
ReadMachineIpServiceImpl.java
...devreadmachine/service/impl/ReadMachineIpServiceImpl.java
+61
-0
ReadUtils.java
...m/tykj/dev/readmachine/devreadmachine/util/ReadUtils.java
+249
-235
ModuleAPI_J.jar
dev-readmachine/src/main/resources/lib/ModuleAPI_J.jar
+0
-0
ReadUtils.java
...d/src/main/java/com/tykj/dev/rfid/timeTask/ReadUtils.java
+645
-644
DataInit.java
dev-union/src/main/java/com/tykj/dev/union/DataInit.java
+264
-264
没有找到文件。
dev-readmachine/pom.xml
浏览文件 @
7475f0ff
...
...
@@ -42,12 +42,20 @@
<artifactId>
socket
</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.zebra</groupId>-->
<!-- <artifactId>sdk1</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/src/main/resources/lib/ModuleAPI_Java_2.2.0.0.jar</systemPath>-->
<!-- </dependency>-->
<dependency>
<groupId>
com.zebra
</groupId>
<artifactId>
sdk1
</artifactId>
<version>
1.0.0
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/resources/lib/ModuleAPI_J
ava_2.2.0.0
.jar
</systemPath>
<systemPath>
${project.basedir}/src/main/resources/lib/ModuleAPI_J.jar
</systemPath>
</dependency>
</dependencies>
...
...
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/Entity/ReadMachineIp.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
Entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedBy
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedBy
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.util.Date
;
/**
* @author zsp
* @create 2021/12/3 10:24
*/
@Data
@Entity
@EntityListeners
(
AuditingEntityListener
.
class
)
@SQLDelete
(
sql
=
"update read_machine_ip set delete_tag = 1 where id = ?"
)
@Where
(
clause
=
"delete_tag = 0"
)
@ApiModel
(
"读写机ip表"
)
public
class
ReadMachineIp
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"ip"
)
private
String
ip
;
@ApiModelProperty
(
value
=
"子网掩码"
)
private
String
mask
;
@ApiModelProperty
(
value
=
"网关"
)
private
String
gateway
;
@ApiModelProperty
(
value
=
"读写机名称"
)
private
String
readMachineName
;
@ApiModelProperty
(
value
=
"删除标志位"
)
private
Integer
deleteTag
=
0
;
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/controller/ReadMachineBillController.java
浏览文件 @
7475f0ff
...
...
@@ -12,10 +12,11 @@ import com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineBill;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineLibrary
;
import
com.tykj.dev.readmachine.devreadmachine.Vo.*
;
import
com.tykj.dev.readmachine.devreadmachine.service.ReadMachineBillService
;
import
com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService
;
import
com.tykj.dev.readmachine.devreadmachine.service.ReadMachineLibraryService
;
import
com.tykj.dev.readmachine.devreadmachine.socket.ReadWebSocket
;
import
com.tykj.dev.readmachine.devreadmachine.toBack.BackReadDetailVo
;
import
com.tykj.dev.r
fid.timeTask
.ReadUtils
;
import
com.tykj.dev.r
eadmachine.devreadmachine.util
.ReadUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -54,6 +55,9 @@ public class ReadMachineBillController {
@Resource
private
UserCache
userCache
;
@Autowired
private
ReadMachineIpService
readMachineIpService
;
@Autowired
private
ReadMachineLibraryService
readMachineLibraryService
;
...
...
@@ -73,15 +77,15 @@ public class ReadMachineBillController {
// @Autowired
// private ReadUtils readUtils;
static
{
//增加一个全局变量,只要加载过这个so就不再执行,除非进程重启才会清掉该变量。
if
(
System
.
getProperty
(
"myapplibrary"
)==
null
){
log
.
info
(
"myapplibrary:{}"
,
System
.
getProperty
(
"myapplibrary"
));
System
.
setProperty
(
"myapplibrary"
,
"libModuleAPIJni.so"
);
// System.loadLibrary("libModuleAPIJni");
System
.
load
(
"/usr/lib/libModuleAPIJni.so"
);
}
}
//
static{
//
//增加一个全局变量,只要加载过这个so就不再执行,除非进程重启才会清掉该变量。
//
if(System.getProperty("myapplibrary")==null){
//
log.info("myapplibrary:{}",System.getProperty("myapplibrary"));
//
System.setProperty("myapplibrary", "libModuleAPIJni.so");
//
//
System.loadLibrary("libModuleAPIJni");
//
System.load("/usr/lib/libModuleAPIJni.so");
//
}
//
}
@ApiOperation
(
value
=
"保存盘存接口"
,
notes
=
"保存盘存接口"
)
@PostMapping
(
value
=
"/addReadMachineBill"
)
...
...
@@ -161,8 +165,11 @@ public class ReadMachineBillController {
*/
public
List
<
DeviceLibrary
>
startDeviceDetail
(){
ReadUtils
readUtils
=
new
ReadUtils
();
//先获取ip1
//TODO 后续考虑做成ip的选择,目前先写死
String
ip
=
readMachineIpService
.
findById
(
1
).
getIp
();
//先开启
readUtils
.
testinitreader
();
readUtils
.
testinitreader
(
ip
);
while
(
localFlag
){
//开始盘存
List
<
String
>
rfids
=
readUtils
.
testinventory1
();
...
...
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/controller/ReadMachineIpController.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
controller
;
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.misc.exception.ApiException
;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp
;
import
com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService
;
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.http.ResponseEntity
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author zsp
* @create 2021/12/3 10:59
*/
@RestController
@RequestMapping
(
value
=
"/readIp"
)
@AutoDocument
@Api
(
tags
=
"修改ip"
,
description
=
"修改ip"
)
@Slf4j
public
class
ReadMachineIpController
{
@Autowired
private
ReadMachineIpService
readMachineIpService
;
@ApiOperation
(
value
=
"修改ip的接口"
,
notes
=
"修改ip的接口"
)
@PostMapping
(
value
=
"/updateIp"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
<
ReadMachineIp
>
updateIp
(
@RequestBody
ReadMachineIp
readMachineIp
)
{
ReadMachineIp
readMachineIp1
=
readMachineIpService
.
updateIp
(
readMachineIp
);
return
ResponseEntity
.
ok
(
readMachineIp1
);
}
@ApiOperation
(
value
=
"新增ip接口"
,
notes
=
"新增ip接口"
)
@PostMapping
(
value
=
"/addIp"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
<
String
>
addIp
(
@RequestBody
ReadMachineIp
readMachineIp
)
{
//先判断名称是否存在
List
<
String
>
names
=
readMachineIpService
.
findAll
().
stream
().
map
(
ReadMachineIp:
:
getReadMachineName
).
collect
(
Collectors
.
toList
());
if
(!
names
.
isEmpty
()){
if
(
names
.
contains
(
readMachineIp
.
getReadMachineName
())){
throw
new
ApiException
(
"该名称已经存在,请更换名称"
);
}
}
readMachineIpService
.
addIp
(
readMachineIp
);
return
ResponseEntity
.
ok
(
"新增ip成功"
);
}
@ApiOperation
(
value
=
"查询ip列表"
,
notes
=
"查询ip列表"
)
@PostMapping
(
value
=
"/findAllIp"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
<
List
<
ReadMachineIp
>>
findAllIp
()
{
List
<
ReadMachineIp
>
readMachineIpList
=
readMachineIpService
.
findAll
();
return
ResponseEntity
.
ok
(
readMachineIpList
);
}
@ApiOperation
(
value
=
"选中要使用的读写机"
,
notes
=
"选中要使用的读写机"
)
@GetMapping
(
value
=
"/selectIp"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
<
ReadMachineIp
>
selectIp
(
Integer
id
)
{
ReadMachineIp
readMachineIp
=
readMachineIpService
.
findById
(
id
);
return
ResponseEntity
.
ok
(
readMachineIp
);
}
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/repository/ReadMachineIpDao.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
repository
;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp
;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineLibrary
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
java.util.List
;
/**
* @author zsp
* @create 2021/12/3 10:52
*/
public
interface
ReadMachineIpDao
extends
JpaRepository
<
ReadMachineIp
,
Integer
>,
JpaSpecificationExecutor
<
ReadMachineIp
>
{
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/service/ReadMachineIpService.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
service
;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp
;
import
java.util.List
;
/**
* @author zsp
* @create 2021/12/3 10:59
*/
public
interface
ReadMachineIpService
{
/**
* add
* @param machineIp addIp
*/
void
addIp
(
ReadMachineIp
machineIp
);
/**
* update
* @param machineIp updateIp
*/
ReadMachineIp
updateIp
(
ReadMachineIp
machineIp
);
/**
* 根据id查询
*/
ReadMachineIp
findById
(
Integer
id
);
/**
* 查询全部
*/
List
<
ReadMachineIp
>
findAll
();
void
deleteById
(
Integer
id
);
ReadMachineIp
findByName
(
String
name
);
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/service/impl/DeviceLibraryPositionServiceImpl.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
service
.
impl
;
import
com.github.wenhao.jpa.PredicateBuilder
;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.dev.device.library.repository.DeviceLibraryPositionDao
;
import
com.tykj.dev.device.library.service.DeviceLibraryPositionService
;
import
com.tykj.dev.device.library.subject.domin.DeviceLibraryPosition
;
import
com.tykj.dev.device.user.util.UserUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author zsp
* @create 2021/12/13 16:23
*/
@Service
public
class
DeviceLibraryPositionServiceImpl
implements
DeviceLibraryPositionService
{
@Autowired
private
UserUtils
userUtils
;
@Autowired
private
DeviceLibraryPositionDao
deviceLibraryPositionDao
;
@Override
public
void
addDeviceLibraryPosition
(
DeviceLibraryPosition
deviceLibraryPosition
)
{
deviceLibraryPositionDao
.
save
(
deviceLibraryPosition
);
}
@Override
public
void
updateDeviceLibraryPosition
(
DeviceLibraryPosition
deviceLibraryPosition
)
{
deviceLibraryPositionDao
.
save
(
deviceLibraryPosition
);
}
@Override
public
void
batchDeviceLibraryPositions
(
List
<
DeviceLibraryPosition
>
deviceLibraryPositions
)
{
deviceLibraryPositionDao
.
saveAll
(
deviceLibraryPositions
);
}
@Override
public
List
<
DeviceLibraryPosition
>
findByStorageLocationId
(
Integer
StorageLocationId
)
{
return
deviceLibraryPositionDao
.
findAllByStorageLocationId
(
StorageLocationId
);
}
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/service/impl/ReadMachineIpServiceImpl.java
0 → 100644
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
readmachine
.
devreadmachine
.
service
.
impl
;
import
com.tykj.dev.readmachine.devreadmachine.Entity.ReadMachineIp
;
import
com.tykj.dev.readmachine.devreadmachine.repository.ReadMachineIpDao
;
import
com.tykj.dev.readmachine.devreadmachine.service.ReadMachineIpService
;
import
com.tykj.dev.readmachine.devreadmachine.util.ReadUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author zsp
* @create 2021/12/14 13:18
*/
@Service
@Slf4j
public
class
ReadMachineIpServiceImpl
implements
ReadMachineIpService
{
@Autowired
private
ReadMachineIpDao
readMachineIpDao
;
@Override
public
void
addIp
(
ReadMachineIp
machineIp
)
{
readMachineIpDao
.
save
(
machineIp
);
}
@Override
public
ReadMachineIp
updateIp
(
ReadMachineIp
machineIp
)
{
ReadUtils
readUtils
=
new
ReadUtils
();
readUtils
.
testsetip
(
machineIp
.
getIp
(),
machineIp
.
getMask
(),
machineIp
.
getGateway
());
log
.
info
(
"读写机ip修改成功"
);
return
readMachineIpDao
.
save
(
machineIp
);
}
@Override
public
ReadMachineIp
findById
(
Integer
id
)
{
Optional
<
ReadMachineIp
>
re
=
readMachineIpDao
.
findById
(
id
);
ReadMachineIp
readMachineIp
=
new
ReadMachineIp
();
if
(
re
.
isPresent
()){
readMachineIp
=
re
.
get
();
}
return
readMachineIp
;
}
@Override
public
List
<
ReadMachineIp
>
findAll
()
{
return
readMachineIpDao
.
findAll
();
}
@Override
public
void
deleteById
(
Integer
id
)
{
readMachineIpDao
.
deleteById
(
id
);
}
@Override
public
ReadMachineIp
findByName
(
String
name
)
{
return
null
;
}
}
dev-readmachine/src/main/java/com/tykj/dev/readmachine/devreadmachine/util/ReadUtils.java
浏览文件 @
7475f0ff
...
...
@@ -3,8 +3,12 @@ package com.tykj.dev.readmachine.devreadmachine.util;
import
com.uhf.api.cls.Reader
;
import
com.uhf.api.cls.Reader.*
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
@Slf4j
public
class
ReadUtils
{
/**
...
...
@@ -12,27 +16,29 @@ public class ReadUtils {
*/
int
AntCount
=
1
;
String
ReaderAddr
=
"192.168.101.201"
;
//读写机ip
//公司测试网段ip
// String ReaderAddr="192.168.101.201";
//公司测试读写机实验室ip
// String ReaderAddr="192.168.0.201";
//公司正式读写机实验室ip
String
ReaderAddr
;
Reader
Jreader
;
public
ReadUtils
()
{
public
ReadUtils
(){
Jreader
=
new
Reader
();
}
public
void
testtran
(){
byte
[]
hex
=
new
byte
[]{(
byte
)
0xA2
,(
byte
)
0xC8
,(
byte
)
0xD4
,(
byte
)
0xE5
};
int
len
=
4
;
char
[]
str
=
new
char
[
4
*
2
];
Jreader
.
Hex2Str
(
hex
,
len
,
str
);
Jreader
.
Hex2Str
(
hex
,
len
,
str
);
String
hstr
=
""
;
for
(
int
i
=
0
;
i
<
8
;
i
++)
hstr
+=(
char
)
str
[
i
];
hstr
+=(
char
)
str
[
i
];
System
.
out
.
println
(
"test tohexstr:"
+
hstr
);
String
buf
=
"0011110000001111"
;
byte
[]
binarybuf
=
new
byte
[
2
];
String
buf2
=
"abcdef08"
;
byte
[]
hexbuf
=
new
byte
[
4
];
...
...
@@ -40,13 +46,13 @@ public class ReadUtils {
System
.
out
.
println
(
"test binary:"
);
for
(
int
i
=
0
;
i
<
binarybuf
.
length
;
i
++)
System
.
out
.
println
(
binarybuf
[
i
]);
Jreader
.
Str2Hex
(
buf2
,
8
,
hexbuf
);
System
.
out
.
println
(
"test hex:"
);
for
(
int
i
=
0
;
i
<
hexbuf
.
length
;
i
++)
System
.
out
.
println
(
hexbuf
[
i
]);
}
public
void
testpsam
(){
int
soltid
=
1
;
int
coslen
=
2
;
...
...
@@ -54,11 +60,11 @@ public class ReadUtils {
int
[]
cosresplen
=
new
int
[
1
];
byte
[]
cosresp
=
new
byte
[
cos
.
length
+
13
];
byte
[]
errcode
=
new
byte
[
4
];
READER_ERR
er
=
Jreader
.
PsamTransceiver
(
soltid
,
coslen
,
cos
,
cosresplen
,
cosresp
,
errcode
,
(
short
)
1000
);
}
public
void
testcustomcmd
()
{
//m4 qt
IMPINJM4QtPara
CustomPara
=
Jreader
.
new
IMPINJM4QtPara
();
...
...
@@ -68,17 +74,17 @@ public class ReadUtils {
CustomPara
.
PersistType
=
3
;
CustomPara
.
RangeType
=
4
;
CustomPara
.
AccessPwd
=
new
byte
[]{
0x11
,
0x22
,
0x33
,
0x44
};
IMPINJM4QtResult
CustomRet
=
Jreader
.
new
IMPINJM4QtResult
();
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
IMPINJ_M4_Qt
,
CustomPara
,
CustomRet
);
//allen h3
ALIENHiggs3BlockReadLockPara
CustomPara2
=
Jreader
.
new
ALIENHiggs3BlockReadLockPara
();
CustomPara2
.
AccessPwd
=
new
byte
[]{
0x55
,
0x66
,
0x77
,(
byte
)
0x88
};
CustomPara2
.
BlkBits
=
6
;
CustomPara2
.
TimeOut
=
890
;
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
ALIEN_Higgs3_BlockReadLock
,
CustomPara2
,
null
);
//nexp eas
NXPChangeEASPara
CustomPara3
=
Jreader
.
new
NXPChangeEASPara
();
CustomPara3
.
AccessPwd
=
new
byte
[]{(
byte
)
0x99
,(
byte
)
0xaa
,(
byte
)
0xbb
,(
byte
)
0xcc
};
...
...
@@ -92,7 +98,7 @@ public class ReadUtils {
CustomPara4
.
MC
=
11
;
CustomPara4
.
TimeOut
=
950
;
CustomPara4
.
TrExt
=
17
;
NXPEASAlarmResult
CustomRet2
=
Jreader
.
new
NXPEASAlarmResult
();
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
NXP_EASAlarm
,
CustomPara4
,
CustomRet2
);
...
...
@@ -100,55 +106,55 @@ public class ReadUtils {
Jreader
.
CustomCmd_BaseType
(
1
,
1
,
new
byte
[]{
0x11
,(
byte
)
0x99
,(
byte
)
0xbb
},
new
byte
[]{});
}
public
void
testreadandwrite
(){
/*
* READER_ERR WriteTagData(int ant,char bank,int address, byte[] data, int datalen, byte[] accesspasswd,short timeout);
* ant
???????????
* bank
??????? 0????????? 1???epc?? 2???tid?? 3???user??
* address
???????? ???epc?????????
* data
???????
* datalen
?????????????
* accesspwd
??????????"00000000" 8????????????
* timeout
??????????
* ant
操作的单天线
* bank
表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
* address
表示地址块, 注意epc区从第二块开始
* data
写的数据
* datalen
表示写的数据长度
* accesspwd
表示密码,默认"00000000" 8个十六进制字符
* timeout
操作超时时间
*/
String
pwd
=
"00000000"
;
byte
[]
data
=
new
byte
[]{
0x00
,
0x11
,
0x22
,
0x33
,
0x44
,
0x55
,
0x66
,
0x77
,(
byte
)
0x88
,(
byte
)
0x99
,(
byte
)
0xaa
,(
byte
)
0xbb
};
byte
[]
pwdb
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
pwdb
);
byte
[]
pwdb
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
pwdb
);
//?????
READER_ERR
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
data
,
6
,
pwdb
,
(
short
)
1000
);
byte
[]
datar
=
new
byte
[
12
];
//??????
/*
* READER_ERR GetTagData(int ant,char bank, int address, int blkcnt,byte[] data, byte[] accesspasswd, short timeout);
* ant
???????????
* bank
??????? 0????????? 1???epc?? 2???tid?? 3???user??
* address
???????? ???epc?????????
* blkcnt
?????????
* data
??????????????ò????
blkcnt*2
* accesspwd
??????????"00000000" 8????????????
* timeout
??????????
* ant
操作的单天线
* bank
表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
* address
表示地址块, 注意epc区从第二块开始
* blkcnt
表示读块数
* data
存放数据的字节,应该不小于
blkcnt*2
* accesspwd
表示密码,默认"00000000" 8个十六进制字符
* timeout
操作超时时间
*/
er
=
Jreader
.
GetTagData
(
1
,
(
char
)
1
,
2
,
6
,
datar
,
null
,
(
short
)
1000
);
String
str1
=
""
;
for
(
int
i
=
0
;
i
<
12
;
i
++)
{
str1
+=
Integer
.
toHexString
(
datar
[
i
]&
0xff
);
}
System
.
out
.
println
(
er
.
toString
()+
" "
+
str1
.
toUpperCase
());
byte
[]
data2
=
new
byte
[]{(
byte
)
0xFF
,
0x01
,
0x22
,
0x03
,
0x44
,
0x05
,
0x66
,
0x07
,(
byte
)
0x88
,(
byte
)
0x09
,(
byte
)
0xaa
,(
byte
)
0x0b
};
er
=
Jreader
.
WriteTagEpcEx
(
1
,
data2
,
12
,
null
,
(
short
)
1000
);
er
=
Jreader
.
GetTagData
(
1
,
(
char
)
1
,
2
,
6
,
datar
,
null
,
(
short
)
1000
);
str1
=
""
;
for
(
int
i
=
0
;
i
<
12
;
i
++)
{
str1
+=
Integer
.
toHexString
(
datar
[
i
]&
0xff
);
...
...
@@ -156,89 +162,91 @@ public class ReadUtils {
System
.
out
.
println
(
er
.
toString
()+
" "
+
str1
.
toUpperCase
());
}
public
void
testblockop
()
{
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//
??????
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//
擦除块
READER_ERR
er
=
Jreader
.
BlockErase
(
1
,
(
char
)
1
,
2
,
12
,
data
,
(
short
)
1000
);
//
????????
Jreader
.
BlockPermaLock
(
1
,
1
,
2
,
6
,
new
byte
[]{(
byte
)
0xff
,(
byte
)
0xff
},
data
,
(
short
)
1000
);
//
永久锁块
Jreader
.
BlockPermaLock
(
1
,
1
,
2
,
6
,
new
byte
[]{(
byte
)
0xff
,(
byte
)
0xff
},
data
,
(
short
)
1000
);
}
public
void
testinitreader
()
{
//
?????????
/*
?????????????????
* src
???? ip???????????
* rtype
???????????4?????????
4
*
?????????READER_ERR ,MT_OK_ERR????????????????????
public
void
testinitreader
(
String
ip
)
{
//
创建读写器
/*
根据天线口连接读写器
* src
是地址 ip地址或者串口号
* rtype
是天线口数,4口天线传入
4
*
返回类型:READER_ERR ,MT_OK_ERR表示正常,其他表示错误
*/
READER_ERR
er
=
Jreader
.
InitReader
(
ReaderAddr
,
Reader_Type
.
MODULE_ONE_ANT
);
// READER_ERR er=Jreader.InitReader(ReaderAddr,Reader_Type.MODULE_ONE_ANT);
log
.
info
(
"ReaderAddr:{}"
,
ReaderAddr
);
// READER_ERR er=Jreader.InitReader_Notype(ReaderAddr,AntCount);
READER_ERR
er
=
Jreader
.
InitReader_Notype
(
ip
,
AntCount
);
System
.
out
.
println
(
er
.
toString
());
/*
*
?????????????AntPowerConf
*
?????
* AntPower
????
* antcnt
??????????
* AntPower
????
* antid
?????
* readPower
??????
* writePower
?????
*
构建天线组功率:AntPowerConf
*
成员:
* AntPower
数组
* antcnt
表示天线个数
* AntPower
类型
* antid
天线号
* readPower
读功率
* writePower
写功率
*/
AntPowerConf
apcf
=
Jreader
.
new
AntPowerConf
();
apcf
.
antcnt
=
AntCount
;
for
(
int
i
=
0
;
i
<
apcf
.
antcnt
;
i
++)
{
AntPower
jaap
=
Jreader
.
new
AntPower
();
jaap
.
antid
=
i
+
1
;
jaap
.
readPower
=
2800
;
jaap
.
writePower
=
2750
;
apcf
.
Powers
[
i
]=
jaap
;
// jaap.readPower=2800;
jaap
.
readPower
=
1000
;
jaap
.
writePower
=
1000
;
// jaap.writePower=2750;
apcf
.
Powers
[
i
]=
jaap
;
}
AntPowerConf
apcf2
=
Jreader
.
new
AntPowerConf
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf2
);
for
(
int
i
=
0
;
i
<
apcf2
.
antcnt
;
i
++)
{
for
(
int
i
=
0
;
i
<
apcf2
.
antcnt
;
i
++){
System
.
out
.
print
(
"antid:"
+
apcf2
.
Powers
[
i
].
antid
);
System
.
out
.
print
(
" rp:"
+
apcf2
.
Powers
[
i
].
readPower
);
System
.
out
.
print
(
" wp:"
+
apcf2
.
Powers
[
i
].
writePower
);
System
.
out
.
println
();
}
Inv_Potls_ST
ipst
=
Jreader
.
new
Inv_Potls_ST
();
ipst
.
potlcnt
=
1
;
ipst
.
potls
=
new
Inv_Potl
[
1
];
for
(
int
i
=
0
;
i
<
ipst
.
potlcnt
;
i
++)
{
for
(
int
i
=
0
;
i
<
ipst
.
potlcnt
;
i
++){
Inv_Potl
ipl
=
Jreader
.
new
Inv_Potl
();
ipl
.
weight
=
30
;
ipl
.
potl
=
SL_TagProtocol
.
SL_TAG_PROTOCOL_GEN2
;
ipst
.
potls
[
0
]=
ipl
;
}
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst
);
/*
*
?????????????
*
???????????1???????????0????????
*
设置是否检查天线
*
当参数值传入1的时候表示要检查,0表示不检查
*/
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
0
);
}
public
void
testinventory1
()
{
public
List
<
String
>
testinventory1
()
{
/*
*
*
???????????????????????????????????
* HoptableData_ST
??????????
* lenhtb
?????????
* htb
????int???????????????
*
*
设置频率,对于某天线设置频率表可以提搞读效果
* HoptableData_ST
天线频率表类
* lenhtb
表示频率表长度
* htb
数组int类型,表示具体频点
HoptableData_ST hdst=Jreader.new HoptableData_ST();
hdst.lenhtb=2;
hdst.htb[0]=915250;
...
...
@@ -246,92 +254,98 @@ public class ReadUtils {
READER_ERR er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_FREQUENCY_HOPTABLE,hdst);
*/
/* ants ????????????????????????????
* antcnt ???????????
* timeout ??????????
* pTInfo ??????????????
* tagcnt ????????????????????????????
/* ants 轮询使用的天线,即连接天线口的天线
* antcnt 使用的天线个数
* timeout 读标签的时间
* pTInfo 存放标签数据的数组
* tagcnt 存放标签的个数,只需传入一个元素的数组
*/
int
[]
tagcnt
=
new
int
[
1
];
TAGINFO
[]
taginfo
=
new
TAGINFO
[
200
];
READER_ERR
er
=
Jreader
.
TagInventory
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
taginfo
,
tagcnt
);
if
(
er
==
READER_ERR
.
MT_OK_ERR
)
{
for
(
int
i
=
0
;
i
<
tagcnt
[
0
];
i
++)
{
System
.
out
.
println
(
"inv1_epc:"
+
Reader
.
bytes_Hexstr
(
taginfo
[
i
].
EpcId
));
}
}
int
[]
tagcnt
=
new
int
[
1
];
TAGINFO
[]
taginfo
=
new
TAGINFO
[
200
];
READER_ERR
er
=
Jreader
.
TagInventory
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
taginfo
,
tagcnt
);
List
<
String
>
result
=
new
ArrayList
<>();
if
(
er
==
READER_ERR
.
MT_OK_ERR
)
{
for
(
int
i
=
0
;
i
<
tagcnt
[
0
];
i
++)
{
result
.
add
(
Reader
.
bytes_Hexstr
(
taginfo
[
i
].
EpcId
));
// System.out.println("inv1_epc:"+Reader.bytes_Hexstr(taginfo[i].EpcId));
}
}
return
result
;
}
public
void
testinventory2
()
{
int
[]
tagcnt
=
new
int
[
1
];
TAGINFO
taginfo
=
Jreader
.
new
TAGINFO
();
READER_ERR
er
=
Jreader
.
TagInventory_Raw
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
tagcnt
);
for
(
int
i
=
0
;
i
<
tagcnt
[
0
];
i
++)
{
{
er
=
Jreader
.
GetNextTag
(
taginfo
);
if
(
taginfo
!=
null
)
System
.
out
.
println
(
"inv2_epc:"
+
Reader
.
bytes_Hexstr
(
taginfo
.
EpcId
));
}
if
(
taginfo
!=
null
)
System
.
out
.
println
(
"inv2_epc:"
+
Reader
.
bytes_Hexstr
(
taginfo
.
EpcId
));
}
byte
[]
outbuf
=
new
byte
[
800
];
er
=
Jreader
.
TagInventory_Raw
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
tagcnt
);
er
=
Jreader
.
GetNextTag_BaseType
(
outbuf
);
}
public
void
testdataonreader
()
{
byte
[]
data3
=
new
byte
[
100
];
READER_ERR
er
=
Jreader
.
ReadDataOnReader
(
0
,
data3
,
100
);
er
=
Jreader
.
SaveDataOnReader
(
0
,
data3
,
100
);
//
???????????????
er
=
Jreader
.
EraseDataOnReader
();
er
=
Jreader
.
SaveDataOnReader
(
0
,
data3
,
100
);
//
擦除读写器上数据
er
=
Jreader
.
EraseDataOnReader
();
}
public
void
testkilltag
()
{
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
READER_ERR
er
=
Jreader
.
KillTag
(
1
,
data
,
(
short
)
1000
);
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
READER_ERR
er
=
Jreader
.
KillTag
(
1
,
data
,
(
short
)
1000
);
}
public
void
testlocktag
()
{
String
pwd
=
"12340000"
;
// READER_ERR er=Jreader.Lock180006BTag(1, 2, 6, (short) 1000);
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//?????
READER_ERR
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
0
,
2
,
data
,
2
,
null
,
(
short
)
1000
);
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_LOCK
.
value
(),
data
,
(
short
)
1000
);
//?????
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
null
,
(
short
)
1000
);
System
.
out
.
println
(
"no pwd write"
+
er
.
toString
());
//?????
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
data
,
(
short
)
1000
);
System
.
out
.
println
(
"pwd write"
+
er
.
toString
());
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_UNLOCK
.
value
(),
data
,
(
short
)
1000
);
String
pwd
=
"12340000"
;
// READER_ERR er=Jreader.Lock180006BTag(1, 2, 6, (short) 1000);
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//写数据
READER_ERR
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
0
,
2
,
data
,
2
,
null
,
(
short
)
1000
);
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_LOCK
.
value
(),
data
,
(
short
)
1000
);
//写数据
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
null
,
(
short
)
1000
);
System
.
out
.
println
(
"no pwd write"
+
er
.
toString
());
//写数据
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
data
,
(
short
)
1000
);
System
.
out
.
println
(
"pwd write"
+
er
.
toString
());
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_UNLOCK
.
value
(),
data
,
(
short
)
1000
);
}
public
void
testsetip
()
{
public
void
testsetip
(
String
ip
,
String
mask
,
String
gateway
)
{
Reader_Ip
rip
=
Jreader
.
new
Reader_Ip
();
/*
rip.ip=new byte[]{'1','9','2','.','1','6','8','.','1','.','1','0','1'};
rip.mask=new byte[]{'2','5','5','.','2','5','5','.','2','5','5','.','0'};
rip.gateway=new byte[]{'1','9','2','.','1','6','8','.','1','.','2','5','4'};
//*/
rip
.
ip
=
"192.168.1.100"
.
getBytes
();
rip
.
mask
=
"255.255.255.0"
.
getBytes
();
rip
.
gateway
=
"192.168.1.1"
.
getBytes
();
// rip.ip="192.168.1.100".getBytes();
// rip.mask="255.255.255.0".getBytes();
// rip.gateway="192.168.1.1".getBytes();
rip
.
ip
=
ip
.
getBytes
();
rip
.
mask
=
mask
.
getBytes
();
rip
.
gateway
=
gateway
.
getBytes
();
//*/
READER_ERR
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IP
,
rip
);
}
public
void
testrparams
()
{
HoptableData_ST
hdst
=
Jreader
.
new
HoptableData_ST
();
...
...
@@ -342,7 +356,7 @@ public class ReadUtils {
hdst
.
htb
[
3
]=
925750
;
hdst
.
htb
[
4
]=
926750
;
READER_ERR
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_HOPTABLE
,
hdst
);
HoptableData_ST
hdst2
=
Jreader
.
new
HoptableData_ST
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_HOPTABLE
,
hdst2
);
for
(
int
i
=
0
;
i
<
hdst2
.
lenhtb
;
i
++)
...
...
@@ -350,14 +364,14 @@ public class ReadUtils {
System
.
out
.
print
(
"htb:"
+
i
);
System
.
out
.
println
(
" "
+(
hdst2
.
htb
[
i
]));
}
//
Region_Conf
rcf1
=
Region_Conf
.
RG_NA
;
Region_Conf
[]
rcf2
=
new
Region_Conf
[
1
];
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_REGION
,
rcf1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_REGION
,
rcf2
);
int
[]
val1
=
new
int
[]{
250
};
int
[]
val2
=
new
int
[]{-
1
};
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_BLF
,
val1
);
...
...
@@ -366,46 +380,46 @@ public class ReadUtils {
val1
[
0
]=
496
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_MAXEPCLEN
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_MAXEPCLEN
,
val2
);
val1
[
0
]=
10
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_Q
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_Q
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_SESSION
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_SESSION
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TAGENCODING
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TAGENCODING
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARGET
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARGET
,
val2
);
val1
[
0
]=
3
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARI
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARI
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_WRITEMODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_WRITEMODE
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_BLF
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_BLF
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_DELIMITER
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_DELIMITER
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val2);
val1
[
0
]=
1
;
val2
[
0
]=-
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POWERSAVE_MODE
,
val1
);
...
...
@@ -413,27 +427,27 @@ public class ReadUtils {
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_AVAILABLE_ANTPORTS, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_AVAILABLE_ANTPORTS
,
val2
);
ConnAnts_ST
cast
=
Jreader
.
new
ConnAnts_ST
();
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_CONN_ANTS, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_CONN_ANTS
,
cast
);
Reader_Ip
rip2
=
Jreader
.
new
Reader_Ip
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_IP
,
rip2
);
System
.
out
.
print
(
"ip:"
+
rip2
.
ip
.
length
+
" "
);
System
.
out
.
println
(
new
String
(
rip2
.
ip
));
System
.
out
.
println
(
new
String
(
rip2
.
mask
));
System
.
out
.
println
(
new
String
(
rip2
.
gateway
));
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_VERSION, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_VERSION, val2);
AntPowerConf
apcf
=
Jreader
.
new
AntPowerConf
();
apcf
.
antcnt
=
1
;
for
(
int
i
=
0
;
i
<
apcf
.
antcnt
;
i
++)
...
...
@@ -442,7 +456,7 @@ public class ReadUtils {
jaap
.
antid
=
i
+
1
;
jaap
.
readPower
=
2800
;
jaap
.
writePower
=
2750
;
apcf
.
Powers
[
i
]=
jaap
;
apcf
.
Powers
[
i
]=
jaap
;
}
AntPowerConf
apcf2
=
Jreader
.
new
AntPowerConf
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf
);
...
...
@@ -454,50 +468,50 @@ public class ReadUtils {
System
.
out
.
print
(
" wp:"
+
apcf2
.
Powers
[
i
].
writePower
);
System
.
out
.
println
();
}
val1
[
0
]=
100
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_HOPTIME
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_HOPTIME
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_LBT_ENABLE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_LBT_ENABLE
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MAXPOWER, val1);
short
[]
valso
=
new
short
[
1
];
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_MAXPOWER
,
valso
);
System
.
out
.
println
(
"max:"
+
valso
[
0
]);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MINPOWER, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_MINPOWER
,
valso
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val2);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_TEMPERATURE, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_TEMPERATURE
,
val2
);
EmbededData_ST
edst
=
Jreader
.
new
EmbededData_ST
();
edst
.
startaddr
=
0
;
edst
.
bank
=
2
;
//bytecnt=0
??????????
//bytecnt=0
取消嵌入数据
edst
.
bytecnt
=
2
;
edst
.
accesspwd
=
null
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
edst
);
EmbededData_ST
edst2
=
Jreader
.
new
EmbededData_ST
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
edst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
null
);
EmbededSecureRead_ST
esrst
=
Jreader
.
new
EmbededSecureRead_ST
();
esrst
.
accesspwd
=
1280
;
esrst
.
address
=
2
;
esrst
.
ApIndexBitsNumInEpc
=
1
;
esrst
.
ApIndexStartBitsInEpc
=
3
;
esrst
.
bank
=
1
;
//blkcnt =0
?????
//blkcnt =0
取消。
esrst
.
blkcnt
=
2
;
esrst
.
pwdtype
=
1
;
esrst
.
tagtype
=
2
;
...
...
@@ -505,20 +519,20 @@ public class ReadUtils {
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
esrst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
esrst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
null
);
TagFilter_ST
tfst
=
Jreader
.
new
TagFilter_ST
();
tfst
.
bank
=
1
;
tfst
.
fdata
=
new
byte
[]{(
byte
)
0xE2
,(
byte
)
0x00
};
//flen 0
????????
//flen 0
为取消过滤
tfst
.
flen
=
2
;
tfst
.
isInvert
=
0
;
tfst
.
startaddr
=
2
;
TagFilter_ST
tfst2
=
Jreader
.
new
TagFilter_ST
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
tfst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
tfst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
null
);
Inv_Potls_ST
ipst
=
Jreader
.
new
Inv_Potls_ST
();
ipst
.
potlcnt
=
1
;
ipst
.
potls
=
new
Inv_Potl
[
1
];
...
...
@@ -529,18 +543,18 @@ public class ReadUtils {
ipl
.
potl
=
SL_TagProtocol
.
SL_TAG_PROTOCOL_GEN2
;
ipst
.
potls
[
0
]=
ipl
;
}
Inv_Potls_ST
ipst2
=
Jreader
.
new
Inv_Potls_ST
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst2
);
for
(
int
i
=
0
;
i
<
ipst2
.
potlcnt
;
i
++)
System
.
out
.
println
(
ipst2
.
potls
[
i
].
potl
);
System
.
out
.
println
(
ipst2
.
potls
[
i
].
potl
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_SEARCH_MODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_SEARCH_MODE
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_RECORDHIGHESTRSSI
,
val1
);
...
...
@@ -555,73 +569,73 @@ public class ReadUtils {
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA
,
val2
);
val1
[
0
]=
300
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TRANS_TIMEOUT
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TRANS_TIMEOUT
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TRANSMIT_MODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TRANSMIT_MODE
,
val2
);
}
public
void
testgpio
()
{
READER_ERR
er
=
Jreader
.
SetGPO
(
1
,
1
);
er
=
Jreader
.
SetGPO
(
2
,
0
);
er
=
Jreader
.
SetGPO
(
3
,
0
);
er
=
Jreader
.
SetGPO
(
4
,
1
);
int
[]
val
=
new
int
[
1
];
er
=
Jreader
.
GetGPI
(
1
,
val
);
er
=
Jreader
.
GetGPI
(
2
,
val
);
er
=
Jreader
.
GetGPI
(
3
,
val
);
er
=
Jreader
.
GetGPI
(
4
,
val
);
READER_ERR
er
=
Jreader
.
SetGPO
(
1
,
1
);
er
=
Jreader
.
SetGPO
(
2
,
0
);
er
=
Jreader
.
SetGPO
(
3
,
0
);
er
=
Jreader
.
SetGPO
(
4
,
1
);
int
[]
val
=
new
int
[
1
];
er
=
Jreader
.
GetGPI
(
1
,
val
);
er
=
Jreader
.
GetGPI
(
2
,
val
);
er
=
Jreader
.
GetGPI
(
3
,
val
);
er
=
Jreader
.
GetGPI
(
4
,
val
);
}
public
static
void
main
(
String
[]
args
)
{
// TODO Auto-generated method stub
// maintest mt=new maintest
();
// //????????
//
//启动
//
mt.testinitreader();
//???????
//mt.testtran();
//????
gpio
//mt.testgpio();
//???????
//mt.testrparams();
//????????
//mt.testblockop();
//???????????
//mt.testcustomcmd();
//???????????????
//mt.testdataonreader();
//????????
1
ReadUtils
mt
=
new
ReadUtils
();
//测试初始化
//启动
//
mt.testinitreader();
//测试转换
//mt.testtran();
//测试
gpio
//mt.testgpio();
//测试参数
//mt.testrparams();
//测试块操作
//mt.testblockop();
//测试特殊指令
//mt.testcustomcmd();
//测试读写器内部数据
//mt.testdataonreader();
//测试盘点方式
1
//盘存
//
mt.testinventory1();
//????????
2
mt
.
testinventory1
();
//测试盘点方式
2
// mt.testinventory2();
//????????????
//mt.testkilltag();
//?????????
//mt.testlocktag();
//?????????
//测试销毁密码
//mt.testkilltag();
//测试锁标签
//mt.testlocktag();
//测试读写标签
// mt.testreadandwrite();
//?????ip???
//测试改ip地址
//可以修改ip
//
mt.testsetip();
//????
psam
//mt.testpsam();
//
???????
//
mt.testsetip();
//测试
psam
//mt.testpsam();
//
关闭读写器
//关闭
//
mt.Jreader.CloseReader();
//
System.out.println("test over");
mt
.
Jreader
.
CloseReader
();
System
.
out
.
println
(
"test over"
);
}
}
dev-readmachine/src/main/resources/lib/ModuleAPI_J.jar
0 → 100644
浏览文件 @
7475f0ff
File added
dev-rfid/src/main/java/com/tykj/dev/rfid/timeTask/ReadUtils.java
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
rfid
.
timeTask
;
import
com.uhf.api.cls.Reader
;
import
com.uhf.api.cls.Reader.*
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
@Slf4j
@Component
public
class
ReadUtils
{
/**
* @param args
*/
int
AntCount
=
1
;
//公司测试网段ip
// String ReaderAddr="192.168.101.201";
//公司测试读写机实验室ip
// String ReaderAddr="192.168.0.201";
//公司正式读写机实验室ip
String
ReaderAddr
=
"192.168.0.100"
;
// @Value("${readMachine.ip}")
// public String ReaderAddr;
Reader
Jreader
;
public
ReadUtils
()
{
Jreader
=
new
Reader
();
}
public
void
testtran
(){
byte
[]
hex
=
new
byte
[]{(
byte
)
0xA2
,(
byte
)
0xC8
,(
byte
)
0xD4
,(
byte
)
0xE5
};
int
len
=
4
;
char
[]
str
=
new
char
[
4
*
2
];
Jreader
.
Hex2Str
(
hex
,
len
,
str
);
String
hstr
=
""
;
for
(
int
i
=
0
;
i
<
8
;
i
++)
hstr
+=(
char
)
str
[
i
];
System
.
out
.
println
(
"test tohexstr:"
+
hstr
);
String
buf
=
"0011110000001111"
;
byte
[]
binarybuf
=
new
byte
[
2
];
String
buf2
=
"abcdef08"
;
byte
[]
hexbuf
=
new
byte
[
4
];
Jreader
.
Str2Binary
(
buf
,
buf
.
length
(),
binarybuf
);
System
.
out
.
println
(
"test binary:"
);
for
(
int
i
=
0
;
i
<
binarybuf
.
length
;
i
++)
System
.
out
.
println
(
binarybuf
[
i
]);
Jreader
.
Str2Hex
(
buf2
,
8
,
hexbuf
);
System
.
out
.
println
(
"test hex:"
);
for
(
int
i
=
0
;
i
<
hexbuf
.
length
;
i
++)
System
.
out
.
println
(
hexbuf
[
i
]);
}
public
void
testpsam
(){
int
soltid
=
1
;
int
coslen
=
2
;
byte
[]
cos
=
new
byte
[]{
0x11
,
0x22
,
0x33
,
0x44
,
0x55
,
0x66
,
0x77
,(
byte
)
0x88
,(
byte
)
0x99
,
0x12
,
0x34
};
int
[]
cosresplen
=
new
int
[
1
];
byte
[]
cosresp
=
new
byte
[
cos
.
length
+
13
];
byte
[]
errcode
=
new
byte
[
4
];
READER_ERR
er
=
Jreader
.
PsamTransceiver
(
soltid
,
coslen
,
cos
,
cosresplen
,
cosresp
,
errcode
,
(
short
)
1000
);
}
public
void
testcustomcmd
()
{
//m4 qt
IMPINJM4QtPara
CustomPara
=
Jreader
.
new
IMPINJM4QtPara
();
CustomPara
.
TimeOut
=
800
;
CustomPara
.
CmdType
=
1
;
CustomPara
.
MemType
=
2
;
CustomPara
.
PersistType
=
3
;
CustomPara
.
RangeType
=
4
;
CustomPara
.
AccessPwd
=
new
byte
[]{
0x11
,
0x22
,
0x33
,
0x44
};
IMPINJM4QtResult
CustomRet
=
Jreader
.
new
IMPINJM4QtResult
();
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
IMPINJ_M4_Qt
,
CustomPara
,
CustomRet
);
//allen h3
ALIENHiggs3BlockReadLockPara
CustomPara2
=
Jreader
.
new
ALIENHiggs3BlockReadLockPara
();
CustomPara2
.
AccessPwd
=
new
byte
[]{
0x55
,
0x66
,
0x77
,(
byte
)
0x88
};
CustomPara2
.
BlkBits
=
6
;
CustomPara2
.
TimeOut
=
890
;
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
ALIEN_Higgs3_BlockReadLock
,
CustomPara2
,
null
);
//nexp eas
NXPChangeEASPara
CustomPara3
=
Jreader
.
new
NXPChangeEASPara
();
CustomPara3
.
AccessPwd
=
new
byte
[]{(
byte
)
0x99
,(
byte
)
0xaa
,(
byte
)
0xbb
,(
byte
)
0xcc
};
CustomPara3
.
isSet
=
1
;
CustomPara3
.
TimeOut
=
900
;
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
NXP_ChangeEAS
,
CustomPara3
,
null
);
//nxp easl
NXPEASAlarmPara
CustomPara4
=
Jreader
.
new
NXPEASAlarmPara
();
CustomPara4
.
DR
=
7
;
CustomPara4
.
MC
=
11
;
CustomPara4
.
TimeOut
=
950
;
CustomPara4
.
TrExt
=
17
;
NXPEASAlarmResult
CustomRet2
=
Jreader
.
new
NXPEASAlarmResult
();
Jreader
.
CustomCmd
(
1
,
CustomCmdType
.
NXP_EASAlarm
,
CustomPara4
,
CustomRet2
);
//basetype
Jreader
.
CustomCmd_BaseType
(
1
,
1
,
new
byte
[]{
0x11
,(
byte
)
0x99
,(
byte
)
0xbb
},
new
byte
[]{});
}
public
void
testreadandwrite
(){
/*
* READER_ERR WriteTagData(int ant,char bank,int address, byte[] data, int datalen, byte[] accesspasswd,short timeout);
* ant 操作的单天线
* bank 表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
* address 表示地址块, 注意epc区从第二块开始
* data 写的数据
* datalen 表示写的数据长度
* accesspwd 表示密码,默认"00000000" 8个十六进制字符
* timeout 操作超时时间
*/
String
pwd
=
"00000000"
;
byte
[]
data
=
new
byte
[]{
0x00
,
0x11
,
0x22
,
0x33
,
0x44
,
0x55
,
0x66
,
0x77
,(
byte
)
0x88
,(
byte
)
0x99
,(
byte
)
0xaa
,(
byte
)
0xbb
};
byte
[]
pwdb
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
pwdb
);
//?????
READER_ERR
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
data
,
6
,
pwdb
,
(
short
)
1000
);
byte
[]
datar
=
new
byte
[
12
];
//??????
/*
* READER_ERR GetTagData(int ant,char bank, int address, int blkcnt,byte[] data, byte[] accesspasswd, short timeout);
* ant 操作的单天线
* bank 表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
* address 表示地址块, 注意epc区从第二块开始
* blkcnt 表示读块数
* data 存放数据的字节,应该不小于blkcnt*2
* accesspwd 表示密码,默认"00000000" 8个十六进制字符
* timeout 操作超时时间
*/
er
=
Jreader
.
GetTagData
(
1
,
(
char
)
1
,
2
,
6
,
datar
,
null
,
(
short
)
1000
);
String
str1
=
""
;
for
(
int
i
=
0
;
i
<
12
;
i
++)
{
str1
+=
Integer
.
toHexString
(
datar
[
i
]&
0xff
);
}
System
.
out
.
println
(
er
.
toString
()+
" "
+
str1
.
toUpperCase
());
byte
[]
data2
=
new
byte
[]{(
byte
)
0xFF
,
0x01
,
0x22
,
0x03
,
0x44
,
0x05
,
0x66
,
0x07
,(
byte
)
0x88
,(
byte
)
0x09
,(
byte
)
0xaa
,(
byte
)
0x0b
};
er
=
Jreader
.
WriteTagEpcEx
(
1
,
data2
,
12
,
null
,
(
short
)
1000
);
er
=
Jreader
.
GetTagData
(
1
,
(
char
)
1
,
2
,
6
,
datar
,
null
,
(
short
)
1000
);
str1
=
""
;
for
(
int
i
=
0
;
i
<
12
;
i
++)
{
str1
+=
Integer
.
toHexString
(
datar
[
i
]&
0xff
);
}
System
.
out
.
println
(
er
.
toString
()+
" "
+
str1
.
toUpperCase
());
}
public
void
testblockop
()
{
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//擦除块
READER_ERR
er
=
Jreader
.
BlockErase
(
1
,
(
char
)
1
,
2
,
12
,
data
,
(
short
)
1000
);
//永久锁块
Jreader
.
BlockPermaLock
(
1
,
1
,
2
,
6
,
new
byte
[]{(
byte
)
0xff
,(
byte
)
0xff
},
data
,
(
short
)
1000
);
}
public
void
testinitreader
()
{
//创建读写器
/* 根据天线口连接读写器
* src 是地址 ip地址或者串口号
* rtype 是天线口数,4口天线传入4
* 返回类型:READER_ERR ,MT_OK_ERR表示正常,其他表示错误
*/
// READER_ERR er=Jreader.InitReader(ReaderAddr,Reader_Type.MODULE_ONE_ANT);
log
.
info
(
"ReaderAddr:{}"
,
ReaderAddr
);
READER_ERR
er
=
Jreader
.
InitReader_Notype
(
ReaderAddr
,
AntCount
);
System
.
out
.
println
(
er
.
toString
());
/*
* 构建天线组功率:AntPowerConf
* 成员:
* AntPower数组
* antcnt表示天线个数
* AntPower类型
* antid 天线号
* readPower 读功率
* writePower 写功率
*/
AntPowerConf
apcf
=
Jreader
.
new
AntPowerConf
();
apcf
.
antcnt
=
AntCount
;
for
(
int
i
=
0
;
i
<
apcf
.
antcnt
;
i
++)
{
AntPower
jaap
=
Jreader
.
new
AntPower
();
jaap
.
antid
=
i
+
1
;
//package com.tykj.dev.rfid.timeTask;
//
//import com.uhf.api.cls.Reader;
//import com.uhf.api.cls.Reader.*;
//import lombok.Data;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.util.ArrayList;
//import java.util.List;
//
//@Data
//@Slf4j
//public class ReadUtils {
//
//
// /**
// * @param args
// */
//
// int AntCount=1;
// //公司测试网段ip
//// String ReaderAddr="192.168.101.201";
// //公司测试读写机实验室ip
//// String ReaderAddr="192.168.0.201";
// //公司正式读写机实验室ip
// String ReaderAddr="192.168.0.100";
//// @Value("${readMachine.ip}")
//// public String ReaderAddr;
//
// Reader Jreader;
// public ReadUtils()
// {
// Jreader=new Reader();
// }
//
// public void testtran(){
// byte[] hex=new byte[]{(byte) 0xA2,(byte) 0xC8,(byte) 0xD4,(byte) 0xE5};
// int len=4;
// char[] str=new char[4*2];
// Jreader.Hex2Str(hex, len, str);
// String hstr = "";
// for(int i=0;i<8;i++)
// hstr+=(char)str[i];
// System.out.println("test tohexstr:"+hstr);
//
// String buf="0011110000001111";
//
// byte[] binarybuf=new byte[2];
// String buf2="abcdef08";
// byte[] hexbuf=new byte[4];
// Jreader.Str2Binary(buf, buf.length(), binarybuf);
// System.out.println("test binary:");
// for(int i=0;i<binarybuf.length;i++)
// System.out.println(binarybuf[i]);
//
// Jreader.Str2Hex(buf2, 8, hexbuf);
// System.out.println("test hex:");
// for(int i=0;i<hexbuf.length;i++)
// System.out.println(hexbuf[i]);
// }
//
// public void testpsam(){
// int soltid=1;
// int coslen=2;
// byte[] cos=new byte[]{0x11,0x22,0x33,0x44,0x55,0x66,0x77,(byte) 0x88,(byte) 0x99,0x12,0x34};
// int[] cosresplen=new int[1];
// byte[] cosresp=new byte[cos.length+13];
// byte[] errcode=new byte[4];
//
// READER_ERR er=Jreader.PsamTransceiver(soltid, coslen, cos, cosresplen, cosresp,
// errcode, (short)1000);
// }
//
// public void testcustomcmd() {
// //m4 qt
// IMPINJM4QtPara CustomPara=Jreader.new IMPINJM4QtPara();
// CustomPara.TimeOut=800;
// CustomPara.CmdType=1;
// CustomPara.MemType=2;
// CustomPara.PersistType=3;
// CustomPara.RangeType=4;
// CustomPara.AccessPwd=new byte[]{0x11,0x22,0x33,0x44};
//
// IMPINJM4QtResult CustomRet=Jreader.new IMPINJM4QtResult();
// Jreader.CustomCmd(1, CustomCmdType.IMPINJ_M4_Qt, CustomPara, CustomRet);
//
// //allen h3
// ALIENHiggs3BlockReadLockPara CustomPara2=Jreader.new ALIENHiggs3BlockReadLockPara();
// CustomPara2.AccessPwd=new byte[]{0x55,0x66,0x77,(byte) 0x88};
// CustomPara2.BlkBits=6;
// CustomPara2.TimeOut=890;
// Jreader.CustomCmd(1, CustomCmdType.ALIEN_Higgs3_BlockReadLock, CustomPara2, null);
//
// //nexp eas
// NXPChangeEASPara CustomPara3=Jreader.new NXPChangeEASPara();
// CustomPara3.AccessPwd=new byte[]{(byte) 0x99,(byte) 0xaa,(byte) 0xbb,(byte) 0xcc};
// CustomPara3.isSet=1;
// CustomPara3.TimeOut=900;
// Jreader.CustomCmd(1, CustomCmdType.NXP_ChangeEAS, CustomPara3, null);
//
// //nxp easl
// NXPEASAlarmPara CustomPara4=Jreader.new NXPEASAlarmPara();
// CustomPara4.DR=7;
// CustomPara4.MC=11;
// CustomPara4.TimeOut=950;
// CustomPara4.TrExt=17;
//
// NXPEASAlarmResult CustomRet2=Jreader.new NXPEASAlarmResult();
// Jreader.CustomCmd(1, CustomCmdType.NXP_EASAlarm, CustomPara4, CustomRet2);
//
// //basetype
// Jreader.CustomCmd_BaseType(1, 1, new byte[]{0x11,(byte) 0x99,(byte) 0xbb}, new byte[]{});
//
// }
//
// public void testreadandwrite(){
// /*
// * READER_ERR WriteTagData(int ant,char bank,int address, byte[] data, int datalen, byte[] accesspasswd,short timeout);
// * ant 操作的单天线
// * bank 表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
// * address 表示地址块, 注意epc区从第二块开始
// * data 写的数据
// * datalen 表示写的数据长度
// * accesspwd 表示密码,默认"00000000" 8个十六进制字符
// * timeout 操作超时时间
// */
//
// String pwd="00000000";
// byte[] data=new byte[]{0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,(byte) 0x88,(byte) 0x99,(byte) 0xaa,(byte) 0xbb};
// byte[] pwdb=new byte[4];
// Jreader.Str2Hex(pwd, pwd.length(), pwdb);
// //?????
// READER_ERR er=Jreader.WriteTagData(1, (char)1, 2, data, 6, pwdb, (short)1000);
//
// byte[] datar=new byte[12];
// //??????
// /*
// * READER_ERR GetTagData(int ant,char bank, int address, int blkcnt,byte[] data, byte[] accesspasswd, short timeout);
// * ant 操作的单天线
// * bank 表示区域 0表示保留区 1表示epc区 2表示tid区 3表示user区
// * address 表示地址块, 注意epc区从第二块开始
// * blkcnt 表示读块数
// * data 存放数据的字节,应该不小于blkcnt*2
// * accesspwd 表示密码,默认"00000000" 8个十六进制字符
// * timeout 操作超时时间
// */
// er=Jreader.GetTagData(1, (char)1, 2, 6, datar, null, (short)1000);
// String str1="";
//
// for(int i=0;i<12;i++)
// {
// str1+=Integer.toHexString(datar[i]&0xff);
// }
// System.out.println(er.toString()+" "+str1.toUpperCase());
//
// byte[] data2=new byte[]{(byte) 0xFF,0x01,0x22,0x03,0x44,0x05,0x66,0x07,(byte) 0x88,(byte) 0x09,(byte) 0xaa,(byte) 0x0b};
//
// er=Jreader.WriteTagEpcEx(1, data2, 12, null, (short)1000);
//
// er=Jreader.GetTagData(1, (char)1, 2, 6, datar, null, (short)1000);
//
// str1="";
//
// for(int i=0;i<12;i++)
// {
// str1+=Integer.toHexString(datar[i]&0xff);
// }
// System.out.println(er.toString()+" "+str1.toUpperCase());
//
// }
//
// public void testblockop() {
// String pwd="11000000";
// byte[] data=new byte[4];
// Jreader.Str2Hex(pwd, pwd.length(), data);
// //擦除块
// READER_ERR er=Jreader.BlockErase(1, (char)1, 2, 12, data, (short)1000);
//
// //永久锁块
// Jreader.BlockPermaLock(1, 1, 2, 6, new byte[]{(byte) 0xff,(byte) 0xff}, data, (short)1000);
//
// }
//
// public void testinitreader() {
// //创建读写器
// /* 根据天线口连接读写器
// * src 是地址 ip地址或者串口号
// * rtype 是天线口数,4口天线传入4
// * 返回类型:READER_ERR ,MT_OK_ERR表示正常,其他表示错误
// */
//// READER_ERR er=Jreader.InitReader(ReaderAddr,Reader_Type.MODULE_ONE_ANT);
// log.info("ReaderAddr:{}",ReaderAddr);
// READER_ERR er=Jreader.InitReader_Notype(ReaderAddr,AntCount);
// System.out.println(er.toString());
// /*
// * 构建天线组功率:AntPowerConf
// * 成员:
// * AntPower数组
// * antcnt表示天线个数
// * AntPower类型
// * antid 天线号
// * readPower 读功率
// * writePower 写功率
// */
//
// AntPowerConf apcf=Jreader.new AntPowerConf();
// apcf.antcnt=AntCount;
// for(int i=0;i<apcf.antcnt;i++)
// {
// AntPower jaap=Jreader.new AntPower();
// jaap.antid=i+1;
//// jaap.readPower=2800;
// jaap.readPower=1000;
// jaap.writePower=1000;
//// jaap.writePower=2750;
// apcf.Powers[i]=jaap;
// }
// AntPowerConf apcf2=Jreader.new AntPowerConf();
// er=Jreader.ParamSet( Mtr_Param.MTR_PARAM_RF_ANTPOWER, apcf);
// er=Jreader.ParamGet( Mtr_Param.MTR_PARAM_RF_ANTPOWER, apcf2);
// for(int i=0;i<apcf2.antcnt;i++){
// System.out.print("antid:"+apcf2.Powers[i].antid);
// System.out.print(" rp:"+apcf2.Powers[i].readPower);
// System.out.print(" wp:"+apcf2.Powers[i].writePower);
// System.out.println();
// }
//
// Inv_Potls_ST ipst=Jreader.new Inv_Potls_ST();
// ipst.potlcnt=1;
// ipst.potls=new Inv_Potl[1];
// for(int i=0;i<ipst.potlcnt;i++){
// Inv_Potl ipl=Jreader.new Inv_Potl();
// ipl.weight=30;
// ipl.potl=SL_TagProtocol.SL_TAG_PROTOCOL_GEN2;
// ipst.potls[0]=ipl;
// }
//
//
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_INVPOTL, ipst);
//
// /*
// * 设置是否检查天线
// * 当参数值传入1的时候表示要检查,0表示不检查
// */
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_IS_CHK_ANT, 0);
// }
//
// public List<String> testinventory1() {
// /*
// *
// * 设置频率,对于某天线设置频率表可以提搞读效果
// * HoptableData_ST 天线频率表类
// * lenhtb 表示频率表长度
// * htb 数组int类型,表示具体频点
// HoptableData_ST hdst=Jreader.new HoptableData_ST();
// hdst.lenhtb=2;
// hdst.htb[0]=915250;
// hdst.htb[1]=915750;
//
// READER_ERR er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_FREQUENCY_HOPTABLE,hdst);
// */
//
// /* ants 轮询使用的天线,即连接天线口的天线
// * antcnt 使用的天线个数
// * timeout 读标签的时间
// * pTInfo 存放标签数据的数组
// * tagcnt 存放标签的个数,只需传入一个元素的数组
// */
// int[] tagcnt=new int[1];
// TAGINFO[] taginfo=new TAGINFO[200];
// READER_ERR er=Jreader.TagInventory(new int[]{1}, 1, (short)1000, taginfo, tagcnt);
// List<String> result = new ArrayList<>();
// if(er==READER_ERR.MT_OK_ERR) {
// for(int i=0;i<tagcnt[0];i++) {
// result.add(Reader.bytes_Hexstr(taginfo[i].EpcId));
//// System.out.println("inv1_epc:"+Reader.bytes_Hexstr(taginfo[i].EpcId));
// }
// }
// return result;
// }
//
// public void testinventory2() {
// int[] tagcnt=new int[1];
// TAGINFO taginfo = Jreader.new TAGINFO();
// READER_ERR er=Jreader.TagInventory_Raw(new int[]{1}, 1, (short)1000, tagcnt);
// for(int i=0;i<tagcnt[0];i++)
// {
// er=Jreader.GetNextTag(taginfo);
// if(taginfo!=null)
// System.out.println("inv2_epc:"+Reader.bytes_Hexstr(taginfo.EpcId));
// }
//
// byte[] outbuf=new byte[800];
//
// er=Jreader.TagInventory_Raw(new int[]{1}, 1, (short)1000, tagcnt);
// er=Jreader.GetNextTag_BaseType(outbuf);
//
// }
//
// public void testdataonreader() {
// byte[] data3=new byte[100];
// READER_ERR er=Jreader.ReadDataOnReader(0, data3, 100);
// er=Jreader.SaveDataOnReader(0, data3, 100);
//
// //擦除读写器上数据
// er=Jreader.EraseDataOnReader();
// }
//
// public void testkilltag() {
// String pwd="11000000";
// byte[] data=new byte[4];
// Jreader.Str2Hex(pwd, pwd.length(), data);
// READER_ERR er=Jreader.KillTag(1, data, (short) 1000);
// }
//
// public void testlocktag() {
// String pwd="12340000";
// // READER_ERR er=Jreader.Lock180006BTag(1, 2, 6, (short) 1000);
// byte[] data=new byte[4];
// Jreader.Str2Hex(pwd, pwd.length(), data);
//
// //写数据
// READER_ERR er=Jreader.WriteTagData(1, (char)0, 2, data, 2, null, (short)1000);
// er=Jreader.LockTag(1, (byte)Lock_Obj.LOCK_OBJECT_BANK1.value(), (short)Lock_Type.BANK1_LOCK.value(), data, (short)1000);
//
// //写数据
// er=Jreader.WriteTagData(1, (char)1, 2, new byte[]{0x11,0x22}, 2, null, (short)1000);
// System.out.println("no pwd write"+er.toString());
//
// //写数据
// er=Jreader.WriteTagData(1, (char)1, 2, new byte[]{0x11,0x22}, 2, data, (short)1000);
// System.out.println("pwd write"+er.toString());
//
// er=Jreader.LockTag(1, (byte)Lock_Obj.LOCK_OBJECT_BANK1.value(), (short)Lock_Type.BANK1_UNLOCK.value(), data, (short)1000);
// }
//
// public void testsetip(String ip ,String mask,String gateway) {
// Reader_Ip rip=Jreader.new Reader_Ip();
// /*
// rip.ip=new byte[]{'1','9','2','.','1','6','8','.','1','.','1','0','1'};
// rip.mask=new byte[]{'2','5','5','.','2','5','5','.','2','5','5','.','0'};
// rip.gateway=new byte[]{'1','9','2','.','1','6','8','.','1','.','2','5','4'};
// //*/
//
//// rip.ip="192.168.1.100".getBytes();
//// rip.mask="255.255.255.0".getBytes();
//// rip.gateway="192.168.1.1".getBytes();
// rip.ip=ip.getBytes();
// rip.mask=mask.getBytes();
// rip.gateway=gateway.getBytes();
// //*/
// READER_ERR er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_IP, rip);
//
// }
// public void testrparams() {
// HoptableData_ST hdst=Jreader.new HoptableData_ST();
// hdst.lenhtb=5;
// hdst.htb[0]=915250;
// hdst.htb[1]=916750;
// hdst.htb[2]=917250;
// hdst.htb[3]=925750;
// hdst.htb[4]=926750;
// READER_ERR er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_FREQUENCY_HOPTABLE,hdst);
//
// HoptableData_ST hdst2=Jreader.new HoptableData_ST();
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_FREQUENCY_HOPTABLE, hdst2);
// for(int i=0;i<hdst2.lenhtb;i++)
// {
// System.out.print("htb:"+i);
// System.out.println(" "+(hdst2.htb[i]));
// }
//
// //
// Region_Conf rcf1=Region_Conf.RG_NA;
// Region_Conf[] rcf2=new Region_Conf[1];
//
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_FREQUENCY_REGION,rcf1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_FREQUENCY_REGION,rcf2);
//
// int[] val1=new int[]{250};
// int[] val2=new int[]{-1};
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_BLF, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_BLF, val2);
//
// val1[0]=496;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_MAXEPCLEN, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_MAXEPCLEN, val2);
//
// val1[0]=10;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_Q, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_Q, val2);
//
// val1[0]=2;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_SESSION, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_SESSION, val2);
//
// val1[0]=2;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_TAGENCODING, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_TAGENCODING, val2);
//
// val1[0]=1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_TARGET, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_TARGET, val2);
//
// val1[0]=3;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_TARI, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_TARI, val2);
//
// val1[0]=1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_GEN2_WRITEMODE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_GEN2_WRITEMODE, val2);
//
// val1[0]=2;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_BLF, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_BLF, val2);
//
// val1[0]=1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_DELIMITER, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_DELIMITER, val2);
//
// val1[0]=2;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH, val2);
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val1);
// //er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val2);
//
// val1[0]=1;
// val2[0]=-1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POWERSAVE_MODE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POWERSAVE_MODE, val2);
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_AVAILABLE_ANTPORTS, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_AVAILABLE_ANTPORTS, val2);
//
// ConnAnts_ST cast=Jreader.new ConnAnts_ST();
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_CONN_ANTS, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_CONN_ANTS, cast);
//
//
// Reader_Ip rip2=Jreader.new Reader_Ip();
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_IP, rip2);
// System.out.print("ip:"+rip2.ip.length+" ");
// System.out.println(new String(rip2.ip));
// System.out.println(new String(rip2.mask));
// System.out.println(new String(rip2.gateway));
//
// val1[0]=1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_IS_CHK_ANT, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_IS_CHK_ANT, val2);
//
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_VERSION, val1);
// //er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_VERSION, val2);
//
// AntPowerConf apcf=Jreader.new AntPowerConf();
// apcf.antcnt=1;
// for(int i=0;i<apcf.antcnt;i++)
// {
// AntPower jaap=Jreader.new AntPower();
// jaap.antid=i+1;
// jaap.readPower=2800;
jaap
.
readPower
=
1000
;
jaap
.
writePower
=
1000
;
// jaap.writePower=2750;
apcf
.
Powers
[
i
]=
jaap
;
}
AntPowerConf
apcf2
=
Jreader
.
new
AntPowerConf
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf2
);
for
(
int
i
=
0
;
i
<
apcf2
.
antcnt
;
i
++){
System
.
out
.
print
(
"antid:"
+
apcf2
.
Powers
[
i
].
antid
);
System
.
out
.
print
(
" rp:"
+
apcf2
.
Powers
[
i
].
readPower
);
System
.
out
.
print
(
" wp:"
+
apcf2
.
Powers
[
i
].
writePower
);
System
.
out
.
println
();
}
Inv_Potls_ST
ipst
=
Jreader
.
new
Inv_Potls_ST
();
ipst
.
potlcnt
=
1
;
ipst
.
potls
=
new
Inv_Potl
[
1
];
for
(
int
i
=
0
;
i
<
ipst
.
potlcnt
;
i
++){
Inv_Potl
ipl
=
Jreader
.
new
Inv_Potl
();
ipl
.
weight
=
30
;
ipl
.
potl
=
SL_TagProtocol
.
SL_TAG_PROTOCOL_GEN2
;
ipst
.
potls
[
0
]=
ipl
;
}
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst
);
/*
* 设置是否检查天线
* 当参数值传入1的时候表示要检查,0表示不检查
*/
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
0
);
}
public
List
<
String
>
testinventory1
()
{
/*
*
* 设置频率,对于某天线设置频率表可以提搞读效果
* HoptableData_ST 天线频率表类
* lenhtb 表示频率表长度
* htb 数组int类型,表示具体频点
HoptableData_ST hdst=Jreader.new HoptableData_ST();
hdst.lenhtb=2;
hdst.htb[0]=915250;
hdst.htb[1]=915750;
READER_ERR er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_FREQUENCY_HOPTABLE,hdst);
*/
/* ants 轮询使用的天线,即连接天线口的天线
* antcnt 使用的天线个数
* timeout 读标签的时间
* pTInfo 存放标签数据的数组
* tagcnt 存放标签的个数,只需传入一个元素的数组
*/
int
[]
tagcnt
=
new
int
[
1
];
TAGINFO
[]
taginfo
=
new
TAGINFO
[
200
];
READER_ERR
er
=
Jreader
.
TagInventory
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
taginfo
,
tagcnt
);
List
<
String
>
result
=
new
ArrayList
<>();
if
(
er
==
READER_ERR
.
MT_OK_ERR
)
{
for
(
int
i
=
0
;
i
<
tagcnt
[
0
];
i
++)
{
result
.
add
(
Reader
.
bytes_Hexstr
(
taginfo
[
i
].
EpcId
));
// System.out.println("inv1_epc:"+Reader.bytes_Hexstr(taginfo[i].EpcId));
}
}
return
result
;
}
public
void
testinventory2
()
{
int
[]
tagcnt
=
new
int
[
1
];
TAGINFO
taginfo
=
Jreader
.
new
TAGINFO
();
READER_ERR
er
=
Jreader
.
TagInventory_Raw
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
tagcnt
);
for
(
int
i
=
0
;
i
<
tagcnt
[
0
];
i
++)
{
er
=
Jreader
.
GetNextTag
(
taginfo
);
if
(
taginfo
!=
null
)
System
.
out
.
println
(
"inv2_epc:"
+
Reader
.
bytes_Hexstr
(
taginfo
.
EpcId
));
}
byte
[]
outbuf
=
new
byte
[
800
];
er
=
Jreader
.
TagInventory_Raw
(
new
int
[]{
1
},
1
,
(
short
)
1000
,
tagcnt
);
er
=
Jreader
.
GetNextTag_BaseType
(
outbuf
);
}
public
void
testdataonreader
()
{
byte
[]
data3
=
new
byte
[
100
];
READER_ERR
er
=
Jreader
.
ReadDataOnReader
(
0
,
data3
,
100
);
er
=
Jreader
.
SaveDataOnReader
(
0
,
data3
,
100
);
//擦除读写器上数据
er
=
Jreader
.
EraseDataOnReader
();
}
public
void
testkilltag
()
{
String
pwd
=
"11000000"
;
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
READER_ERR
er
=
Jreader
.
KillTag
(
1
,
data
,
(
short
)
1000
);
}
public
void
testlocktag
()
{
String
pwd
=
"12340000"
;
// READER_ERR er=Jreader.Lock180006BTag(1, 2, 6, (short) 1000);
byte
[]
data
=
new
byte
[
4
];
Jreader
.
Str2Hex
(
pwd
,
pwd
.
length
(),
data
);
//写数据
READER_ERR
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
0
,
2
,
data
,
2
,
null
,
(
short
)
1000
);
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_LOCK
.
value
(),
data
,
(
short
)
1000
);
//写数据
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
null
,
(
short
)
1000
);
System
.
out
.
println
(
"no pwd write"
+
er
.
toString
());
//写数据
er
=
Jreader
.
WriteTagData
(
1
,
(
char
)
1
,
2
,
new
byte
[]{
0x11
,
0x22
},
2
,
data
,
(
short
)
1000
);
System
.
out
.
println
(
"pwd write"
+
er
.
toString
());
er
=
Jreader
.
LockTag
(
1
,
(
byte
)
Lock_Obj
.
LOCK_OBJECT_BANK1
.
value
(),
(
short
)
Lock_Type
.
BANK1_UNLOCK
.
value
(),
data
,
(
short
)
1000
);
}
public
void
testsetip
()
{
Reader_Ip
rip
=
Jreader
.
new
Reader_Ip
();
/*
rip.ip=new byte[]{'1','9','2','.','1','6','8','.','1','.','1','0','1'};
rip.mask=new byte[]{'2','5','5','.','2','5','5','.','2','5','5','.','0'};
rip.gateway=new byte[]{'1','9','2','.','1','6','8','.','1','.','2','5','4'};
//*/
rip
.
ip
=
"192.168.1.100"
.
getBytes
();
rip
.
mask
=
"255.255.255.0"
.
getBytes
();
rip
.
gateway
=
"192.168.1.1"
.
getBytes
();
//*/
READER_ERR
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IP
,
rip
);
}
public
void
testrparams
()
{
HoptableData_ST
hdst
=
Jreader
.
new
HoptableData_ST
();
hdst
.
lenhtb
=
5
;
hdst
.
htb
[
0
]=
915250
;
hdst
.
htb
[
1
]=
916750
;
hdst
.
htb
[
2
]=
917250
;
hdst
.
htb
[
3
]=
925750
;
hdst
.
htb
[
4
]=
926750
;
READER_ERR
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_HOPTABLE
,
hdst
);
HoptableData_ST
hdst2
=
Jreader
.
new
HoptableData_ST
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_HOPTABLE
,
hdst2
);
for
(
int
i
=
0
;
i
<
hdst2
.
lenhtb
;
i
++)
{
System
.
out
.
print
(
"htb:"
+
i
);
System
.
out
.
println
(
" "
+(
hdst2
.
htb
[
i
]));
}
//
Region_Conf
rcf1
=
Region_Conf
.
RG_NA
;
Region_Conf
[]
rcf2
=
new
Region_Conf
[
1
];
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_REGION
,
rcf1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_FREQUENCY_REGION
,
rcf2
);
int
[]
val1
=
new
int
[]{
250
};
int
[]
val2
=
new
int
[]{-
1
};
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_BLF
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_BLF
,
val2
);
val1
[
0
]=
496
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_MAXEPCLEN
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_MAXEPCLEN
,
val2
);
val1
[
0
]=
10
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_Q
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_Q
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_SESSION
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_SESSION
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TAGENCODING
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TAGENCODING
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARGET
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARGET
,
val2
);
val1
[
0
]=
3
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARI
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_TARI
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_WRITEMODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_GEN2_WRITEMODE
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_BLF
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_BLF
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_DELIMITER
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_DELIMITER
,
val2
);
val1
[
0
]=
2
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POTL_ISO180006B_MODULATION_DEPTH
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_POTL_SUPPORTEDPROTOCOLS, val2);
val1
[
0
]=
1
;
val2
[
0
]=-
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_POWERSAVE_MODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_POWERSAVE_MODE
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_AVAILABLE_ANTPORTS, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_AVAILABLE_ANTPORTS
,
val2
);
ConnAnts_ST
cast
=
Jreader
.
new
ConnAnts_ST
();
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_CONN_ANTS, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_CONN_ANTS
,
cast
);
Reader_Ip
rip2
=
Jreader
.
new
Reader_Ip
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_IP
,
rip2
);
System
.
out
.
print
(
"ip:"
+
rip2
.
ip
.
length
+
" "
);
System
.
out
.
println
(
new
String
(
rip2
.
ip
));
System
.
out
.
println
(
new
String
(
rip2
.
mask
));
System
.
out
.
println
(
new
String
(
rip2
.
gateway
));
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_READER_IS_CHK_ANT
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_READER_VERSION, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_READER_VERSION, val2);
AntPowerConf
apcf
=
Jreader
.
new
AntPowerConf
();
apcf
.
antcnt
=
1
;
for
(
int
i
=
0
;
i
<
apcf
.
antcnt
;
i
++)
{
AntPower
jaap
=
Jreader
.
new
AntPower
();
jaap
.
antid
=
i
+
1
;
jaap
.
readPower
=
2800
;
jaap
.
writePower
=
2750
;
apcf
.
Powers
[
i
]=
jaap
;
}
AntPowerConf
apcf2
=
Jreader
.
new
AntPowerConf
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_ANTPOWER
,
apcf2
);
for
(
int
i
=
0
;
i
<
apcf2
.
antcnt
;
i
++)
{
System
.
out
.
print
(
"antid:"
+
apcf2
.
Powers
[
i
].
antid
);
System
.
out
.
print
(
" rp:"
+
apcf2
.
Powers
[
i
].
readPower
);
System
.
out
.
print
(
" wp:"
+
apcf2
.
Powers
[
i
].
writePower
);
System
.
out
.
println
();
}
val1
[
0
]=
100
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_HOPTIME
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_HOPTIME
,
val2
);
val1
[
0
]=
1
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_RF_LBT_ENABLE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_LBT_ENABLE
,
val2
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MAXPOWER, val1);
short
[]
valso
=
new
short
[
1
];
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_MAXPOWER
,
valso
);
System
.
out
.
println
(
"max:"
+
valso
[
0
]);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MINPOWER, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_MINPOWER
,
valso
);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val1);
//er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val2);
//er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_TEMPERATURE, val1);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_RF_TEMPERATURE
,
val2
);
EmbededData_ST
edst
=
Jreader
.
new
EmbededData_ST
();
edst
.
startaddr
=
0
;
edst
.
bank
=
2
;
//bytecnt=0 取消嵌入数据
edst
.
bytecnt
=
2
;
edst
.
accesspwd
=
null
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
edst
);
EmbededData_ST
edst2
=
Jreader
.
new
EmbededData_ST
();
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
edst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMBEDEDDATA
,
null
);
EmbededSecureRead_ST
esrst
=
Jreader
.
new
EmbededSecureRead_ST
();
esrst
.
accesspwd
=
1280
;
esrst
.
address
=
2
;
esrst
.
ApIndexBitsNumInEpc
=
1
;
esrst
.
ApIndexStartBitsInEpc
=
3
;
esrst
.
bank
=
1
;
//blkcnt =0 取消。
esrst
.
blkcnt
=
2
;
esrst
.
pwdtype
=
1
;
esrst
.
tagtype
=
2
;
EmbededSecureRead_ST
esrst2
=
Jreader
.
new
EmbededSecureRead_ST
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
esrst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
esrst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_EMDSECUREREAD
,
null
);
TagFilter_ST
tfst
=
Jreader
.
new
TagFilter_ST
();
tfst
.
bank
=
1
;
tfst
.
fdata
=
new
byte
[]{(
byte
)
0xE2
,(
byte
)
0x00
};
//flen 0 为取消过滤
tfst
.
flen
=
2
;
tfst
.
isInvert
=
0
;
tfst
.
startaddr
=
2
;
TagFilter_ST
tfst2
=
Jreader
.
new
TagFilter_ST
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
tfst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
tfst2
);
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_FILTER
,
null
);
Inv_Potls_ST
ipst
=
Jreader
.
new
Inv_Potls_ST
();
ipst
.
potlcnt
=
1
;
ipst
.
potls
=
new
Inv_Potl
[
1
];
for
(
int
i
=
0
;
i
<
ipst
.
potlcnt
;
i
++)
{
Inv_Potl
ipl
=
Jreader
.
new
Inv_Potl
();
ipl
.
weight
=
30
;
ipl
.
potl
=
SL_TagProtocol
.
SL_TAG_PROTOCOL_GEN2
;
ipst
.
potls
[
0
]=
ipl
;
}
Inv_Potls_ST
ipst2
=
Jreader
.
new
Inv_Potls_ST
();
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_INVPOTL
,
ipst2
);
for
(
int
i
=
0
;
i
<
ipst2
.
potlcnt
;
i
++)
System
.
out
.
println
(
ipst2
.
potls
[
i
].
potl
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAG_SEARCH_MODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAG_SEARCH_MODE
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_RECORDHIGHESTRSSI
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_RECORDHIGHESTRSSI
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYANT
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYANT
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA
,
val2
);
val1
[
0
]=
300
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TRANS_TIMEOUT
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TRANS_TIMEOUT
,
val2
);
val1
[
0
]=
1
;
val2
[
0
]=
0
;
er
=
Jreader
.
ParamSet
(
Mtr_Param
.
MTR_PARAM_TRANSMIT_MODE
,
val1
);
er
=
Jreader
.
ParamGet
(
Mtr_Param
.
MTR_PARAM_TRANSMIT_MODE
,
val2
);
}
public
void
testgpio
()
{
READER_ERR
er
=
Jreader
.
SetGPO
(
1
,
1
);
er
=
Jreader
.
SetGPO
(
2
,
0
);
er
=
Jreader
.
SetGPO
(
3
,
0
);
er
=
Jreader
.
SetGPO
(
4
,
1
);
int
[]
val
=
new
int
[
1
];
er
=
Jreader
.
GetGPI
(
1
,
val
);
er
=
Jreader
.
GetGPI
(
2
,
val
);
er
=
Jreader
.
GetGPI
(
3
,
val
);
er
=
Jreader
.
GetGPI
(
4
,
val
);
}
public
static
void
main
(
String
[]
args
)
{
// TODO Auto-generated method stub
ReadUtils
mt
=
new
ReadUtils
();
//测试初始化
//启动
mt
.
testinitreader
();
//测试转换
//mt.testtran();
//测试gpio
//mt.testgpio();
//测试参数
//mt.testrparams();
//测试块操作
//mt.testblockop();
//测试特殊指令
//mt.testcustomcmd();
//测试读写器内部数据
//mt.testdataonreader();
//测试盘点方式1
//盘存
mt
.
testinventory1
();
//测试盘点方式2
// mt.testinventory2();
//测试销毁密码
//mt.testkilltag();
//测试锁标签
//mt.testlocktag();
//测试读写标签
// mt.testreadandwrite();
//测试改ip地址
//可以修改ip
// apcf.Powers[i]=jaap;
// }
// AntPowerConf apcf2=Jreader.new AntPowerConf();
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_ANTPOWER, apcf);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_ANTPOWER, apcf2);
// for(int i=0;i<apcf2.antcnt;i++)
// {
// System.out.print("antid:"+apcf2.Powers[i].antid);
// System.out.print(" rp:"+apcf2.Powers[i].readPower);
// System.out.print(" wp:"+apcf2.Powers[i].writePower);
// System.out.println();
// }
//
// val1[0]=100;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_HOPTIME, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_HOPTIME, val2);
//
// val1[0]=1;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_LBT_ENABLE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_LBT_ENABLE, val2);
//
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MAXPOWER, val1);
// short[] valso=new short[1];
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_MAXPOWER, valso);
// System.out.println("max:"+valso[0]);
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_MINPOWER, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_MINPOWER, valso);
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val1);
// //er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_SUPPORTEDREGIONS, val2);
//
// //er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_RF_TEMPERATURE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_RF_TEMPERATURE, val2);
//
// EmbededData_ST edst = Jreader.new EmbededData_ST();
// edst.startaddr=0;
// edst.bank=2;
// //bytecnt=0 取消嵌入数据
// edst.bytecnt=2;
// edst.accesspwd=null;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_EMBEDEDDATA, edst);
//
// EmbededData_ST edst2 = Jreader.new EmbededData_ST();
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAG_EMBEDEDDATA, edst2);
//
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_EMBEDEDDATA, null);
//
// EmbededSecureRead_ST esrst=Jreader.new EmbededSecureRead_ST();
// esrst.accesspwd=1280;
// esrst.address=2;
// esrst.ApIndexBitsNumInEpc=1;
// esrst.ApIndexStartBitsInEpc=3;
// esrst.bank=1;
// //blkcnt =0 取消。
// esrst.blkcnt=2;
// esrst.pwdtype=1;
// esrst.tagtype=2;
// EmbededSecureRead_ST esrst2=Jreader.new EmbededSecureRead_ST();
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_EMDSECUREREAD, esrst);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAG_EMDSECUREREAD, esrst2);
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_EMDSECUREREAD, null);
//
// TagFilter_ST tfst=Jreader.new TagFilter_ST();
// tfst.bank=1;
// tfst.fdata=new byte[]{(byte) 0xE2,(byte) 0x00};
// //flen 0 为取消过滤
// tfst.flen=2;
// tfst.isInvert=0;
// tfst.startaddr=2;
// TagFilter_ST tfst2=Jreader.new TagFilter_ST();
//
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_FILTER, tfst);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAG_FILTER, tfst2);
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_FILTER, null);
//
// Inv_Potls_ST ipst=Jreader.new Inv_Potls_ST();
// ipst.potlcnt=1;
// ipst.potls=new Inv_Potl[1];
// for(int i=0;i<ipst.potlcnt;i++)
// {
// Inv_Potl ipl=Jreader.new Inv_Potl();
// ipl.weight=30;
// ipl.potl=SL_TagProtocol.SL_TAG_PROTOCOL_GEN2;
// ipst.potls[0]=ipl;
// }
//
// Inv_Potls_ST ipst2=Jreader.new Inv_Potls_ST();
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_INVPOTL, ipst);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAG_INVPOTL, ipst2);
// for(int i=0;i<ipst2.potlcnt;i++)
// System.out.println(ipst2.potls[i].potl);
//
// val1[0]=1;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAG_SEARCH_MODE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAG_SEARCH_MODE, val2);
//
// val1[0]=1;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAGDATA_RECORDHIGHESTRSSI, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAGDATA_RECORDHIGHESTRSSI, val2);
//
// val1[0]=1;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAGDATA_UNIQUEBYANT, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAGDATA_UNIQUEBYANT, val2);
//
// val1[0]=1;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TAGDATA_UNIQUEBYEMDDATA, val2);
//
// val1[0]=300;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TRANS_TIMEOUT, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TRANS_TIMEOUT, val2);
//
// val1[0]=1;
// val2[0]=0;
// er=Jreader.ParamSet(Mtr_Param.MTR_PARAM_TRANSMIT_MODE, val1);
// er=Jreader.ParamGet(Mtr_Param.MTR_PARAM_TRANSMIT_MODE, val2);
// }
//
// public void testgpio() {
// READER_ERR er=Jreader.SetGPO(1, 1);
// er=Jreader.SetGPO(2, 0);
// er=Jreader.SetGPO(3, 0);
// er=Jreader.SetGPO(4, 1);
//
// int[] val=new int[1];
// er=Jreader.GetGPI(1, val);
// er=Jreader.GetGPI(2, val);
// er=Jreader.GetGPI(3, val);
// er=Jreader.GetGPI(4, val);
// }
//
//
// public static void main(String[] args) {
// // TODO Auto-generated method stub
//
// ReadUtils mt=new ReadUtils();
// //测试初始化
// //启动
// mt.testinitreader();
// //测试转换
// //mt.testtran();
// //测试gpio
// //mt.testgpio();
// //测试参数
// //mt.testrparams();
// //测试块操作
// //mt.testblockop();
// //测试特殊指令
// //mt.testcustomcmd();
// //测试读写器内部数据
// //mt.testdataonreader();
// //测试盘点方式1
// //盘存
// mt.testinventory1();
// //测试盘点方式2
//// mt.testinventory2();
// //测试销毁密码
// //mt.testkilltag();
// //测试锁标签
// //mt.testlocktag();
// //测试读写标签
//// mt.testreadandwrite();
// //测试改ip地址
// //可以修改ip
// mt.testsetip();
//测试psam
//mt.testpsam();
//关闭读写器
//关闭
mt
.
Jreader
.
CloseReader
();
System
.
out
.
println
(
"test over"
);
}
}
//
//
//测试psam
//
//mt.testpsam();
//
//
//关闭读写器
//
//关闭
//
mt.Jreader.CloseReader();
//
System.out.println("test over");
//
}
//
//
}
dev-union/src/main/java/com/tykj/dev/union/DataInit.java
浏览文件 @
7475f0ff
package
com
.
tykj
.
dev
.
union
;
import
com.tykj.dev.device.allot.repository.AllotBackBillDao
;
import
com.tykj.dev.device.allot.repository.AllotBillDao
;
import
com.tykj.dev.device.allot.subject.domin.AllotBackBill
;
import
com.tykj.dev.device.allot.subject.domin.AllotBill
;
import
com.tykj.dev.device.confirmcheck.entity.domain.DeviceCheckDetail
;
import
com.tykj.dev.device.confirmcheck.repository.DeviceCheckDetailDao
;
import
com.tykj.dev.device.matching.repository.MatchingDeviceLibraryDao
;
import
com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary
;
import
com.tykj.dev.device.repair.repository.RepairBackBillDao
;
import
com.tykj.dev.device.repair.repository.RepairBillDao
;
import
com.tykj.dev.device.repair.repository.RepairDetailDao
;
import
com.tykj.dev.device.repair.repository.RepairSendBillDao
;
import
com.tykj.dev.device.repair.subject.domin.RepairBackBill
;
import
com.tykj.dev.device.repair.subject.domin.RepairBill
;
import
com.tykj.dev.device.repair.subject.domin.RepairDetail
;
import
com.tykj.dev.device.repair.subject.domin.RepairSendBill
;
import
com.tykj.dev.device.selfcheck.repository.SelfCheckBillDao
;
import
com.tykj.dev.device.selfcheck.subject.domin.SelfCheckBill
;
import
com.tykj.dev.device.user.subject.dao.UnitsDao
;
import
com.tykj.dev.device.user.subject.entity.Units
;
import
com.tykj.dev.device.user.util.AuthenticationUtils
;
import
com.tykj.dev.device.user.util.UserUtils
;
import
com.tykj.dev.device.usereport.repository.DeviceUseReportDao
;
import
com.tykj.dev.device.usereport.subject.domin.DeviceUseReport
;
import
com.tykj.dev.misc.utils.SpringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.DependsOn
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.List
;
@Slf4j
@Component
public
class
DataInit
{
@Resource
private
UnitsDao
unitsDao
;
@Autowired
private
AllotBillDao
allotBillDao
;
@Autowired
private
AllotBackBillDao
allotBackBillDao
;
@Autowired
private
RepairBackBillDao
repairBackBillDao
;
@Autowired
private
RepairDetailDao
repairDetailDao
;
@Autowired
private
RepairSendBillDao
repairSendBillDao
;
@Autowired
private
RepairBillDao
repairBillDao
;
@Autowired
private
SelfCheckBillDao
selfCheckBillDao
;
@Autowired
private
DeviceUseReportDao
deviceUseReportDao
;
@Autowired
private
MatchingDeviceLibraryDao
matchingDeviceLibraryDao
;
@Autowired
private
UserUtils
userUtils
;
@Autowired
private
SpringUtils
springUtils
;
@Autowired
private
com
.
tykj
.
dev
.
device
.
user
.
util
.
AuthenticationUtils
AuthenticationUtils
;
private
void
initCheckDetailUnitName
()
{
// 对现有的数据补充unitId信息
allotBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail1
);
allotBackBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail2
);
selfCheckBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail3
);
repairBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail4
);
repairSendBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail5
);
repairDetailDao
.
findAll
().
forEach
(
this
::
saveModifyDetail6
);
repairBackBillDao
.
findAll
().
forEach
(
this
::
saveModifyDetail7
);
deviceUseReportDao
.
findAll
().
forEach
(
this
::
saveModifyDetail8
);
matchingDeviceLibraryDao
.
findAll
().
forEach
(
this
::
saveModifyDetail9
);
}
private
void
saveModifyDetail1
(
AllotBill
allotBill
)
{
String
receiveUnit
=
allotBill
.
getReceiveUnit
();
String
sendUnit
=
allotBill
.
getSendUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBill
.
setReceiveUnitId
(
receiveUnitId
);
allotBill
.
setSendUnitId
(
sendUnitId
);
log
.
info
(
"[配发] 修正allotBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
allotBillDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail2
(
AllotBackBill
allotBackBill
)
{
String
receiveUnit
=
allotBackBill
.
getReceiveUnit
();
String
sendUnit
=
allotBackBill
.
getSendUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBackBill
.
setReceiveUnitId
(
receiveUnitId
);
allotBackBill
.
setSendUnitId
(
sendUnitId
);
log
.
info
(
"[退回] 修正allotBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
allotBackBillDao
.
save
(
allotBackBill
);
}
}
private
void
saveModifyDetail3
(
SelfCheckBill
selfCheckBill
)
{
String
receiveUnit
=
selfCheckBill
.
getCheckUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
if
(
receiveUnitId
!=
-
1
)
{
selfCheckBill
.
setCheckUnitId
(
receiveUnitId
);
log
.
info
(
"[自查] 修正selfCheckBill历史数据,修正的单位:{},接收单位id:{}"
,
receiveUnit
,
receiveUnitId
);
selfCheckBillDao
.
save
(
selfCheckBill
);
}
}
private
void
saveModifyDetail4
(
RepairBill
allotBill
)
{
String
receiveUnit
=
allotBill
.
getReceiveUnit
();
String
sendUnit
=
allotBill
.
getSendUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBill
.
setReceiveUnitId
(
receiveUnitId
);
allotBill
.
setSendUnitId
(
sendUnitId
);
log
.
info
(
"[维修] 修正RepairBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
repairBillDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail5
(
RepairSendBill
allotBill
)
{
String
receiveUnit
=
allotBill
.
getReceiveUnit
();
String
sendUnit
=
allotBill
.
getSendUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBill
.
setReceiveUnitId
(
receiveUnitId
);
allotBill
.
setSendUnitId
(
sendUnitId
);
log
.
info
(
"[送修] 修正RepairSendBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
repairSendBillDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail6
(
RepairDetail
allotBill
)
{
String
receiveUnit
=
allotBill
.
getLocationUnit
();
String
sendUnit
=
allotBill
.
getOwnUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBill
.
setLocationUnitId
(
receiveUnitId
);
allotBill
.
setOwnUnitId
(
sendUnitId
);
log
.
info
(
"[维修详情] 修正RepairDetail历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
repairDetailDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail7
(
RepairBackBill
allotBill
)
{
String
receiveUnit
=
allotBill
.
getReceiveUnit
();
String
sendUnit
=
allotBill
.
getSendUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
Integer
sendUnitId
=
getUnitId
(
sendUnit
);
if
(
receiveUnitId
!=
-
1
&&
sendUnitId
!=
-
1
)
{
allotBill
.
setReceiveUnitId
(
receiveUnitId
);
allotBill
.
setSendUnitId
(
sendUnitId
);
log
.
info
(
"[维修退回] 修正RepairBackBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}"
,
sendUnit
,
receiveUnit
,
sendUnitId
,
receiveUnitId
);
repairBackBillDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail8
(
DeviceUseReport
allotBill
)
{
String
receiveUnit
=
allotBill
.
getUnit
();
Integer
receiveUnitId
=
getUnitId
(
receiveUnit
);
if
(
receiveUnitId
!=
-
1
)
{
allotBill
.
setUnitId
(
receiveUnitId
);
log
.
info
(
"[用户使用报告] 修正DeviceUseReport历史数据,修正的单位:{},接收单位id:{}"
,
receiveUnit
,
receiveUnitId
);
deviceUseReportDao
.
save
(
allotBill
);
}
}
private
void
saveModifyDetail9
(
MatchingDeviceLibrary
matchingDeviceLibrary
)
{
String
createUnit
=
matchingDeviceLibrary
.
getCreateUnit
();
Integer
createUnitId
=
getUnitId
(
createUnit
);
if
(
createUnitId
!=
-
1
)
{
matchingDeviceLibrary
.
setCreateUnitId
(
createUnitId
);
log
.
info
(
"[配套设备库] 修正MatchingDeviceLibrary历史数据,修正的单位:{},接收单位id:{}"
,
createUnit
,
createUnitId
);
matchingDeviceLibraryDao
.
save
(
matchingDeviceLibrary
);
}
}
private
Integer
getUnitId
(
String
unitName
)
{
List
<
Units
>
units
=
unitsDao
.
findAllByName
(
unitName
).
orElse
(
Collections
.
emptyList
());
return
units
.
size
()
==
1
?
units
.
get
(
0
).
getUnitId
()
:
-
1
;
}
// @Bean
// @DependsOn("userUtils")
@PostConstruct
public
void
init2
(){
log
.
info
(
"单位名称初始化-----"
);
initCheckDetailUnitName
();
initCheckDetailUnitName2
();
}
@Autowired
private
DeviceCheckDetailDao
deviceCheckDetailDao
;
private
void
initCheckDetailUnitName2
()
{
// 对现有的数据补充unitId信息
deviceCheckDetailDao
.
findAll
().
forEach
(
this
::
saveModifyDetail
);
}
private
void
saveModifyDetail
(
DeviceCheckDetail
deviceCheckDetail
)
{
String
checkUnit
=
deviceCheckDetail
.
getCheckUnit
();
Integer
unitId
=
getUnitId
(
checkUnit
);
if
(
unitId
!=
-
1
)
{
deviceCheckDetail
.
setCheckUnitId
(
unitId
);
log
.
info
(
"[核查] 修正detail历史数据,修正的单位:{},单位id:{}"
,
checkUnit
,
unitId
);
deviceCheckDetailDao
.
save
(
deviceCheckDetail
);
}
}
// @Override
// @Order(value = 1)
// public void run(String... args) throws Exception {
//package com.tykj.dev.union;
//
//import com.tykj.dev.device.allot.repository.AllotBackBillDao;
//import com.tykj.dev.device.allot.repository.AllotBillDao;
//import com.tykj.dev.device.allot.subject.domin.AllotBackBill;
//import com.tykj.dev.device.allot.subject.domin.AllotBill;
//import com.tykj.dev.device.confirmcheck.entity.domain.DeviceCheckDetail;
//import com.tykj.dev.device.confirmcheck.repository.DeviceCheckDetailDao;
//import com.tykj.dev.device.matching.repository.MatchingDeviceLibraryDao;
//import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
//import com.tykj.dev.device.repair.repository.RepairBackBillDao;
//import com.tykj.dev.device.repair.repository.RepairBillDao;
//import com.tykj.dev.device.repair.repository.RepairDetailDao;
//import com.tykj.dev.device.repair.repository.RepairSendBillDao;
//import com.tykj.dev.device.repair.subject.domin.RepairBackBill;
//import com.tykj.dev.device.repair.subject.domin.RepairBill;
//import com.tykj.dev.device.repair.subject.domin.RepairDetail;
//import com.tykj.dev.device.repair.subject.domin.RepairSendBill;
//import com.tykj.dev.device.selfcheck.repository.SelfCheckBillDao;
//import com.tykj.dev.device.selfcheck.subject.domin.SelfCheckBill;
//import com.tykj.dev.device.user.subject.dao.UnitsDao;
//import com.tykj.dev.device.user.subject.entity.Units;
//import com.tykj.dev.device.user.util.AuthenticationUtils;
//import com.tykj.dev.device.user.util.UserUtils;
//import com.tykj.dev.device.usereport.repository.DeviceUseReportDao;
//import com.tykj.dev.device.usereport.subject.domin.DeviceUseReport;
//import com.tykj.dev.misc.utils.SpringUtils;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.CommandLineRunner;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.DependsOn;
//import org.springframework.core.annotation.Order;
//import org.springframework.stereotype.Component;
//import org.springframework.transaction.annotation.Transactional;
//
//import javax.annotation.PostConstruct;
//import javax.annotation.Resource;
//import java.util.Collections;
//import java.util.List;
//
//@Slf4j
//@Component
//public class DataInit {
//
// @Resource
// private UnitsDao unitsDao;
//
// @Autowired
// private AllotBillDao allotBillDao;
// @Autowired
// private AllotBackBillDao allotBackBillDao;
// @Autowired
// private RepairBackBillDao repairBackBillDao;
// @Autowired
// private RepairDetailDao repairDetailDao;
// @Autowired
// private RepairSendBillDao repairSendBillDao;
// @Autowired
// private RepairBillDao repairBillDao;
// @Autowired
// private SelfCheckBillDao selfCheckBillDao;
// @Autowired
// private DeviceUseReportDao deviceUseReportDao;
//
// @Autowired
// private MatchingDeviceLibraryDao matchingDeviceLibraryDao;
//
// @Autowired
// private UserUtils userUtils;
//
// @Autowired
// private SpringUtils springUtils;
//
// @Autowired
// private com.tykj.dev.device.user.util.AuthenticationUtils AuthenticationUtils;
//
// private void initCheckDetailUnitName() {
// // 对现有的数据补充unitId信息
// allotBillDao.findAll().forEach(this::saveModifyDetail1);
// allotBackBillDao.findAll().forEach(this::saveModifyDetail2);
// selfCheckBillDao.findAll().forEach(this::saveModifyDetail3);
// repairBillDao.findAll().forEach(this::saveModifyDetail4);
// repairSendBillDao.findAll().forEach(this::saveModifyDetail5);
// repairDetailDao.findAll().forEach(this::saveModifyDetail6);
// repairBackBillDao.findAll().forEach(this::saveModifyDetail7);
// deviceUseReportDao.findAll().forEach(this::saveModifyDetail8);
// matchingDeviceLibraryDao.findAll().forEach(this::saveModifyDetail9);
// }
//
//
// private void saveModifyDetail1(AllotBill allotBill) {
// String receiveUnit = allotBill.getReceiveUnit();
// String sendUnit = allotBill.getSendUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBill.setReceiveUnitId(receiveUnitId);
// allotBill.setSendUnitId(sendUnitId);
// log.info("[配发] 修正allotBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// allotBillDao.save(allotBill);
// }
//
// }
//
// private void saveModifyDetail2(AllotBackBill allotBackBill) {
// String receiveUnit = allotBackBill.getReceiveUnit();
// String sendUnit = allotBackBill.getSendUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBackBill.setReceiveUnitId(receiveUnitId);
// allotBackBill.setSendUnitId(sendUnitId);
// log.info("[退回] 修正allotBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// allotBackBillDao.save(allotBackBill);
// }
//
// }
//
// private void saveModifyDetail3(SelfCheckBill selfCheckBill) {
// String receiveUnit = selfCheckBill.getCheckUnit();
// Integer receiveUnitId = getUnitId(receiveUnit);
// if (receiveUnitId != -1) {
// selfCheckBill.setCheckUnitId(receiveUnitId);
// log.info("[自查] 修正selfCheckBill历史数据,修正的单位:{},接收单位id:{}",
// receiveUnit,receiveUnitId);
// selfCheckBillDao.save(selfCheckBill);
// }
//
// }
//
// private void saveModifyDetail4(RepairBill allotBill) {
// String receiveUnit = allotBill.getReceiveUnit();
// String sendUnit = allotBill.getSendUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBill.setReceiveUnitId(receiveUnitId);
// allotBill.setSendUnitId(sendUnitId);
// log.info("[维修] 修正RepairBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// repairBillDao.save(allotBill);
// }
//
// }
//
// private void saveModifyDetail5(RepairSendBill allotBill) {
// String receiveUnit = allotBill.getReceiveUnit();
// String sendUnit = allotBill.getSendUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBill.setReceiveUnitId(receiveUnitId);
// allotBill.setSendUnitId(sendUnitId);
// log.info("[送修] 修正RepairSendBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// repairSendBillDao.save(allotBill);
// }
//
// }
//
// private void saveModifyDetail6(RepairDetail allotBill) {
// String receiveUnit = allotBill.getLocationUnit();
// String sendUnit = allotBill.getOwnUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBill.setLocationUnitId(receiveUnitId);
// allotBill.setOwnUnitId(sendUnitId);
// log.info("[维修详情] 修正RepairDetail历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// repairDetailDao.save(allotBill);
// }
//
// }
// private void saveModifyDetail7(RepairBackBill allotBill) {
// String receiveUnit = allotBill.getReceiveUnit();
// String sendUnit = allotBill.getSendUnit();
//
// Integer receiveUnitId = getUnitId(receiveUnit);
// Integer sendUnitId = getUnitId(sendUnit);
//
// if (receiveUnitId != -1 && sendUnitId != -1) {
// allotBill.setReceiveUnitId(receiveUnitId);
// allotBill.setSendUnitId(sendUnitId);
// log.info("[维修退回] 修正RepairBackBill历史数据,修正的发件单位:{},修正的接收单位:{},发送单位id:{},接收单位id:{}",
// sendUnit, receiveUnit,sendUnitId,receiveUnitId);
// repairBackBillDao.save(allotBill);
// }
//
// }
//
// private void saveModifyDetail8(DeviceUseReport allotBill) {
// String receiveUnit = allotBill.getUnit();
// Integer receiveUnitId = getUnitId(receiveUnit);
// if (receiveUnitId != -1 ) {
// allotBill.setUnitId(receiveUnitId);
// log.info("[用户使用报告] 修正DeviceUseReport历史数据,修正的单位:{},接收单位id:{}",
// receiveUnit,receiveUnitId);
// deviceUseReportDao.save(allotBill);
// }
//
// }
//
// private void saveModifyDetail9(MatchingDeviceLibrary matchingDeviceLibrary) {
// String createUnit = matchingDeviceLibrary.getCreateUnit();
// Integer createUnitId = getUnitId(createUnit);
// if (createUnitId != -1 ) {
// matchingDeviceLibrary.setCreateUnitId(createUnitId);
// log.info("[配套设备库] 修正MatchingDeviceLibrary历史数据,修正的单位:{},接收单位id:{}",
// createUnit,createUnitId);
// matchingDeviceLibraryDao.save(matchingDeviceLibrary);
// }
//
// }
//
// private Integer getUnitId(String unitName) {
// List<Units> units = unitsDao.findAllByName(unitName).orElse(Collections.emptyList());
// return units.size() == 1 ? units.get(0).getUnitId() : -1;
// }
//
//// @Bean
//// @DependsOn("userUtils")
// @PostConstruct
// public void init2(){
// log.info("单位名称初始化-----");
// initCheckDetailUnitName();
// initCheckDetailUnitName2();
// }
//
// @Autowired
// private DeviceCheckDetailDao
// deviceCheckDetailDao;
//
// private void initCheckDetailUnitName2() {
// // 对现有的数据补充unitId信息
// deviceCheckDetailDao.findAll().forEach(this::saveModifyDetail);
// }
//
// private void saveModifyDetail(DeviceCheckDetail deviceCheckDetail) {
// String checkUnit = deviceCheckDetail.getCheckUnit();
// Integer unitId = getUnitId(checkUnit);
// if (unitId != -1) {
// deviceCheckDetail.setCheckUnitId(unitId);
// log.info("[核查] 修正detail历史数据,修正的单位:{},单位id:{}", checkUnit, unitId);
// deviceCheckDetailDao.save(deviceCheckDetail);
// }
// }
}
//// @Override
//// @Order(value = 1)
//// public void run(String... args) throws Exception {
//// log.info("单位名称初始化-----");
//// initCheckDetailUnitName();
//// }
//}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论