Newer
Older
pgdsc / src / com / szpg / task / ReadAssetInSpectionTask.java
xiaowei on 24 Nov 2018 2 KB 增加巡检运维数据同步
package com.szpg.task;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.szpg.db.dao.PgAssetInSpectionDao;
import com.szpg.db.dao.impl.PgAssetInSpectionImpl;
import com.szpg.db.data.PgAssetInSpection;
import com.szpg.db.data.PgAssetJson;
import com.szpg.util.HttpRequest;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class ReadAssetInSpectionTask implements Runnable{

    final String tableName="V_ASSET_INSPECTION_RECORD";
    final String url="http://10.10.2.31:9056/GLYW/api/Common/LoadIndexData";
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Override
    public void run(){
        PgAssetInSpectionDao pgAssetInSpectionDao=new PgAssetInSpectionImpl();

        String startTime=pgAssetInSpectionDao.findLastRecordTime();//上次同步数据最后记录时间
        String endTime= dateFormat.format(new Date());//当前时间
        if(startTime==null)
            startTime=getYestodayStr();

        StringBuilder sb = new StringBuilder();
        sb.append("tableName = ").append(tableName);
        sb.append("&page=-1");
        sb.append("&strWhere=采集时间");
        sb.append("&between '").append(startTime);
        sb.append("' and '").append(endTime);
        sb.append("' order by 采集时间");

        String jsonStr = HttpRequest.sendPostByHttp(url, sb.toString());

        insertDB(pgAssetInSpectionDao,jsonStr);
    }

    public void insertDB(PgAssetInSpectionDao pgAssetInSpectionDao,String jsonStr)
    {
        List<PgAssetInSpection> pgAssetInSpectionList= getAssetByJsonString(jsonStr);
        pgAssetInSpectionDao.addAssetInSpectionRecord(pgAssetInSpectionList);
    }

    private List<PgAssetInSpection> getAssetByJsonString(String jsonStr){
        PgAssetJson pgAssetJson = JSON.parseObject(jsonStr, new TypeReference<PgAssetJson>() {});
        List<PgAssetInSpection> pgAssetInSpectionList=pgAssetJson.getRows();
        return pgAssetInSpectionList;
    }

    public String getYestodayStr() {
        Date dt = new Date();
        String yesToday = "";
        Date dtt = (Date) dt.clone();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(dtt);
        calendar.add(Calendar.DAY_OF_MONTH, -1);
        yesToday = dateFormat.format(calendar.getTime());

        return yesToday;
    }
}