thkim 2024-08-20 11:57:42 +09:00
parent df93148a51
commit 1047cbe2be
5 changed files with 210 additions and 275 deletions

4
.gitignore vendored
View File

@ -1,6 +1,4 @@
/target /target
#/src/main/webapp/**/**.jar
#/src/main/webapp/**/**.class
HELP.md HELP.md
@ -14,7 +12,6 @@ build/
.apt_generated .apt_generated
.classpath .classpath
.factorypath .factorypath
#.project
.settings .settings
.springBeans .springBeans
.sts4-cache .sts4-cache
@ -64,7 +61,6 @@ out/
.mtj.tmp/ .mtj.tmp/
# Package Files # # Package Files #
#*.jar
*.war *.war
*.nar *.nar
*.ear *.ear

View File

@ -5,6 +5,7 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.text.ParseException; import java.text.ParseException;
@ -29,6 +30,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -70,9 +72,9 @@ public class DrillingInquiryController {
return "/drilling/inquiry/drilling_inquiry"; return "/drilling/inquiry/drilling_inquiry";
} }
@RequestMapping(value = "/drilling/inquiry/list.do", method = RequestMethod.GET) @RequestMapping(value = "/drilling/inquiry/list.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" })
@ResponseBody @ResponseBody
public JSONObject drillingInquiryList ( public ResponseEntity<JSONObject> drillingInquiryList (
HttpServletRequest request, HttpServletRequest request,
@RequestParam HashMap<String, Object> params, @RequestParam HashMap<String, Object> params,
HttpServletResponse response HttpServletResponse response
@ -113,6 +115,25 @@ public class DrillingInquiryController {
"jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" + "jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" +
"\n--------------------------------------------------------------\n"); "\n--------------------------------------------------------------\n");
return jSONOResponse;
int contentLength = 0;
try {
contentLength = jSONOResponse.toJSONString().getBytes("UTF-8").length;
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
response.setStatus(HttpServletResponse.SC_OK);
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type", "application/json; charset=utf-8");
response.setContentLength(contentLength); // Content-Length 설정
try {
response.getWriter().print(jSONOResponse);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
} }
} }

View File

@ -4,6 +4,9 @@ import geoinfo.drilling.inquiry.service.DrillingInquiryMapper;
import geoinfo.drilling.inquiry.service.DrillingInquiryService; import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -27,17 +30,38 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
public JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception { public JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
JSONObject jsonResponse = new JSONObject(); JSONObject jsonResponse = new JSONObject();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try { try {
try { try {
Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params); Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params);
List<HashMap<String, Object>> data = drillingInquiryMapper.sPGetTblCsiByKeyword(params); List<HashMap<String, Object>> datas = drillingInquiryMapper.sPGetTblCsiByKeyword(params);
String crtDtKey = "crtDt";
for( HashMap<String, Object> data : datas ) {
//TIMESTAMP oracleTimestamp = (TIMESTAMP)data.get(crtDtKey);
//Timestamp javaTimestamp = oracleTimestamp.timestampValue();
//String formattedDate = dateFormat.format(javaTimestamp);
//data.put(crtDtKey, formattedDate);
}
jsonResponse.put("count", count); jsonResponse.put("count", count);
jsonResponse.put("data", data); jsonResponse.put("datas", datas);
return jsonResponse; return jsonResponse;
} catch (SQLException e) { } catch (SQLException e) {
throw new Exception( e.getMessage() ); String strTxt =
"---------- BUG REPORTING START ----------" + "\n" +
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
"params:[\n" + params.toString() + "\n]\n" +
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
"---------- BUG REPORTING END ----------" + "\n" +
"";
System.out.println(strTxt);
throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" );
} }

View File

@ -54,7 +54,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
<tr> <tr>
<th>사업명</th> <th>사업명</th>
<td colspan="3"> <td colspan="3">
<input type="text" value="사업명 20240816 1634 " class="input-box" id="const-name-` + tableId + `" placeholder="사업명"> <input type="text" value="사업명 20240820 1154 " class="input-box" id="const-name-` + tableId + `" placeholder="사업명">
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -59,9 +59,32 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) { if (xhr.readyState === 4 && xhr.status === 200) {
// 요청 성공 시 처리 // 요청 성공 시 처리
console.log(xhr.responseText); console.log('%o', xhr.responseText);
const obj = JSON.parse(xhr.responseText); const obj = JSON.parse(xhr.responseText);
alert(obj.message) var dataListEle = document.getElementById('data-list');
dataListEle.innerHTML = '';
var content = '';
for( idx in obj.data ) {
content +=
`
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">` + obj.data[idx].constName + `</td>
<td>` + obj.data[idx].constStateCode + `</td>
<td>` + obj.data[idx].constStartDate + ` ~ ` + obj.data[idx].constEndDate + `</td>
<td>` + obj.data[idx].constName + `</td>
<td>` + obj.data[idx].masterCompanyDept + `</td>
<td>` + obj.data[idx].masterCompanyAdmin + `</td>
<td>` + obj.data[idx].masterCompanyTel + `</td>
<td>` + obj.data[idx].coinstCompanyDept + `</td>
<td>` + obj.data[idx].constCompanyAdmin + `</td>
<td>` + obj.data[idx].constCompanyTel + `</td>
</tr>
`;
dataListEle.innerHTML = tt;
} else if (xhr.readyState === 4) { } else if (xhr.readyState === 4) {
// 요청 실패 시 처리 // 요청 실패 시 처리
console.error('요청 실패:', xhr.status); console.error('요청 실패:', xhr.status);
@ -164,137 +187,8 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
<th>담당연락처</th> <th>담당연락처</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody id="data-list">
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: left; text-indent: 10px;">남부내륙철도 건설사업 (제1공구 노반 기본 및 실시설계)</td>
<td>미입력</td>
<td>2020.01~2027.12</td>
<td>유지관리 단계</td>
<td>수도권사업단 인덕원동탄월곶판교 PM</td>
<td>남궁길동</td>
<td>070-123-4567</td>
<td>계롱건설산업(주)</td>
<td>남궁길동</td>
<td>070-123-4567</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>