장바구니 300개 담을 수 있도록 지원

main
thkim 2025-05-13 12:54:38 +09:00
parent 3c4ef38e71
commit f34e18fba2
13 changed files with 99 additions and 25 deletions

View File

@ -1,11 +1,8 @@
#src\main\resources\egovframework\egovProps\globals.properties src\main\resources\egovframework\egovProps\globals.properties
#src\main\java\geoinfo\regi\manageList\ManageExcelUploadProc01Controller.java #src\main\java\geoinfo\regi\manageList\ManageExcelUploadProc01Controller.java
#src\main\webapp\WEB-INF\views\web\input\excel_step00.jsp #src\main\webapp\WEB-INF\views\web\input\excel_step00.jsp
#src\main\webapp\WEB-INF\views\web\input\excel_step31.jsp #src\main\webapp\WEB-INF\views\web\input\excel_step31.jsp
src\main\webapp\com\css\common.v2.0.css src\main\webapp\com\css\common.v2.0.css
src\main\webapp\com\css\common.v2.0.css.map src\main\webapp\com\css\common.v2.0.css.map
src\main\webapp\WEB-INF\views\home\index.jsp src\main\webapp\WEB-INF\views\web\input\meta_info1.jsp
src\main\webapp\WEB-INF\views\web\manage\createZip.jsp src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp
src\main\java\geoinfo\regi\basicInfo\BasicController.java
src\main\webapp\WEB-INF\views\web\input\basic\labInfoFieldPressuremeter.jsp
src\main\webapp\js\map\main\left\left.js

View File

@ -12,6 +12,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
@Service("fileService") @Service("fileService")
@ -20,6 +21,9 @@ public class FileServiceImpl implements FileService{
@Resource(name="fileMapper") @Resource(name="fileMapper")
private FileMapper fileMapper; private FileMapper fileMapper;
String DB_URL = EgovProperties.getProperty("Oracle.Url").trim();
String DB_USER = EgovProperties.getProperty("Oracle.ID").trim();
@Override @Override
public Map<String, Object> selectFileInfo(Map<String, Object> map) throws Exception public Map<String, Object> selectFileInfo(Map<String, Object> map) throws Exception
{ {
@ -43,6 +47,7 @@ public class FileServiceImpl implements FileService{
List<Map<String, Object>> res = null; List<Map<String, Object>> res = null;
try { try {
System.out.println("DB URL:[" + DB_URL + "]\n" + "DB USER:[" + DB_USER + "]\n" + "");
res = fileMapper.selectFiles(map); res = fileMapper.selectFiles(map);
} catch (SQLException e) { } catch (SQLException e) {
if (e.getMessage().contains("Socket read timed out")) { if (e.getMessage().contains("Socket read timed out")) {

View File

@ -1613,6 +1613,12 @@ public class LoginController {
map.clear(); map.clear();
map.put("table", "WEB_MEMBER_IN"); map.put("table", "WEB_MEMBER_IN");
map.put("values", "PSWD_MONTH=SYSDATE, PASSWD='" + passwordch + "'"); map.put("values", "PSWD_MONTH=SYSDATE, PASSWD='" + passwordch + "'");
if( DI != null && !DI.isEmpty() ) {
//DI값을 업데이트 한다.
String values = MyUtil.getStringFromObject( map.get("values") );
values += ", DUPINFO='" + DI + "'";
map.put("values", values);
}
map.put("where", "TRIM(USERID)='" + SessionuserId + "'"); map.put("where", "TRIM(USERID)='" + SessionuserId + "'");
affectedRows = loginService.userUpdate(map); affectedRows = loginService.userUpdate(map);
@ -1654,7 +1660,7 @@ public class LoginController {
// 이미 등록되어 있는경우 날짜만 업데이트한다. // 이미 등록되어 있는경우 날짜만 업데이트한다.
if (egovMap != null) { if (egovMap != null) {
int sCount = 0; int sCount = 0;
String sCode = GeoinfoCommon.parseData(String.valueOf(egovMap.get("selectCode"))); String sCode = GeoinfoCommon.parseData(MyUtil.ClobToString((java.sql.Clob) egovMap.get("selectCode")));
sCode = sCode.replaceAll("null,", ""); sCode = sCode.replaceAll("null,", "");
sCode = sCode.replaceAll(",null", ""); sCode = sCode.replaceAll(",null", "");
String[] sCodeArray = new String[sCount]; String[] sCodeArray = new String[sCount];

View File

@ -3,6 +3,7 @@ package geoinfo.map.main;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.GeoinfoCommon; import geoinfo.com.GeoinfoCommon;
import geoinfo.map.main.service.MapMainService; import geoinfo.map.main.service.MapMainService;
import geoinfo.util.MyUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -53,7 +54,7 @@ public class MapMainController {
EgovMap selectCode = mapMainService.selectWebSelectCode(params); EgovMap selectCode = mapMainService.selectWebSelectCode(params);
if(selectCode != null) { if(selectCode != null) {
String code[] = (String.valueOf(selectCode.get("selectCode"))).split(","); String code[] = MyUtil.ClobToString((java.sql.Clob)selectCode.get("selectCode")).split(",");
int codeCount = 0; int codeCount = 0;
for(int i =0; i < code.length; i++ ) { for(int i =0; i < code.length; i++ ) {
if(code[i] != null && !code[i].equals("") && !code[i].equals(" ") && !code[i].equals("null") ) { if(code[i] != null && !code[i].equals("") && !code[i].equals(" ") && !code[i].equals("null") ) {

View File

@ -36,6 +36,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.GeoinfoCommon; import geoinfo.com.GeoinfoCommon;
import geoinfo.map.mapControl.service.MapControlService; import geoinfo.map.mapControl.service.MapControlService;
import geoinfo.regi.selectClassInfo.service.SelectClassService; import geoinfo.regi.selectClassInfo.service.SelectClassService;
import geoinfo.util.MyUtil;
import net.sf.json.JSONArray; import net.sf.json.JSONArray;
@Controller @Controller
@ -363,7 +364,7 @@ public class MapContorlController {
// 이미 등록되어 있는경우 날짜만 업데이트한다. // 이미 등록되어 있는경우 날짜만 업데이트한다.
if (egovMap != null) { if (egovMap != null) {
int sCount = 0; int sCount = 0;
String sCode = GeoinfoCommon.parseData(String.valueOf(egovMap.get("selectCode"))); String sCode = GeoinfoCommon.parseData(MyUtil.ClobToString((java.sql.Clob) egovMap.get("selectCode")));
sCode = sCode.replaceAll("null,", ""); sCode = sCode.replaceAll("null,", "");
sCode = sCode.replaceAll(",null", ""); sCode = sCode.replaceAll(",null", "");
String[] sCodeArray = new String[sCount]; String[] sCodeArray = new String[sCount];
@ -455,7 +456,7 @@ public class MapContorlController {
EgovMap idx = mapControlService.selectWebCartIndex(params); EgovMap idx = mapControlService.selectWebCartIndex(params);
// 이미 등록되어 있는경우 날짜만 업데이트한다. // 이미 등록되어 있는경우 날짜만 업데이트한다.
if (idx != null) { if (idx != null) {
String sCode = GeoinfoCommon.parseData(String.valueOf(idx.get("selectCode"))); String sCode = GeoinfoCommon.parseData(MyUtil.ClobToString((java.sql.Clob)idx.get("selectCode")));
sCode = sCode + "," +params.get("selectCode"); sCode = sCode + "," +params.get("selectCode");
params.put("selectCode", sCode); params.put("selectCode", sCode);
mapControlService.updateWebCartDate(params); mapControlService.updateWebCartDate(params);
@ -550,7 +551,7 @@ public class MapContorlController {
params.put("metadataId", mId); params.put("metadataId", mId);
params.put("holeCode", hcode); params.put("holeCode", hcode);
String selectCode = (String)(mapControlService.selectWebCartUserId(params)).get("selectCode"); String selectCode = MyUtil.ClobToString((java.sql.Clob)mapControlService.selectWebCartUserId(params).get("selectCode"));
String selectCodeArray[] = selectCode.split(","); String selectCodeArray[] = selectCode.split(",");
String selectCodeWebCart = ""; String selectCodeWebCart = "";
@ -802,7 +803,12 @@ public class MapContorlController {
EgovMap webCart = mapControlService.selectWebCartUserId(params); EgovMap webCart = mapControlService.selectWebCartUserId(params);
System.out.println(webCart != null); System.out.println(webCart != null);
String selectCode[] = (webCart != null)? ((String)webCart.get("selectCode")).split(","):null;
//CLOB TO STRING
String clobData = MyUtil.ClobToString((java.sql.Clob) webCart.get("selectCode"));
System.out.println(clobData);
String selectCode[] = (webCart != null)? clobData.split(","):null;
List<EgovMap> projectHodeCode = mapControlService.selectHodeCode(params); List<EgovMap> projectHodeCode = mapControlService.selectHodeCode(params);
if(projectHodeCode != null ) { if(projectHodeCode != null ) {
String hodeCode[] = new String[projectHodeCode.size()]; String hodeCode[] = new String[projectHodeCode.size()];
@ -848,7 +854,7 @@ public class MapContorlController {
EgovMap selectCode = mapControlService.selectWebCartUserId(params); EgovMap selectCode = mapControlService.selectWebCartUserId(params);
if(selectCode != null) { if(selectCode != null) {
String code[] = (String.valueOf(selectCode.get("selectCode"))).split(","); String code[] = MyUtil.ClobToString((java.sql.Clob)selectCode.get("selectCode")).split(",");
int codeCount = 0; int codeCount = 0;
for(int i =0; i < code.length; i++ ) { for(int i =0; i < code.length; i++ ) {
if(code[i] != null && !code[i].equals("") && !code[i].equals(" ") && !code[i].equals("null") ) { if(code[i] != null && !code[i].equals("") && !code[i].equals(" ") && !code[i].equals("null") ) {

View File

@ -5,6 +5,7 @@ import java.math.BigDecimal;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
@ -799,4 +800,38 @@ public final class MyUtil {
return false; return false;
} }
/**
* Oracle 11g CLOB String .
* @param clob
* @return
* @throws SQLException
*/
public static String ClobToString(java.sql.Clob clob) throws SQLException {
String clobData = "";
if (clob != null) {
java.io.Reader reader = clob.getCharacterStream();
java.io.BufferedReader br = new java.io.BufferedReader(reader);
StringBuilder sb = new StringBuilder();
String line;
try {
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\n"); // 필요에 따라 줄바꿈 추가
}
clobData = sb.toString();
} catch (java.io.IOException e) {
e.printStackTrace();
// 오류 처리
} finally {
try {
br.close();
reader.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
}
return clobData;
}
} }

View File

@ -55,7 +55,7 @@
WEB_MEMBER_IN WEB_MEMBER_IN
WHERE WHERE
USERID = #{userId} AND USERID = #{userId} AND
DUPINFO = #{DI} (DUPINFO = #{DI} OR DUPINFO IS NULL)
</select> </select>
<select id="selectWebMemberInLoginCount" parameterType="String" resultType="org.apache.commons.collections.map.CaseInsensitiveMap"> <select id="selectWebMemberInLoginCount" parameterType="String" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">

View File

@ -27,7 +27,7 @@
<td class="th-head">신규 비밀번호 <span class="textR">*</span></td> <td class="th-head">신규 비밀번호 <span class="textR">*</span></td>
<td class="t-left"> <td class="t-left">
<input type="password" name="passwordch" class="join_form" style="width:200px;" maxlength="15"> <input type="password" name="passwordch" class="join_form" style="width:200px;" maxlength="15">
<span class="textR">* 비밀번호는 숫자와 영문자 조합으로 10~15 자리를 사용해야 합니다.</span <span class="textR">* 비밀번호는 숫자와 영문자 조합으로 10~15 자리를 사용해야 합니다.</span>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -17,9 +17,9 @@ function downloadSichu(){
this.close(); this.close();
} }
</script> </script>
<c:if test="${params.cnt > 50}"> <c:if test="${params.cnt > 300}">
<script> <script>
alert("최대 50개까지 시추공 선택이 가능합니다."); alert("최대 300개까지 시추공 선택이 가능합니다.");
opener.closeWaitWin(); opener.closeWaitWin();
opener.$("#mask").hide(); opener.$("#mask").hide();
this.close(); this.close();

View File

@ -441,8 +441,8 @@ function fn_grid_refresh(){
fields: { fields: {
slickensideDepthFrom: { type: "number" }, slickensideDepthFrom: { type: "number" },
slickensideDepthTo: { type: "number" }, slickensideDepthTo: { type: "number" },
slickensideDirection: { type: "number" }, slickensideDirection: { type: "string" },
slickensideAngle: { type: "number" }, slickensideAngle: { type: "string" },
slickensideMax: { type: "string" }, slickensideMax: { type: "string" },
slickensideMin: { type: "string" }, slickensideMin: { type: "string" },
slickensideAvg: { type: "string" }, slickensideAvg: { type: "string" },
@ -463,8 +463,30 @@ function fn_grid_refresh(){
{ field: "slickensideDepthTo", title: "To(m)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "<div class='td-data'>#= (slickensideDepthTo == null) ? '0' : slickensideDepthTo #</div>" }, { field: "slickensideDepthTo", title: "To(m)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "<div class='td-data'>#= (slickensideDepthTo == null) ? '0' : slickensideDepthTo #</div>" },
] ]
}, },
{ field: "slickensideDirection", title: "절리주향", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "<div class='td-data'>#= (slickensideDirection == null) ? '0' : slickensideDirection #</div>" }, { field: "slickensideDirection", title: "절리주향", editor: chooseEditorAllowHyphen, attributes: { style:"text-align: right" },
{ field: "slickensideAngle", title: "절리경사", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "<div class='td-data'>#= (slickensideAngle == null) ? '0' : slickensideAngle #</div>" }, template: function(data) {
//"<div class='td-data'>#= (slickensideDirection == null) ? '0' : slickensideDirection #</div>"
if( data.slickensideDirection === "") {
data.slickensideDirection = "0";
} else if( data.slickensideDirection === "-999") {
data.slickensideDirection = "-";
}
var url = "<div class='td-data' data-allow-hyphen='true'>" + data.slickensideDirection + "</div>";
return url;
}
},
{ field: "slickensideAngle", title: "절리경사", editor: chooseEditorAllowHyphen, attributes: { style:"text-align: right" },
template: function(data) {
//"<div class='td-data'>#= (slickensideAngle == null) ? '0' : slickensideAngle #</div>" },
if( data.slickensideAngle === "") {
data.slickensideAngle = "0";
} else if( data.slickensideAngle === "-999") {
data.slickensideAngle = "-";
}
var url = "<div class='td-data' data-allow-hyphen='true'>" + data.slickensideAngle + "</div>";
return url;
}
},
{ {
title: "절리간격", title: "절리간격",
columns: [ columns: [
@ -560,7 +582,7 @@ function fn_grid_refresh(){
<div class="page-explanation page-explanation-sm marT20"> <div class="page-explanation page-explanation-sm marT20">
<div class="page-explanation-inner"> <div class="page-explanation-inner">
<p class="page-explanation-text"> <p class="page-explanation-text">
※ 모두 필수 입력입니다. <span class="textR">절리간격 값이 (N/A)</span>인 경우 <span class="textR">-</span>(하이픈)을 기입해주세요. ※ 모두 필수 입력입니다. <span class="textR">절리주향, 절리경사, 절리간격 값이 (N/A)</span>인 경우 <span class="textR">-</span>(하이픈)을 기입해주세요.
</p> </p>
</div> </div>
</div> </div>

View File

@ -193,7 +193,7 @@ function kendoGrid(dataList) {
}, },
{ field: "holeCnt", width: 100, title: "시추공수", template: "<div class='td-data'>#: holeCnt #</div>" }, { field: "holeCnt", width: 100, title: "시추공수", template: "<div class='td-data'>#: holeCnt #</div>" },
{ field: "userName", width: 80, title: "공급자", template: "<div class='td-data'>#: userName #</div>" }, { field: "userName", width: 80, title: "공급자", template: "<div class='td-data'>#: userName #</div>" },
{ field: "datetime", width: 160, title: "입력일시", { field: "datetime", width: 160, title: "입력일시__",
template: function(data){ template: function(data){
var url = "<div class='td-data'>" + unixTimestampToFormattedDateTime(data.datetime.time) + "</div>"; var url = "<div class='td-data'>" + unixTimestampToFormattedDateTime(data.datetime.time) + "</div>";
return url; return url;

View File

@ -513,7 +513,9 @@ function fn_saveNumberCheckKendo(type, gridRoot, dataGrid, grid, startIndex, ite
var columnDataVector = gridDataArray[r][columnName]; var columnDataVector = gridDataArray[r][columnName];
var val = columnDataVector; var val = columnDataVector;
if(fn_isNull(val) != "" && (is_float(val,Number(item[i+"_start_num"]),Number(item[i+"_end_num"])) == false || is_numberRange(val,Number(item[i+"_start_num"]),Number(item[i+"_end_num"])) == false )){ if(fn_isNull(val) != "" && val === "-") {
} else if(fn_isNull(val) != "" && (is_float(val,Number(item[i+"_start_num"]),Number(item[i+"_end_num"])) == false || is_numberRange(val,Number(item[i+"_start_num"]),Number(item[i+"_end_num"])) == false )){
alert(title + "값의 범위를 확인하시기 바랍니다. ([2]정수 : "+item[i+"_start_num"]+"자리, 소수점 이하 : "+ item[i+"_end_num"]+"자리)"); alert(title + "값의 범위를 확인하시기 바랍니다. ([2]정수 : "+item[i+"_start_num"]+"자리, 소수점 이하 : "+ item[i+"_end_num"]+"자리)");
fn_progressbarHide(); //ProgressbarHide fn_progressbarHide(); //ProgressbarHide
setEditedItemPositionKendoFrom(i, r , grid, dataGrid); setEditedItemPositionKendoFrom(i, r , grid, dataGrid);