Search in sources :

Example 6 with SignatureRecord

use of com.itrus.portal.db.SignatureRecord in project portal by ixinportal.

the class RecordController method dealOnLine.

public void dealOnLine(Map<String, Object> param, Records records, List<RecordData> recordDataList, List<RecordData> srecordDataList) {
    List<Record> onlineList = new ArrayList<>();
    List<Record> s_onlineList = new ArrayList<>();
    List<Map<String, Object>> onlinemonthlist = sqlSession.selectList("com.itrus.portal.db.ActivityMsgTempMapper.selectOneMonth", param);
    Map<String, String> onlinemap = dealMonthList(onlinemonthlist);
    convertList(onlineList, onlinemap);
    List<Map<String, Object>> sixMonthList = sqlSession.selectList("com.itrus.portal.db.ActivityMsgTempMapper.selectSixMonth", param);
    Map<String, String> sonlinemap = dealSixList(sixMonthList);
    convertList(s_onlineList, sonlinemap);
    RecordData recordData = new RecordData();
    RecordData srecordData = new RecordData();
    SignatureRecord record = getOnlineBean(sixMonthList);
    recordData.setType("1");
    recordData.setValue(("null").equals(String.valueOf(record.getOneCount())) ? "0" : String.valueOf(record.getOneCount()));
    recordData.setTime(record.getDateTime());
    recordData.setName("安全在线");
    recordDataList.add(recordData);
    srecordData.setType("1");
    srecordData.setValue(("null").equals(String.valueOf(record.getSixCount())) ? "0" : String.valueOf(record.getSixCount()));
    // srecordData.setTime(record.getDateTime());
    srecordData.setName("安全在线");
    srecordDataList.add(srecordData);
    records.setOnlineList(onlineList);
    records.setSonlineList(s_onlineList);
}
Also used : RecordData(com.itrus.portal.entity.RecordData) ConditionRecord(com.itrus.portal.db.ConditionRecord) Record(com.itrus.portal.entity.Record) SignatureRecord(com.itrus.portal.db.SignatureRecord) SignatureRecord(com.itrus.portal.db.SignatureRecord)

Example 7 with SignatureRecord

use of com.itrus.portal.db.SignatureRecord in project portal by ixinportal.

the class RecordController method getsignatureBean.

public SignatureRecord getsignatureBean(List<Map<String, Object>> sixMonthList) {
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Calendar cal = Calendar.getInstance();
    SignatureRecord record = new SignatureRecord();
    int i = 0;
    // 现在的年份
    String now_year = String.valueOf(cal.get(Calendar.YEAR));
    // 现在的月份
    String now_month = String.valueOf((cal.get(Calendar.MONTH)) + 1);
    Long oneCount = 0L;
    BigDecimal a = null;
    BigDecimal b = null;
    Long sixCount = 0L;
    for (Map<String, Object> map : sixMonthList) {
        String record_time = ((String) map.get("date_time"));
        String record_year = record_time.substring(0, 4);
        String record_month = record_time.substring(5, 7);
        i++;
        a = (BigDecimal) map.get("sums");
        sixCount += a.longValue();
        if (record_year.equals(now_year) && record_month.equals(now_month)) {
            b = (BigDecimal) map.get("sums");
            oneCount = b.longValue();
        }
        if (sixMonthList.size() == i) {
            record.setEnterpriseName((String) map.get("enterprise_name"));
            record.setUserId((Long) map.get("user_id"));
            record.setDateTime(formatter.format((Date) map.get("sign_time")));
        }
        record.setOneCount(oneCount);
        record.setSixCount(sixCount);
    }
    return record;
}
Also used : SimpleDateFormat(java.text.SimpleDateFormat) SignatureRecord(com.itrus.portal.db.SignatureRecord) BigDecimal(java.math.BigDecimal)

Example 8 with SignatureRecord

use of com.itrus.portal.db.SignatureRecord in project portal by ixinportal.

the class SignatureRecordService method getCertSnByUserid.

/**
 * 根据userid返回最近一次签名记录所用到的证书序列号
 * @param userid
 * @return
 */
public String getCertSnByUserid(Long userid) {
    SignatureRecordExample sre = new SignatureRecordExample();
    SignatureRecordExample.Criteria srec = sre.createCriteria();
    srec.andUserIdEqualTo(userid);
    sre.setOrderByClause("sign_time");
    sre.setLimit(1);
    SignatureRecord signatureRecord = sqlSession.selectOne("com.itrus.portal.db.SignatureRecordMapper.selectByExample", sre);
    String certSn = "";
    if (null != signatureRecord) {
        certSn = signatureRecord.getCertSn().equals("") ? "" : signatureRecord.getCertSn();
    }
    return certSn;
}
Also used : SignatureRecord(com.itrus.portal.db.SignatureRecord) SignatureRecordExample(com.itrus.portal.db.SignatureRecordExample)

Example 9 with SignatureRecord

use of com.itrus.portal.db.SignatureRecord in project portal by ixinportal.

the class RecordQueueThread method run.

@Override
public void run() {
    boolean isException = false;
    while (true) {
        log.debug("execute run,the queue size is [" + OBJECT_QUEUE.size() + "]");
        if (OBJECT_QUEUE.isEmpty()) {
            try {
                // 若队列中没有信息则等待3秒
                sleep(3 * 1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            continue;
        }
        log.debug("execute run,the queue size is [" + OBJECT_QUEUE.size() + "]");
        // 签名记录
        Map<String, SignatureRecord> signatureRecordMap = new HashMap<>();
        // 在线记录
        Map<String, ActivityMsgTemp> activityMsgTempMap = new HashMap<>();
        // 环境检测
        Map<String, ConditionRecord> conditionRecordMap = new HashMap<>();
        // 流水表
        Map<Long, ChargingFlow> chargingFlowMap = new HashMap<>();
        for (int i = 0; !OBJECT_QUEUE.isEmpty() && i < 500; i++) {
            Object object = OBJECT_QUEUE.poll();
            if (object instanceof SignatureRecord) {
                SignatureRecord sr = (SignatureRecord) object;
                signatureRecordMap.put(sr.getBy1(), sr);
            } else if (object instanceof ActivityMsgTemp) {
                ActivityMsgTemp am = (ActivityMsgTemp) object;
                activityMsgTempMap.put(am.getThreadId(), am);
            } else if (object instanceof ConditionRecord) {
                ConditionRecord cr = (ConditionRecord) object;
                conditionRecordMap.put(cr.getBy1(), cr);
            } else if (object instanceof ChargingFlow) {
                ChargingFlow cr = (ChargingFlow) object;
                chargingFlowMap.put(cr.getId(), cr);
            }
        }
        // 保存签名记录
        if (!signatureRecordMap.isEmpty())
            try {
                sqlSession.insert("com.itrus.portal.db.SignatureRecordMapper.insertOrUpdate", signatureRecordMap.values().toArray());
            } catch (Exception e) {
                isException = true;
                // 将错误信息显示,不进行操作
                log.error(e);
            }
        // 保存在线记录
        if (!activityMsgTempMap.isEmpty())
            try {
                sqlSession.insert("com.itrus.portal.db.ActivityMsgTempMapper.insertOrUpdate", activityMsgTempMap.values().toArray());
            } catch (Exception e) {
                isException = true;
                // 将错误信息显示,不进行操作
                log.error(e);
            }
        // 保存环境检测记录
        if (!conditionRecordMap.isEmpty())
            try {
                sqlSession.insert("com.itrus.portal.db.ConditionRecordMapper.insertOrUpdate", conditionRecordMap.values().toArray());
            } catch (Exception e) {
                isException = true;
                // 将错误信息显示,不进行操作
                log.error(e);
            }
        // 暂时保存流水表记录
        if (!chargingFlowMap.isEmpty())
            try {
                sqlSession.insert("com.itrus.portal.db.ChargingFlowMapper.bulkInsert", chargingFlowMap.values().toArray());
            } catch (Exception e) {
                isException = true;
                // 将错误信息显示,不进行操作
                log.error(e);
            }
        log.debug("the exception is [" + isException + "]");
        // 若出现异常则暂停10秒钟
        if (isException) {
            try {
                // 若队列中没有信息则等待3秒
                sleep(3 * 1000);
            } catch (InterruptedException e) {
                log.error(e);
            } finally {
                isException = false;
            }
        }
    }
}
Also used : ChargingFlow(com.itrus.portal.db.ChargingFlow) HashMap(java.util.HashMap) ConditionRecord(com.itrus.portal.db.ConditionRecord) ActivityMsgTemp(com.itrus.portal.db.ActivityMsgTemp) SignatureRecord(com.itrus.portal.db.SignatureRecord)

Aggregations

SignatureRecord (com.itrus.portal.db.SignatureRecord)9 ConditionRecord (com.itrus.portal.db.ConditionRecord)5 Record (com.itrus.portal.entity.Record)4 RecordData (com.itrus.portal.entity.RecordData)4 SimpleDateFormat (java.text.SimpleDateFormat)3 BigDecimal (java.math.BigDecimal)2 ActivityMsgTemp (com.itrus.portal.db.ActivityMsgTemp)1 ChargingFlow (com.itrus.portal.db.ChargingFlow)1 SignatureRecordExample (com.itrus.portal.db.SignatureRecordExample)1 HashMap (java.util.HashMap)1