feat: 교육자료 교체

main
thkim 2024-07-11 14:17:31 +09:00
parent 15828e0dc9
commit 181e062ee3
9 changed files with 175 additions and 29 deletions

View File

@ -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 ( ");

View File

@ -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";

View File

@ -587,8 +587,7 @@ public class RegiController {
HashMap result = masterService.getHistSeq(params);
if (result == null) {
//웹 취약점 때문에 수정
// } else {
//웹 취약점 때문에 수정
int insertResult = masterService.insertHistSeq(params);
affectRow = affectRow + insertResult;

View File

@ -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

View File

@ -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}">

View File

@ -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-->

View File

@ -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}">
저장 되었습니다.

View File

@ -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\

View File

@ -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\