com.fota.fota3g.statisticsMgt.controller.FotaReportExcelDown.java Source code

Java tutorial

Introduction

Here is the source code for com.fota.fota3g.statisticsMgt.controller.FotaReportExcelDown.java

Source

/*
 * M2M ServiceFOTA ONM version 1.0
 *
 *  Copyright  2014 kt corp. All rights reserved.
 *
 *  This is a proprietary software of kt corp, and you may not use this file except in
 *  compliance with license agreement with kt corp. Any redistribution or use of this
 *  software, with or without modification shall be strictly prohibited without prior written
 *  approval of kt corp, and the copyright notice above does not evidence any actual or
 *  intended publication of such software.
 */
package com.fota.fota3g.statisticsMgt.controller;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.servlet.view.document.AbstractExcelView;

import com.fota.comm.util.DateTimeUtil;
import com.fota.fota3g.statisticsMgt.vo.FotaReportFailCauseAnalysisViewVo;
import com.fota.fota3g.statisticsMgt.vo.FotaReportFirmPkgDownloadViewVo;
import com.fota.fota3g.statisticsMgt.vo.FotaReportInfoVo;

public class FotaReportExcelDown extends AbstractExcelView {

    @Override
    protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        String date = DateTimeUtil.getCurrentDate();
        String formNm = "FOTA_";
        String fileName = date + "_" + formNm;

        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setHeader("Content-disposition",
                "attachent; filename=" + new String((fileName).getBytes("KSC5601"), "8859_1") + ".xls");

        @SuppressWarnings("unchecked")
        List<FotaReportInfoVo> fotaReportTotalList = (List<FotaReportInfoVo>) model.get("fotaReportTotalList");
        @SuppressWarnings("unchecked")
        List<FotaReportFailCauseAnalysisViewVo> failCauseAnalysisTotalList = (List<FotaReportFailCauseAnalysisViewVo>) model
                .get("failCauseAnalysisTotalList");
        @SuppressWarnings("unchecked")
        List<FotaReportFirmPkgDownloadViewVo> firmPkgDownloadtotalList = (List<FotaReportFirmPkgDownloadViewVo>) model
                .get("firmPkgDownloadtotalList");

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // ?  
        HSSFSheet sheet1 = workbook.createSheet("?  ");

        //  ?
        HSSFRow title = sheet1.createRow(0);
        title.createCell(0).setCellValue("?  ");

        HSSFRow header = sheet1.createRow(1);
        header.createCell(0).setCellValue("");
        header.createCell(1).setCellValue("");
        header.createCell(2).setCellValue("  ");
        header.createCell(3).setCellValue("");
        header.createCell(4).setCellValue("");
        header.createCell(5).setCellValue("");
        header.createCell(6).setCellValue(" ??");

        HSSFRow subHeader = sheet1.createRow(2);
        subHeader.createCell(0).setCellValue("?");
        subHeader.createCell(1).setCellValue("?");
        subHeader.createCell(2).setCellValue("? ");
        subHeader.createCell(3).setCellValue("");
        subHeader.createCell(4).setCellValue("");
        subHeader.createCell(5).setCellValue("");
        subHeader.createCell(6).setCellValue("");
        subHeader.createCell(7).setCellValue("");
        subHeader.createCell(8).setCellValue("");
        subHeader.createCell(9).setCellValue("");
        subHeader.createCell(10).setCellValue("");
        subHeader.createCell(11).setCellValue("PIN ");
        subHeader.createCell(12).setCellValue("");

        int index = 2;
        if (fotaReportTotalList != null && fotaReportTotalList.size() > 0) {
            for (int i = 0; i < fotaReportTotalList.size(); i++) {
                FotaReportInfoVo fvo = fotaReportTotalList.get(i);
                HSSFRow row = sheet1.createRow(++index);

                row.createCell(0).setCellValue(fvo.getModel());
                row.createCell(1).setCellValue(fvo.getSubscriberCount());
                row.createCell(2).setCellValue(fvo.getFirmwareVersionCheckCount());
                row.createCell(3).setCellValue(fvo.getFirmwareVersionCheckSucc());
                row.createCell(4).setCellValue(fvo.getFirmwareVersionCheckFail());
                row.createCell(5).setCellValue(fvo.getFirmwareVersionCheckSuccRate());
                row.createCell(6).setCellValue(fvo.getFirmwareUpdateRealTime());
                row.createCell(7).setCellValue(fvo.getFirmwareUpdateReservation());
                row.createCell(8).setCellValue(fvo.getFirmwareUpdateSucc());
                row.createCell(9).setCellValue(fvo.getFirmwareUpdateFail());
                row.createCell(10).setCellValue(fvo.getFirmwareUpdateFinalVersion());
                row.createCell(11).setCellValue(fvo.getFirmwareUpdatePinLock());
                row.createCell(12).setCellValue(fvo.getFirmwareUpdateSuccRate());
            }
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //  ?? ? 
        HSSFSheet sheet2 = workbook.createSheet(" ?? ?");

        //  ?
        HSSFRow title2 = sheet2.createRow(0);
        title2.createCell(0).setCellValue(" ?? ?");

        HSSFRow header2 = sheet2.createRow(1);
        header2.createCell(0).setCellValue("");
        header2.createCell(1).setCellValue("?");
        header2.createCell(2).setCellValue("");
        header2.createCell(3).setCellValue("??");

        index = 1;
        if (failCauseAnalysisTotalList != null && failCauseAnalysisTotalList.size() > 0) {
            for (int i = 0; i < failCauseAnalysisTotalList.size(); i++) {
                FotaReportFailCauseAnalysisViewVo fvo = failCauseAnalysisTotalList.get(i);
                HSSFRow row = sheet2.createRow(++index);

                row.createCell(0).setCellValue(fvo.getDevision());
                row.createCell(1).setCellValue(fvo.getModel());
                row.createCell(2).setCellValue(fvo.getCount());
                row.createCell(3).setCellValue(fvo.getCause());

            }
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //     
        HSSFSheet sheet3 = workbook.createSheet("   ");

        //  ?
        HSSFRow title3 = sheet3.createRow(0);
        title3.createCell(0).setCellValue("   ");

        HSSFRow header3 = sheet3.createRow(1);
        header3.createCell(0).setCellValue("?");
        header3.createCell(1).setCellValue(" ");
        header3.createCell(2).setCellValue(" ");

        index = 1;
        if (firmPkgDownloadtotalList != null && firmPkgDownloadtotalList.size() > 0) {
            for (int i = 0; i < firmPkgDownloadtotalList.size(); i++) {
                FotaReportFirmPkgDownloadViewVo fvo = firmPkgDownloadtotalList.get(i);
                HSSFRow row = sheet3.createRow(++index);

                row.createCell(0).setCellValue(fvo.getModel());
                row.createCell(1).setCellValue(fvo.getFirmwarePkg());
                row.createCell(2).setCellValue(fvo.getDownloadCount());
            }
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        workbook.write(response.getOutputStream());
        response.getOutputStream().close();
    }

}