feat: 교육자료 교체
parent
15828e0dc9
commit
181e062ee3
|
|
@ -29,7 +29,7 @@ public class WebConfirm
|
|||
//String url = "jdbc:oracle:thin:@192.168.0.71:1521:orcl";
|
||||
/*String url = "jdbc:oracle:thin:@192.168.0.29:1521:xe";이전*/
|
||||
//String url = "jdbc:oracle:thin:@192.168.0.8:3452:orcl"; // 실서버
|
||||
String url = "jdbc:oracle:thin:@118.219.150.34:1521:ORAGEODEV";
|
||||
String url = "jdbc:oracle:thin:@118.219.150.34:1521:ORAGEODEV"; // DBNT 개발 서버
|
||||
/*
|
||||
* public WebConfirm() { this.connection = null; this.connectionPool = null;
|
||||
* this.query = null; this.resultSet = null; this.sql = ""; this.resultCnt = 0;
|
||||
|
|
@ -177,7 +177,13 @@ public class WebConfirm
|
|||
resultCnt += query.executeUpdate(connection);
|
||||
query.close();
|
||||
|
||||
exeQuery(sql = "DELETE FROM TBL_HEADER_HOLE WHERE HOLE_CODE = [HOLE_CODE]", resultSet.getString("HOLE_CODE"));
|
||||
|
||||
final StringBuffer sbQueryDeleteTblHeaderHole = new StringBuffer();
|
||||
sbQueryDeleteTblHeaderHole.append("DELETE FROM TBL_HEADER_HOLE WHERE HOLE_CODE = [HOLE_CODE]");
|
||||
(query = new DatabaseQuery(sbQueryDeleteTblHeaderHole.toString())).setParam("HOLE_CODE", resultSet.getString("HOLE_CODE"));
|
||||
resultCnt += query.executeUpdate(connection);
|
||||
query.close();
|
||||
|
||||
|
||||
final StringBuffer sbQuery = new StringBuffer();
|
||||
sbQuery.append(" INSERT INTO TBL_HEADER_HOLE ( ");
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public class SampleInfoController {
|
|||
WebUtil wUtil = new WebUtil();
|
||||
strUtil sUtil = new strUtil();
|
||||
int affectRow = 0;
|
||||
String sJOB_TYPE = "";
|
||||
String message = "";
|
||||
|
||||
//request
|
||||
String changedData = String.valueOf(params.get("changedDataXML"));
|
||||
|
|
@ -158,7 +158,7 @@ public class SampleInfoController {
|
|||
Element data = (Element)dataNodeDOC.item(i);
|
||||
String key;
|
||||
|
||||
if ("U".equals(job) || "I".equals(job)) { // delete, insert 처리
|
||||
if ("U".equals(job) || "I".equals(job) || "ignore".equals(job)) { // delete, insert 처리
|
||||
|
||||
NodeList nPROJECT_CODE=data.getElementsByTagName("projectCode");
|
||||
NodeList nHOLE_CODE=data.getElementsByTagName("holeCode");
|
||||
|
|
@ -171,13 +171,20 @@ public class SampleInfoController {
|
|||
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
|
||||
params.put("SAMPLE_CODE", wUtil.isNullNode(nSAMPLE_CODE ));
|
||||
sampleService.deleteSampleInfo(params);
|
||||
|
||||
if( "ignore".equals(job) == false ) {
|
||||
//기존 기본물성시험이 없다고 넣은 데이터를 제거한다.
|
||||
params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE));
|
||||
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
|
||||
params.put("SAMPLE_CODE", wUtil.isNullNode(nHOLE_CODE ) + "-999");
|
||||
sampleService.deleteSampleInfo(params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < jobNodeDOC.getLength(); i++) {
|
||||
String job = jobNodeDOC.item(i).getFirstChild().getNodeValue();
|
||||
Element data = (Element)dataNodeDOC.item(i);
|
||||
String key;
|
||||
|
||||
if ("D".equals(job)) {
|
||||
|
||||
|
|
@ -185,15 +192,36 @@ public class SampleInfoController {
|
|||
NodeList nHOLE_CODE=data.getElementsByTagName("holeCode");
|
||||
NodeList nSAMPLE_NUMBER=data.getElementsByTagName("sampleNumber");
|
||||
|
||||
String sQry = "";
|
||||
|
||||
//DELETE
|
||||
params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE));
|
||||
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
|
||||
params.put("SAMPLE_CODE", wUtil.isNullNode(nHOLE_CODE )+ wUtil.isNullNode(nSAMPLE_NUMBER ));
|
||||
affectRow = sampleService.deleteSampleInfo(params);
|
||||
if( affectRow == 0) {
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " " + " affectRow = sampleService.deleteSampleInfo(params); 실패 됨:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"PROJECT_CODE:[" + wUtil.isNullNode(nPROJECT_CODE) + "]\n" +
|
||||
"HOLE_CODE:[" + wUtil.isNullNode(nHOLE_CODE) + "]\n" +
|
||||
"SAMPLE_CODE:[" + wUtil.isNullNode(nHOLE_CODE )+ wUtil.isNullNode(nSAMPLE_NUMBER ) + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
message = "기본물성시험 정보 삭제에 실패하였습니다. 담당자에게 문의 바랍니다." + "[" + wUtil.isNullNode(nHOLE_CODE )+ wUtil.isNullNode(nSAMPLE_NUMBER ) + "]";
|
||||
}
|
||||
|
||||
}else if ("U".equals(job) || "I".equals(job)) { // delete, insert 처리
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < jobNodeDOC.getLength(); i++) {
|
||||
String job = jobNodeDOC.item(i).getFirstChild().getNodeValue();
|
||||
Element data = (Element)dataNodeDOC.item(i);
|
||||
String key;
|
||||
|
||||
if ("U".equals(job) || "I".equals(job) || "ignore".equals(job) ) { // delete, insert 처리
|
||||
|
||||
NodeList nPROJECT_CODE=data.getElementsByTagName("projectCode");
|
||||
NodeList nHOLE_CODE=data.getElementsByTagName("holeCode");
|
||||
|
|
@ -209,18 +237,6 @@ public class SampleInfoController {
|
|||
NodeList nSAMPLE_PI=data.getElementsByTagName("samplePi");
|
||||
NodeList nSAMPLE_RD=data.getElementsByTagName("sampleRd");
|
||||
NodeList nSAMPLE_DESC=data.getElementsByTagName("sampleDesc");
|
||||
NodeList nSAMPLE_CODE=data.getElementsByTagName("sampleCode");
|
||||
|
||||
|
||||
/* 상단에서 처리.
|
||||
//DELETE
|
||||
sQry = "DELETE FROM TEMP_SAMPLE_INFO WHERE PROJECT_CODE=[PROJECT_CODE] AND HOLE_CODE=[HOLE_CODE] AND SAMPLE_CODE=[SAMPLE_CODE]";
|
||||
query = new DatabaseQuery(sQry);
|
||||
params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE));
|
||||
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
|
||||
params.put("SAMPLE_CODE", wUtil.isNullNode(nSAMPLE_CODE ));
|
||||
query.executeUpdate(connection);
|
||||
*/
|
||||
|
||||
params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE ));
|
||||
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
|
||||
|
|
@ -240,6 +256,19 @@ public class SampleInfoController {
|
|||
params.put("USERID", request.getSession().getAttribute("USERID"));
|
||||
|
||||
affectRow = sampleService.insertSampleInfo(params);
|
||||
|
||||
if( affectRow == 0) {
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " " + "sampleService.insertSampleInfo(params) 실패 됨:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"PROJECT_CODE:[" + wUtil.isNullNode(nPROJECT_CODE) + "]\n" +
|
||||
"HOLE_CODE:[" + wUtil.isNullNode(nHOLE_CODE) + "]\n" +
|
||||
"SAMPLE_CODE:[" + wUtil.isNullNode(nHOLE_CODE )+ wUtil.isNullNode(nSAMPLE_NUMBER ) + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
message = "기본물성시험 정보 삭제에 실패하였습니다. 담당자에게 문의 바랍니다." + "[" + wUtil.isNullNode(nHOLE_CODE )+ wUtil.isNullNode(nSAMPLE_NUMBER ) + "]";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -274,6 +303,7 @@ public class SampleInfoController {
|
|||
affectRow = 0;
|
||||
}
|
||||
model.put("affectRow",affectRow);
|
||||
model.put("message", message); // 오류가 난 원인을 사용자가 알 수 있게 수정 필요. 20240705 1606
|
||||
|
||||
|
||||
return "/web/input/sampleInfoDb";
|
||||
|
|
|
|||
|
|
@ -587,8 +587,7 @@ public class RegiController {
|
|||
HashMap result = masterService.getHistSeq(params);
|
||||
|
||||
if (result == null) {
|
||||
//웹 취약점 때문에 수정
|
||||
// } else {
|
||||
//웹 취약점 때문에 수정
|
||||
int insertResult = masterService.insertHistSeq(params);
|
||||
affectRow = affectRow + insertResult;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,10 @@ Oracle.Driver=oracle.jdbc.driver.OracleDriver
|
|||
################################################################
|
||||
# Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl is prod
|
||||
#Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl
|
||||
# dbnt devlop server
|
||||
Oracle.Url=jdbc:oracle:thin:@118.219.150.34:1521:ORAGEODEV
|
||||
# develop local server
|
||||
#Oracle.Url=jdbc:oracle:thin:@192.168.86.2:1521:xe
|
||||
################################################################
|
||||
|
||||
#Oracle.Url=jdbc:oracle:thin:@192.168.0.29:1521:xe
|
||||
|
|
|
|||
|
|
@ -451,8 +451,8 @@
|
|||
</a>
|
||||
</c:if>
|
||||
<c:if test="${status.index eq 2}">
|
||||
<a href="#" class="shortcuts-btn-box shortcuts-btn-02" onclick="javascript:fileDownload('22년집합교육자료.zip','22년집합교육자료.zip');">
|
||||
<span class="shortcuts-btn-text">'22년 건설 시추정보<br />DB사용자<br />집합교육 자료</span>
|
||||
<a href="#" class="shortcuts-btn-box shortcuts-btn-02" onclick="javascript:fileDownload('23년집합교육자료.zip','23년집합교육자료.zip');">
|
||||
<span class="shortcuts-btn-text">'23년 건설 시추정보<br />DB사용자<br />집합교육 자료</span>
|
||||
</a>
|
||||
</c:if>
|
||||
<c:if test="${status.index eq 3}">
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ function fn_save(rUrl){
|
|||
var kendoColCount = grid.columns.length; // 세로(열) 갯수
|
||||
var kendoRowIdx = grid.dataSource._data[kendoRowCount -1]; // 마지막행 데이터
|
||||
|
||||
var gridDataCount = gridData.length;
|
||||
var gridDataCount = typeof gridData == 'undefined' ? 0 : gridData.length;
|
||||
|
||||
if (!kendoRowCount == 0) {
|
||||
if (kendoRowIdx.sampleNumber == null || kendoRowIdx.sampleNumber == "") {
|
||||
|
|
@ -197,6 +197,9 @@ function fn_save(rUrl){
|
|||
for(var i=0; i < _delGridData.length; i++){
|
||||
|
||||
var row = _delGridData[i];
|
||||
if( typeof row == 'undefined') {
|
||||
continue;
|
||||
}
|
||||
var keys = Object.keys(row);
|
||||
|
||||
change_data += "<idx>" + (data.length + i) + "</idx>\r\n";
|
||||
|
|
@ -270,6 +273,55 @@ function fn_save(rUrl){
|
|||
change_data += "</data>";
|
||||
|
||||
}
|
||||
|
||||
if( data.length === 0 ) {
|
||||
const answer = confirm("기본물성시험 정보가 없습니까?");
|
||||
|
||||
if (answer) {
|
||||
console.log("네");
|
||||
// "네"를 선택했을 때 실행할 코드
|
||||
//그리드 저장
|
||||
var basicData = {
|
||||
"projectCode" : "${oPROJECT_CODE}",
|
||||
"holeCode" : "${oHOLE_CODE}",
|
||||
"sampleCode" : "${oHOLE_CODE}" + "-999",
|
||||
"sampleNumber" : "-999",
|
||||
"userid" : "",
|
||||
"datetime" : "",
|
||||
}
|
||||
|
||||
console.log(basicData);
|
||||
|
||||
change_data +=
|
||||
"<changedData><changedData>\r\n" +
|
||||
"<idx>0</idx>\r\n" +
|
||||
"<job>ignore</job>\r\n" +
|
||||
"<data><projectCode>" + basicData.projectCode + "</projectCode>\r\n" +
|
||||
"<holeCode>" + basicData.holeCode + "</holeCode>\r\n" +
|
||||
"<sampleCode>" + basicData.sampleCode + "</sampleCode>\r\n" +
|
||||
"<sampleNumber>" + basicData.sampleNumber + "</sampleNumber>\r\n" +
|
||||
"<sampleDepthFrom>-999</sampleDepthFrom>\r\n" +
|
||||
"<sampleDepthTo>-999</sampleDepthTo>\r\n" +
|
||||
"<sampleUscs>-999</sampleUscs>\r\n" +
|
||||
"<sampleSamplingMethod>-999</sampleSamplingMethod>\r\n" +
|
||||
"<sampleShape>-999</sampleShape>\r\n" +
|
||||
"<sampleGs>-999</sampleGs>\r\n" +
|
||||
"<sampleWc>-999</sampleWc>\r\n" +
|
||||
"<sampleLl>-999</sampleLl>\r\n" +
|
||||
"<samplePi>-999</samplePi>\r\n" +
|
||||
"<sampleRd>-999</sampleRd>\r\n" +
|
||||
"<sampleDesc>-</sampleDesc>\r\n" +
|
||||
"<userid>" + basicData.userid + "</userid>\r\n" +
|
||||
"<datetime>" + basicData.datetime + "</datetime>\r\n" +
|
||||
"</data></changedData></changedData>";
|
||||
|
||||
setTimeout(function(){fn_submitAllToServerKendo("/web/input/sampleInfoDb.do", return_url, change_data);}, 500);
|
||||
} else {
|
||||
console.log("아니오");
|
||||
// "아니오"를 선택했을 때 실행할 코드
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
change_data += "</changedData>";
|
||||
|
||||
|
|
@ -281,9 +333,28 @@ function fn_save(rUrl){
|
|||
}else{
|
||||
return_url = rUrl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//그리드 저장
|
||||
setTimeout(function(){fn_submitAllToServerKendo("/web/input/sampleInfoDb.do", return_url, change_data);}, 500);
|
||||
|
||||
}
|
||||
|
||||
// 현재 시분초를 5자리 숫자로 변환하는 로직
|
||||
function getCurrentTimeInFiveDigits() {
|
||||
var now = new Date();
|
||||
var hours = now.getHours();
|
||||
var minutes = now.getMinutes();
|
||||
var seconds = now.getSeconds();
|
||||
|
||||
// 5자리 숫자로 변환 (HHmmss 형태)
|
||||
var timeInFiveDigits =
|
||||
(hours < 10 ? "0" : "") + hours +
|
||||
(minutes < 10 ? "0" : "") + minutes +
|
||||
(seconds < 10 ? "0" : "") + seconds.toString().charAt(0); // 초의 첫 번째 자리만 사용
|
||||
timeInFiveDigits = parseInt(timeInFiveDigits); // 문자열을 숫자로 변환
|
||||
|
||||
return timeInFiveDigits;
|
||||
}
|
||||
|
||||
//행추가
|
||||
|
|
@ -686,6 +757,39 @@ function fn_grid_refresh(){
|
|||
|
||||
function fn_kendoGrid() {
|
||||
var nullTypeString = 'test';
|
||||
|
||||
if( gridData.length == 1 && gridData[0].sampleNumber == '-999' ) {
|
||||
gridData = undefined;
|
||||
|
||||
// table-top-control 클래스를 가진 첫 번째 요소 찾기
|
||||
var tableTopControlElement = document.getElementsByClassName('table-top-control')[0];
|
||||
|
||||
if (tableTopControlElement) {
|
||||
// 추가할 div 요소 생성
|
||||
var newDiv = document.createElement('div');
|
||||
newDiv.textContent = '기본물성시험 데이터가 없는 사업'; // div 내용 설정 (선택 사항)
|
||||
|
||||
// 스타일 적용 (선택 사항)
|
||||
newDiv.style.backgroundColor = '#e53535';
|
||||
newDiv.style.color = '#ffffff';
|
||||
newDiv.style.fontWeight = '600';
|
||||
newDiv.style.padding = '5px 20px';
|
||||
newDiv.style.display = 'inline-block';
|
||||
newDiv.style.width = 'auto';
|
||||
newDiv.style.height = '34px';
|
||||
newDiv.style.borderRadius = '5px';
|
||||
newDiv.style.margin = '0px auto';
|
||||
newDiv.id = 'no-basic-property-test-business'
|
||||
|
||||
// table-top-control 요소에 새로운 div 추가
|
||||
tableTopControlElement.appendChild(newDiv);
|
||||
|
||||
var gridRowCntElement = document.getElementById('GridRowCnt');
|
||||
gridRowCntElement.value = 0;
|
||||
} else {
|
||||
console.log('table-top-control 클래스를 가진 요소를 찾을 수 없습니다.');
|
||||
}
|
||||
}
|
||||
var kictDataSource = new kendo.data.DataSource ({
|
||||
data: gridData,
|
||||
schema: {
|
||||
|
|
@ -1004,3 +1108,4 @@ function fn_grid_refresh(){
|
|||
<!-- footer start-->
|
||||
<c:import url="/com/includeFooterInput.do?projectCode=${oPROJECT_CODE}"/>
|
||||
<!-- footer end-->
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<c:if test="${affectRow == 0}">
|
||||
오류입니다.
|
||||
<c:if test="${not empty message}">
|
||||
${message}
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${affectRow != 0}">
|
||||
저장 되었습니다.
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
copy *.css /y ..\..\..\..\..\..\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
copy *.map /y ..\..\..\..\..\..\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
copy *.css /y C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
copy *.map /y C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
|
|
@ -1 +1 @@
|
|||
explorer ..\..\..\..\..\..\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
explorer C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\com\css\
|
||||
|
|
|
|||
Loading…
Reference in New Issue