diff --git a/df b/df new file mode 100644 index 00000000..14856b3f --- /dev/null +++ b/df @@ -0,0 +1,1192 @@ +commit 18eb6b9b913a0a76ba1dbb8724876f23084114ae (HEAD -> main, origin/main) +Author: thkim +Date: Wed Aug 27 17:00:24 2025 +0900 + + feat: 발주기관 통계 및 알림 내역 template추가 + +commit 2d6bfce1806d1d23021b248b95e926c89d3e53ef +Author: thkim +Date: Tue Aug 19 15:41:21 2025 +0900 + + fix: 검색유통에서 사업검색 시 시험항목에서 현장시험 내 현장수압시험과 현탕투수시험 필터링 안 되는 버그 수정 + +commit 52e885fb51cb7be323a996a08c8aeb9787865bb0 +Author: thkim +Date: Wed Aug 13 09:56:28 2025 +0900 + + feat: 해당 시추공 입력페이지에서 미리보기 시 해당 시추공만 즉각적으로 확인할 수 있도록 수정 + +commit 9c1570761a05bf2f8664a86966e65f12a0f0cf83 +Author: thkim +Date: Wed Aug 13 09:10:11 2025 +0900 + + 기관사용자 신규 프로젝트 생성 시, 발주기관에서 입력한 건설현장 조회는 중복검사에서 제외처리 + +commit ff8f9f6fcb0372a755facfbdf5339fdea02cbea7 +Author: thkim +Date: Mon Aug 11 16:32:15 2025 +0900 + + feat: 발주기관별시추정보관리사이트기능개선(FUR-001) - 발주처입력시자동완성기능구현 + +commit e6bfd33c93f616b204e9344fed853254a053beb7 +Author: thkim +Date: Mon Aug 11 11:49:21 2025 +0900 + + feat: 발주기관별시추정보관리사이트기능개선(FUR-001) - 관리시추정보현황및건설현장조회시, 전체내용을입력하지않고일부분만입력해도검색이되도록개선 + +commit ddeaf7a19ab8a6d164980001c93c901e2f5bd9cd +Author: thkim +Date: Fri Aug 8 14:15:48 2025 +0900 + + feat: 개인정보처리방침 업데이트 + +commit 7a00f55822b87f44aed0f1fd1d9ea465e8543e70 (origin2/main) +Author: thkim +Date: Wed Jul 30 13:31:45 2025 +0900 + + fixed: 토사시험에서 일축압축 입력 단위가 미리보기 화면에서 변경되지 않는 버그 개선 + +commit 5d225e8d276648ab43d48f760918b7ae85b96f3f +Merge: 3126a10 fcc3868 +Author: thkim +Date: Fri Jul 25 16:45:45 2025 +0900 + + Merge branch 'main' of http://10.dbnt.co.kr:50501/DBNT/geoinfo_eGov_work + +commit 3126a10b3cc16a871d4137e88337e2ba339dd063 +Author: thkim +Date: Fri Jul 25 16:45:30 2025 +0900 + + build: maven을 스마트지반과 동일하게 변경 + +commit fcc3868883bb8c7686eaad78bfd0712b1127a846 +Author: 유지인 +Date: Fri Jul 25 13:45:42 2025 +0900 + + 개별정보보기 창이 마우스가 움직이면 사라지는 버그 수정 + -> 시추공을 지나가면 시추공정보(feature)를 받아오게되고 feature가 존재하면 tooltip을 remove하는 처리를 제거함 + +commit d86ec429a74be48cdecabb0151db5d03297ac638 +Author: 유지인 +Date: Mon Jul 21 12:05:01 2025 +0900 + + 발주기관 > 건설현장 입력 : 여러 정보 입력시 중간 정보 삭제할 수 있도록 처리 + +commit 1ba6a9d50295b838aca321768ef388009ad56766 +Author: 유지인 +Date: Tue Jul 15 09:13:17 2025 +0900 + + 발주기관 > 건설현장 조회 검색 오류 수정 + +commit e747e2273b96cecd26fedb05c89a6be25e2cbb45 +Author: 유지인 +Date: Mon Jul 14 15:32:26 2025 +0900 + + 건설현장 입력 여러사업 등록 처리, 사업명 중복시 테두리 + +commit f310066eeefe2463043c772e471585be11a667e1 +Author: 유지인 +Date: Mon Jul 14 15:15:23 2025 +0900 + + 건설현장 입력 여러사업 등록 처리, 사업명 중복 체크 보완 + +commit 8004401036614f285c6a46037054514ea8f9f86e +Author: 유지인 +Date: Fri Jul 11 17:12:54 2025 +0900 + + 발주기관 > 건설현장 입력 엑셀 양식 다운로드 처리 + +commit ade34fad4462244678ea078975f81849edeed5cb +Author: 유지인 +Date: Fri Jul 11 11:19:46 2025 +0900 + + 관련법규 > 전산화 및 활용 지침 문구변경 + +commit 34d9311eaa3eb8288d608e956372a07d56937ea0 +Author: 유지인 +Date: Thu Jul 10 17:57:32 2025 +0900 + + 센터소개 > 개요 : 내용 최신화 문구변경요청 + +commit 76447207ebff2eb0388017ca1fef47417a0f39b7 +Author: 유지인 +Date: Thu Jul 10 15:15:48 2025 +0900 + + 지도 로딩 관련 버그 수정 + +commit ee8cbc1efa6c32b001f1458e3b5fe6f2be628723 +Author: thkim +Date: Thu Jul 10 09:42:47 2025 +0900 + + feat: 국토엑스포 링크 제거 + +commit efca2160a0f5f41a228f97abeebe15829b41981f +Author: thkim +Date: Thu Jul 10 09:40:55 2025 +0900 + + feat: 국가광물자원지리정보망 링크 수정 + +commit 7542d9064ef11650cb2a6de1485dd19cb3d46067 +Author: thkim +Date: Thu Jul 10 09:37:40 2025 +0900 + + feat: 국가공간정보포털 링크 제거 + +commit 5f99ed3c3b530b8908e52a5ce536fbc4edaaf697 +Author: thkim +Date: Tue Jul 8 17:00:08 2025 +0900 + + feat: 시추정보 사업별 현황에서 지도 이동 안 되는 버그 수정 + +commit ea171f199f0ffa5c194a1986cf3d8761fcdaef97 +Author: thkim +Date: Tue Jul 8 16:10:50 2025 +0900 + + feat: 지층면에서 USCS코드로 TAB키 눌렀을때 전환(다음칸으로 이동) 되도록 개선 + +commit a3aade3a033bc9e215f01e305a0f2254f3e496b6 +Author: thkim +Date: Tue Jul 8 12:10:23 2025 +0900 + + feat: 지층명 선택 화면에서 전체 지층명 목록이 나오도록 개선 + +commit 7b1869ba5921ee3fccb08dc9f108a8607679c0af +Author: thkim +Date: Tue Jul 8 10:44:39 2025 +0900 + + feat: 투수 계수 기본 값 0에서 아무값도 없도록 개선. 기존 0이 있어서 입력시 실수를 한다는 의견 반영 + +commit cd2a77ff95c22b8c50bd29374048565bd1df1e49 +Author: thkim +Date: Tue Jul 8 10:19:28 2025 +0900 + + feat: 시추정보 지역별 현황 숫자 조절 + +commit a4af6edf60856353ec928b8454b68f61da1c6f52 +Author: thkim +Date: Mon Jul 7 17:08:42 2025 +0900 + + feat: 현재 : [SPS검층] 입력 시 단위와 미리보기 출력 시 단위가 불일치 개선 + +commit 34964aca84778016b79c6778194b449ff917d930 +Author: thkim +Date: Mon Jul 7 16:12:50 2025 +0900 + + feat: [토사시험-일축] 단위중량, 일축압축강도의 입력 단위와 미리보기 출력 단위 불일치 개선 + +commit fa5b57d269f5f410cadba956bdd93d099ac72046 +Author: thkim +Date: Mon Jul 7 14:33:42 2025 +0900 + + feat: 현장투수시험 입력 항목명이 ‘시간간격’->시간으로 변경 + +commit a6ca50c49504b49cda5e38cd1c5ed5512f4457a1 +Author: thkim +Date: Mon Jul 7 14:19:18 2025 +0900 + + feat: [지층색] : 보고서에 없는 경우, ‘-’ 선택 가능하도록 수정 요청 + +commit 85c85cf7a7a3d70c2cde92661968548d03d643d9 +Author: thkim +Date: Mon Jul 7 13:20:25 2025 +0900 + + feat: 시추방향이 없는 경우, ‘-’으로 선택할 수 있도록 수정 + +commit 268abc377a65b27e73bde93d426c83cec666489e +Merge: 8dc6ffe 713cc1b +Author: thkim +Date: Fri Jul 4 09:48:25 2025 +0900 + + fix: 장바구니에 2개이상 항목이 담겼을 때 발생하는 오류 수정 건 + +commit 8dc6ffe03567495840d87877a234d94bfd94a325 +Author: thkim +Date: Fri Jul 4 09:44:58 2025 +0900 + + build: remove list.txt git list + +commit 713cc1b1b835a90ecd9d42f6e7caeadae6f04522 +Merge: 530069e 7ba04c7 +Author: 최다훈 +Date: Thu Jul 3 14:33:08 2025 +0900 + + 충돌 위치 + +commit 530069e85a05dd1fdee6c8dc510cfaa3ca2e8685 +Author: 최다훈 +Date: Thu Jul 3 14:28:30 2025 +0900 + + 최다훈 수정중 + +commit 7ba04c744cd82f12e5d2669d5b91f5ef3148c66a +Author: 유지인 +Date: Tue Jul 1 10:20:14 2025 +0900 + + 엑셀업로드하여 건설현장 입력 + +commit 1a67d34ca9ed6fe4c94ae781b71281c3520e1da2 +Author: 유지인 +Date: Fri Jun 27 17:54:21 2025 +0900 + + 엑셀업로드하여 건설현장 입력 + +commit 87306a76365e09c0066be30365cc4b48f1a3069d +Merge: f7954e7 cc447b3 +Author: thkim +Date: Fri Jun 27 09:14:03 2025 +0900 + + feat: 충청남도 경계표시1차 적용 + +commit f7954e7e87697b88a05054cc0d67fded3e5fa522 +Author: thkim +Date: Thu Jun 26 16:50:08 2025 +0900 + + . + +commit cc447b3ede00e9b57e8392c1ee63ef365d1cf932 +Author: 최다훈 +Date: Thu Jun 26 16:45:54 2025 +0900 + + feat: 발주기관 메인화면 로고 추가 건 + +commit 739f96d47b0fdf774531b9b585ea67e026bc6f97 +Author: 유지인 +Date: Tue Jun 24 13:52:45 2025 +0900 + + 발주기관 로그인 > 건설현장 등록> 건설현장 입력 링크 수정하기 + +commit 1d1636198e0ad9e4f54ce3726196ea4136569dc8 +Author: thkim +Date: Sun Jun 22 02:21:15 2025 +0900 + + refactor: 불필요한 WMS기능 제거 + +commit 47055cc170b0b02b0296c220fd5bad4abe5a4a1a +Author: thkim +Date: Tue Jun 17 10:17:25 2025 +0900 + + feat: 발주기관 기능 보완 + +commit 6facb2eb51b65767cc8ac1d7e42bc7c27d44142d +Merge: 7c27d84 5dca735 +Author: thkim +Date: Thu Jun 12 15:24:02 2025 +0900 + + Merge branch 'main' of http://10.dbnt.co.kr:50501/DBNT/geoinfo_eGov_work + +commit 7c27d847083947acabaa27258926e8e9b7fad5bf +Author: thkim +Date: Thu Jun 12 15:23:49 2025 +0900 + + . + +commit 5dca735159732278a6e32c4332457006a02633fb +Author: 유지인 +Date: Thu Jun 12 14:52:53 2025 +0900 + + 관리 시추정보 현황 목록화면 페이징 버튼 처리 + +commit 8fb9d954e8de9f98ff3353f3333b5275d11d7717 +Merge: 741d07e c1431c0 +Author: thkim +Date: Thu Jun 12 08:18:10 2025 +0900 + + Merge branch 'main' of http://10.dbnt.co.kr:50501/DBNT/geoinfo_eGov_work + +commit 741d07e3ac8a1b78e82da00b120fa7b3ef3a1cc2 +Author: thkim +Date: Thu Jun 12 08:17:37 2025 +0900 + + feat: 발주기관 지도에 전체 시추공 나오도록 표시 + +commit 396b300848830461ab5bacbeab6cf66271a980e0 +Author: thkim +Date: Thu Jun 12 08:15:04 2025 +0900 + + feat: 발주기관 지도에 전체 시추공 나오도록 표시 + +commit c1431c01e24a15511ece5636affc1772ab0a546d +Author: 유지인 +Date: Wed Jun 11 16:16:27 2025 +0900 + + 건설현장 조회 목록화면 페이징 버튼 처리 + +commit feb90632dafb8df65ffed64524a9df433b6a61a5 +Author: 유지인 +Date: Wed Jun 11 11:22:11 2025 +0900 + + 공지사항 상세화면으로 이동 시 header가 유지되도록 src 전송 처리 + +commit 3997f3d262e4cfafdb87a7dca60de0a557ce4db0 +Author: 유지인 +Date: Wed Jun 11 11:14:21 2025 +0900 + + 공지사항 5개 불러오는 JSON 추가 + +commit 1ee135bf9c95968e3754199a00a55dbb473b3583 +Author: thkim +Date: Tue Jun 10 17:53:09 2025 +0900 + + feat: 10. 메뉴얼 다운로드 버튼에 메뉴얼다운로드 받을 수 있도록 코드 수정. 매뉴얼 파일은 별도로 업로드하면 다운로드 동작 됨 + +commit f080b73926450e59e5428860f561aa1f83561d83 +Author: thkim +Date: Tue Jun 10 17:40:02 2025 +0900 + + feat: 14. 발주기관 홈 화면 검색창을 관리시추정보현황 결과와 연결함 + +commit d9bf09221f7d2e3eecfd0eb878c3a9de9d292808 +Author: thkim +Date: Tue Jun 10 16:58:22 2025 +0900 + + feat: 발주기관 > '관리 시추정보 현황'에서 테이블 넓이 통일 + +commit 25c1ee3a294dbef0961a46bfdc54fbfe6ecbca69 +Author: thkim +Date: Tue Jun 10 10:17:00 2025 +0900 + + . + +commit d753052d8f64ecadf7013d5fecd4622d1f41f198 +Author: thkim +Date: Thu Jun 5 15:18:28 2025 +0900 + + feat: 발주지관_지도_최적화1 + +commit 09ba6896af11a3183fe862ae9010b9a0bd51ede8 +Author: thkim +Date: Mon May 26 09:02:36 2025 +0900 + + feat: 발주기관 지도에서 해당 지역에 대한 MBR만 검색되도록 수정 + +commit a4cbb83a59c59caed2a740f510c9e3bc39c079fd +Author: thkim +Date: Thu May 22 18:01:54 2025 +0900 + + feat: 발주기관_건설현장조회시_입력상태변경되도록_구현 + +commit 476fa66d7b7968df136c6cd2547fce35b857ac0a +Author: thkim +Date: Thu May 22 10:57:13 2025 +0900 + + feat: 건설현장 연계기능 구현 완료 + +commit 5c18871ab93ec0e4ea6116770643d19fe51980a9 +Author: thkim +Date: Wed May 21 17:53:13 2025 +0900 + + feat: 건설현장관리기능 연계 작업 중간 저장 + +commit f34e18fba2534c3351ad8797fb01b9e6b2f79f55 +Author: thkim +Date: Tue May 13 12:54:38 2025 +0900 + + 장바구니 300개 담을 수 있도록 지원 + +commit 3c4ef38e717b19c8aab9610323ccf30a302d5c00 +Author: thkim +Date: Thu Apr 10 16:42:43 2025 +0900 + + feat: 장바구니 사용법 안내추가 + +commit f73b31ce572fecc34d9de9958cfcb3b6367b2d8c +Author: thkim +Date: Fri Feb 28 17:54:12 2025 +0900 + + fix: 유통 조회에서 시추공 선택 없이 '개별정보 보기' 누르면 아무런 반응이 없는 현상 개선 + +commit 0c27c57d90b69c7e165eca4ccce32b3b86684017 +Author: thkim +Date: Fri Feb 28 17:06:48 2025 +0900 + + feat:정보보기를 시추공 상세정보로 기능 변경 + +commit f7bbe0d62fa58fc846350a7b14ad6234fbd68edf +Author: thkim +Date: Tue Feb 4 16:30:49 2025 +0900 + + feat:시추정보 보유현황 경기평택항만공사 경기도 편입 + +commit 5667560c1c081ff48b94c70e18776f1c06d5d454 +Author: thkim +Date: Mon Feb 3 18:06:20 2025 +0900 + + feat: 발주기관 GNB에서 지도 열기 기능 추가 + +commit cb90c104059a04207d1294c62e645107b5f0016c +Author: thkim +Date: Fri Jan 31 18:03:54 2025 +0900 + + feat: 발주기관 화면 헤더 수정 + +commit 01ae7780ae01b6b1d1c79c9cb3a208f36ee55077 +Author: thkim +Date: Wed Jan 22 18:40:36 2025 +0900 + + fix: 지도에 시추공 안 나오는 문제 수정 + +commit 79a787d884d8e6dd81657aed0ddc95b665ed968d +Author: thkim +Date: Wed Jan 22 18:08:36 2025 +0900 + + . + +commit a1c0555040c378ef07462e725a50878a3d245782 +Author: thkim +Date: Mon Jan 20 01:09:01 2025 +0900 + + feat: 발주기관 지도 이동 구현 + +commit 41cca0b766ac00e505f3510bf2d4cfcbc8c36e3e +Author: thkim +Date: Tue Jan 14 16:35:47 2025 +0900 + + . + +commit 21a2a6780b475433edc256c019574f9851be351f +Author: thkim +Date: Tue Jan 7 14:46:10 2025 +0900 + + fix: 일축압축 S-S 그래프 입력 오류 수정 건 + + 암석시험정보 > 일축압축에서 '일축압축시험결과 그래프'에서 파괴형태 만 업로드 후 저장한다. 그리고 다시 Stress-Strain 그래프만 업로드하려고 하면 아래와 같이 에러가 발생한다. + +commit 4bc15f36da320a31de89ba2e52f505a8d869dbfd +Author: thkim +Date: Mon Jan 6 19:52:38 2025 +0900 + + feat: use_yn change conditions + +commit 9e773f16ac26facb02bc8a6aaf735d4c6c4e6641 +Author: thkim +Date: Fri Jan 3 17:59:37 2025 +0900 + + feat: 아이디 찾기 시 이메일 주소 생략 + +commit 8b730a30b13912b07549034746bb08cd325f994f +Author: thkim +Date: Fri Jan 3 12:05:51 2025 +0900 + + feat: 시추공 정보 입력 시 표고 값에 하이픈 넣을 때 0으로 변환되도록 수정 + +commit edcec0971f9088000bc886b5f7cd6f4da104b62b +Merge: 3677ea6 15ae49c +Author: thkim +Date: Thu Jan 2 18:02:47 2025 +0900 + + Merge branch 'main' of https://git.vas2.com/geoinfo_eGov_work + +commit 3677ea6a9a8dd349fc48f5fe99c46682fefcbe48 +Author: thkim +Date: Thu Jan 2 18:02:19 2025 +0900 + + feat: 지반정보 입력 시스템에서 신규 프로젝트 생성 시 특정 항목을 입력 안 하면 입력하라고 안내하도록 수정 + +commit a06baeea9619512ff4f2f478aa02567beffd51d4 +Author: thkim +Date: Thu Jan 2 14:56:41 2025 +0900 + + feat: 신규 프로젝트 생성 시, 전화번호 및 휴대폰 번호 필수 항목 안내 + +commit 15ae49c67326ee7e0dfa7b6297610625930b11c6 +Author: thkim +Date: Thu Jan 2 08:45:13 2025 +0900 + + . + +commit c793ad03c17cea37671a1a42e24396661a56489b +Author: thkim +Date: Tue Dec 31 11:40:12 2024 +0900 + + feat: 기업 회원 가입 시 하단 버튼을 '확인'이 아닌 '가입'으로 수정 + +commit dbed79b88927e007dfa84c4100f826e7922c57ed +Author: thkim +Date: Fri Dec 27 17:54:44 2024 +0900 + + feat: 프로젝트정보 및 시추공 사용 여부에 따른 노출 수정 + +commit 0737aa6428e9914c2cf49389ea2bb64d266a0072 +Author: thkim +Date: Fri Dec 27 10:38:43 2024 +0900 + + feat: 약관 내용 수정 + +commit 2e71fc8cd757edabdcb7b11fb896bae049301aa1 +Author: thkim +Date: Fri Dec 13 19:31:51 2024 +0900 + + fixed: 기본물성시험이 없는 사업 -999로 표기되는 문제 수정 + +commit 431381e25dc2dcdddd836c809b1713acce64b4dc +Author: thkim +Date: Tue Dec 3 09:52:41 2024 +0900 + + feat: 이메일 목록 최신화 + +commit edd15554279e758bfd6351fb6ccf377349be78fb +Author: thkim +Date: Fri Nov 22 17:50:13 2024 +0900 + + . + +commit 2c6f8cc27accab12464ef5e9a608da7eabc2f7e9 +Author: thkim +Date: Wed Nov 20 16:21:58 2024 +0900 + + 회원가입시 지자체 내용 제거 + +commit 55e590eabce9a2bf6ffb4161075246e7fbdb59a7 +Author: thkim +Date: Wed Nov 20 16:16:20 2024 +0900 + + 2024년 집합교육자료 업데이트 + +commit dafa0df9844678869eb8f02b0a1038410e3c10b4 +Author: thkim +Date: Wed Nov 20 15:25:48 2024 +0900 + + 관리자 입력중인 프로젝트 현황에서 입력일시 컬럼 추가 + +commit ba0969523d910a8ed370c948ec17fbed32846b1b +Author: thkim +Date: Mon Nov 11 10:56:37 2024 +0900 + + 관리자 검수 페이지에서 '검수등록완료 목록' 로딩 속도 개선 + +commit ca837c7ecf746cf2b24f0f358699c320fcac7e89 +Author: thkim +Date: Fri Nov 1 15:56:43 2024 +0900 + + . + +commit c3d60bcdfe587d8422e165dc723216e79279b823 +Author: thkim +Date: Fri Oct 25 15:35:46 2024 +0900 + + . + +commit 58a42254fbf2fa546fc3a4122a0509fae762fc90 +Author: thkim +Date: Fri Oct 25 15:31:10 2024 +0900 + + . + +commit b639e65807b17904bec3f4a569cc2d854c3641f1 +Author: thkim +Date: Fri Oct 25 08:56:06 2024 +0900 + + 집합교육 버그 수정 + +commit a6a37290f2b1d589234ecc81683582523be90d9a +Author: thkim +Date: Thu Oct 24 11:59:11 2024 +0900 + + update gitignore + +commit 2732be5d3ef784c36b308e76eea2c9e07c79e0f7 +Author: thkim +Date: Thu Oct 24 11:32:57 2024 +0900 + + update .gitignor + +commit 7953208b04c1bb4999f0d99cf917b30825e5730f +Author: thkim +Date: Thu Oct 24 07:55:33 2024 +0900 + + 집합교육 1차본 + +commit f35652a5dafb40fe4d70aa051cb7faef1eefc7c0 +Author: thkim +Date: Wed Oct 23 14:53:25 2024 +0900 + + feat: 집합교육 작업중 + +commit f9fe8d2f2e9f4fc2a0472513e2ef43e3a9915d37 +Author: thkim +Date: Wed Oct 23 13:53:14 2024 +0900 + + feat: 집합교육 작업중 + +commit a167cee4ba4c79c26409b8ee0dc8ffa6431d050c +Author: thkim +Date: Sun Oct 13 00:27:15 2024 +0900 + + feat: 집합교육 좌측 메뉴 보여지도록 수정 + +commit f68d5c6e672953be66dda9c20b818dc40c47a338 +Author: thkim +Date: Sun Sep 29 00:19:05 2024 +0900 + + . + +commit 5dbf1e9f49a78a329240eb864b32606487002a74 +Author: thkim +Date: Sun Sep 29 00:13:37 2024 +0900 + + . + +commit 2e6d2c930f13bafaf1439b2cf51c8b5473078b35 +Author: thkim +Date: Sat Sep 28 23:50:48 2024 +0900 + + update .gitignore + +commit 788ce6fc2e0c2221536a8083d5ae843af56558a8 +Author: thkim +Date: Sat Sep 28 23:49:34 2024 +0900 + + . + +commit d87c35167f43abad3a157d0027b442e57fdcfc85 +Author: thkim +Date: Sat Sep 28 23:42:11 2024 +0900 + + temp db server + +commit 34206bb7130227706feef01c09078f7eaa88a857 +Author: thkim +Date: Tue Sep 10 16:04:07 2024 +0900 + + fixed: 관리자 기본현장시험 현장투수시험 변경 안 되는 버그 수정 + +commit ba7967fcb794ab0de10419a21efd74d8cf15fbcb +Author: thkim +Date: Tue Sep 10 13:23:17 2024 +0900 + + . + +commit 45b6b9feb8d1cd297957785d369b67d01ab600a3 +Author: thkim +Date: Mon Sep 9 15:19:37 2024 +0900 + + feat:집합교육 데모 기능 추가 건 + +commit 2ef579ad51525c7979b5707364736661773cb004 +Author: thkim +Date: Mon Sep 2 16:08:26 2024 +0900 + + feat: 시추조사 수반 건설현장 집합교육 참석기능 sample 추가 + +commit 7479d7c77c587ed83fe2065404ec998f5b1525db +Author: thkim +Date: Wed Aug 21 09:00:16 2024 +0900 + + . + +commit ea6257043913c1e976c1f7429af2a84b6dfcf9b0 +Author: thkim +Date: Tue Aug 20 19:41:19 2024 +0900 + + feat: 건설현장 관리 > 프로젝트 조회 추가 + +commit 1047cbe2be6c76988d53ce544b7b326e9dbad5aa (temp) +Author: thkim +Date: Tue Aug 20 11:57:42 2024 +0900 + + . + +commit df93148a51f2c71a1f132b516d68919a2aa0c039 +Author: thkim +Date: Fri Aug 16 18:32:19 2024 +0900 + + feat: 건설현장 관리 기능 개발 중 + +commit 8bdc50fefcd8b885e30afa0ad0d0cda14523ac81 +Author: thkim +Date: Tue Aug 13 14:23:06 2024 +0900 + + ffixed: 입력 단위와 미리보기 단위 불일치 수정 + +commit 78f7626e513d0392df12543291e08c12bf6dd5c1 +Author: thkim +Date: Mon Aug 12 17:22:51 2024 +0900 + + fixed: 사업별 시추공 상세정보 undefined 오류 수정 + + 006_시추공개수_undefined + +commit e154121c7dc539aa4b93fc1754ee1c4526b5832a +Author: thkim +Date: Mon Aug 12 13:10:36 2024 +0900 + + feat: 암석-삼축암축시험 입력 과정에서 비고 란 저장 오류 수정 건 + +commit 35e5cf9b9bfc3041407f88744651608062f06b5f +Author: thkim +Date: Fri Aug 9 14:23:56 2024 +0900 + + fix: Font 변경 + 특정 글자가 안 보이는 문제가 있어서 font를 변경 함. + +commit 79384ad8513a156c4a6e68767c7f4441bf645228 +Author: thkim +Date: Wed Aug 7 10:11:14 2024 +0900 + + 프로젝트 등록 오류 수정 + +commit 561e05b4fcf23b06c547aa7b6884ff72462c0866 +Author: thkim +Date: Tue Aug 6 14:36:48 2024 +0900 + + feat: 기업 회원은 로그인 시 이름 대신 회사명이 우측 상단 헤더에 나오도록 수정 + +commit e47c88fb6ce4fdedf414fe499811dc93f580fe4e +Author: thkim +Date: Mon Jul 29 13:12:14 2024 +0900 + + feat: 기본물성시험 건너뛰기 추가 구현 + +commit 373f1429da1f55f246e70865bb8d9cac6d9ed094 +Author: thkim +Date: Fri Jul 26 12:08:21 2024 +0900 + + feat: 111111111입력하라고 되어있는거 -로 표시 + +commit 54235f765cb69404d63d40d248f5e97bff165fb3 +Author: thkim +Date: Thu Jul 25 17:58:05 2024 +0900 + + style: 아이디 패스워드 찾기 결과 화면 수정 + +commit 5ae9b432ff584faee72839f4b82cda243a14ac5f +Author: thkim +Date: Tue Jul 23 16:36:24 2024 +0900 + + fix: 회원 가입 화면에서 로그인 안 되는 오류 수정 + +commit 7a048c66f4ecd7d2fc1323f063120e6378a2b0a8 +Author: thkim +Date: Fri Jul 19 13:50:04 2024 +0900 + + feat: –신규 프로젝트 사업명 중복 검사 추가 구현 + + 지반자료 입력 결과 보고서에도 중복을 체크하도록 구현. + " + +commit b8e8ef2fb15543d090e5120375a61dfcfc0ca3d2 +Author: thkim +Date: Wed Jul 17 16:02:36 2024 +0900 + + feat: 토사 공진주 입력 개선 + + 토사> 공진주에서 심도 중복 검사 비활성 + +commit f47a6b6e16279a151782b8e2a80a25e0187bf433 +Author: thkim +Date: Wed Jul 17 09:34:50 2024 +0900 + + fix: 로그아웃 후 재 로그아웃 시 에러나는 부분 조치 + +commit 8ff2bb54e2203d671c9f73e8bc39ee2fd6ad955d +Author: thkim +Date: Tue Jul 16 15:47:59 2024 +0900 + + feat: 일축압축시험 중, 시료직경과 시료길이의 최대값 설정 및 소수점 3자리까지만 입력되도록 제한 + +commit b89ee534f4b007425db1296d2006a0ed8a039f59 +Author: thkim +Date: Mon Jul 15 15:48:21 2024 +0900 + + feat: 하향식 탄성파 시험 단위 선택시 기본 단위 "MPa"로 설정 + +commit e0e04e891f43c007320c3b67228b9230e8a79ea6 +Author: thkim +Date: Mon Jul 15 10:00:55 2024 +0900 + + feat: –신규 프로젝트 사업명 중복 검사 + +commit 7978ffaed09b407e0d48d4f7b1c9794e7b3122b4 +Author: thkim +Date: Fri Jul 12 17:31:55 2024 +0900 + + feat: 시추공명 입력 및 저장시, "고유번호 (시추공명)"이 함께 나타나도록 변경 + +commit 181e062ee32301dbb64f3b3fc84d9a06f40212aa +Author: thkim +Date: Thu Jul 11 14:17:31 2024 +0900 + + feat: 교육자료 교체 + +commit 15828e0dc9cfc9734c336664d4c7c03080689025 +Author: thkim +Date: Mon Jul 1 11:51:03 2024 +0900 + + fix: 2024. 6. 25 요청한 '지반정보 입력시스템 개선' 작업 건 + + - 기본현장시험정보 - 현장수압시험 입력항목에서 루전주입량 단위 변경 건 + +commit 631cd4424691e77360c83f86c65a3228a9ba45ef +Author: thkim +Date: Mon Jul 1 11:39:36 2024 +0900 + + fix: –펼쳐놓은 폴더가 계속 닫혀 몇번이고 클릭질 해야히는 번거로움 개선 사항이 불편하다고 하여 원복 함. + +commit 7a400ecd59d130804ed3b5ddf58c97c8ad79ac3c +Author: thkim +Date: Mon Jul 1 11:37:59 2024 +0900 + + fix: –펼쳐놓은 폴더가 계속 닫혀 몇번이고 클릭질 해야히는 번거로움 개선 사항이 불편하다고 하여 원복 함. + +commit f7746066ec389c8b9afe6942004aac26ad7a4806 +Author: thkim +Date: Mon Jul 1 11:26:15 2024 +0900 + + fix: –2024. 6. 25 요청한 '지반정보 입력시스템 개선' 작업 건 + + - 기본현장시험정보 - 현장수압시험 입력항목 + - 기본현장시험정보 - 현장투수시험 입력항목 + +commit 147b1bd60309a21ccf55f5b9b0a02aca5206ac18 +Merge: 4c5c827 ae28201 +Author: thkim +Date: Thu Jun 27 14:05:33 2024 +0900 + + Merge branch 'thkim' + +commit ae282014a30847dbe3aba554f580d4a2a09cb647 +Author: thkim +Date: Thu Jun 27 14:05:24 2024 +0900 + + feat: 메인화면 문의 연락처 변경 건 + +commit 4c5c827f9d7581b9a27a64f93d39268f2888c2b5 +Merge: 5213043 d6b4c6f +Author: thkim +Date: Wed Jun 26 17:31:20 2024 +0900 + + Merge branch 'thkim' + +commit d6b4c6fd689fc4277e9408e3859079d93a870693 +Author: thkim +Date: Wed Jun 26 17:29:00 2024 +0900 + + style: 모바일 버전에서 로그인 팝업이 가운데에 배치되도록 수정 + +commit 5213043c5e1d3c51828639108d64d5e0a9028829 +Author: thkim +Date: Wed Jun 26 17:09:54 2024 +0900 + + build: update .gitignore + +commit 0892a9bec9dba6122a3e21b706ae779e6cad72e6 +Author: thkim +Date: Wed Jun 26 17:06:56 2024 +0900 + + feat: 로그인 팝업 뒤로가기 추가 및 모바일에 로그인화면 뜨도록 수정 + +commit f0eae1eac12ab2ba92818855e62f324aadaf1b2a +Author: thkim +Date: Wed Jun 26 16:49:30 2024 +0900 + + feat: 로그인 팝업 뒤로가기 추가 및 모바일에 로그인화면 뜨도록 수정 + +commit c70c23046ac73aad87b4143dec62a6e8d29eaadf +Author: thcho +Date: Wed Jun 26 09:01:48 2024 +0900 + + 개인정보보호 컨텐츠 수정 + +commit 0753b6b0a063215af15586e7ca24a0bff7364f7c +Author: thcho +Date: Wed Jun 26 09:00:05 2024 +0900 + + 2024.06.25 추가반영 + +commit dbbe53e46a231885617d868e1c9d207585a582c8 +Author: thcho +Date: Wed Jun 26 08:58:12 2024 +0900 + + 2024.06.25 운영서버 반영내역 + +commit 42020bea12dce6c4caa703851b298f0c9f6f7ff2 +Author: thcho +Date: Tue Jun 25 11:27:37 2024 +0900 + + 개인정보책임자 정보 수정 + +commit f7356447be4ab0743fdca6163db5564edff028d3 +Author: thcho +Date: Tue Jun 25 09:45:44 2024 +0900 + + 1.개인정보처리방침 컨텐츠 및 컨트롤러 + 2.지도화면 로딩 + +commit 61b487f1292810b216aa769ba2632f712188c772 +Author: thcho +Date: Mon Jun 24 09:29:30 2024 +0900 + + 시추정보 위치이동 제어 수정 + +commit 2360ffbec0fe9cac4b7b18a23f2a65ac6d5385bf +Author: thkim +Date: Fri Jun 21 10:57:01 2024 +0900 + + feat: –입력시스템 문의 문구 변경 + +commit 5b80b63ff22ad4fb85d903ded52f519d96a28c4d +Author: thkim +Date: Thu Jun 20 18:00:53 2024 +0900 + + feat: 로그인 팝업 x버튼 위치 변경 및 배경 선택시 팝업이 안 닫히도록 수정 + +commit fdf1e41eca0bbacf08970c8918e20188cf1ac557 +Author: thkim +Date: Sun Jun 16 16:11:19 2024 +0900 + + fix: 로그인 시, '개인' '기업', 적용 안 되는 버그 수정 + +commit fdec913637553379f7909d7cccfce0b31fa3b454 +Author: thkim +Date: Tue Jun 11 10:39:18 2024 +0900 + + feat: 포털시스템 사용자 편의 기능 개선 - 로그인 기능 개선 + +commit 03f81788aba236040e9136a058650c2a2911734d +Author: thkim +Date: Mon Jun 10 18:00:23 2024 +0900 + + 로그인 화면 변경 중 + +commit 90659583a93e46a82dcf3aabf3ce6b8770e1c646 +Author: thkim +Date: Mon May 27 11:36:17 2024 +0900 + + feat: '기본물성시험 입력 기능 개선'입력값 -999 선택 시, null처리 -> 함수비, 비중, 액성한계, 소성지수, 단위중량 및 포털시스템 사용자 편의 기능 개선 - 로그인 기능 개선 + +commit b7cc865b4810eccd198ceabc2f5eefe86fc2b2f1 +Merge: d20fd9d 812997f +Author: 강석 최 +Date: Mon May 27 09:19:18 2024 +0900 + + Merge branch 'main' of http://118.219.150.34:50501/DBNT/geoinfo_eGov_work + +commit d20fd9df17e8d7537e635d2f486e5114a7dc698c +Author: 강석 최 +Date: Mon May 27 09:19:15 2024 +0900 + + 모바일 인증 테스트환경 변수 수정. + +commit 812997fa95437982984f78506cada5536cfb7b3e +Author: thkim +Date: Wed May 22 17:01:56 2024 +0900 + + feat: 기본물성시험 입력 기능 수정 건 + +commit 9fee63a31c9ebb618f6b6056dd9da7be321793d6 +Author: thkim +Date: Thu May 16 10:45:19 2024 +0900 + + feat: 메인화면 하단 '입력시스템 문의' 031-995-0837 -> '입력시스템 버그 문의' 031-995-0837로 변경 건 + +commit 95e46bdc63af98d0e962481ff040504a34a6c73a +Author: 강석 최 +Date: Tue May 7 11:43:06 2024 +0900 + + no message + +commit 196133c096a9ec75d64cc564d12f45aacbbc9724 +Author: thkim +Date: Tue May 7 11:11:52 2024 +0900 + + build: update .classpath_sample + +commit 9635c418e224dcefa2a82adaea4ba8bb370ec076 +Author: thkim +Date: Tue May 7 11:01:32 2024 +0900 + + build: update .gitignore + +commit 41ef9d0446143887d901834594bced0b3073e565 +Author: thkim +Date: Tue May 7 10:26:36 2024 +0900 + + build: classpath sample 추가 + +commit b12139b957f589594ac7f4962b678d9e0178887c +Author: thkim +Date: Fri May 3 09:41:59 2024 +0900 + + build: update .gitignore + +commit e9bab39683126e3e0a1a6dbd737791451b30e5c3 +Author: thkim +Date: Fri May 3 09:38:20 2024 +0900 + + build: update .gitignore + +commit 93ef53e255286c81f9c83901800a61eab41eafde +Author: thkim +Date: Thu May 2 18:00:45 2024 +0900 + + build: add jar + +commit da4e05ae5d6d714afb1293fdebe9b8762f675442 +Merge: 74ce611 b368f93 +Author: thkim +Date: Thu May 2 17:54:25 2024 +0900 + + build: git test + +commit 74ce6111babc1944ab6ba9f852519a37a1383e9c +Author: thkim +Date: Thu May 2 17:52:02 2024 +0900 + + build: git test + +commit b368f93aa5536eb70ed92e579877cea3bad70f10 +Merge: b8ffbae 21ac88c +Author: thkim +Date: Thu May 2 17:49:09 2024 +0900 + + Merge branch 'main' of http://118.219.150.34:50501/DBNT/geoinfo_eGov_work + +commit b8ffbaeffea162d7631a3862c663d6e77b8068c2 +Author: thkim +Date: Thu May 2 17:48:58 2024 +0900 + + build: update .gitignore + +commit 1866eb8873dea53ed81ce8a58f73e9a29ad6b814 +Author: thkim +Date: Thu May 2 17:44:12 2024 +0900 + + build: update .gitignore + +commit 21ac88c0c1ba8286b2dd621ab64c47aefb4a080f +Merge: 860cf39 1c9f340 +Author: thkim +Date: Thu May 2 14:34:18 2024 +0900 + + build: fixed git conflict + +commit 860cf39d83436436e73fa3ddf1a7d28c513ecf1a +Author: thkim +Date: Thu May 2 14:24:52 2024 +0900 + + build: main branch test and update .gitignore + +commit 1c9f3405f9bc5b5d6b33e99131f799c3aff5e8b3 +Author: thkim +Date: Thu May 2 11:04:31 2024 +0900 + + build: merge with master + +commit 3ada2309a593a0bc6d1b29da8bf76f13280ba9e4 +Merge: 462d1d8 a5c72c4 +Author: thkim +Date: Thu May 2 10:37:13 2024 +0900 + + reset + +commit a5c72c4540b2e04c7465cfc0f3e8dc86290a3ee1 +Author: thkim +Date: Tue Apr 30 12:55:34 2024 +0900 + + build: modify gitignore + +commit 462d1d80e564ec2f33ed2f5ae250ba0e09fcd443 (origin2/master) +Author: 강석 최 +Date: Mon Apr 29 15:43:18 2024 +0900 + + 지반정보입력 페이지 트리 속성 변경. + +commit f4526c195d12a43ac136d386050addc27cd78fdf +Author: 강석 최 +Date: Mon Apr 29 11:35:11 2024 +0900 + + 로그인시 사용자 유형 삭제. + 세션 유지시간 12시간으로 설정. + +commit ba0404f20f21f894e36b2765c63fd10a1cd8724d +Author: 강석 최 +Date: Mon Apr 29 10:24:06 2024 +0900 + + gitignore 수정 + +commit 7e559875866f714b31b2db1ffa28b15a02ca805b +Author: thkim +Date: Thu Apr 25 16:58:07 2024 +0900 + + build: modify .classpath + +commit c1c29b1587dea90a332fa85895a462f0163ee72f +Author: thkim +Date: Thu Apr 25 16:40:40 2024 +0900 + + build: modify .classpath + +commit 82c1cb4513cb654b716ef70ef773e4c58edace62 +Author: thkim +Date: Thu Apr 18 16:29:09 2024 +0900 + + feat: 포털시스템 메인화면 시추공 수 최신화 + +commit b8661cb834b7eefb96f904aa8e07921761f99b45 +Author: thkim +Date: Mon Apr 15 12:38:08 2024 +0900 + + build: new source + +commit 9c40859396c2de1d93787c4d65c0a50ce5d6de06 +Author: thkim +Date: Thu Mar 14 09:57:28 2024 +0900 + + build: 2024-02-26 최신 소스코드 + +commit ece78f07bcda8ad4d485559aceba8639a27d7999 +Merge: 3398c52 c63875a +Author: thkim +Date: Tue Mar 12 16:23:27 2024 +0900 + + merged" + +commit 3398c52a29df6e679669a9ff4dc82af9072776e8 +Author: thkim +Date: Tue Mar 12 15:38:21 2024 +0900 + + build: update gitignore + +commit c63875ab3e42cb74c7f61761a22c0fa8f2e4e241 +Author: 강석 최 +Date: Mon Feb 19 12:03:55 2024 +0900 + + classpath 수정. + DB 정보 수정. + +commit 0729310f87e38c65e92c2582fd48f7823c19034b +Author: 강석 최 +Date: Tue Feb 13 17:45:41 2024 +0900 + + gitignore 수정. + +commit 71c11b6f986463e48cbdf8fb4a571d39a4ed64ee +Merge: 114869e 6a6299b +Author: thkim +Date: Thu Feb 8 11:30:42 2024 +0900 + + build: Resolve merge conflict in .gitignore + +commit 114869e3da59be6117fd7655536edc0613e83462 +Author: thkim +Date: Thu Feb 8 11:26:11 2024 +0900 + + build: Init project + +commit 6a6299bf4488616defe8148b0ea55c7a8940352a +Author: kimtaeho +Date: Thu Feb 8 02:20:37 2024 +0000 + + Update README.md + +commit 48b7965544bcb7af0fbbf15951596b28c2c3ce0f +Author: kimtaeho +Date: Thu Feb 8 02:15:20 2024 +0000 + + Update README.md + +commit 33afeb5077cb83ec54555a900c84f01320dede1f +Author: kimtaeho +Date: Thu Feb 8 01:39:55 2024 +0000 + + Initial commit diff --git a/src/main/java/geoinfo/main/community/CommunityController.java b/src/main/java/geoinfo/main/community/CommunityController.java index b6801fe5..e6befa39 100644 --- a/src/main/java/geoinfo/main/community/CommunityController.java +++ b/src/main/java/geoinfo/main/community/CommunityController.java @@ -63,7 +63,11 @@ public class CommunityController { List> row = communityService.selectRow(page); mv.addObject("rows", row); - mv = GeoinfoCommon.setPage(Integer.parseInt(rowCount.get("lastpage").toString()) - 1, page, mv, "cmuboard"); + if( rowCount != null ) { + mv = GeoinfoCommon.setPage(Integer.parseInt(rowCount.get("lastpage").toString()) - 1, page, mv, "cmuboard"); + } else { + mv = GeoinfoCommon.setPage(-1, page, mv, "cmuboard"); + } return mv; } diff --git a/src/main/java/geoinfo/main/main/MainController.java b/src/main/java/geoinfo/main/main/MainController.java index f9e8ea6c..185bf5af 100644 --- a/src/main/java/geoinfo/main/main/MainController.java +++ b/src/main/java/geoinfo/main/main/MainController.java @@ -691,7 +691,7 @@ public class MainController startDate = (String)params.get("startDate"); }else { startDate = Integer.toString(thisYear); - startDate = "2014"; + startDate = GeoinfoCommon.parseData(String.valueOf(params.get("startDate"))); } if(!"".equals(endDate) && endDate != null && !"null".equals(endDate) && !"undefined".equals(endDate)) { diff --git a/src/main/java/geoinfo/map/left/MapLeftController.java b/src/main/java/geoinfo/map/left/MapLeftController.java index cd2f9f52..452d80ff 100644 --- a/src/main/java/geoinfo/map/left/MapLeftController.java +++ b/src/main/java/geoinfo/map/left/MapLeftController.java @@ -30,8 +30,10 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.jfree.util.Log; +import org.json.simple.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; @@ -43,6 +45,7 @@ import org.springframework.web.servlet.ModelAndView; import egovframework.com.cmm.service.EgovProperties; import egovframework.rte.psl.dataaccess.util.EgovMap; +import geoinfo.api.geoinfo.service.GeoinfoApiV1Service; import geoinfo.com.GeoInfoSessionMgrListener; import geoinfo.com.GeoinfoCommon; import geoinfo.com.MultiLoginPreventor; @@ -76,11 +79,14 @@ public class MapLeftController { @Resource(name = "headerService") private HeaderService headerService; - - + + @Resource(name = "drillingHomeService") private DrillingHomeService drillingHomeService; + @Autowired + private GeoinfoApiV1Service geoinfoApiV1Service; + private final static Logger logger = LoggerFactory.getLogger(GeoInfoSessionMgrListener.class); @@ -259,6 +265,17 @@ public class MapLeftController { model.put("bbox", bbox); model.put("locationDataYn", locationDataYn);*/ model.put("userId", request.getSession().getAttribute("USERID")); + + JSONObject jsonResponse = new JSONObject(); + HashMap handleApiServiceParams = new HashMap(); + handleApiServiceParams.put("holeCode", params.get("hcode")); + geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-h", jsonResponse); + ArrayList> dataList = (ArrayList>)jsonResponse.get("data"); + if( dataList != null && 0 < dataList.size() ) { + model.put("data", dataList.get(0)); + } else { + model.put("data", new HashMap()); + } return "jsonView"; } @@ -303,13 +320,13 @@ public class MapLeftController { String sidoSub = ""; String gugunSub = ""; String dongSub = ""; - + // 발주기관 프로젝트 코드만 조회 String masterCompanyCode = null; String masterCompanyProjectCodes = null; if( params.get("masterCompanyCode") != null ) { masterCompanyCode = GeoinfoCommon.parseData(params.get("masterCompanyCode").toString().trim()); - + HashMap paramsMasterCompanyCode = new HashMap(); paramsMasterCompanyCode.put("COM_CODE", masterCompanyCode); masterCompanyProjectCodes = drillingHomeService.projectCodesByProjectMasterCompanyCodeAsComma(paramsMasterCompanyCode); @@ -317,7 +334,7 @@ public class MapLeftController { params.put("masterCompanyCode", masterCompanyCode); params.put("masterCompanyProjectCodes", masterCompanyProjectCodes); } - + if (!(sido.equals("all"))) { sidoSub = sido.substring(0, 4); @@ -644,22 +661,15 @@ public class MapLeftController { @RequestMapping(value = "/map/mapSichInformation.do") public String mapSichInformation(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map params) throws Exception { - /*List result = mapControlService.selectSichInformation(params);*/ - /*List hole = mapLeftService.selectHeaderFromProjectCode(params);*/ - params.put("pcodePer", params.get("pcode") +"%"); - EgovMap bbox = mapLeftService.selectTblHeaderBBOX(params); - /*EgovMap project = mapLeftService.selectProjectInfo2(params);*/ - logger.debug("-------------------동작확인1"); - /*EgovMap locationDataYn = mapLeftService.getLoYn(params);*/ - /*EgovMap project = mapLeftService.selectProjectInfo(params);*/ - - logger.debug("-------------------동작확인2"); -/* List projectYn = mapLeftService.selectTblProjectInformationYn(params);*/ - logger.debug("-------------------동작확인3"); - /*model.put("locationDataYn", locationDataYn);*/ - - + EgovMap bbox = mapLeftService.selectTblHeaderBBOX(params); + + JSONObject jsonResponse = new JSONObject(); + + HashMap handleApiServiceParams = new HashMap(); + handleApiServiceParams.put("projCode", params.get("pcode")); + geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-p", jsonResponse); + EgovMap projectCount = mapLeftService.selectTblProjectCount(params); params.put("stanSpt", projectCount.get("stanSpt")); @@ -692,26 +702,23 @@ public class MapLeftController { params.put("sampleInfo", projectCount.get("sampleInfo")); - model.put("projectCount", projectCount); + model.put("projectCount", projectCount); + model.put("data", jsonResponse.get("data")); EgovMap project = mapLeftService.selectProjectInfo(params); model.put("project", project); + + // projectYn에 시추공 별 시험여부가 들어간다. List projectYn = mapLeftService.selectTblProjectInformationYn(params); - logger.debug("-------------------동작확인4"); + geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-ph", jsonResponse); + model.put("testCountsPerBorehole", jsonResponse.get("data")); - - - logger.debug("-------------------동작확인5"); model.put("projectYn", projectYn); model.put("userId", request.getSession().getAttribute("USERID")); - /*model.put("hole", hole);*/ model.put("bbox", bbox); - /*model.put("result", result);*/ - - /*model.put("projectYn", projectYn);*/ - + return "jsonView"; } @@ -917,6 +924,47 @@ public class MapLeftController { return "map/left/include/mapSearchArea"; } + @RequestMapping(value = "/map/mapSearchDis.do") + public String mapSearchDist(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map params) throws Exception { + params.put("viewPage", viewPage); + EgovMap result = mapLeftService.selectProjectListByDist( params ); + + + if (params.get("page")!= null) { + pageIndex = Integer.parseInt(GeoinfoCommon.parseData(String.valueOf(params.get("page")))); // 현재페이지번호 + } else { + pageIndex = 0; + } + + int lastPage = Integer.parseInt(result.get("count").toString()) / viewPage; +// if (!lastPage) { + lastPageIndex = lastPage - 1; + + pageIndex = (pageIndex > 0) ? pageIndex : 0; + lastPageIndex = (lastPageIndex > 0) ? lastPageIndex : 0; + pageIndex = (pageIndex > lastPageIndex) ? lastPageIndex : pageIndex; +// } + + + initPageIndex(pageIndex, lastPageIndex); + + + params.put("pageIndex", nowPage+1); + + EgovMap rtn_result = mapLeftService.selectProjectListByDist( params ); + + model.addAttribute("result", rtn_result.get("datas")); + model.addAttribute("params", params); + model.addAttribute("startPage", startPage); + model.addAttribute("endPage", endPage); + model.addAttribute("nowPage", nowPage); + model.addAttribute("nextPage", next); + model.addAttribute("prePage", pre); + + // 발주처 검색 + return "map/left/include/mapSearchDist"; + } + int pageIndex = 0; // 현재페이지번호 int lastPageIndex = 0; // 마지막페이지번호 int viewPage = Integer.parseInt(EgovProperties.getGeoinfoProperty("Globals.VIEWPAGE")) - 1; // 한번에 diff --git a/src/main/java/geoinfo/map/left/service/MapLeftMapper.java b/src/main/java/geoinfo/map/left/service/MapLeftMapper.java index 54d94afe..8ac60786 100644 --- a/src/main/java/geoinfo/map/left/service/MapLeftMapper.java +++ b/src/main/java/geoinfo/map/left/service/MapLeftMapper.java @@ -21,6 +21,8 @@ public interface MapLeftMapper { EgovMap selectProjectInfo2(Map params) throws Exception; + EgovMap selectTempProjectInfo(Map params) throws Exception; + EgovMap selectGetHoleCodeInfo(Map params) throws Exception; EgovMap selectGetHoleCodeDetailInfo(Map params) throws Exception; @@ -107,4 +109,8 @@ public interface MapLeftMapper { EgovMap selectTblProjectCount(Map params) throws Exception; + Long sPCntTblCsiByKeyword(Map params) throws Exception; + + List spGetTblCsiByKeyword(Map params) throws Exception; + } diff --git a/src/main/java/geoinfo/map/left/service/MapLeftService.java b/src/main/java/geoinfo/map/left/service/MapLeftService.java index 94118627..0c59b647 100644 --- a/src/main/java/geoinfo/map/left/service/MapLeftService.java +++ b/src/main/java/geoinfo/map/left/service/MapLeftService.java @@ -111,5 +111,7 @@ public interface MapLeftService { EgovMap selectTblProjectCount(Map params) throws Exception; + EgovMap selectProjectListByDist(Map params) throws Exception; + } diff --git a/src/main/java/geoinfo/map/left/service/impl/MapLeftServiceImpl.java b/src/main/java/geoinfo/map/left/service/impl/MapLeftServiceImpl.java index 8d98cb38..bbf6278d 100644 --- a/src/main/java/geoinfo/map/left/service/impl/MapLeftServiceImpl.java +++ b/src/main/java/geoinfo/map/left/service/impl/MapLeftServiceImpl.java @@ -5,6 +5,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; @@ -24,6 +25,7 @@ import org.springframework.web.multipart.MultipartRequest; import egovframework.com.cmm.service.EgovProperties; import egovframework.rte.psl.dataaccess.util.EgovMap; +import geoinfo.com.GeoinfoCommon; import geoinfo.com.file.FileCmmn; import geoinfo.map.left.service.MapLeftMapper; import geoinfo.map.left.service.MapLeftService; @@ -59,7 +61,12 @@ public class MapLeftServiceImpl implements MapLeftService{ @Override public EgovMap selectProjectInfo(Map params) throws Exception { - return mapLeftMapper.selectProjectInfo(params); + EgovMap resultMap = new EgovMap(); + resultMap = mapLeftMapper.selectProjectInfo(params); + if (resultMap == null) { + resultMap = mapLeftMapper.selectTempProjectInfo(params); + } + return resultMap; } @Override @@ -516,4 +523,31 @@ public class MapLeftServiceImpl implements MapLeftService{ return mapLeftMapper.selectTblProjectCount(params); } -} + + + @Override + public EgovMap selectProjectListByDist(Map params) throws Exception { + EgovMap resultMap = new EgovMap(); + + params.put("constTag", "P"); + params.put("masterCompanyOCode", GeoinfoCommon.parseData(params.get("o").toString())); + params.put("masterCompanyTwCode", GeoinfoCommon.parseData(params.get("tw").toString())); + params.put("masterCompanyThCode", GeoinfoCommon.parseData(params.get("th").toString())); + params.put("masterCompanyName", ""); + params.put("nPage", params.get("pageIndex")); + params.put("nCount", params.get("viewPage")); + + Long count = mapLeftMapper.sPCntTblCsiByKeyword(params); + List datas = mapLeftMapper.spGetTblCsiByKeyword(params); + + if (datas.size() < 1) { + datas = new ArrayList(); + } + + + resultMap.put("count", count); + resultMap.put("datas", datas); + return resultMap; + } + +} \ No newline at end of file diff --git a/src/main/java/geoinfo/map/mapControl/MapContorlController.java b/src/main/java/geoinfo/map/mapControl/MapContorlController.java index f0232349..da8654ea 100644 --- a/src/main/java/geoinfo/map/mapControl/MapContorlController.java +++ b/src/main/java/geoinfo/map/mapControl/MapContorlController.java @@ -906,5 +906,19 @@ public class MapContorlController { } return crosses % 2 > 0; } + + + /** + * 시추공번호로 사용자가 입력한 시추명을 가져온다. + * @param params + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "/map/hole-name-by-user.do", method = RequestMethod.GET) + public String holeNameByUser(@RequestParam Map params, ModelMap model) throws Exception { + model.put("data", mapControlService.holeNameByUser(params)); + return "jsonView"; + } } diff --git a/src/main/java/geoinfo/map/mapControl/service/MapControlMapper.java b/src/main/java/geoinfo/map/mapControl/service/MapControlMapper.java index 939987e3..10959b2b 100644 --- a/src/main/java/geoinfo/map/mapControl/service/MapControlMapper.java +++ b/src/main/java/geoinfo/map/mapControl/service/MapControlMapper.java @@ -76,4 +76,5 @@ public interface MapControlMapper { List selectHeaderSichInformation(Map params) throws Exception; + List holeNameByUser(Map params) throws Exception; } diff --git a/src/main/java/geoinfo/map/mapControl/service/MapControlService.java b/src/main/java/geoinfo/map/mapControl/service/MapControlService.java index b85f9b9b..d93aa457 100644 --- a/src/main/java/geoinfo/map/mapControl/service/MapControlService.java +++ b/src/main/java/geoinfo/map/mapControl/service/MapControlService.java @@ -74,5 +74,7 @@ public interface MapControlService { List selectSichInformation(Map params) throws Exception; List selectHeaderSichInformation(Map params) throws Exception; + + List holeNameByUser(Map params) throws Exception; } diff --git a/src/main/java/geoinfo/map/mapControl/service/impl/MapContorlServiceImpl.java b/src/main/java/geoinfo/map/mapControl/service/impl/MapContorlServiceImpl.java index d4957b83..e2bc74d4 100644 --- a/src/main/java/geoinfo/map/mapControl/service/impl/MapContorlServiceImpl.java +++ b/src/main/java/geoinfo/map/mapControl/service/impl/MapContorlServiceImpl.java @@ -184,5 +184,8 @@ public class MapContorlServiceImpl implements MapControlService{ return mapControlMapper.selectHeaderSichInformation(params); } - + @Override + public List holeNameByUser(Map params) throws Exception { + return mapControlMapper.holeNameByUser(params); + } } diff --git a/src/main/java/geoinfo/map/projectSearch/MapProjectSearchController.java b/src/main/java/geoinfo/map/projectSearch/MapProjectSearchController.java index cdfecade..cd24b7f5 100644 --- a/src/main/java/geoinfo/map/projectSearch/MapProjectSearchController.java +++ b/src/main/java/geoinfo/map/projectSearch/MapProjectSearchController.java @@ -6,6 +6,7 @@ import geoinfo.com.GeoinfoCommon; import geoinfo.map.projectSearch.service.MapProjectSearchService; import java.net.URLDecoder; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -38,6 +39,7 @@ public class MapProjectSearchController { String dsf = GeoinfoCommon.parseData(String.valueOf(params.get("dsf")));// String slickenside = GeoinfoCommon.parseData(String.valueOf(params.get("slickenside"))); String q = GeoinfoCommon.parseData(String.valueOf(params.get("q"))); + String cone = GeoinfoCommon.parseData(String.valueOf(params.get("cone"))); String rmr = GeoinfoCommon.parseData(String.valueOf(params.get("rmr"))); String classification9 = GeoinfoCommon.parseData(String.valueOf(params.get("classification9"))); @@ -61,6 +63,7 @@ public class MapProjectSearchController { String rock_resonant_usual = GeoinfoCommon.parseData(String.valueOf(params.get("rock_resonant_usual"))); String density = GeoinfoCommon.parseData(String.valueOf(params.get("density"))); + String ps = GeoinfoCommon.parseData(String.valueOf(params.get("ps"))); String downhole = GeoinfoCommon.parseData(String.valueOf(params.get("downhole"))); String refraction_survey = GeoinfoCommon.parseData(String.valueOf(params.get("refraction_survey"))); String resistivity_survey = GeoinfoCommon.parseData(String.valueOf(params.get("resistivity_survey"))); @@ -92,6 +95,11 @@ public class MapProjectSearchController { } else if (q.equals("on") || q.equals("1")) { q = "1"; } + if (cone == null) { + cone = "0"; + } else if (cone.equals("on") || cone.equals("1")) { + cone = "1"; + } if (rmr == null) { rmr = "0"; } else if (rmr.equals("on") || rmr.equals("1")) { @@ -185,6 +193,11 @@ public class MapProjectSearchController { else if ((density.equals("on")) || (density.equals("1"))) { density = "1"; } + if (ps == null) { + ps = "0"; + } else if ((ps.equals("on")) || (ps.equals("1"))) { + ps = "1"; + } if (downhole == null) downhole = "0"; else if ((downhole.equals("on")) || (downhole.equals("1"))) { @@ -262,7 +275,12 @@ public class MapProjectSearchController { params.put("firstRow", pageIndex * viewPage); params.put("lastRow", (pageIndex + 1) * viewPage); - List items = mapProjectSearchService.selectItems(params); + List items = null; + if( lastPage == null) { + items = new ArrayList(); + } else { + items = mapProjectSearchService.selectItems(params); + } Iterator iter = items.iterator(); if (!userId.equals(particularId1) && !userId.equals("admin_user")) { diff --git a/src/main/java/geoinfo/regi/common/CommonController.java b/src/main/java/geoinfo/regi/common/CommonController.java index 9ca16fba..402a9581 100644 --- a/src/main/java/geoinfo/regi/common/CommonController.java +++ b/src/main/java/geoinfo/regi/common/CommonController.java @@ -21,6 +21,7 @@ import com.clipsoft.clipreport.oof.OOFDocument; import com.clipsoft.clipreport.oof.OOFFile; import com.clipsoft.clipreport.server.service.ReportUtil; +import egovframework.com.cmm.service.EgovProperties; import egovframework.rte.psl.dataaccess.util.EgovMap; import geoinfo.regi.common.service.CommonService; import geoinfo.regi.rock.service.RockService; @@ -41,6 +42,8 @@ public class CommonController { @Resource(name = "rockService") private RockService rockService; + + public String filePath = EgovProperties.getProperty("Geoinfo.FilePath"); //지반정보등록 (관리자) @RequestMapping(value="/provider_info.do") @@ -60,6 +63,30 @@ public class CommonController { return "/web/common/provider_info"; } + + private String getImagePath(String path, String imagePath) { + + // 1. imagePath가 null인 경우 null을 반환합니다. + if (imagePath == null) { + return null; + } + + File imageFile = new File(imagePath); + + // 2. 파일이 존재하는지 확인합니다. + if (imageFile.exists()) { + // 2-1. 파일이 존재하지만 크기가 0바이트인 경우 + if (imageFile.length() == 0) { + return path + "/web/images/no_image_zero_byte.png"; + } else { + // 2-2. 파일이 정상적으로 존재하는 경우 + return imagePath; + } + } else { + // 3. 파일이 존재하지 않는 경우 + return path + "/web/images/no_image_not_found.png"; + } + } @RequestMapping(value="/com/includeFooterInput") public String includeFooterInput(@RequestParam HashMap params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ @@ -247,7 +274,8 @@ public class CommonController { if("noImage".equals(boreholeWaveImage[0]) || "noImage".equals(boreholeWaveImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file4 = oof.addFile("reb.root", realPath+"web\\preview\\BOREHOLE_WAVE.reb"); @@ -299,7 +327,8 @@ public class CommonController { if("noImage".equals(densityImage[0]) || "noImage".equals(densityImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file5 = oof.addFile("reb.root", realPath+"web\\preview\\DENSITY.reb"); @@ -325,7 +354,8 @@ public class CommonController { if("noImage".equals(downholeImage[0]) || "noImage".equals(downholeImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file6 = oof.addFile("reb.root", realPath+"web\\preview\\DOWNHOLE.reb"); @@ -381,7 +411,8 @@ public class CommonController { if("noImage".equals(coneImage[0]) || "noImage".equals(coneImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file29 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_CONE_PENETRATION.reb"); file29.addConnectionData("*", "oracle1"); @@ -401,7 +432,8 @@ public class CommonController { if("noImage".equals(cone_image) ){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + cone_holecode + "/CONE/" + cone_image; + imagePath = filePath + "web/CH/" + projectCode + "/" + cone_holecode + "/CONE/" + cone_image; + imagePath = getImagePath( Path, imagePath ); } OOFFile file29 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_CONE_PENETRATION.reb"); file29.addConnectionData("*", "oracle1"); @@ -426,7 +458,8 @@ public class CommonController { if("noImage".equals(permeabilityImage[0]) || "noImage".equals(permeabilityImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file8 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PERMEABILITY.reb"); file8.addConnectionData("*", "oracle1"); @@ -454,7 +487,8 @@ public class CommonController { if("noImage".equals(permeabilityImage[i]) ||"null".equals(permeabilityImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file30 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PERMEABILITY.reb"); file30.addConnectionData("*", "oracle1"); @@ -480,7 +514,8 @@ public class CommonController { if("noImage".equals(pressuremeterImage[0]) || "noImage".equals(pressuremeterImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + pressuremeterHolecode[i] + "/PRESSUREMETER/" + pressuremeterImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + pressuremeterHolecode[i] + "/PRESSUREMETER/" + pressuremeterImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file9 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PRESSUREMETER.reb"); file9.addConnectionData("*", "oracle1"); @@ -507,7 +542,8 @@ public class CommonController { if("noImage".equals(waterpressureImage[0]) || "noImage".equals(waterpressureImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file10 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_WATERPRESSURE.reb"); file10.addConnectionData("*", "oracle1"); @@ -538,7 +574,8 @@ public class CommonController { if("noImage".equals(waterpressureImage[i]) || "null".equals(waterpressureImage[i])){ imagePath = Path + "/web/images/no_image.png"; }else{ - imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i]; + imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i]; + imagePath = getImagePath( Path, imagePath ); } OOFFile file31 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_WATERPRESSURE.reb"); file31.addConnectionData("*", "oracle1"); @@ -566,7 +603,8 @@ public class CommonController { if("noImage".equals(rockRepeatTriImage[0]) || "noImage".equals(rockRepeatTriImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file12 = oof.addFile("reb.root", realPath+"web\\preview\\REPEATED_U.reb"); file12.addConnectionData("*", "oracle1"); @@ -596,7 +634,8 @@ public class CommonController { if("noImage".equals(repeatTriImage[0]) || "noImage".equals(repeatTriImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file13 = oof.addFile("reb.root", realPath+"web\\preview\\REPEATED.reb"); file13.addConnectionData("*", "oracle1"); @@ -625,7 +664,8 @@ public class CommonController { if("noImage".equals(resonantImage[0]) || "noImage".equals(resonantImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file15 = oof.addFile("reb.root", realPath+"web\\preview\\RESONANT.reb"); file15.addConnectionData("*", "oracle1"); @@ -653,7 +693,8 @@ public class CommonController { if("noImage".equals(rockResonantImage[0]) || "noImage".equals(rockResonantImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file16 = oof.addFile("reb.root", realPath+"web\\preview\\RESONANT_ROCK.reb"); file16.addConnectionData("*", "oracle1"); @@ -686,7 +727,8 @@ public class CommonController { if("noImage".equals(rockJointshearImage)){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockJointshearHolecode + "/ROCK_JOINTSHEAR/" + rockJointshearImage; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockJointshearHolecode + "/ROCK_JOINTSHEAR/" + rockJointshearImage; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file17 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_JOINTSHEAR.reb"); file17.addConnectionData("*", "oracle1"); @@ -738,7 +780,8 @@ public class CommonController { if("noImage".equals(rockPointloadImage) ){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockPointloadHolecode + "/ROCK_POINTLOAD/" + rockPointloadImage; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockPointloadHolecode + "/ROCK_POINTLOAD/" + rockPointloadImage; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file18 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_POINTLOAD.reb"); file18.addConnectionData("*", "oracle1"); @@ -783,7 +826,8 @@ public class CommonController { if("noImage".equals((String)rockTri.get(0).get("graphImage")) || "noImage".equals(rockTriImage)){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockTriHolecode + "/ROCK_TRIAXIAL/" + rockTriImage; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockTriHolecode + "/ROCK_TRIAXIAL/" + rockTriImage; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file19 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_TRIAXIAL.reb"); file19.addConnectionData("*", "oracle1"); @@ -839,12 +883,14 @@ public class CommonController { if("noImage".equals(rockUni_image1)){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" + rockUni_image1; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" + rockUni_image1; + imagePath1 = getImagePath( Path, imagePath1 ); } if("noImage".equals(rockUni_image2) ){ imagePath2 = Path + "/web/images/no_image.png"; }else{ - imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" +rockUni_image2; + imagePath2 = filePath + "web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" +rockUni_image2; + imagePath2 = getImagePath( Path, imagePath2 ); } OOFFile file20 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_UNIAXIAL.reb"); @@ -887,12 +933,14 @@ public class CommonController { if("noImage".equals(cbrCompacImage1[0]) || "noImage".equals(cbrCompacImage1[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } if("noImage".equals(cbrCompacImage2[0]) || "noImage".equals(cbrCompacImage2[i])){ imagePath2 = Path + "/web/images/no_image.png"; }else{ - imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i]; + imagePath2 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i]; + imagePath2 = getImagePath( Path, imagePath1 ); } OOFFile file21 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CBR.reb"); file21.addConnectionData("*", "oracle1"); @@ -941,7 +989,8 @@ public class CommonController { if("noImage".equals(classificationImage[0]) || "noImage".equals(classificationImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode[i] + "/SAND_CLASSIFICATION/" + classificationImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode[i] + "/SAND_CLASSIFICATION/" + classificationImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file22 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CLASSIFICATION.reb"); file22.addConnectionData("*", "oracle1"); @@ -995,7 +1044,8 @@ public class CommonController { if("noImage".equals(classificationImage2[0]) || "noImage".equals(classificationImage2[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file30 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CLASSIFICATION.reb"); file30.addConnectionData("*", "oracle1"); @@ -1022,7 +1072,8 @@ public class CommonController { if("noImage".equals(consolidationImage[0]) || "noImage".equals(consolidationImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file23 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CONSOLIDATION.reb"); @@ -1064,12 +1115,14 @@ public class CommonController { if("noImage".equals(triCuImage1[0]) || "noImage".equals(triCuImage1[0])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[0]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[0]; + imagePath1 = getImagePath( Path, imagePath1 ); } if("noImage".equals(triCuImage2[0]) || "noImage".equals(triCuImage2[0])){ imagePath2 = Path + "/web/images/no_image.png"; }else{ - imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[0]; + imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[0]; + imagePath2 = getImagePath( Path, imagePath2 ); } OOFFile file23 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_TRIAXIAL_CU.reb"); file23.addConnectionData("*", "oracle1"); @@ -1138,12 +1191,14 @@ public class CommonController { if("noImage".equals(triUuImage1[0]) || "noImage".equals(triUuImage1[0])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[0]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[0]; + imagePath1 = getImagePath( Path, imagePath1 ); } if("noImage".equals(triUuImage2[0]) || "noImage".equals(triUuImage2[0])){ imagePath2 = Path + "/web/images/no_image.png"; }else{ - imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[0]; + imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[0]; + imagePath2 = getImagePath( Path, imagePath2 ); } OOFFile file24 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_TRIAXIAL_UU.reb"); file24.addConnectionData("*", "oracle1"); @@ -1197,7 +1252,8 @@ public class CommonController { if("noImage".equals(unconfineImage[0]) || "noImage".equals(unconfineImage[i])){ imagePath1 = Path + "/web/images/no_image.png"; }else{ - imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i]; + imagePath1 = filePath + "web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i]; + imagePath1 = getImagePath( Path, imagePath1 ); } OOFFile file25 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_UNCONFINED.reb"); @@ -1208,10 +1264,6 @@ public class CommonController { file25.addField("sample_code", unconfineSamplecode[i]); file25.addField("image1", imagePath1); - - params.put("TEST_INFO_CODE", "SAND_UNCONFINED_USUAL"); - params.put("HOLE_CODE", unconfineHolecode[i]); - // 단위중량의 단위를 구한다. params.put("INI_UNIT", "kN/㎥"); params.put("ITEM_INFO_CODE", "UNCONF_UNDISTURB_RT"); @@ -1238,10 +1290,6 @@ public class CommonController { String holeCode_ = (String)result.get("holecode"); String holeCodeSplit[] = holeCode_.split(","); - if( holeCode != null && holeCode.split(",").length == 1) { - // holeCode가 parameter로 넘어왔고 시추공 수가 한개라면 해당 시추공만 보여준다. - holeCodeSplit = holeCode.split(","); - } int holeCodeCnt = holeCodeSplit.length; for(int i=0; i - - = #{startDate} AND SUBSTR(TO_CHAR(END_DATE),0,4) <= #{endDate}) ]]> - + + + + + AND (SUBSTR(TO_CHAR(START_DATE),0,4) =]]> #{startDate}) + + + AND (SUBSTR(TO_CHAR(END_DATE),0,4) #{endDate}) + diff --git a/src/main/resources/egovframework/sqlmap/mapper/map/MapControl_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/map/MapControl_SQL.xml index 53937f65..df54f2db 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/map/MapControl_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/map/MapControl_SQL.xml @@ -802,5 +802,15 @@ project_code = #{projectCode} ]]> + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/mapper/map/MapLeft_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/map/MapLeft_SQL.xml index 0275209c..3584b175 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/map/MapLeft_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/map/MapLeft_SQL.xml @@ -215,13 +215,13 @@ WHERE NVL(A.USE_YN,' ') <> 'N' AND NVL(B.USE_YN,' ') <> 'N' AND A.PROJECT_CODE = B.PROJECT_CODE AND NVL(A.USE_YN,' ') <> 'N' ]]> - + - + = C.MINX AND B.HOLE_LOCATION_TM_X <= C.MAXX) @@ -339,6 +339,24 @@ ]]> + + - + SELECT * FROM @@ -677,7 +695,7 @@ #{project} - + - select b.HOLE_CODE, B.HOLE_TOTAL_DEPTH DEPTH, @@ -1433,4 +1451,32 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/body/jiban_info/situTable.jsp b/src/main/webapp/WEB-INF/views/body/jiban_info/situTable.jsp index 4b8c0519..2d614856 100644 --- a/src/main/webapp/WEB-INF/views/body/jiban_info/situTable.jsp +++ b/src/main/webapp/WEB-INF/views/body/jiban_info/situTable.jsp @@ -13,19 +13,25 @@ $(function(){ <% String startDate = request.getParameter("startDate"); String endDate = request.getParameter("endDate"); - + startDate = startDate.replaceAll("<", "&lt;"); startDate = startDate.replaceAll(">", "&gt;"); startDate = startDate.replaceAll("&", "&amp;"); startDate = startDate.replaceAll("\"", "&quot;"); - + endDate = endDate.replaceAll("<", "&lt;"); endDate = endDate.replaceAll(">", "&gt;"); endDate = endDate.replaceAll("&", "&amp;"); endDate = endDate.replaceAll("\"", "&quot;"); %> - document.getElementById('startDate').value = <%=("null".equals(startDate))?"2020":startDate%>; - document.getElementById('endDate').value = <%=("null".equals(endDate))?"":endDate%>; +<%-- document.getElementById('startDate').value = <%=("null".equals(startDate))?"2020":startDate%>; --%> +<%-- document.getElementById('endDate').value = <%=("null".equals(endDate))?"":endDate%>; --%> +<% if (!"null".equals(startDate)) {%> + document.getElementById('startDate').value = "<%=startDate%>"; +<% }%> +<% if (!"null".equals(endDate)) {%> + document.getElementById('endDate').value = "<%=endDate%>"; +<% }%> }); function enterkey() { if (window.event.keyCode == 13) { @@ -61,15 +67,27 @@ $(function(){
기간 : ~
diff --git a/src/main/webapp/WEB-INF/views/map/index.jsp b/src/main/webapp/WEB-INF/views/map/index.jsp index b4318d2b..0a28eab5 100644 --- a/src/main/webapp/WEB-INF/views/map/index.jsp +++ b/src/main/webapp/WEB-INF/views/map/index.jsp @@ -156,8 +156,8 @@ function LoadingShow() {
  • 시추
    주상도
  • -
  • 정보
    보기 +
  • 사업정보
    보기
  • 개별정보
    보기 @@ -442,14 +442,16 @@ function LoadingShow() { - - - - - - - - + + +<%-- --%> + + + + + + + @@ -457,11 +459,13 @@ function LoadingShow() { - - - - - + + + + + + + @@ -470,6 +474,8 @@ function LoadingShow() { + + @@ -490,6 +496,9 @@ function LoadingShow() {
    굴진심도 표고 지하수위기본
    현장시험
    기본
    물성시험
    토사시험암석시험물리검층시료 정보실내
    토사시험
    실내
    암석시험
    현장시험동적시험물리탐사
    diff --git a/src/main/webapp/js/map/main/left/left.js b/src/main/webapp/js/map/main/left/left.js index bdf145ca..cf011048 100644 --- a/src/main/webapp/js/map/main/left/left.js +++ b/src/main/webapp/js/map/main/left/left.js @@ -343,7 +343,7 @@ function holeCodeSqureCheck(){ data : params, success : function(data){ AreaHcode = ""; - if(data.count > 300){ + if(false && data.count > 300){ closeWaitWin(); $("#mask").hide() HOLE_SELECT.removeAllFeatures(); @@ -356,9 +356,9 @@ function holeCodeSqureCheck(){ CTL_MODIFY.deactivate(); CTL_MODIFY.activate(); CTL_INFO.deactivate(); - alert("시추공은 300개까지 선택할 수 있습니다."); + console.log("시추공은 300개까지 선택할 수 있습니다.3"); CTL_AREA.activate(); - }else if(data.data.length > 300){ + }else if(false && data.data.length > 300){ closeWaitWin(); $("#mask").hide() HOLE_SELECT.removeAllFeatures(); @@ -371,9 +371,9 @@ function holeCodeSqureCheck(){ CTL_MODIFY.deactivate(); CTL_MODIFY.activate(); CTL_INFO.deactivate(); - alert("시추공은 300개까지 선택할 수 있습니다."); + alert("시추공은 300개까지 선택할 수 있습니다.4"); CTL_AREA.activate(); - }else if(data.data){ + } else if(data.data) { var format = new OpenLayers.Format.WKT(); var features = []; for(var i=0, len=data.data.length; i < len; i++) { @@ -392,6 +392,19 @@ function holeCodeSqureCheck(){ if(features.length > 0) { HOLE_SELECT.addFeatures(features); } + } else { + var currentZoomLevel = BASE_MAP.getZoom(); + if( currentZoomLevel < 8) { + alert("지도 선택 범위가 전국이 보일정도로 너무 넓습니다. 지도를 많이 확대해주세요"); + } else if( currentZoomLevel < 11) { + alert("지도 선택 범위가 넓습니다. 지도를 하나의 읍/면/동이 꽉 찰 때까지 확대해주세요."); + } else if( currentZoomLevel < 12) { + alert("지도 선택 범위가 넓습니다. 지도를 확대를 더 확대해주세요."); + } else if( currentZoomLevel < 13) { + alert("지도 선택 범위가 너무 넓습니다."); + } else { + alert("선택영역 좁혀주세요."); + } } }, @@ -401,6 +414,23 @@ function holeCodeSqureCheck(){ complete: function(){ closeWaitWin() $("#mask").hide() + clearTextLabels(); + for (var i=0; i < HOLE_SELECT.features.length; i++){ + addHoleNames(HOLE_SELECT.features[i]); + } + + //선택된 영역을 제거한다. + CTL_AREA.deactivate(); + if (HOLE_AREA.features.length > 0 && HOLE_AREA.features[0]) { + HOLE_AREA.features[0].style = null; + } + var transparentStyle = new OpenLayers.Style({ + strokeOpacity: 0.0, + fillOpacity: 0.0 + }); + HOLE_AREA.styleMap = new OpenLayers.StyleMap(transparentStyle); + HOLE_AREA.redraw(); + CTL_AREA.activate(); } }); diff --git a/src/main/webapp/js/map/main/main.js b/src/main/webapp/js/map/main/main.js index 337ff892..81d14b22 100644 --- a/src/main/webapp/js/map/main/main.js +++ b/src/main/webapp/js/map/main/main.js @@ -80,7 +80,7 @@ function showSichuInfo() { //정보보기 누를 때, 사업별 시추공 상세정보가 나타나도록 한다. -function showSichuInfoDetail() { +function showSichuInfoDetail(isShowPopup) { var sichuInfo = getSelectAreaInfo2(); if (sichuInfo == null || sichuInfo == undefined) { @@ -99,7 +99,6 @@ function showSichuInfoDetail() { } - const arrSichuInfoComma = String(sichuInfo).split(','); const regex = /([a-zA-Z]+\d+).*/; let foundProjectCode = null; @@ -117,7 +116,7 @@ function showSichuInfoDetail() { if( isMultipleProject ) { alert('가장 마지막에 선택된 하나의 프로젝트만 조회됩니다.'); } - popupDataOpen(foundProjectCode); + popupDataOpen(foundProjectCode, null, isShowPopup); } return; } diff --git a/src/main/webapp/js/map/main/map.js b/src/main/webapp/js/map/main/map.js index 9e59420a..f51ff341 100644 --- a/src/main/webapp/js/map/main/map.js +++ b/src/main/webapp/js/map/main/map.js @@ -186364,6 +186364,128 @@ var 부산광역시 = [ [400175.744178534,312101.356864329] ]; +//커스텀 DragPopup 컨트롤 정의 +OpenLayers.Control.DragPopup = OpenLayers.Class(OpenLayers.Control, { + popup: null, + isDragging: false, + startPixel: null, + popupStartPos: null, + + // document에 등록/해제할 이벤트 핸들러를 저장하기 위한 속성 + boundMouseMove: null, + boundMouseUp: null, + + initialize: function(popup, options) { + OpenLayers.Control.prototype.initialize.apply(this, [options]); + this.popup = popup; + }, + + // 컨트롤을 완전히 제거할 때 호출되어 안전하게 정리합니다. + destroy: function() { + this.deactivate(); // 이벤트 리스너 등을 먼저 비활성화합니다. + OpenLayers.Control.prototype.destroy.apply(this, arguments); // 부모 클래스의 destroy를 호출합니다. + this.popup = null; // 팝업 참조를 제거합니다. + }, + + // 컨트롤이 활성화될 때 팝업 div에 mousedown 이벤트를 연결합니다. + activate: function() { + if (OpenLayers.Control.prototype.activate.apply(this, arguments) && this.popup && this.popup.div) { + this.events = new OpenLayers.Events(this, this.popup.div, null, true); + this.events.on({ + "mousedown": this.onMouseDown, + scope: this + }); + return true; + } + return false; + }, + + // 컨트롤이 비활성화될 때 이벤트를 제거합니다. + deactivate: function() { + if (this.isDragging) { + this.onMouseUp(null); + } + if (this.events) { + this.events.destroy(); + this.events = null; + } + if( 0 < OpenLayers.Control.prototype.deactivate.length ) { + return OpenLayers.Control.prototype.deactivate.apply(this, arguments); + } + return false; + + }, + + onMouseDown: function(evt) { + var target = evt.target || evt.srcElement; + + // 닫기 버튼 또는 팝업 내부의 상호작용 가능한 요소(input, button 등)를 클릭한 경우는 드래그를 시작하지 않습니다. + if (target.className.indexOf('olPopupCloseBox') > -1 || ['INPUT', 'BUTTON', 'A', 'TEXTAREA', 'SELECT'].indexOf(target.tagName) !== -1) { + return; + } + + this.isDragging = true; + + // 표준 clientX/Y를 사용하여 시작 좌표를 기록합니다. + this.startPixel = { x: evt.clientX, y: evt.clientY }; + + this.popupStartPos = { + x: parseInt(this.popup.div.style.left) || 0, + y: parseInt(this.popup.div.style.top) || 0 + }; + + // document에 이벤트 리스너를 등록합니다. + // 변경점: useCapture 인자를 true로 설정하여 '캡처링' 단계에서 이벤트를 감지합니다. + // 이렇게 하면 팝업 내부의 다른 요소(예:
    태그)가 mouseup 이벤트의 전파를 중단(stopPropagation)시켜도 + // document 레벨에서 이벤트를 먼저 감지하여 드래그를 정상적으로 종료할 수 있습니다. + this.boundMouseMove = this.onMouseMove.bind(this); + this.boundMouseUp = this.onMouseUp.bind(this); + + OpenLayers.Event.observe(document, "mousemove", this.boundMouseMove, true); + OpenLayers.Event.observe(document, "mouseup", this.boundMouseUp, true); + + this.map.div.style.cursor = "move"; + OpenLayers.Event.stop(evt); // 이벤트 전파 중단으로 텍스트 선택 등 부수 효과 방지 + }, + + // 마우스를 움직일 때 + onMouseMove: function(evt) { + if (this.isDragging) { + + // 표준 clientX/Y를 사용하여 현재 좌표를 가져옵니다. + var currentPixel = { x: evt.clientX, y: evt.clientY }; + + var deltaX = currentPixel.x - this.startPixel.x; + var deltaY = currentPixel.y - this.startPixel.y; + + this.popup.div.style.left = (this.popupStartPos.x + deltaX) + "px"; + this.popup.div.style.top = (this.popupStartPos.y + deltaY) + "px"; + + OpenLayers.Event.stop(evt); + } + }, + + // 마우스 버튼을 뗐을 때 + onMouseUp: function(evt) { + if (this.isDragging) { + this.isDragging = false; + + // 변경점: document에 '캡처링' 단계로 등록했던 이벤트 리스너를 제거합니다. + OpenLayers.Event.stopObserving(document, "mousemove", this.boundMouseMove, true); + OpenLayers.Event.stopObserving(document, "mouseup", this.boundMouseUp, true); + + this.boundMouseMove = null; + this.boundMouseUp = null; + + this.map.div.style.cursor = ""; + if (evt) { + OpenLayers.Event.stop(evt); + } + } + }, + + CLASS_NAME: "OpenLayers.Control.DragPopup" +}); //---------여기 시작 코드 @@ -186569,6 +186691,7 @@ var CTL_INFO; var CTL_TOOLTIP; var POPUP_TOOLTIP; +var TEXT_LABEL_LAYER; var POLYGON_TYPE; @@ -186912,6 +187035,29 @@ function initApp(param){ }*/ BASE_MAP.addLayer(HOLE_LAYER); + + var textStyle = new OpenLayers.Style({ + // feature의 'attributes' 객체에 있는 속성들을 참조하여 스타일을 동적으로 적용합니다. + label: "${label}", + fontColor: "${fontColor}", + fontSize: "${fontSize}", + fontWeight: "${fontWeight}", + fontFamily: "${fontFamily}", + labelAlign: "${labelAlign}", + labelYOffset: "${labelYOffset}", + labelOutlineColor: "${labelOutlineColor}", + labelOutlineWidth: "${labelOutlineWidth}", + + // 점 아이콘은 표시하지 않습니다. + pointRadius: 0, + fillOpacity: 0 + }); + + TEXT_LABEL_LAYER = new OpenLayers.Layer.Vector("Text Labels", { + styleMap: new OpenLayers.StyleMap({'default': textStyle}) + }); + BASE_MAP.addLayer(TEXT_LABEL_LAYER); + // --------------------- // 컨트롤 생성 // --------------------- @@ -187297,6 +187443,62 @@ function initApp(param){ }); BASE_MAP.addControl(CTL_INFO); CTL_INFO.deactivate(); + + // 도움말 + CTL_HELP = new OpenLayers.Control(); + OpenLayers.Util.extend(CTL_HELP, { + + id : "CTL_HELP", + + infoDiv: null, + + getText: function(){ + return this.infoDiv.innerHTML; + }, + + setText: function(txt){ + this.infoDiv.innerHTML = txt; + }, + + draw: function () { + + OpenLayers.Control.prototype.draw.apply(this, arguments); + + this.infoDiv = document.createElement('div'); + this.infoDiv.style.border = 'thin solid #333333'; + this.infoDiv.style.position = 'absolute'; + this.infoDiv.style.overflow = 'hidden'; + this.infoDiv.style.left = 170 + "px"; + this.infoDiv.style.top = String(10) + "px"; + this.infoDiv.style.width = 680 + "px"; + this.infoDiv.style.height = 35*1 + "px"; + this.infoDiv.style.padding = 5 + "px"; + + this.infoDiv.style.backgroundColor = "rgba(0,0,0,0.6)"; + this.infoDiv.style.fontWeight = "100"; + this.infoDiv.style.color = "#ffffff"; + this.infoDiv.style.textAlign = "center"; + + this.infoDiv.style.display = "block"; + this.div.appendChild(this.infoDiv); + + return this.div; + }, + activate : function() { + this.infoDiv.style.display = "block"; + return OpenLayers.Control.prototype.activate.apply(this,arguments); + }, + deactivate: function() { + this.infoDiv.style.display = "none"; + return OpenLayers.Control.prototype.deactivate.apply(this,arguments); + } + }); + + BASE_MAP.addControl(CTL_HELP); + CTL_HELP.setText("Shift키를 누른 상태로 영역 드래그 시 확대됨 | 마우스 왼쪽 더블클릭 확대 / 오른쪽 더블클릭 축소"); + CTL_HELP.activate(); + $("#CTL_HELP").css("bottom","65px"); + $("#CTL_HELP").css("left","20px"); // --------------------- @@ -187654,6 +187856,22 @@ function initApp(param){ }); + + // 지도의 줌 액션이 끝날 때마다 이 함수가 실행됩니다. + BASE_MAP.events.register("zoomend", BASE_MAP, function() { + + // 1. 현재 지도의 줌 레벨을 가져옵니다. + var currentZoom = BASE_MAP.getZoom(); + + // 2. 줌 레벨이 특정값 이상인지 확인합니다. + if (currentZoom >= 14) { + // 특정값 이상이면 TEXT_LABEL_LAYER를 보이게 합니다. + TEXT_LABEL_LAYER.setVisibility(true); + } else { + // 특정값 미만이면 TEXT_LABEL_LAYER를 숨깁니다. + TEXT_LABEL_LAYER.setVisibility(false); + } + }); /*CTL_AREA_CIRCLE2.drawFeature2(evt);*/ /*console.log(BASE_MAP.getScale);*/ @@ -188680,12 +188898,59 @@ function addTooltip(feature) { } function removeTooltip() { - if(POPUP_TOOLTIP) { - BASE_MAP.removePopup(POPUP_TOOLTIP); + + // 드래그 컨트롤이 존재하면 먼저 destroy 합니다. + if (dragControl) { + dragControl.destroy(); +        dragControl = null; +    } + // 팝업이 존재하면 destroy 합니다. + if(POPUP_TOOLTIP) { + POPUP_TOOLTIP.destroy(); POPUP_TOOLTIP = null; } } +// 사용자에 의해 입력된 시추공 명 텍스트 라벨을 모두 지우는 함수 --- +function clearTextLabels() { + if (TEXT_LABEL_LAYER) { + TEXT_LABEL_LAYER.removeAllFeatures(); + } +} + +function addHoleNames(feature) { + $.get("/map/hole-name-by-user.do", feature.attributes).done(function(response) { + if (response && response.data && response.data.length > 0) { + + var lon = feature.geometry.x; + var lat = feature.geometry.y; + var point = new OpenLayers.Geometry.Point(lon, lat); + + // 이 속성들은 레이어의 StyleMap에서 참조하여 사용됩니다. + var featureAttributes = { + label: response.data[0].holeName, // 표시할 텍스트 + fontColor: "#b1cf42", // 글자색 + fontSize: "20px", // 글자 크기 + fontWeight: "bold", // 글자 굵기 + labelAlign: "cb", // 라벨 정렬 (cm = center-middle) + labelOutlineColor: "#52770a", // 테두리 색상 + labelOutlineWidth: 3, // 테두리 두께 + labelYOffset: 25, // 포인트로부터 10px 위로 더 밀어냅니다. + // pointSymbolizer를 'none'으로 설정하여 점 아이콘은 숨깁니다. + pointRadius: 0, + fillOpacity: 0 + }; + // ---------------------------------------------------------------- + + // --- 변경점: 피처 생성 시 geometry와 attributes를 전달합니다. --- + var textFeature = new OpenLayers.Feature.Vector(point, featureAttributes); + + // 미리 생성된 단일 텍스트 레이어에 피처를 추가합니다. + TEXT_LABEL_LAYER.addFeatures([textFeature]); + } + }); +} + //---------------------------- //함수 : 영역 선택 기능 관리 //---------------------------- @@ -188733,6 +188998,7 @@ function getSelectAreaInfo2(){ if (HOLE_AREA.features.length == 0 && (CTL_AREA_CIRCLE2.handler.feature == undefined || CTL_AREA_CIRCLE2.handler.feature == null )){ return; } + var bounds = null; if(($('input[name=areaRadio]:checked').val() == '1' && HOLE_AREA.features[0] !=undefined)||$('input[name=areaRadio]:checked').val() == '2' ){ CTL_AREA_CIRCLE2.handler.feature = HOLE_AREA.features[0]; @@ -188740,6 +189006,9 @@ function getSelectAreaInfo2(){ }else if($('input[name=areaRadio]:checked').val() == '1' && HOLE_AREA.features[0] == undefined){ bounds = CTL_AREA_CIRCLE2.handler.feature.geometry.getBounds().transform("EPSG:3857", "EPSG:5186"); } + if( bounds == null ) { + initControl(); + } var strArray = bounds.toString().split( "," ); var circleX = (parseFloat(strArray[0],10)+parseFloat(strArray[2],10))/2; var circleY = (parseFloat(strArray[1],10)+parseFloat(strArray[3],10))/2; @@ -188801,6 +189070,7 @@ function onSelectHole(){ function offSelectHole(){ HOLE_SELECT.removeAllFeatures(); HOLE_SELECT2.removeAllFeatures(); + clearTextLabels(); initControl(); } @@ -188820,7 +189090,6 @@ function getSelectHoleInfo(){ function addHole(evt){ - if (evt.text.length > 50) { var values = JSON.parse(evt.text); @@ -188837,6 +189106,8 @@ function addHole(evt){ ); HOLE_SELECT.addFeatures([hole]); + hole.attributes.holeCode = hole.attributes.CODE; + addHoleNames(hole); } } @@ -188905,6 +189176,9 @@ function addProject(evt) { function addProjectHoles(projectCode) { HOLE_SELECT.removeAllFeatures(); HOLE_SELECT2.removeAllFeatures(); + removeTooltip(); // 기존 메인 팝업 제거 + + clearTextLabels(); console.log("addProjectHoles projectCode ::: " + projectCode); $.get("/map/searchHoleByProjectCode.do", { projectCode : projectCode }).done(function(response) { console.log("get projectCode ::: " + projectCode); @@ -188916,7 +189190,11 @@ function addProjectHoles(projectCode) { var feature = format.read(row.wkt); feature.attributes.CODE = row.code; feature.geometry.transform('EPSG:5186', 'EPSG:3857'); - features.push(feature); + features.push(feature); + + + feature.attributes.holeCode = feature.attributes.CODE; + addHoleNames(feature); } if(features.length > 0) { @@ -189783,7 +190061,8 @@ function initControl(){ CTL_MODIFY.deactivate(); CTL_MODIFY.activate(); CTL_INFO.deactivate(); - + clearTextLabels(); + for(var i = 0; i < parent.BASE_MAP.layers.length; i ++){ if(parent.BASE_MAP.layers[i].name == 'Jihaanjeon'){ //parent.BASE_MAP.layers[i].setVisibility(false); @@ -190637,6 +190916,7 @@ function selectHjdCde(feature){ } } +var dragControl; // 드래그 컨트롤을 담을 변수 추가 function selectOneSich(hcode){ //HOLE_SELECT.features @@ -190657,208 +190937,280 @@ function selectOneSich(hcode){ var result =data; var tagStr = ""; + tagStr +=  '
    '; + tagStr +=  '
    시추공 정보
    ' + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; - tagStr += '
    '; - tagStr += '
    시추공 정보
    ' - tagStr += '
    프로젝트정보'+data.project.projectName+'
    시추공명'+data.mapHeader.holeName+'시추공코드'+data.mapHeader.holeCode+'
    '; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; - - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - -/* tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += '';*/ - - tagStr += ''; - tagStr += '
    시추공종류Boring굴진심도'+data.mapHeader.holeTotalDepth+'
    프로젝트정보'+data.project.projectName+'
    표고'+data.mapHeader.holeEl+'지하수위'+data.mapHeader.holeWl+'
    시추공명'+data.mapHeader.holeName+'시추공코드'+data.mapHeader.holeCode+'
    시추공종류Boring굴진심도'+data.mapHeader.holeTotalDepth+'
    표고'+data.mapHeader.holeEl+'지하수위'+data.mapHeader.holeWl+'
    시추공종류Boring
    굴진심도 -'+ data.mapHeader.holeEl +'
    '; - tagStr += '
    등록된 시험 정보
    ' + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  '
    등록된 시험 정보
    ' tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; - tagStr += ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; + tagStr +=  ''; - - //기본 var rowspan = 0; - rowspan = data.projectYn.waterpressure == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.permeability == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.conePenetration == 'Y' ? rowspan +1 : rowspan; - var textCount = 0; - if( data.projectYn.waterpressure == 'Y'){ - tagStr += tableRowOneSich("기본현장시험","현장수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount) + + + + // 3. 시료 정보 + rowspan = 1; + textCount = 0; + tagStr += tableRowOneSich("시료 정보","시료 정보","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sampleInfo) ? 'Y' : 'N') + textCount ++; + + // 4. 실내토사시험 + rowspan = 6; //시험이 총 6개 + textCount = 0; + tagStr += tableRowOneSich("실내토사시험","토사 입도분석시험","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandClassification) ? 'Y' : 'N') + textCount ++; + tagStr += tableRowOneSich("실내토사시험","토사 CBR 시험","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandCbr) ? 'Y' : 'N') + textCount ++; + tagStr += tableRowOneSich("실내토사시험","토사 압밀시험 ","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandConsolidation) ? 'Y' : 'N') + textCount ++; + tagStr += tableRowOneSich("실내토사시험","토사 일축압축시험","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandUnconfinedUsual) ? 'Y' : 'N') + textCount ++; + tagStr += tableRowOneSich("실내토사시험","토사 삼축압축시험 UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandTriaxialUu) ? 'Y' : 'N') + textCount ++; + tagStr += tableRowOneSich("실내토사시험","토사 삼축압축시험 CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandTriaxialCu) ? 'Y' : 'N') + textCount ++; + + // 5. 실내암석시험 + rowspan = 4; + textCount = 0; + tagStr += tableRowOneSich("실내암석시험","암석 일축압축시험","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockUniaxial) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("실내암석시험","암석 삼축압축시험 ","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockTriaxial) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("실내암석시험","암석 점하중강도시험","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockPointload) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("실내암석시험","암석 절리면전단시험","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockJointshear) ? 'Y' : 'N'); + textCount ++; + + // 6. 현장시험 + rowspan = 4; + textCount = 0; + tagStr += tableRowOneSich("현장시험","공내재하시험","TBL_FIELD_PRESSUREMETER",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldPressuremeter) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldPermeablity) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("현장시험","수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldWaterpressure) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldConePenetration) ? 'Y' : 'N'); + textCount ++; + + // 7. 동적시험 + rowspan = 4; + textCount = 0; + tagStr += tableRowOneSich("동적시험","토사 공진주시험","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandResonant) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("동적시험","암석 공진주시험","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockResonant) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("동적시험","토사 반복삼축압축시험","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandRepeatedTriaxial) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("동적시험","암석 반복삼축압축시험","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockRepeatedTriaxial) ? 'Y' : 'N'); + textCount ++; + + // 8. 물리탐사 + rowspan = 3; + textCount = 0; + tagStr += tableRowOneSich("물리탐사","PS 검층 정보","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.boreholeWave) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("물리탐사","하향식 탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.downhole) ? 'Y' : 'N'); + textCount ++; + tagStr += tableRowOneSich("물리탐사","밀도검층정보","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.density) ? 'Y' : 'N'); + textCount ++; + + + /* + //기본 + rowspan = 0; + rowspan = true || data.projectYn.waterpressure == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.permeability == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.pressuremeter == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.conePenetration == 'Y' ? rowspan +1 : rowspan; + + textCount = 0; + if( true || data.projectYn.waterpressure == 'Y'){ + tagStr += tableRowOneSich("기본현장시험","현장수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.waterpressure) textCount ++; } - if( data.projectYn.permeability == 'Y'){ - tagStr += tableRowOneSich("기본현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.permeability == 'Y'){ + tagStr += tableRowOneSich("기본현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.permeability) textCount ++; } - if( data.projectYn.conePenetration == 'Y'){ - tagStr += tableRowOneSich("기본현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.pressuremeter == 'Y'){ + tagStr += tableRowOneSich("기본현장시험","공내재하시험","TBL_FIELD_PRESSUREMETER",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.pressuremeter) + textCount ++; + } + if( true || data.projectYn.conePenetration == 'Y'){ + tagStr += tableRowOneSich("기본현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.conePenetration) textCount ++; } //물성 rowspan = 0; textCount = 0; - rowspan = data.projectYn.sampleInfo == 'Y' ? rowspan +1 : rowspan; - if( data.projectYn.conePenetration == 'Y'){ - tagStr += tableRowOneSich("기본물성시험","기본물성시험","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount) + rowspan = true || data.projectYn.sampleInfo == 'Y' ? rowspan +1 : rowspan; + if( true || data.projectYn.sampleInfo == 'Y'){ + tagStr += tableRowOneSich("기본물성시험","기본물성시험","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.sampleInfo) textCount ++; } //토사 rowspan = 0; textCount = 0; - rowspan = data.projectYn.classification == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.cbrCompac == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.consolidation == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.unconfinedUsual == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.triaxialUsualCu == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.triaxialUsualUu == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.rockResonant == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.rockRepeated == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.classification == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.cbrCompac == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.consolidation == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.unconfinedUsual == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.triaxialUsualCu == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.triaxialUsualUu == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockResonant == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockRepeated == 'Y' ? rowspan +1 : rowspan; - if( data.projectYn.classification == 'Y'){ - tagStr += tableRowOneSich("토사시험","입도분석","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.classification == 'Y'){ + tagStr += tableRowOneSich("토사시험","입도분석","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.classification) textCount ++; } - if( data.projectYn.cbrCompac == 'Y'){ - tagStr += tableRowOneSich("토사시험","CBR","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.cbrCompac == 'Y'){ + tagStr += tableRowOneSich("토사시험","CBR","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.cbrCompac) textCount ++; } - if( data.projectYn.consolidation == 'Y'){ - tagStr += tableRowOneSich("토사시험","압밀시험","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.consolidation == 'Y'){ + tagStr += tableRowOneSich("토사시험","압밀시험","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.consolidation) textCount ++; } - if( data.projectYn.unconfinedUsual == 'Y'){ - tagStr += tableRowOneSich("토사시험","일축압축","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.unconfinedUsual == 'Y'){ + tagStr += tableRowOneSich("토사시험","일축압축","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.unconfinedUsual) textCount ++; } - if( data.projectYn.triaxialUsualCu == 'Y'){ - tagStr += tableRowOneSich("토사시험","삼축압축_CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.triaxialUsualCu == 'Y'){ + tagStr += tableRowOneSich("토사시험","삼축압축_CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.triaxialUsualCu) textCount ++; } - if( data.projectYn.triaxialUsualUu == 'Y'){ - tagStr += tableRowOneSich("토사시험","삼축압축_UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.triaxialUsualUu == 'Y'){ + tagStr += tableRowOneSich("토사시험","삼축압축_UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.triaxialUsualUu) textCount ++; } - if( data.projectYn.rockResonant == 'Y'){ - tagStr += tableRowOneSich("토사시험","공진주","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockResonant == 'Y'){ + tagStr += tableRowOneSich("토사시험","공진주","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockResonant) textCount ++; } - if( data.projectYn.rockRepeated == 'Y'){ - tagStr += tableRowOneSich("토사시험","반복삼축","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockRepeated == 'Y'){ + tagStr += tableRowOneSich("토사시험","반복삼축","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockRepeated) textCount ++; } //암석 rowspan = 0; textCount = 0; - rowspan = data.projectYn.rockUniaxial == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.rockTriaxial == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.rockPointload == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.rockJointshear == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.resonant == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.repeated == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockUniaxial == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockTriaxial == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockPointload == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.rockJointshear == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.resonant == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.repeated == 'Y' ? rowspan +1 : rowspan; - if( data.projectYn.rockUniaxial == 'Y'){ - tagStr += tableRowOneSich("암석시험","일축압축","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockUniaxial == 'Y'){ + tagStr += tableRowOneSich("암석시험","일축압축","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockUniaxial) textCount ++; } - if( data.projectYn.rockTriaxial == 'Y'){ - tagStr += tableRowOneSich("암석시험","삼축압축","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockTriaxial == 'Y'){ + tagStr += tableRowOneSich("암석시험","삼축압축","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockTriaxial) textCount ++; } - if( data.projectYn.rockPointload == 'Y'){ - tagStr += tableRowOneSich("암석시험","점하중","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockPointload == 'Y'){ + tagStr += tableRowOneSich("암석시험","점하중","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockPointload) textCount ++; } - if( data.projectYn.rockJointshear == 'Y'){ - tagStr += tableRowOneSich("암석시험","절리면전단","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.rockJointshear == 'Y'){ + tagStr += tableRowOneSich("암석시험","절리면전단","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockJointshear) textCount ++; } - if( data.projectYn.resonant == 'Y'){ - tagStr += tableRowOneSich("암석시험","공진주","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.resonant == 'Y'){ + tagStr += tableRowOneSich("암석시험","공진주","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.resonant) textCount ++; } - if( data.projectYn.repeated == 'Y'){ - tagStr += tableRowOneSich("암석시험","반복삼축","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.repeated == 'Y'){ + tagStr += tableRowOneSich("암석시험","반복삼축","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.repeated) textCount ++; } //물리 rowspan = 0; textCount = 0; - rowspan = data.projectYn.boreholeWave == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.downhole == 'Y' ? rowspan +1 : rowspan; - rowspan = data.projectYn.density == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.boreholeWave == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.downhole == 'Y' ? rowspan +1 : rowspan; + rowspan = true || data.projectYn.density == 'Y' ? rowspan +1 : rowspan; - if( data.projectYn.boreholeWave == 'Y'){ - tagStr += tableRowOneSich("물리검층","PS검층","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.boreholeWave == 'Y'){ + tagStr += tableRowOneSich("물리검층","PS검층","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.boreholeWave) textCount ++; } - if( data.projectYn.downhole == 'Y'){ - tagStr += tableRowOneSich("물리검층","하향식탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.downhole == 'Y'){ + tagStr += tableRowOneSich("물리검층","하향식탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.downhole) textCount ++; } - if( data.projectYn.density == 'Y'){ - tagStr += tableRowOneSich("물리검층","밀도검층","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount) + if( true || data.projectYn.density == 'Y'){ + tagStr += tableRowOneSich("물리검층","밀도검층","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.density) textCount ++; } - - - + */ tagStr += ''; tagStr += '
    '; - tagStr += '
    '; + tagStr +=  ''; POPUP_TOOLTIP = new OpenLayers.Popup.FramedCloud("JibanTooltip", feature.geometry.getBounds().getCenterLonLat(), - null, tagStr, null, true, removeTooltip); +             null, tagStr, null, true, removeTooltip); + + + // 2. 위에서 정의한 DragPopup 컨트롤을 생성합니다. +     dragControl = new OpenLayers.Control.DragPopup(POPUP_TOOLTIP); +      +     BASE_MAP.addControl(dragControl); +     dragControl.activate(); +     BASE_MAP.addPopup(POPUP_TOOLTIP); $("#JibanTooltip_close").css("top",$("#JibanTooltip_FrameDecorationDiv_0").css("top")); $("#JibanTooltip_close").css("right","28px"); @@ -190879,13 +191231,16 @@ function selectOneSich(hcode){ } -function tableRowOneSich(rowText,tdText,exam,projectCode,hCode,rowspan,textCount){ - +function tableRowOneSich(rowText,tdText,exam,projectCode,hCode,rowspan,textCount, projectYn) { + var text = ""; text +=''; text += textCount == 0 ? ''+rowText+'' : ''; text += ''+tdText+''; - text += '
    미리보기'; + text += projectYn !== 'Y' ? + '없음' + : + '보기' + ''; text +=""; return text; } diff --git a/src/main/webapp/web/images/no_image_not_found.png b/src/main/webapp/web/images/no_image_not_found.png new file mode 100644 index 00000000..8ce0e148 Binary files /dev/null and b/src/main/webapp/web/images/no_image_not_found.png differ diff --git a/src/main/webapp/web/images/no_image_zero_byte.png b/src/main/webapp/web/images/no_image_zero_byte.png new file mode 100644 index 00000000..2f7c5386 Binary files /dev/null and b/src/main/webapp/web/images/no_image_zero_byte.png differ