|
@@ -1,12 +1,35 @@
|
|
|
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.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
-import java.util.Random;
|
|
|
|
|
|
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.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -19,13 +42,17 @@ 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.StaffManagerDTO;
|
|
|
import com.lemon.lifecenter.dto.CenterInfoDTO;
|
|
|
-import com.lemon.lifecenter.service.StaffManagerService;
|
|
|
+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("/staffManager")
|
|
@@ -38,16 +65,25 @@ public class StaffManagerController extends LifeCenterController {
|
|
|
@Autowired
|
|
|
private CenterService centerService;
|
|
|
|
|
|
- @RequestMapping("/medicalinfo")
|
|
|
- public ModelAndView staffMediCalInfo(
|
|
|
+ @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("M");
|
|
|
+ dto.setGubun(inputgubun);
|
|
|
|
|
|
- ModelAndView mv = setMV("staff/manager/medicalinfo");
|
|
|
+ ModelAndView mv = setMV("staff/manager/info");
|
|
|
|
|
|
int total = service.selectStaffManagerCount(dto);
|
|
|
|
|
@@ -56,7 +92,7 @@ public class StaffManagerController extends LifeCenterController {
|
|
|
ndto = service.selectStaffManagerInfo(dto);
|
|
|
} else {
|
|
|
ndto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- ndto.setGubun("M");
|
|
|
+ ndto.setGubun(inputgubun);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -66,45 +102,48 @@ public class StaffManagerController extends LifeCenterController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- @RequestMapping("/medicaledit")
|
|
|
- public ModelAndView staffMediCalEdit(
|
|
|
+ @RequestMapping("/edit")
|
|
|
+ public ModelAndView staffManagerEdit(
|
|
|
@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("M");
|
|
|
+ dto.setGubun(inputgubun);
|
|
|
|
|
|
int total = service.selectStaffManagerCount(dto);
|
|
|
StaffManagerDTO ndto = new StaffManagerDTO();
|
|
|
if (total > 0) {
|
|
|
ndto = service.selectStaffManagerInfo(dto);
|
|
|
- ndto.setStatus("U");
|
|
|
} else {
|
|
|
ndto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
- ndto.setGubun("M");
|
|
|
- ndto.setStatus("I");
|
|
|
+ ndto.setGubun(inputgubun);
|
|
|
}
|
|
|
|
|
|
- ModelAndView mv = setMV("staff/manager/medicaledit");
|
|
|
+ ModelAndView mv = setMV("staff/manager/edit");
|
|
|
|
|
|
mv.addObject("list", ndto);
|
|
|
|
|
|
return mv;
|
|
|
}
|
|
|
|
|
|
- @RequestMapping( value = "/medicalupdate", method = RequestMethod.POST)
|
|
|
- public String staffMediCalUpdate(
|
|
|
+ @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.setGubun("M");
|
|
|
dto.setCenterCode(Integer.valueOf(sesCenterCode));
|
|
|
|
|
|
- if (dto.getStatus().equals("I")) {
|
|
|
+ int total = service.selectStaffManagerCount(dto);
|
|
|
+
|
|
|
+ if (total > 0) {
|
|
|
+ dto.setUpdateById(sesId);
|
|
|
+ service.updateStaffManager(dto);
|
|
|
+ } else {
|
|
|
dto.setCreateById(sesId);
|
|
|
|
|
|
CenterInfoDTO cdto = new CenterInfoDTO();
|
|
@@ -114,17 +153,305 @@ public class StaffManagerController extends LifeCenterController {
|
|
|
//검색용으로 저장
|
|
|
dto.setLocationCode(cdto.getLocationCode());
|
|
|
dto.setCenterName(sesCenterName);
|
|
|
+ dto.setCooperativeCode(cdto.getCooperativeCode());
|
|
|
+ dto.setCooperativeName(cdto.getCooperativeName());
|
|
|
|
|
|
service.insertStaffManager(dto);
|
|
|
- } else if (dto.getStatus().equals("U")) {
|
|
|
- dto.setUpdateById(sesId);
|
|
|
- service.updateStaffManager(dto);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '저장을 완료하였습니다.', callBack : function(){ location.href='/staffManager/medicalinfo'; } });" );
|
|
|
+ LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '저장을 완료하였습니다.', callBack : function(){ location.href='/staffManager/info?gubun="+ dto.getGubun() +"'; } });" );
|
|
|
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="page", required=false, defaultValue="1") int page,
|
|
|
+
|
|
|
+ HttpServletRequest request,HttpServletResponse response) {
|
|
|
+
|
|
|
+ List<LocationDTO> locationCodeList = centerService.selectLocation();
|
|
|
+
|
|
|
+ dto.setLimit( ( Integer.valueOf( page ) - 1 ) * config.pageDataSize );
|
|
|
+ dto.setLimitMax( config.pageDataSize );
|
|
|
+ dto.setGubun(inputgubun);
|
|
|
+
|
|
|
+ int total = service.selectStaffManagerCount(dto);
|
|
|
+ List<StaffManagerDTO> list = new ArrayList<StaffManagerDTO>();
|
|
|
+ if (total > 0) {
|
|
|
+ list = service.selectStaffManagerList(dto);
|
|
|
+ }
|
|
|
+
|
|
|
+ String param = "locationCode="+inputlocationCode+"¢erlName="+inputCenterName+"&gubun="+inputgubun;
|
|
|
+ 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("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,
|
|
|
+ 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 );
|
|
|
+
|
|
|
+ CenterInfoDTO dto = new CenterInfoDTO();
|
|
|
+ int total = centerService.selectCenterCount(dto);
|
|
|
+ List<CenterInfoDTO> result = new ArrayList<CenterInfoDTO>();
|
|
|
+ if (total > 0) {
|
|
|
+ dto.setLimit(0);
|
|
|
+ dto.setLimitMax(total);
|
|
|
+ result = centerService.selectCenterList(dto);
|
|
|
+
|
|
|
+ for( CenterInfoDTO temp : result ) {
|
|
|
+ result.get( result.indexOf( temp ) ).setStaffPhoneNumber( LifeCenterFunction.phone( temp.getStaffPhoneNumber() ) );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ getstaffManagerListExcel(request, response, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getstaffManagerListExcel(HttpServletRequest request, HttpServletResponse response, List<CenterInfoDTO> data ) {
|
|
|
+ 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 = 1;
|
|
|
+ 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);
|
|
|
+
|
|
|
+ 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);
|
|
|
+
|
|
|
+ sheet1.setColumnWidth( 0, 10000); //생활치료센터명
|
|
|
+ sheet1.setColumnWidth( 1, 5000); //지역
|
|
|
+ sheet1.setColumnWidth( 2, 5000); //소관
|
|
|
+ sheet1.setColumnWidth( 3, 8000); //협력병원
|
|
|
+ sheet1.setColumnWidth( 4, 6000); //담당자 이름
|
|
|
+ sheet1.setColumnWidth( 5, 4000); //담당자 아이디
|
|
|
+ sheet1.setColumnWidth( 6, 4000); //담당자 전화번호
|
|
|
+ sheet1.setColumnWidth( 7, 4000); //전화번호
|
|
|
+ sheet1.setColumnWidth( 8, 2500); //의료진수
|
|
|
+ sheet1.setColumnWidth( 9, 2500); //환자 총 수용인원
|
|
|
+ sheet1.setColumnWidth( 10, 2500); //입소자수
|
|
|
+ sheet1.setColumnWidth( 11, 2500); //퇴소자수
|
|
|
+ sheet1.setColumnWidth( 12, 2500); //지정병원이송
|
|
|
+ sheet1.setColumnWidth( 13, 2500); //기타
|
|
|
+
|
|
|
+ cell1.setCellValue("생활치료센터명");
|
|
|
+ cell2.setCellValue("지역");
|
|
|
+ cell3.setCellValue("소관");
|
|
|
+ cell4.setCellValue("협력병원");
|
|
|
+ cell5.setCellValue("담당자 이름");
|
|
|
+ cell6.setCellValue("담당자 아이디");
|
|
|
+ cell7.setCellValue("담당자 전화번호");
|
|
|
+ cell8.setCellValue("전화번호");
|
|
|
+ cell9.setCellValue("의료진수");
|
|
|
+ cell10.setCellValue("환자 총 수용인원");
|
|
|
+ cell11.setCellValue("입소자수");
|
|
|
+ cell12.setCellValue("퇴소자수");
|
|
|
+ cell13.setCellValue("지정병원이송");
|
|
|
+ cell14.setCellValue("기타");
|
|
|
+
|
|
|
+ for (CenterInfoDTO dto : data) {
|
|
|
+ row = sheet1.createRow(i);
|
|
|
+ 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);
|
|
|
+
|
|
|
+ String centerName = dto.getCenterName();
|
|
|
+ String locationName = dto.getLocationName();
|
|
|
+ String jurisdictionName = dto.getJurisdictionName();
|
|
|
+ String cooperativeName = dto.getCooperativeName();
|
|
|
+ String staffName = dto.getStaffName();
|
|
|
+ String staffId = dto.getStaffId();
|
|
|
+ String staffPhoneNumber = dto.getStaffPhoneNumber();
|
|
|
+ String centerNumber = dto.getCenterNumber();
|
|
|
+ int medicalTotal = dto.getTotalStaff();
|
|
|
+ int patientTotal = dto.getTotalCapacity();
|
|
|
+ int patientTotalH = dto.getTotalPatientH();
|
|
|
+ int patientTotalD = dto.getTotalPatientD();
|
|
|
+ int patientTotalT = dto.getTotalPatientT();
|
|
|
+ int patientTotalE = dto.getTotalPatientE();
|
|
|
+
|
|
|
+ cell1.setCellValue(centerName);
|
|
|
+ cell2.setCellValue(locationName);
|
|
|
+ cell3.setCellValue(jurisdictionName);
|
|
|
+ cell4.setCellValue(cooperativeName);
|
|
|
+ cell5.setCellValue(staffName);
|
|
|
+ cell6.setCellValue(staffId);
|
|
|
+ cell7.setCellValue(staffPhoneNumber);
|
|
|
+ cell8.setCellValue(centerNumber);
|
|
|
+ cell9.setCellValue(medicalTotal);
|
|
|
+ cell10.setCellValue(patientTotal);
|
|
|
+ cell11.setCellValue(patientTotalH);
|
|
|
+ cell12.setCellValue(patientTotalD);
|
|
|
+ cell13.setCellValue(patientTotalT);
|
|
|
+ cell14.setCellValue(patientTotalE);
|
|
|
+
|
|
|
+ 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);
|
|
|
+
|
|
|
+ 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() + " 현황리스트.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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|