xuxiuxi
2017-08-11 5f12988a77d078a5e5155c9a301e45bfd288d7e5
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
@@ -40,10 +40,11 @@
            addItem(returnItem, requestItem, cameraInOrOut);
        }
        removeTimeoutItemAndShow();
        limitItemsToN();
    }
    public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem, String cameraInOrOut) {
        if (!CommonVariables.FACE_SERVER) {
        if (!CommonVariables.FACE_SERVER && !CommonVariables.EMULATOR) {
            RtspFaceNative.setFaceLabel(Integer.parseInt(cameraInOrOut), requestItem.getStTrackId(), returnItem.getVisitorType()==null?"":returnItem.getVisitorType().substring(0,
                    returnItem.getVisitorType().length() > 3 ? 3 : returnItem.getVisitorType().length()
                    ));
@@ -55,6 +56,44 @@
        returnItem.setWidth(requestItem.getWidth());
        returnItem.setHeight(requestItem.getHeight());
        allItems.add(0, returnItem);
    }
    private void limitItemsToN() {
        int max = 25;
        int unRegisters = 0;
        int checkIns = 0;
        int attenderEnter = 0;
        int attenderExit = 0;
        List<SurveillanceQueryItem> itemsToRemove = new ArrayList<>();
        for (int i = 0; i < allItems.size(); i++) {
            SurveillanceQueryItem item = allItems.get(i);
            int type = item.getRegisterOrCheckIn();
            if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
                unRegisters++;
                if (unRegisters > max) {
                    itemsToRemove.add(item);
                }
            }
            if (type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE) {
                checkIns++;
                if (checkIns > max) {
                    itemsToRemove.add(item);
                }
            }
            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN) {
                attenderEnter++;
                if (attenderEnter > max) {
                    itemsToRemove.add(item);
                }
            }
            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT) {
                attenderExit++;
                if (attenderExit > max) {
                    itemsToRemove.add(item);
                }
            }
        }
        allItems.removeAll(itemsToRemove);
    }
    public List getVisitorTwoRows() {
@@ -176,16 +215,16 @@
    public void removeTimeoutItemAndShow() {
        List itemsToRemove = new ArrayList();
//        for (SurveillanceQueryItem item : allItems) {
//            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
//                Date now = new Date();
//                Date createTime = item.getCreateTime();
//                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
//                if (minutes >= 5) {
//                    itemsToRemove.add(item);
//                }
//            }
//        }
        for (SurveillanceQueryItem item : allItems) {
            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
                Date now = new Date();
                Date createTime = item.getCreateTime();
                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
                if (minutes >= 5) {
                    itemsToRemove.add(item);
                }
            }
        }
        allItems.removeAll(itemsToRemove);
        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(SurveillanceQueryItemUtil.getInstance().getVisitorTwoRows());
        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(SurveillanceQueryItemUtil.getInstance().getAttendanceTwoRows());