|
@@ -1,724 +0,0 @@
|
|
|
-package com.lemon.lifecenter.controller;
|
|
|
-
|
|
|
-import java.io.ByteArrayInputStream;
|
|
|
-import java.io.ByteArrayOutputStream;
|
|
|
-import java.io.File;
|
|
|
-import java.io.FileNotFoundException;
|
|
|
-import java.io.FileOutputStream;
|
|
|
-import java.io.IOException;
|
|
|
-import java.io.InputStream;
|
|
|
-import java.security.GeneralSecurityException;
|
|
|
-import java.text.DecimalFormat;
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
-import java.text.ParseException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-
|
|
|
-import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
|
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|
|
-import org.apache.poi.openxml4j.opc.OPCPackage;
|
|
|
-import org.apache.poi.poifs.crypt.EncryptionInfo;
|
|
|
-import org.apache.poi.poifs.crypt.EncryptionMode;
|
|
|
-import org.apache.poi.poifs.crypt.Encryptor;
|
|
|
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
|
|
-import org.apache.poi.ss.usermodel.Cell;
|
|
|
-import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
-import org.apache.poi.ss.usermodel.Font;
|
|
|
-import org.apache.poi.ss.usermodel.IndexedColors;
|
|
|
-import org.apache.poi.ss.usermodel.Row;
|
|
|
-import org.apache.poi.ss.usermodel.Sheet;
|
|
|
-import org.apache.poi.ss.usermodel.Workbook;
|
|
|
-import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
-import org.springframework.web.servlet.ModelAndView;
|
|
|
-
|
|
|
-import com.lemon.lifecenter.common.LifeCenterConfigVO;
|
|
|
-import com.lemon.lifecenter.common.LifeCenterController;
|
|
|
-import com.lemon.lifecenter.common.LifeCenterFileDownload;
|
|
|
-import com.lemon.lifecenter.common.LifeCenterFunction;
|
|
|
-import com.lemon.lifecenter.common.LifeCenterPaging;
|
|
|
-import com.lemon.lifecenter.common.LifeCenterSessionController;
|
|
|
-import com.lemon.lifecenter.dto.CenterInfoDTO;
|
|
|
-import com.lemon.lifecenter.dto.FileDownloadDTO;
|
|
|
-import com.lemon.lifecenter.dto.LocationDTO;
|
|
|
-import com.lemon.lifecenter.dto.StaffManagerDTO;
|
|
|
-import com.lemon.lifecenter.service.CenterService;
|
|
|
-import com.lemon.lifecenter.service.FileDownloadService;
|
|
|
-import com.lemon.lifecenter.service.StaffManagerService;
|
|
|
-
|
|
|
-@Controller
|
|
|
-@RequestMapping("/staffMediManager")
|
|
|
-public class StaffMediManagerController extends LifeCenterController {
|
|
|
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private StaffManagerService service;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private CenterService centerService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private LifeCenterConfigVO config;
|
|
|
-
|
|
|
- private LifeCenterPaging paging;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private FileDownloadService fileDownloadService;
|
|
|
-
|
|
|
- @RequestMapping("/info")
|
|
|
- public ModelAndView staffManagerInfo(
|
|
|
- @ModelAttribute("dto") StaffManagerDTO dto,
|
|
|
- @RequestParam(value="gubun", required=false, defaultValue="M") String inputgubun,
|
|
|
- HttpServletRequest request,HttpServletResponse response) {
|
|
|
-
|
|
|
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
|
|
|
- dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- dto.setGubun(inputgubun);
|
|
|
-
|
|
|
- ModelAndView mv = setMV("staff/manager/info");
|
|
|
-
|
|
|
- int total = service.selectStaffManagerCount(dto);
|
|
|
-
|
|
|
- StaffManagerDTO ndto = new StaffManagerDTO();
|
|
|
- if (total > 0) {
|
|
|
- ndto = service.selectStaffManagerInfo(dto);
|
|
|
- } else {
|
|
|
- ndto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- ndto.setGubun(inputgubun);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- mv.addObject("list", ndto);
|
|
|
-
|
|
|
- return mv;
|
|
|
- }
|
|
|
-
|
|
|
- @RequestMapping("/daylist")
|
|
|
- public ModelAndView staffManagerDayList(
|
|
|
- @ModelAttribute("dto") StaffManagerDTO dto,
|
|
|
- @RequestParam(value="gubun", required=false, defaultValue="M") String inputgubun,
|
|
|
- @RequestParam(value="startDate", required=false, defaultValue="") String inputStartDate,
|
|
|
- @RequestParam(value="endDate", required=false, defaultValue="") String inputEndDate,
|
|
|
- @RequestParam(value="page", required=false, defaultValue="1") int page,
|
|
|
-
|
|
|
- HttpServletRequest request,HttpServletResponse response) {
|
|
|
-
|
|
|
- SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
-
|
|
|
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
|
|
|
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
|
|
|
- dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- dto.setGubun( inputgubun );
|
|
|
- dto.setToDay( LifeCenterFunction.getNow("yyyy-MM-dd") );
|
|
|
-
|
|
|
- dto.setLimit( ( Integer.valueOf( page ) - 1 ) * config.pageDataSize );
|
|
|
- dto.setLimitMax( config.pageDataSize );
|
|
|
- dto.setGubun(inputgubun);
|
|
|
-
|
|
|
- StaffManagerDTO ndto = new StaffManagerDTO();
|
|
|
- ndto = service.selectStaffManagerDayCount(dto);
|
|
|
- int total = ndto.getStaffTotal();
|
|
|
- List<StaffManagerDTO> list = new ArrayList<StaffManagerDTO>();
|
|
|
-
|
|
|
- if (total > 0) {
|
|
|
- try {
|
|
|
- Date day1 = date.parse(ndto.getEndDate());
|
|
|
- Date day2 = date.parse(dto.getToDay());
|
|
|
-
|
|
|
- long calDate = day2.getTime() - day1.getTime();
|
|
|
- long calDateDays = calDate / ( 24*60*60*1000);
|
|
|
- calDateDays = Math.abs(calDateDays);
|
|
|
-
|
|
|
- if(calDateDays > 0 && inputStartDate.isEmpty() && inputEndDate.isEmpty()){
|
|
|
- Calendar cal = Calendar.getInstance();
|
|
|
- cal.setTime(day1);
|
|
|
- int extotal = 0;
|
|
|
- StaffManagerDTO tmpdto = new StaffManagerDTO();
|
|
|
- for (int i=0; i < calDateDays; i++) {
|
|
|
- cal.add(Calendar.DATE, 1);
|
|
|
- dto.setStatusFlag("U");
|
|
|
-
|
|
|
- extotal = service.selectStaffManagerCount(dto);
|
|
|
- if (extotal > 0) {
|
|
|
- } else {
|
|
|
- dto.setStatusFlag("I");
|
|
|
- tmpdto = service.selectStaffManagerInfo(dto);
|
|
|
-
|
|
|
- tmpdto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- tmpdto.setGubun(inputgubun);
|
|
|
- tmpdto.setRegistDay(date.format(cal.getTime()));
|
|
|
- tmpdto.setCreateById(sesId);
|
|
|
-
|
|
|
- service.insertStaffManager(tmpdto);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }catch(ParseException e) {
|
|
|
-
|
|
|
- }
|
|
|
- dto.setStatusFlag("");
|
|
|
- ndto = service.selectStaffManagerDayCount(dto);
|
|
|
- total = ndto.getStaffTotal();
|
|
|
-
|
|
|
- dto.setStartDate(inputStartDate);
|
|
|
-
|
|
|
- list = service.selectStaffManagerDayList(dto);
|
|
|
- } else {
|
|
|
- try {
|
|
|
- Date day1 = date.parse(ndto.getEndDate());
|
|
|
- Date day2 = date.parse(dto.getToDay());
|
|
|
- int compare = day1.compareTo(day2);
|
|
|
- if(compare > 0){
|
|
|
- total = 1;
|
|
|
- dto.setStatusFlag("I");
|
|
|
- list.add(dto);
|
|
|
- }
|
|
|
- }catch(ParseException e) {
|
|
|
- if(inputEndDate.equals(dto.getToDay()) || inputEndDate.isEmpty()) {
|
|
|
- total = 1;
|
|
|
- dto.setStatusFlag("I");
|
|
|
- list.add(dto);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- String param = "startDate="+inputStartDate+"&endDate="+inputEndDate;
|
|
|
- paging = LifeCenterPaging.getInstance();
|
|
|
- paging.paging(config, total, page, param);
|
|
|
-
|
|
|
- ModelAndView mv = setMV("staff/manager/daylist");
|
|
|
-
|
|
|
- mv.addObject("total", total);
|
|
|
-
|
|
|
- mv.addObject("list", list);
|
|
|
-
|
|
|
- mv.addObject("gubun", inputgubun);
|
|
|
- mv.addObject("startDate", inputStartDate);
|
|
|
- mv.addObject("endDate", inputEndDate);
|
|
|
-
|
|
|
- mv.addObject("paging", paging);
|
|
|
- mv.addObject("page", page);
|
|
|
- mv.addObject("pageSize", dto.getLimitMax());
|
|
|
-
|
|
|
- return mv;
|
|
|
- }
|
|
|
-
|
|
|
- @RequestMapping("/edit")
|
|
|
- public ModelAndView staffManagerEdit(
|
|
|
- @ModelAttribute("dto") StaffManagerDTO dto,
|
|
|
- @RequestParam(value="gubun", required=false, defaultValue="M") String inputgubun,
|
|
|
- @RequestParam(value="statusFlag", required=false, defaultValue="I") String inputStatusFlag,
|
|
|
- HttpServletRequest request,HttpServletResponse response) {
|
|
|
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
|
|
|
- dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- dto.setGubun(inputgubun);
|
|
|
- dto.setStatusFlag(inputStatusFlag);
|
|
|
-
|
|
|
- int total = service.selectStaffManagerCount(dto);
|
|
|
- StaffManagerDTO ndto = new StaffManagerDTO();
|
|
|
- if (total > 0) {
|
|
|
- ndto = service.selectStaffManagerInfo(dto);
|
|
|
- } else {
|
|
|
- ndto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- ndto.setGubun(inputgubun);
|
|
|
- }
|
|
|
-
|
|
|
- ModelAndView mv = setMV("staff/manager/edit");
|
|
|
-
|
|
|
- mv.addObject("list", ndto);
|
|
|
-
|
|
|
- return mv;
|
|
|
- }
|
|
|
-
|
|
|
- @RequestMapping( value = "/staffupdate", method = RequestMethod.POST)
|
|
|
- public String staffManagerUpdate(
|
|
|
- @ModelAttribute("dto") final StaffManagerDTO dto,
|
|
|
- HttpServletRequest request,HttpServletResponse response) {
|
|
|
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
|
|
|
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
|
|
|
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
|
|
|
-
|
|
|
- dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- dto.setStatusFlag("U");
|
|
|
-
|
|
|
- int total = service.selectStaffManagerCount(dto);
|
|
|
-
|
|
|
- if (total > 0) {
|
|
|
- dto.setUpdateById(sesId);
|
|
|
- service.updateStaffManager(dto);
|
|
|
- } else {
|
|
|
- dto.setCreateById(sesId);
|
|
|
-
|
|
|
- CenterInfoDTO cdto = new CenterInfoDTO();
|
|
|
- cdto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- cdto = centerService.selectCenterInfo(cdto);
|
|
|
-
|
|
|
- //검색용으로 저장
|
|
|
- dto.setLocationCode(cdto.getLocationCode());
|
|
|
- dto.setCenterName(sesCenterName);
|
|
|
- dto.setCooperativeCode(cdto.getCooperativeCode());
|
|
|
- dto.setCooperativeName(cdto.getCooperativeName());
|
|
|
-
|
|
|
- service.insertStaffManager(dto);
|
|
|
- }
|
|
|
-
|
|
|
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '저장을 완료하였습니다.', callBack : function(){ location.href='/staff"+(dto.getGubun().equals("M") ? "Medi" : "Gov")+"Manager/daylist'; } });" );
|
|
|
- return "/common/blank";
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @RequestMapping("/list")
|
|
|
- public ModelAndView staffManagerList(
|
|
|
- @ModelAttribute("dto") StaffManagerDTO dto,
|
|
|
- @RequestParam(value="gubun", required=false, defaultValue="M") String inputgubun,
|
|
|
- @RequestParam(value="locationCode", required=false, defaultValue="") String inputlocationCode,
|
|
|
- @RequestParam(value="centerName", required=false, defaultValue="") String inputCenterName,
|
|
|
- @RequestParam(value="registDay", required=false, defaultValue="") String inputRegistDay,
|
|
|
- @RequestParam(value="page", required=false, defaultValue="1") int page,
|
|
|
-
|
|
|
- HttpServletRequest request,HttpServletResponse response) {
|
|
|
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
|
|
|
-
|
|
|
- List<LocationDTO> locationCodeList = centerService.selectLocation();
|
|
|
-
|
|
|
- dto.setLimit( ( Integer.valueOf( page ) - 1 ) * config.pageDataSize );
|
|
|
- dto.setLimitMax( config.pageDataSize );
|
|
|
- dto.setGubun(inputgubun);
|
|
|
-
|
|
|
- if (inputRegistDay.isEmpty()) {
|
|
|
- inputRegistDay = LifeCenterFunction.getNow("yyyy-MM-dd");
|
|
|
- }
|
|
|
-
|
|
|
- dto.setRegistDay(inputRegistDay);
|
|
|
- dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
-
|
|
|
- int total = service.selectStaffManagerCount(dto);
|
|
|
- List<StaffManagerDTO> list = new ArrayList<StaffManagerDTO>();
|
|
|
- if (total > 0) {
|
|
|
- list = service.selectStaffManagerList(dto);
|
|
|
- }
|
|
|
-
|
|
|
- String param = "locationCode="+inputlocationCode+"¢erlName="+inputCenterName+"®istDay="+inputRegistDay;
|
|
|
- paging = LifeCenterPaging.getInstance();
|
|
|
- paging.paging(config, total, page, param);
|
|
|
-
|
|
|
- ModelAndView mv = setMV("staff/manager/list");
|
|
|
-
|
|
|
- mv.addObject("total", total);
|
|
|
-
|
|
|
- mv.addObject("list", list);
|
|
|
- mv.addObject("locationList", locationCodeList);
|
|
|
-
|
|
|
- mv.addObject("gubun", inputgubun);
|
|
|
- mv.addObject("locationCode", inputlocationCode);
|
|
|
- mv.addObject("centerName", inputCenterName);
|
|
|
- mv.addObject("registDay", inputRegistDay);
|
|
|
-
|
|
|
- mv.addObject("paging", paging);
|
|
|
- mv.addObject("page", page);
|
|
|
- mv.addObject("pageSize", dto.getLimitMax());
|
|
|
-
|
|
|
- return mv;
|
|
|
- }
|
|
|
-
|
|
|
- @RequestMapping( value="/excel", method=RequestMethod.POST )
|
|
|
- public void staffManagerExcelList(
|
|
|
- @RequestParam(value="downMemo", required=false, defaultValue="") String downMemo,
|
|
|
- @RequestParam(value="locationCode", required=false, defaultValue="") String inputlocationCode,
|
|
|
- @RequestParam(value="centerlName", required=false, defaultValue="") String inputcenterlName,
|
|
|
- @RequestParam(value="gubun", required=false, defaultValue="M") String inputgubun,
|
|
|
- HttpServletRequest request,HttpServletResponse response ) {
|
|
|
- String userId = LifeCenterSessionController.getSession(request, "sesId");
|
|
|
-
|
|
|
- //excel 다운로드 로그 남기기
|
|
|
- FileDownloadDTO fileDTO = new FileDownloadDTO();
|
|
|
- fileDTO.setId( userId );
|
|
|
- fileDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
|
|
|
- fileDTO.setUrl( request.getRequestURI().toString() );
|
|
|
- fileDTO.setMemo( downMemo );
|
|
|
- fileDTO.setEtc( "" );
|
|
|
- fileDownloadService.insertExcelDownloadLog( fileDTO );
|
|
|
-
|
|
|
- StaffManagerDTO dto = new StaffManagerDTO();
|
|
|
- dto.setGubun(inputgubun);
|
|
|
- dto.setLocationCode(inputlocationCode);
|
|
|
- dto.setCenterName(inputcenterlName);
|
|
|
-
|
|
|
- int total = service.selectStaffManagerCount(dto);
|
|
|
- List<StaffManagerDTO> result = new ArrayList<StaffManagerDTO>();
|
|
|
- if (total > 0) {
|
|
|
- dto.setLimit(0);
|
|
|
- dto.setLimitMax(total + 1);
|
|
|
- result = service.selectStaffManagerList(dto);
|
|
|
-
|
|
|
-// for( StaffManagerDTO temp : result ) {
|
|
|
-// result.get( result.indexOf( temp ) ).setStaffPhoneNumber( LifeCenterFunction.phone( temp.getStaffPhoneNumber() ) );
|
|
|
-// }
|
|
|
-
|
|
|
- }
|
|
|
- getstaffManagerListExcel(request, response, result, inputgubun);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void getstaffManagerListExcel(HttpServletRequest request, HttpServletResponse response, List<StaffManagerDTO> data,String inputgubun ) {
|
|
|
- String password = LifeCenterSessionController.getSession(request, "sesPhoneNumber");
|
|
|
- password = password.toLowerCase();
|
|
|
- if (!password.equals("null") && !password.equals( "" )) {
|
|
|
- password = password.replace("-", "");
|
|
|
- password = password.substring(3).trim();
|
|
|
- } else {
|
|
|
- password = "";
|
|
|
- }
|
|
|
-
|
|
|
- Workbook workbook = new XSSFWorkbook();
|
|
|
- Sheet sheet1 = workbook.createSheet("firstSheet");
|
|
|
- DecimalFormat df = new DecimalFormat("#,###");
|
|
|
-
|
|
|
- //1.셀 스타일 및 폰트 설정
|
|
|
- CellStyle styleOfBoardFillFontBlackBold16 = workbook.createCellStyle();
|
|
|
- //정렬
|
|
|
- styleOfBoardFillFontBlackBold16.setAlignment(CellStyle.ALIGN_CENTER); //가운데 정렬
|
|
|
- styleOfBoardFillFontBlackBold16.setVerticalAlignment(CellStyle.VERTICAL_CENTER); //높이 가운데 정렬
|
|
|
- //배경색
|
|
|
- styleOfBoardFillFontBlackBold16.setFillForegroundColor(IndexedColors.LIGHT_YELLOW.getIndex());
|
|
|
- styleOfBoardFillFontBlackBold16.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
|
|
- //테두리 선 (우,좌,위,아래)
|
|
|
- styleOfBoardFillFontBlackBold16.setBorderRight(HSSFCellStyle.BORDER_THIN);
|
|
|
- styleOfBoardFillFontBlackBold16.setBorderLeft(HSSFCellStyle.BORDER_THIN);
|
|
|
- styleOfBoardFillFontBlackBold16.setBorderTop(HSSFCellStyle.BORDER_THIN);
|
|
|
- styleOfBoardFillFontBlackBold16.setBorderBottom(HSSFCellStyle.BORDER_THIN);
|
|
|
- //폰트 설정
|
|
|
- Font fontOfGothicBlackBold16 = workbook.createFont();
|
|
|
-// fontOfGothicBlackBold16.setFontName("나눔고딕"); //글씨체
|
|
|
- fontOfGothicBlackBold16.setFontHeight((short)(10*20)); //사이즈
|
|
|
- fontOfGothicBlackBold16.setBoldweight(Font.BOLDWEIGHT_BOLD); //볼드 (굵게)
|
|
|
- styleOfBoardFillFontBlackBold16.setFont(fontOfGothicBlackBold16);
|
|
|
-
|
|
|
- int i = 2;
|
|
|
- Row row = sheet1.createRow(0);
|
|
|
- Cell cell1 = row.createCell(0);
|
|
|
- Cell cell2 = row.createCell(1);
|
|
|
- Cell cell3 = row.createCell(2);
|
|
|
- Cell cell4 = row.createCell(3);
|
|
|
- Cell cell5 = row.createCell(4);
|
|
|
- Cell cell6 = row.createCell(5);
|
|
|
- Cell cell7 = row.createCell(6);
|
|
|
- Cell cell8 = row.createCell(7);
|
|
|
- Cell cell9 = row.createCell(8);
|
|
|
- Cell cell10 = row.createCell(9);
|
|
|
- Cell cell11 = row.createCell(10);
|
|
|
- Cell cell12 = row.createCell(11);
|
|
|
- Cell cell13 = row.createCell(12);
|
|
|
- Cell cell14 = row.createCell(13);
|
|
|
- Cell cell15 = row.createCell(14);
|
|
|
- Cell cell16 = row.createCell(15);
|
|
|
- Cell cell17 = row.createCell(16);
|
|
|
- Cell cell18 = row.createCell(17);
|
|
|
- Cell cell19 = row.createCell(18);
|
|
|
-
|
|
|
- cell1.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell2.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell3.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell4.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell5.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell6.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell7.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell8.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell9.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell10.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell11.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell12.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell13.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell14.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell15.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
-
|
|
|
- if(inputgubun.equals("M")) {
|
|
|
- cell16.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell17.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell18.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell19.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- }
|
|
|
-
|
|
|
- cell1.setCellValue("생활치료센터명");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,1,0,0));
|
|
|
-
|
|
|
- cell2.setCellValue("지역");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,1,1,1));
|
|
|
- cell3.setCellValue("협력병원명");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,1,2,2));
|
|
|
- cell4.setCellValue("인력총계(단위:명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,1,3,3));
|
|
|
-
|
|
|
- cell5.setCellValue((inputgubun.equals("M") ? "협력병원" : "행정") + " 인력 현황 (단위 :명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,0,4,inputgubun.equals("M") ? 9 : 8));
|
|
|
-
|
|
|
- if (inputgubun.equals("M")) {
|
|
|
- cell11.setCellValue("공공 인력 현황 (단위 :명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,0,10,12));
|
|
|
- cell14.setCellValue("민간 인력 현황 (단위 :명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,0,13, 18));
|
|
|
- } else {
|
|
|
- cell10.setCellValue("서비스 인력 현황 (단위 :명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,0,9,11));
|
|
|
- cell13.setCellValue("민간 인력 현황 (단위 :명)");
|
|
|
- sheet1.addMergedRegion(new CellRangeAddress(0,0,12, 14));
|
|
|
- }
|
|
|
-
|
|
|
- row = sheet1.createRow(1);
|
|
|
-
|
|
|
- cell1 = row.createCell(0);
|
|
|
- cell2 = row.createCell(1);
|
|
|
- cell3 = row.createCell(2);
|
|
|
- cell4 = row.createCell(3);
|
|
|
- cell5 = row.createCell(4);
|
|
|
- cell6 = row.createCell(5);
|
|
|
- cell7 = row.createCell(6);
|
|
|
- cell8 = row.createCell(7);
|
|
|
- cell9 = row.createCell(8);
|
|
|
- cell10 = row.createCell(9);
|
|
|
- cell11 = row.createCell(10);
|
|
|
- cell12 = row.createCell(11);
|
|
|
- cell13 = row.createCell(12);
|
|
|
- cell14 = row.createCell(13);
|
|
|
- cell15 = row.createCell(14);
|
|
|
- cell16 = row.createCell(15);
|
|
|
- cell17 = row.createCell(16);
|
|
|
- cell18 = row.createCell(17);
|
|
|
- cell19 = row.createCell(18);
|
|
|
-
|
|
|
-
|
|
|
- cell1.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell2.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell3.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell4.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell5.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell6.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell7.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell8.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell9.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell10.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell11.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell12.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell13.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell14.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell15.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
-
|
|
|
- if(inputgubun.equals("M")) {
|
|
|
- cell16.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell17.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell18.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- cell19.setCellStyle(styleOfBoardFillFontBlackBold16);
|
|
|
- }
|
|
|
-
|
|
|
- sheet1.setColumnWidth( 0, 10000); //생활치료센터명
|
|
|
- sheet1.setColumnWidth( 1, 5000); //지역
|
|
|
- sheet1.setColumnWidth( 2, 5000); //협력병원명
|
|
|
- sheet1.setColumnWidth( 3, 5000); //인력총계(단위:명)
|
|
|
- sheet1.setColumnWidth( 4, 4000); //의사 , 복지부
|
|
|
- sheet1.setColumnWidth( 5, 4000); //간호사, 지자체
|
|
|
- sheet1.setColumnWidth( 6, 4000); //간호조무사, 환경부
|
|
|
- sheet1.setColumnWidth( 7, 4000); //임상병리사, 소방청
|
|
|
- sheet1.setColumnWidth( 8, 4000); //방사선사, 기타
|
|
|
- sheet1.setColumnWidth( 9, 4000); //행정인력, 국방부
|
|
|
- sheet1.setColumnWidth( 10, 4000); //공보의, 경찰청
|
|
|
- sheet1.setColumnWidth( 11, 4000); //군의관, 기타
|
|
|
- sheet1.setColumnWidth( 12, 4000); //간호사관생도, 방역
|
|
|
- sheet1.setColumnWidth( 13, 4000); //민가모집의사, 청소
|
|
|
- sheet1.setColumnWidth( 14, 4000); //민간모집간호사, 기타
|
|
|
-
|
|
|
- if(inputgubun.equals("M")) {
|
|
|
- sheet1.setColumnWidth( 15, 6000); //민간모집간호조무사
|
|
|
- sheet1.setColumnWidth( 16, 6000); //민간모잡방사선사
|
|
|
- sheet1.setColumnWidth( 17, 6000); //민간모집임상병리사
|
|
|
- sheet1.setColumnWidth( 18, 6000); //민간모집기타인력
|
|
|
- }
|
|
|
-
|
|
|
- //cell1.setCellValue("생활치료센터명");
|
|
|
- //cell2.setCellValue("지역");
|
|
|
- //cell3.setCellValue("협력병원명");
|
|
|
- //cell4.setCellValue("인력총계(단위:명)");
|
|
|
- cell5.setCellValue(inputgubun.equals("M") ? "의사" : "복지부");
|
|
|
- cell6.setCellValue(inputgubun.equals("M") ?"간호사" : "지자체");
|
|
|
- cell7.setCellValue(inputgubun.equals("M") ?"간호조무사" : "환경부");
|
|
|
- cell8.setCellValue(inputgubun.equals("M") ?"임상병리사" : "소방청");
|
|
|
- cell9.setCellValue(inputgubun.equals("M") ?"방사선사" : "기타");
|
|
|
- cell10.setCellValue(inputgubun.equals("M") ?"행정인력" : "국방부");
|
|
|
- cell11.setCellValue(inputgubun.equals("M") ?"공보의" : "경찰청");
|
|
|
- cell12.setCellValue(inputgubun.equals("M") ?"군의관" : "기타");
|
|
|
- cell13.setCellValue(inputgubun.equals("M") ?"간호사관생도" : "방역");
|
|
|
- cell14.setCellValue(inputgubun.equals("M") ?"민가모집의사" : "청소");
|
|
|
- cell15.setCellValue(inputgubun.equals("M") ?"민간모집간호사" : "기타");
|
|
|
-
|
|
|
- if(inputgubun.equals("M")) {
|
|
|
- cell16.setCellValue("민간모집간호조무사");
|
|
|
- cell17.setCellValue("민간모잡방사선사");
|
|
|
- cell18.setCellValue("민간모집임상병리사");
|
|
|
- cell19.setCellValue("민간모집기타인력");
|
|
|
- }
|
|
|
-
|
|
|
- for (StaffManagerDTO dto : data) {
|
|
|
- row = sheet1.createRow(i);
|
|
|
- String gubun = dto.getGubun();
|
|
|
-
|
|
|
- cell1 = row.createCell(0);
|
|
|
- cell2 = row.createCell(1);
|
|
|
- cell3 = row.createCell(2);
|
|
|
- cell4 = row.createCell(3);
|
|
|
- cell5 = row.createCell(4);
|
|
|
- cell6 = row.createCell(5);
|
|
|
- cell7 = row.createCell(6);
|
|
|
- cell8 = row.createCell(7);
|
|
|
- cell9 = row.createCell(8);
|
|
|
- cell10 = row.createCell(9);
|
|
|
- cell11 = row.createCell(10);
|
|
|
- cell12 = row.createCell(11);
|
|
|
- cell13 = row.createCell(12);
|
|
|
- cell14 = row.createCell(13);
|
|
|
- cell15 = row.createCell(14);
|
|
|
-
|
|
|
- if(gubun.equals("M")) {
|
|
|
- cell16 = row.createCell(15);
|
|
|
- cell17 = row.createCell(16);
|
|
|
- cell18 = row.createCell(17);
|
|
|
- cell19 = row.createCell(18);
|
|
|
- }
|
|
|
-
|
|
|
- String centerName = dto.getCenterName();
|
|
|
- String locationName = dto.getLocationName();
|
|
|
- String cooperativeName = dto.getCooperativeName();
|
|
|
- int staffTotal = dto.getStaffTotal();
|
|
|
- int staff1 = dto.getStaff1();
|
|
|
- int staff2 = dto.getStaff2();
|
|
|
- int staff3 = dto.getStaff3();
|
|
|
- int staff4 = dto.getStaff4();
|
|
|
- int staff5 = dto.getStaff5();
|
|
|
- int staff6 = dto.getStaff6();
|
|
|
- int staff7 = dto.getStaff7();
|
|
|
- int staff8 = dto.getStaff8();
|
|
|
- int staff9 = dto.getStaff9();
|
|
|
- int staff10 = dto.getStaff10();
|
|
|
- int staff11 = dto.getStaff11();
|
|
|
- int staff12 = dto.getStaff12();
|
|
|
- int staff13 = dto.getStaff13();
|
|
|
- int staff14 = dto.getStaff14();
|
|
|
- int staff15 = dto.getStaff15();
|
|
|
-
|
|
|
-
|
|
|
- cell1.setCellValue(centerName);
|
|
|
- cell2.setCellValue(locationName);
|
|
|
- cell3.setCellValue(cooperativeName);
|
|
|
- cell4.setCellValue(staffTotal);
|
|
|
- cell5.setCellValue(staff1);
|
|
|
- cell6.setCellValue(staff2);
|
|
|
- cell7.setCellValue(staff3);
|
|
|
- cell8.setCellValue(staff4);
|
|
|
- cell9.setCellValue(staff5);
|
|
|
- cell10.setCellValue(staff6);
|
|
|
- cell11.setCellValue(staff7);
|
|
|
- cell12.setCellValue(staff8);
|
|
|
- cell13.setCellValue(staff9);
|
|
|
- cell14.setCellValue(staff10);
|
|
|
- cell15.setCellValue(staff11);
|
|
|
-
|
|
|
- if(gubun.equals("M")) {
|
|
|
- cell16.setCellValue(staff12);
|
|
|
- cell17.setCellValue(staff13);
|
|
|
- cell18.setCellValue(staff14);
|
|
|
- cell19.setCellValue(staff15);
|
|
|
- }
|
|
|
-
|
|
|
- i++;
|
|
|
- }
|
|
|
-
|
|
|
- row = sheet1.createRow(i);
|
|
|
- cell1 = row.createCell(2);
|
|
|
- cell2 = row.createCell(3);
|
|
|
- cell3 = row.createCell(4);
|
|
|
- cell4 = row.createCell(5);
|
|
|
- cell5 = row.createCell(6);
|
|
|
- cell6 = row.createCell(7);
|
|
|
- cell7 = row.createCell(8);
|
|
|
- cell8 = row.createCell(9);
|
|
|
- cell9 = row.createCell(10);
|
|
|
- cell10 = row.createCell(11);
|
|
|
- cell11 = row.createCell(12);
|
|
|
- cell12 = row.createCell(13);
|
|
|
- cell13 = row.createCell(14);
|
|
|
- cell14 = row.createCell(15);
|
|
|
- cell15 = row.createCell(16);
|
|
|
-
|
|
|
- if(inputgubun.equals("M")) {
|
|
|
- cell16 = row.createCell(17);
|
|
|
- cell17 = row.createCell(18);
|
|
|
- cell18 = row.createCell(19);
|
|
|
- cell19 = row.createCell(20);
|
|
|
- }
|
|
|
- try {
|
|
|
-// File file = new File(".");
|
|
|
-// String rootPath = file.getAbsolutePath();
|
|
|
-// System.out.println("현재 프로젝트의 경로 : "+rootPath );
|
|
|
-
|
|
|
- // JBOSS에서 구동시 /home1/jboss/jboss-eap-7.3/domain/test/excel-temp 경로에 저장이됨
|
|
|
- String tempPath = "../excel-temp/testExcel.xlsx";
|
|
|
- String downName = LifeCenterFunction.getNow() + "_" + (inputgubun.equals("M") ? "의료" : "행정") +"인력 현황리스트.xlsx";
|
|
|
- File xlsFile = new File(tempPath);
|
|
|
-// FileOutputStream fileOut = new FileOutputStream(tempPath);
|
|
|
-// workbook.write(fileOut);
|
|
|
-// fileOut.close();
|
|
|
-
|
|
|
- ByteArrayOutputStream fileOut = new ByteArrayOutputStream();
|
|
|
- FileOutputStream fos = new FileOutputStream(tempPath);
|
|
|
- workbook.write(fileOut);
|
|
|
-
|
|
|
- InputStream filein = new ByteArrayInputStream(fileOut.toByteArray());
|
|
|
- OPCPackage opc = OPCPackage.open(filein);
|
|
|
-
|
|
|
- POIFSFileSystem fileSystem = new POIFSFileSystem();
|
|
|
-
|
|
|
- EncryptionInfo encryptionInfo = new EncryptionInfo(EncryptionMode.agile);
|
|
|
- Encryptor encryptor = encryptionInfo.getEncryptor();
|
|
|
- encryptor.confirmPassword(password);
|
|
|
-
|
|
|
- opc.save(encryptor.getDataStream(fileSystem));
|
|
|
- opc.flush();
|
|
|
-
|
|
|
- fileSystem.writeFilesystem(fos);
|
|
|
-
|
|
|
- fileOut.close();
|
|
|
- opc.close();
|
|
|
-
|
|
|
- filein.close();
|
|
|
- fileSystem.close();
|
|
|
-
|
|
|
- LifeCenterFileDownload.download(request, response, tempPath, downName);
|
|
|
-
|
|
|
- xlsFile.delete();
|
|
|
- } catch (FileNotFoundException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (InvalidFormatException e) {
|
|
|
- // TODO Auto-generated catch block
|
|
|
- e.printStackTrace();
|
|
|
- } catch (GeneralSecurityException e) {
|
|
|
- // TODO Auto-generated catch block
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|