diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 5db5a1d..0416aeb 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -23,5 +23,6 @@ List> statisticByDept(String doorCode,String beginTime, String endTime,String inoutType); List> statisticByPerson(String doorCode,String beginTime, String endTime,Long deptId, Long personId); + Boolean hasOutRecords(String doorCode); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 5db5a1d..0416aeb 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -23,5 +23,6 @@ List> statisticByDept(String doorCode,String beginTime, String endTime,String inoutType); List> statisticByPerson(String doorCode,String beginTime, String endTime,Long deptId, Long personId); + Boolean hasOutRecords(String doorCode); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java index 84b5a5c..0407066 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java @@ -39,20 +39,14 @@ private IDeviceService deviceService; @Autowired private IAcsPermissionService acsPermissionService; + @Autowired + private RecognitionRecordsServiceImpl recordsService; @Override public List> selectDataScope(DataScope dataScope) { List> list = this.baseMapper.selectDataScope(dataScope); for (Map map : list) { - String doorCode = map.get("doorCode").toString(); - map.put("inDevice",getDevice(doorCode,"1")); - String outDevice = getDevice(doorCode,"0"); - map.put("outDevice",outDevice); - if(ToolUtil.isNotEmpty(outDevice)){ - map.put("hasOut",true); - }else{ - map.put("hasOut",false); - } + setInOutDevice(map); } return list; } @@ -61,19 +55,18 @@ public List> selectDataScopePage(DataScope dataScope, Page page) { List> list = this.baseMapper.selectDataScopePage(dataScope,page); for (Map map : list) { - String doorCode = map.get("doorCode").toString(); - map.put("inDevice",getDevice(doorCode,"1")); - String outDevice = getDevice(doorCode,"0"); - map.put("outDevice",outDevice); - if(ToolUtil.isNotEmpty(outDevice)){ - map.put("hasOut",true); - }else{ - map.put("hasOut",false); - } + setInOutDevice(map); } return list; } - + + private void setInOutDevice(Map map){ + String doorCode = map.get("doorCode").toString(); + map.put("inDevice",getDevice(doorCode,"1")); + map.put("outDevice",getDevice(doorCode,"0")); + map.put("hasOut",existOut(doorCode)); + map.put("hasOutRecords",recordsService.hasOutRecords(doorCode)); + } private String getDevice(String doorCode,String inoutType){ List> list = deviceService.selectDeviceByDoor(doorCode,inoutType); //设备列表 diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 5db5a1d..0416aeb 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -23,5 +23,6 @@ List> statisticByDept(String doorCode,String beginTime, String endTime,String inoutType); List> statisticByPerson(String doorCode,String beginTime, String endTime,Long deptId, Long personId); + Boolean hasOutRecords(String doorCode); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java index 84b5a5c..0407066 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/DoorServiceImpl.java @@ -39,20 +39,14 @@ private IDeviceService deviceService; @Autowired private IAcsPermissionService acsPermissionService; + @Autowired + private RecognitionRecordsServiceImpl recordsService; @Override public List> selectDataScope(DataScope dataScope) { List> list = this.baseMapper.selectDataScope(dataScope); for (Map map : list) { - String doorCode = map.get("doorCode").toString(); - map.put("inDevice",getDevice(doorCode,"1")); - String outDevice = getDevice(doorCode,"0"); - map.put("outDevice",outDevice); - if(ToolUtil.isNotEmpty(outDevice)){ - map.put("hasOut",true); - }else{ - map.put("hasOut",false); - } + setInOutDevice(map); } return list; } @@ -61,19 +55,18 @@ public List> selectDataScopePage(DataScope dataScope, Page page) { List> list = this.baseMapper.selectDataScopePage(dataScope,page); for (Map map : list) { - String doorCode = map.get("doorCode").toString(); - map.put("inDevice",getDevice(doorCode,"1")); - String outDevice = getDevice(doorCode,"0"); - map.put("outDevice",outDevice); - if(ToolUtil.isNotEmpty(outDevice)){ - map.put("hasOut",true); - }else{ - map.put("hasOut",false); - } + setInOutDevice(map); } return list; } - + + private void setInOutDevice(Map map){ + String doorCode = map.get("doorCode").toString(); + map.put("inDevice",getDevice(doorCode,"1")); + map.put("outDevice",getDevice(doorCode,"0")); + map.put("hasOut",existOut(doorCode)); + map.put("hasOutRecords",recordsService.hasOutRecords(doorCode)); + } private String getDevice(String doorCode,String inoutType){ List> list = deviceService.selectDeviceByDoor(doorCode,inoutType); //设备列表 diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java index c342256..34e7e4f 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; @@ -65,11 +66,13 @@ public List> statisticByPerson(String doorCode, String beginTime, String endTime, Long deptId, Long personId) { List dictList = permissionService.findInDictByCode("inoutType"); List> mapList = new ArrayList<>(); - Boolean existOut = doorService.existOut(doorCode); + for (Dict dict : dictList) { - // 如果门禁不存在出门设备,不统计“出门” - if(!existOut){ - if("out".equals(dict.getTips())){ + // 没有出门设备&&没有出门记录,不统计出门 + if("out".equals(dict.getTips())){ + Boolean existOut = doorService.existOut(doorCode); + Boolean existOutRecords = hasOutRecords(doorCode); + if(!existOut && !existOutRecords){ continue; } } @@ -80,4 +83,17 @@ } return mapList; } + + @Override + public Boolean hasOutRecords(String doorCode){ + EntityWrapper query = new EntityWrapper<>(); + query.eq("DOOR_CODE",doorCode); + query.eq("INOUT_TYPE","0"); + List records = this.selectList(query); + if(records.size()>0){ + return true; + }else { + return false; + } + } }