geoinfo_admin/src/main/java/geoinfo/admins/userLog/GeoInfoChController.java

231 lines
7.8 KiB
Java
Raw Normal View History

2024-03-14 02:46:01 +00:00
package geoinfo.admins.userLog;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.admins.userLog.service.GeoInfoChService;
import geoinfo.com.EgovExcel;
import geoinfo.session.UserInfo;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* > > Controller
*
* @author ()
* @since 2017.06.07
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------------ ---------------- ---------------------------
* 2017.06.07 ()
*
* </pre>
*/
@Controller
public class GeoInfoChController {
@Resource(name = "geoInfoChService")
private GeoInfoChService masterService;
/**
* > > >
*
* @param model
* @param response
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/10.do")
public String selectInfoListGrp(ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
if (!UserInfo.isValidSession(request, response, "admin")) {
return "";
}
// List<?> resultList = masterService.selectInfoListGrp();
//
// model.addAttribute("resultList", resultList);
return "admins/userLog/10";
}
/**
* > > >
* @param workbook
* @param request
* @param response
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/10_excel.do")
public void selectInfoListGrpExcel(HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {
HashMap<String, Object> map = new HashMap<String, Object>();
List<?> selectInfoListExcel = masterService.selectInfoListGrp();
String[] arrHeader = { "년도", "월", "공급자", "지반조사업체", "설계업체", "시공업체", "유지보수업체", "중앙정부,지방청,공사", "지자체", "연구기관", "개인", "학교", "기타", "총계" };
map.put("selectInfoListExcel", selectInfoListExcel);
map.put("arrHeader", arrHeader);
map.put("sheetName", "그룹별 사용자 접속통계");
map.put("fileName", "그룹별사용자접속통계_");
buildExcelDocument(map, workbook, request, response);
}
/**
* > > >
*
* @param params
* @param model
* @param response
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/11.do")
public String selectInfoListDate(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
if (!UserInfo.isValidSession(request, response, "admin")) {
return "";
}
List<?> getYear_date = masterService.getYear_date();
if ("".equals(params.get("year")) || params.get("year") == null) {
params.put("year", ((EgovMap) getYear_date.get(0)).get("value"));
}
List<?> getMonth_date = masterService.getMonth_date(params);
if ("".equals(params.get("month")) || params.get("month") == null || (getMonth_date.size() != 0 && getMonth_date.size() < Integer.valueOf((String) params.get("month")))) {
params.put("month", ((EgovMap) getMonth_date.get(0)).get("value"));
}
List<?> resultList = masterService.selectInfoListDate(params);
model.addAttribute("params", params);
model.addAttribute("getYear_date", getYear_date);
model.addAttribute("getMonth_date", getMonth_date);
model.addAttribute("resultList", resultList);
return "admins/userLog/11";
}
/**
* > > > >
* @param params
* @param model
* @param response
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/11_graph.do")
public String selectInfoGraph(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
if (!UserInfo.isValidSession(request, response, "admin")) {
return "";
}
List<?> getYear_date = masterService.getYear_date();
if ("".equals(params.get("year")) || params.get("year") == null) {
params.put("year", ((EgovMap) getYear_date.get(0)).get("value"));
}
List<?> getMonth_date = masterService.getMonth_date_graph(params);
if ("".equals(params.get("month")) || params.get("month") == null || (getMonth_date.size() != 0 && getMonth_date.size() < Integer.valueOf((String) params.get("month")))) {
params.put("month", ((EgovMap) getMonth_date.get(0)).get("value"));
}
EgovMap result = masterService.selectInfoGraph(params);
model.addAttribute("params", params);
model.addAttribute("getYear_date", getYear_date);
model.addAttribute("getMonth_date", getMonth_date);
model.addAttribute("result", result);
return "admins/userLog/11_graph";
}
/**
* > > >
*
* @param workbook
* @param request
* @param response
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/11_excel.do")
public void selectInfoListDateExcel(HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {
HashMap<String, Object> map = new HashMap<String, Object>();
List<?> selectInfoListExcel = masterService.selectInfoListDateExcel();
String[] arrHeader = { "날짜", "총접속수" };
map.put("selectInfoListExcel", selectInfoListExcel);
map.put("arrHeader", arrHeader);
map.put("sheetName", "날짜별 사용자 접속통계");
map.put("fileName", "날짜별사용자접속통계_");
buildExcelDocument(map, workbook, request, response);
}
/**
* > > >
*
* @param model
* @param response
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "admins/userLog/30.do")
public String selectInfoListVisitor(ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
if (!UserInfo.isValidSession(request, response, "admin")) {
return "";
}
return "admins/userLog/30";
}
public void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {
List<?> selectInfoListExcel = (List<?>) model.get("selectInfoListExcel");
String[] arrHeader = (String[]) model.get("arrHeader");
Sheet sheet = workbook.createSheet((String) model.get("sheetName"));
EgovExcel.SetExcelList(workbook, sheet, arrHeader, selectInfoListExcel, 0, 0);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition",
"attachment;filename=" + URLEncoder.encode((String) model.get("fileName") + (new SimpleDateFormat("yyyy.MM.dd", Locale.KOREA)).format(new Date()), "UTF-8")
+ ".xls" + ";");
ServletOutputStream myOut = response.getOutputStream();
workbook.write(myOut); // 파일 저장
}
}