Browse Source

인력관리 메니저 엑셀 다운로드 개발

databank102 4 years ago
parent
commit
b6f06b2a50

+ 127 - 60
src/main/java/com/lemon/lifecenter/controller/StaffManagerController.java

@@ -211,6 +211,9 @@ public class StaffManagerController extends LifeCenterController {
       @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="") String inputgubun,
               HttpServletRequest request,HttpServletResponse response ) {
           String userId = LifeCenterSessionController.getSession(request, "sesId");
 
@@ -221,25 +224,29 @@ public class StaffManagerController extends LifeCenterController {
           fileDTO.setUrl( request.getRequestURI().toString() );
           fileDTO.setMemo( downMemo );
           fileDTO.setEtc( "" );
-          fileDownloadService.insertExcelDownloadLog( fileDTO );
+          //fileDownloadService.insertExcelDownloadLog( fileDTO );
+          
+          StaffManagerDTO dto = new StaffManagerDTO();
+          dto.setGubun(inputgubun);
+          dto.setLocationCode(inputlocationCode);
+          dto.setCenterName(inputcenterlName);
           
-          CenterInfoDTO dto = new CenterInfoDTO();
-          int total = centerService.selectCenterCount(dto);
-          List<CenterInfoDTO> result = new ArrayList<CenterInfoDTO>();
+          int total = service.selectStaffManagerCount(dto);
+          List<StaffManagerDTO> result = new ArrayList<StaffManagerDTO>();
           if (total > 0) {
               dto.setLimit(0);
-              dto.setLimitMax(total);
-              result = centerService.selectCenterList(dto);
+              dto.setLimitMax(total + 1);
+              result = service.selectStaffManagerList(dto);
               
-              for( CenterInfoDTO temp : result ) {
-                  result.get( result.indexOf( temp ) ).setStaffPhoneNumber( LifeCenterFunction.phone( temp.getStaffPhoneNumber() ) );
-              }
+//              for( StaffManagerDTO 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 ) {
+      private void getstaffManagerListExcel(HttpServletRequest request, HttpServletResponse response, List<StaffManagerDTO> data ) {
           String password = LifeCenterSessionController.getSession(request, "sesPhoneNumber");
           password = password.toLowerCase();
           if (!password.equals("null") && !password.equals( "" )) {
@@ -289,6 +296,11 @@ public class StaffManagerController extends LifeCenterController {
           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);
@@ -304,39 +316,65 @@ public class StaffManagerController extends LifeCenterController {
           cell12.setCellStyle(styleOfBoardFillFontBlackBold16);
           cell13.setCellStyle(styleOfBoardFillFontBlackBold16);
           cell14.setCellStyle(styleOfBoardFillFontBlackBold16);
+          cell15.setCellStyle(styleOfBoardFillFontBlackBold16);
+          
+          if(data.get(0).getGubun().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, 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); //기타
+          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(data.get(0).getGubun().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("담당자 이름");
-          cell6.setCellValue("담당자 아이디");
-          cell7.setCellValue("담당자 전화번호");
-          cell8.setCellValue("전화번호");
-          cell9.setCellValue("의료진수");
-          cell10.setCellValue("환자 총 수용인원");
-          cell11.setCellValue("입소자수");
-          cell12.setCellValue("퇴소자수");
-          cell13.setCellValue("지정병원이송");
-          cell14.setCellValue("기타");
-          
-          for (CenterInfoDTO dto : data) {
+          cell3.setCellValue("협력병원명");
+          cell4.setCellValue("인력총계(단위:명)");
+          cell5.setCellValue(data.get(0).getGubun().equals("M") ? "의사" : "복지부");
+          cell6.setCellValue(data.get(0).getGubun().equals("M") ?"간호사" : "지자체");
+          cell7.setCellValue(data.get(0).getGubun().equals("M") ?"간호조무사" : "환경부");
+          cell8.setCellValue(data.get(0).getGubun().equals("M") ?"임상병리사" : "소방청");
+          cell9.setCellValue(data.get(0).getGubun().equals("M") ?"방사선사" : "기타");
+          cell10.setCellValue(data.get(0).getGubun().equals("M") ?"행정인력" : "국방부");
+          cell11.setCellValue(data.get(0).getGubun().equals("M") ?"공보의" : "경찰청");
+          cell12.setCellValue(data.get(0).getGubun().equals("M") ?"군의관" : "기타");
+          cell13.setCellValue(data.get(0).getGubun().equals("M") ?"간호사관생도" : "방역");
+          cell14.setCellValue(data.get(0).getGubun().equals("M") ?"민가모집의사" : "청소");
+          cell15.setCellValue(data.get(0).getGubun().equals("M") ?"민간모집간호사" : "기타");
+          
+          if(data.get(0).getGubun().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);
@@ -351,36 +389,58 @@ public class StaffManagerController extends LifeCenterController {
               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 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();
+              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(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);
+              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++;
           }
@@ -400,7 +460,14 @@ public class StaffManagerController extends LifeCenterController {
           cell12 = row.createCell(13);
           cell13 = row.createCell(14);
           cell14 = row.createCell(15);
+          cell15 = row.createCell(16);
           
+          if(data.get(0).getGubun().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();
@@ -408,7 +475,7 @@ public class StaffManagerController extends LifeCenterController {
             
             // JBOSS에서 구동시 /home1/jboss/jboss-eap-7.3/domain/test/excel-temp 경로에 저장이됨
             String tempPath = "../excel-temp/testExcel.xlsx";
-            String downName = LifeCenterFunction.getNow() + " 현황리스트.xlsx";
+            String downName = LifeCenterFunction.getNow() + "_" + (data.get(0).getGubun().equals("M") ? "의료" : "행정") +"인력 현황리스트.xlsx";
             File xlsFile = new File(tempPath);
 //            FileOutputStream fileOut = new FileOutputStream(tempPath);
 //            workbook.write(fileOut);

+ 1 - 1
src/main/resources/mybatis/mapper/staff/staffManager.xml

@@ -144,7 +144,7 @@
         <![CDATA[
             SELECT
                 CENTER_CODE                                             AS centerCode,
-                GUBUN                                                   AS gubun,       --M:의료,     G:행정
+                NVL(GUBUN, #{gubun})                                    AS gubun,       --M:의료,     G:행정
                 SUM(STAFF1 )                                            AS staff1,      --의사,       복지부
                 SUM(STAFF2 )                                            AS staff2,      --간호사,      지자체
                 SUM(STAFF3 )                                            AS staff3,      --간호조무사,   환경부

+ 1 - 1
src/main/webapp/WEB-INF/jsp/staff/manager/list.jsp

@@ -85,7 +85,7 @@ function getExcel(){
                     <div class="row">
                         <div class="col-12">
                             <div class="card">
-                                <form action="?" method="get">
+                                <form action="?" method="get" id="searchForm">
                                     <input type="hidden" name="gubun" value="<c:out value="${gubun}" />">
                                     <div class="card-body">
                                         <table class="table mobile-table">