提交 a592ac80 authored 作者: 邓砥奕's avatar 邓砥奕

修改门禁bug

上级 72e3d193
......@@ -17,15 +17,25 @@ public class SystemVariableRun implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
if (systemVariableDao.findAll().size()==0){
if(systemVariableDao.findByName("selfCheckCycle")==null) {
SystemVariable systemVariable = new SystemVariable();
systemVariable.setName("selfCheckCycle");
systemVariable.setVaule("quarter");
systemVariableDao.save(systemVariable);
log.info("系统变量新建成功");
log.info("系统变量selfCheckCycle新建成功");
}
else {
log.info("已有系统变量不新建");
log.info("已有系统变量selfCheckCycle不新建");
}
if(systemVariableDao.findByName("warningInterval")==null){
SystemVariable systemVariable2 = new SystemVariable();
systemVariable2.setName("warningInterval");
systemVariable2.setVaule("10000");
systemVariableDao.save(systemVariable2);
log.info("系统变量warningInterval新建成功");
}
else {
log.info("已有系统变量warningInterval不新建");
}
}
}
package com.tykj.dev.rfid.controller;
import com.tykj.dev.config.repository.SystemVariableDao;
import com.tykj.dev.config.service.SystemVariableService;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.service.DeviceLibraryService;
......@@ -75,6 +77,9 @@ public class AccessController {
@Autowired
private LibraryWarningLogDetailDao libraryWarningLogDetailDao;
@Autowired
private SystemVariableService systemVariableService;
@PostMapping("/add")
public ResponseEntity addAccess(@RequestBody AccessControlName accessControlName){
return ResponseEntity.ok(accessControlNameDao.save(accessControlName));
......@@ -91,8 +96,10 @@ public class AccessController {
sp.append(line);
}
String json = sp.toString();
String cmd = json.substring(10,15);
// System.out.println(json);
//数据提交
if (json.contains("20001")){
if ("20001".equals(cmd)){
//Json转对象
AccessData accessData = JacksonUtil.readValue(sp.toString(),AccessData.class);
if (accessData != null) {
......@@ -108,6 +115,10 @@ public class AccessController {
List<String> outPutCardIds = accessData.getData().getEpcs().stream()
.filter(record -> record.getDirection()==1).map(Record::getEpc)
.collect(Collectors.toList());
//实际入库的装备卡号
List<String> inPutCardIds = accessData.getData().getEpcs().stream()
.filter(record -> record.getDirection()==0).map(Record::getEpc)
.collect(Collectors.toList());
// for (int i = 0;i<outPutCardIds.size();i++){
// List<DeviceLibrary> deviceLibraries = deviceLibraryDao.getAllByRfidCardId(outPutCardIds.get(i));
// if (deviceLibraries.size()==0){
......@@ -166,13 +177,17 @@ public class AccessController {
}
//不在系统的rfid不报警
else {
log.info("出库装备EPC在出库白名单或不存在系统当中不报警");
log.info("出库"+outPutCardIds.size()+"件装备EPC在出库白名单或不存在系统当中不报警");
return DataResult.success();
}
}
}
else if(inPutCardIds.size()>0){
log.info("入库"+inPutCardIds.size()+"件装备不报警");
return DataResult.success();
}
else {
log.info("没有出库装备不报警");
log.info("未获取到出入库装备EPC不报警");
return DataResult.success();
}
}
......@@ -181,7 +196,7 @@ public class AccessController {
}
}
//时间同步
else if (json.contains("20002")){
else if ("20002".equals(cmd)){
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// TimeConfirm timeConfirm = new TimeConfirm();
// timeConfirm.setCmd("20002");
......@@ -189,7 +204,7 @@ public class AccessController {
return null;
}
//心跳包
else if (json.contains("20003")){
else if ("20003".equals(cmd)){
return null;
}
else {
......@@ -201,9 +216,10 @@ public class AccessController {
* 获取最近10s内出库异常的装备Id
*/
private List<Integer> getLatestWarningDeviceIds(){
Long warningInterval = Long.valueOf(systemVariableService.getVaule("warningInterval"));
return libraryWarningLogDetailDao.findAll().stream().filter(libraryWarningLogDetail -> {
Boolean isOutPut = "异常出库".equals(libraryWarningLogDetail.getInventoryResults());
Boolean isLatest = System.currentTimeMillis() - libraryWarningLogDetail.getUpdateTime().getTime()<10_000;
Boolean isLatest = System.currentTimeMillis() - libraryWarningLogDetail.getUpdateTime().getTime()<warningInterval;
return isOutPut&&isLatest;
}).map(LibraryWarningLogDetail::getDeviceId).collect(Collectors.toList());
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论