Merge branch 'jiyoo'

main
thkim 2026-04-14 10:01:17 +09:00
commit f3d04ff964
7 changed files with 351 additions and 140 deletions

View File

@ -639,7 +639,11 @@ public class HeaderController {
String oHOLE_BORING_METHOD = sUtil.checkNull(String.valueOf(params.get("HOLE_BORING_METHOD"))); //시추방법
String oHOLE_BORING_MACHINE = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_BORING_MACHINE"))); //시추장비
String oHOLE_LAYER_NUM = sUtil.checkNull(String.valueOf(params.get("HOLE_LAYER_NUM"))); //지층수
String oBORING_DIRECTION = sUtil.checkNull(String.valueOf(params.get("BORING_DIRECTION_SEL")))+"|"+sUtil.checkNull(String.valueOf(request.getParameter("BORING_DIRECTION_INPUT"))); //시추방향
String BORING_DIRECTIOIN_DEGREE = sUtil.checkNull(String.valueOf(request.getParameter("BORING_DIRECTION_INPUT"))); // 시추방향 각도(oBORING_DIRECTION 에 사용한다.)
if ("-".equals(BORING_DIRECTIOIN_DEGREE)) {
BORING_DIRECTIOIN_DEGREE = "-999";
}
String oBORING_DIRECTION = sUtil.checkNull(String.valueOf(params.get("BORING_DIRECTION_SEL")))+"|"+BORING_DIRECTIOIN_DEGREE; //시추방향
String oHOLE_TYPE = "Boring"; //Boring
String oHOLE_DB_INPUTCOMP = sUtil.checkNull(String.valueOf(params.get("HOLE_DB_INPUTCOMP"))); //입력기업
String oHOLE_DESC = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_DESC"))); //기타

View File

@ -513,6 +513,15 @@ public class ManageExcelUploadProc03Controller {
listMap = ("".equals(saveMap.get("pe3List")))?null:(List<HashMap<String, Object>>) saveMap.get("pe3List");
if(null != listMap){
for(HashMap<String, Object> map : listMap){
// 엑셀 업로드로 자료입력 시 - 입력 허용
String SAMPLE_RD = (String)map.get("SAMPLE_RD");
if ("-".equals(SAMPLE_RD)) { // 단위중량
map.put("SAMPLE_RD", "-999");
}
logger.debug("=====>pe3List:" + map.toString());
basicService.insertTempFieldPermeability(map);
}
@ -573,6 +582,37 @@ public class ManageExcelUploadProc03Controller {
List<HashMap<String, Object>> listMap = ("".equals(saveMap.get("sm4List")))?null:(List<HashMap<String, Object>>) saveMap.get("sm4List");
if(null != listMap){
for(HashMap<String, Object> map : listMap){
// 엑셀 업로드로 자료입력 시 - 입력 허용
String SAMPLE_DEPTH_FROM = (String)map.get("SAMPLE_DEPTH_FROM");
String SAMPLE_DEPTH_TO = (String)map.get("SAMPLE_DEPTH_TO");
String SAMPLE_GS = (String)map.get("SAMPLE_GS");
String SAMPLE_WC = (String)map.get("SAMPLE_WC");
String SAMPLE_LL = (String)map.get("SAMPLE_LL");
String SAMPLE_PI = (String)map.get("SAMPLE_PI");
String SAMPLE_RD = (String)map.get("SAMPLE_RD");
if ("-".equals(SAMPLE_DEPTH_FROM)) { // 심도(From)
map.put("SAMPLE_DEPTH_FROM", "-999");
}
if ("-".equals(SAMPLE_DEPTH_TO)) { // 심도(To)
map.put("SAMPLE_DEPTH_TO", "-999");
}
if ("-".equals(SAMPLE_GS)) { // 함수비
map.put("SAMPLE_GS", "-999");
}
if ("-".equals(SAMPLE_WC)) { // 비중
map.put("SAMPLE_WC", "-999");
}
if ("-".equals(SAMPLE_LL)) { // 액성한계
map.put("SAMPLE_LL", "-999");
}
if ("-".equals(SAMPLE_PI)) { // 소성지수
map.put("SAMPLE_PI", "-999");
}
if ("-".equals(SAMPLE_RD)) { // 단위중량
map.put("SAMPLE_RD", "-999");
}
logger.debug("=====>sm4List:" + map.toString());
sampleInfoService.insertSampleInfo(map);
}
@ -1569,7 +1609,7 @@ public class ManageExcelUploadProc03Controller {
RsWrapper excelWp = new RsWrapper();
if("Y".equals(classInfoMap.get("sandClassification"))){
if("".equals((String)resultMap.get("resultMsg"))){
excelWp = ExcelUtil.getRsWp(strFile, "입도분석정보", 0, 1, 22);
excelWp = ExcelUtil.getRsWp(strFile, "입도분석정보", 0, 1, 23);
resultMap = checkStep03_500_class(request, params, excelWp, savePath, strFile,_projectCode,_holeCode);
jaCl5 = (null == resultMap.get("list") || "".equals(resultMap.get("list")))?null:JSONArray.fromObject(resultMap.get("list"));
}
@ -1596,7 +1636,7 @@ public class ManageExcelUploadProc03Controller {
}
if("Y".equals(classInfoMap.get("sandUnconfinedUsual"))){
if("".equals((String)resultMap.get("resultMsg"))){
excelWp = ExcelUtil.getRsWp(strFile, "일축압축정보", 0, 2, 18);
excelWp = ExcelUtil.getRsWp(strFile, "일축압축정보", 0, 2, 19);
resultMap = checkStep03_500_unconfined(request, params, excelWp, savePath, strFile,_projectCode,_holeCode);
jaUn5 = (null == resultMap.get("list") || "".equals(resultMap.get("list")))?null:JSONArray.fromObject(resultMap.get("list"));
}
@ -1670,14 +1710,14 @@ public class ManageExcelUploadProc03Controller {
}
if("Y".equals(classInfoMap.get("rockPointload"))){
if("".equals((String)resultMap.get("resultMsg"))){
excelWp = ExcelUtil.getRsWp(strFile, "점하중정보", 0, 1, 8);
excelWp = ExcelUtil.getRsWp(strFile, "점하중정보", 0, 1, 9);
resultMap = checkStep03_600_rockPointload(request, params, excelWp, savePath, strFile,_projectCode,_holeCode);
jaRpo6 = (null == resultMap.get("list") || "".equals(resultMap.get("list")))?null:JSONArray.fromObject(resultMap.get("list"));
}
}
if("Y".equals(classInfoMap.get("rockJointshear"))){
if("".equals((String)resultMap.get("resultMsg"))){
excelWp = ExcelUtil.getRsWp(strFile, "절리면전단정보", 0, 1, 8);
excelWp = ExcelUtil.getRsWp(strFile, "절리면전단정보", 0, 1, 9);
resultMap = checkStep03_600_rockJointshear(request, params, excelWp, savePath, strFile,_projectCode,_holeCode);
jaRjo6 = (null == resultMap.get("list") || "".equals(resultMap.get("list")))?null:JSONArray.fromObject(resultMap.get("list"));
}
@ -4457,52 +4497,55 @@ public class ManageExcelUploadProc03Controller {
List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
resultMsg = imageUpload(params,"일축압축정보 그래프", savePath, strFile, resultMsg, "[토사시험정보 - 일축압축시험 그래프] %s|", "일축압축시험결과 그래프",excelWp.getLength());
for(int i=0; i < excelWp.getLength(); i++){
if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.")){
// if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.")){
// resultMsg += String.format(fmtMsg, "링계수는 실수만 입력이 가능합니다.");
// }
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "링계수는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col2",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "하중값는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col2",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col3",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 높이는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col3",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 직경은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 함수비는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 단위중량은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 공극비는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col8",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 포화도는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col8",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "자연시료 일축압축강도는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col10",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 높이 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col10",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col11",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 직경은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col11",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col12",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 함수비는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col12",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col13",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 단위중량은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col13",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col14",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 공극비는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col14",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col15",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 포화도는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col15",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col16",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "제성형시료 일축압축강도는 실수만 입력이 가능합니다.");
}
@ -4511,28 +4554,47 @@ public class ManageExcelUploadProc03Controller {
return params;
}
int testNo3 = Integer.valueOf(excelWp.get("col0",i).trim()) -1;
int testNo = testNo3 + 1; // 사용자가 입력한 순번(물성시험 샘플을 순번으로 찾을때 사용)
String targetSampleCode = null;
// private List<Map<String, Object>> _sampleInfoList
for (Map<String, Object> sample : _sampleInfoList) {
String sampleCode = (String) sample.get("SAMPLE_CODE");
// SAMPLE_CODE 끝 숫자 추출
String numberPart = sampleCode.replaceAll(".*?(\\d+)$", "$1");
int number = Integer.parseInt(numberPart);
if (number == testNo) {
targetSampleCode = sampleCode;
break;
}
}
HashMap<String,Object> map = new HashMap<>();
map.put("PROJECT_CODE", _projectCode);
map.put("HOLE_CODE", _holeCode);
map.put("SAMPLE_CODE" , (String) _sampleInfoList.get(i).get("SAMPLE_CODE"));
map.put("UNCONF_RINGFACTOR" , excelWp.get("col0", i));
map.put("UNCONF_LOAD_SCALE" , excelWp.get("col1", i));
map.put("UNCONF_UNDISTURB_HEIGHT" , excelWp.get("col2", i));
map.put("UNCONF_UNDISTURB_DIA" , excelWp.get("col3", i));
map.put("UNCONF_UNDISTURB_W" , excelWp.get("col4", i));
map.put("UNCONF_UNDISTURB_RT" , excelWp.get("col5", i));
map.put("UNCONF_UNDISTURB_E" , excelWp.get("col6", i));
map.put("UNCONF_UNDISTURB_S" , excelWp.get("col7", i));
map.put("UNCONF_UNDISTURB_COMPSTRENGTH" , excelWp.get("col8", i));
map.put("UNCONF_REMOULD_HEIGHT" , excelWp.get("col9", i));
map.put("UNCONF_REMOULD_DIA" , excelWp.get("col10", i));
map.put("UNCONF_REMOULD_W" , excelWp.get("col11", i));
map.put("UNCONF_REMOULD_RT" , excelWp.get("col12", i));
map.put("UNCONF_REMOULD_E" , excelWp.get("col13", i));
map.put("UNCONF_REMOULD_S" , excelWp.get("col14", i));
map.put("UNCONF_REMOULD_COMPSTRENGTH" , excelWp.get("col15", i));
map.put("UNCONF_SAMPLE_SHAPE" , excelWp.get("col16", i));
map.put("UNCONF_REMARK" , excelWp.get("col17", i));
// map.put("SAMPLE_CODE" , (String) _sampleInfoList.get(i).get("SAMPLE_CODE"));
map.put("SAMPLE_CODE" , targetSampleCode);
map.put("UNCONF_RINGFACTOR" , excelWp.get("col1", i));
map.put("UNCONF_LOAD_SCALE" , excelWp.get("col2", i));
map.put("UNCONF_UNDISTURB_HEIGHT" , excelWp.get("col3", i));
map.put("UNCONF_UNDISTURB_DIA" , excelWp.get("col4", i));
map.put("UNCONF_UNDISTURB_W" , excelWp.get("col5", i));
map.put("UNCONF_UNDISTURB_RT" , excelWp.get("col6", i));
map.put("UNCONF_UNDISTURB_E" , excelWp.get("col7", i));
map.put("UNCONF_UNDISTURB_S" , excelWp.get("col8", i));
map.put("UNCONF_UNDISTURB_COMPSTRENGTH" , excelWp.get("col9", i));
map.put("UNCONF_REMOULD_HEIGHT" , excelWp.get("col10", i));
map.put("UNCONF_REMOULD_DIA" , excelWp.get("col11", i));
map.put("UNCONF_REMOULD_W" , excelWp.get("col12", i));
map.put("UNCONF_REMOULD_RT" , excelWp.get("col13", i));
map.put("UNCONF_REMOULD_E" , excelWp.get("col14", i));
map.put("UNCONF_REMOULD_S" , excelWp.get("col15", i));
map.put("UNCONF_REMOULD_COMPSTRENGTH" , excelWp.get("col16", i));
map.put("UNCONF_SAMPLE_SHAPE" , excelWp.get("col17", i));
map.put("UNCONF_REMARK" , excelWp.get("col18", i));
map.put("USERID" , request.getSession().getAttribute("USERID"));
map.put("graphImage" , params.get("GRAPH_IMAGE"+testNo3) );
@ -4981,76 +5043,78 @@ public class ManageExcelUploadProc03Controller {
strUtil sUtil = new strUtil();
String resultMsg = "";
String fmtMsg = "[토사시험정보 - 입도분석정보] %s|";
if(excelWp.getLength() != _sampleInfoList.size()){
params.put("resultMsg", String.format(fmtMsg, "기본물성시험정보의 시료 갯수와 같지 않습니다."));
return params;
};
// [YJI / 26.04.10] 입도시험 개수는 물성시험정보 갯수와 일치하지 않아도 됨(같거나 작으면 됨)
// if(excelWp.getLength() != _sampleInfoList.size()){
// params.put("resultMsg", String.format(fmtMsg, "기본물성시험정보의 시료 갯수와 같지 않습니다."));
// return params;
// };
try{
List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
String saveName="";
resultMsg = imageUpload(params,"입도분석정보 그래프", savePath, strFile, resultMsg, "[토사시험정보 - 입도시험 그래프] %s|", "입도시험결과 그래프",_sampleInfoList.size());
for(int i=0; i < _sampleInfoList.size(); i++) {
if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.")){
// [YJI / 26.04.10] 입도시험 개수는 물성시험정보 갯수와 일치하지 않아도 됨(같거나 작으면 됨) - 그래프이미지
resultMsg = imageUpload(params,"입도분석정보 그래프", savePath, strFile, resultMsg, "[토사시험정보 - 입도시험 그래프] %s|", "입도시험결과 그래프",excelWp.getLength());
for(int i=0; i < excelWp.getLength(); i++) { // [YJI / 26.04.10] 입도시험 개수는 물성시험정보 갯수와 일치하지 않아도 됨(같거나 작으면 됨)
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "D10은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col2",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "D30은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col2",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col3",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "D60은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col3",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "균등계수는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "곡률계수는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#4는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#6은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col8",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#8은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col8",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#10은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col10",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#12는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col10",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col11",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#16은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col11",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col12",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#20은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col12",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col13",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#30은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col13",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col14",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#40은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col14",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col15",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#50은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col15",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col16",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#60은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col16",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col17",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#70은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col17",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col18",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#100은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col18",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col19",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#140은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col19",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col20",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#200은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col20",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col21",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, "#0.005는 실수만 입력이 가능합니다.");
}
@ -5061,33 +5125,45 @@ public class ManageExcelUploadProc03Controller {
//EgovMap m = items.get(i);
logger.debug("_sampleInfoList SAMPLE_CODE : " + (String) _sampleInfoList.get(i).get("SAMPLE_CODE"));
int testNo = Integer.valueOf(excelWp.get("col0",i).trim()); // 사용자가 입력한 순번(물성시험 샘플을 순번으로 찾을때 사용)
String targetSampleCode = null;
for (Map<String, Object> sample : _sampleInfoList) {
String sampleCode = (String) sample.get("SAMPLE_CODE");
// SAMPLE_CODE 끝 숫자 추출
String numberPart = sampleCode.replaceAll(".*?(\\d+)$", "$1");
int number = Integer.parseInt(numberPart);
if (number == testNo) {
targetSampleCode = sampleCode;
break;
}
}
HashMap<String,Object> map = new HashMap<>();
map.put("PROJECT_CODE" , _projectCode);
map.put("HOLE_CODE" , _holeCode);
map.put("sampleCode" , (String) _sampleInfoList.get(i).get("SAMPLE_CODE"));
map.put("classiD10" , excelWp.get("col0", i));
map.put("classiD30" , excelWp.get("col1", i));
map.put("classiD60" , excelWp.get("col2", i));
map.put("classiCu" , excelWp.get("col3", i));
map.put("classiCg" , excelWp.get("col4", i));
map.put("classiNo4" , excelWp.get("col5", i));
map.put("classiNo6" , excelWp.get("col6", i));
map.put("classiNo8" , excelWp.get("col7", i));
map.put("classiNo10" , excelWp.get("col8", i));
map.put("classiNo12" , excelWp.get("col9", i));
map.put("classiNo16" , excelWp.get("col10", i));
map.put("classiNo20" , excelWp.get("col11", i));
map.put("classiNo30" , excelWp.get("col12", i));
map.put("classiNo40" , excelWp.get("col13", i));
map.put("classiNo50" , excelWp.get("col14", i));
map.put("classiNo60" , excelWp.get("col15", i));
map.put("classiNo70" , excelWp.get("col16", i));
map.put("classiNo100" , excelWp.get("col17", i));
map.put("classiNo140" , excelWp.get("col18", i));
map.put("classiNo200" , excelWp.get("col19", i));
map.put("classiNo005" , excelWp.get("col20", i));
map.put("classiRemark" , excelWp.get("col21", i));
map.put("sampleCode" , targetSampleCode);
map.put("classiD10" , excelWp.get("col1", i));
map.put("classiD30" , excelWp.get("col2", i));
map.put("classiD60" , excelWp.get("col3", i));
map.put("classiCu" , excelWp.get("col4", i));
map.put("classiCg" , excelWp.get("col5", i));
map.put("classiNo4" , excelWp.get("col6", i));
map.put("classiNo6" , excelWp.get("col7", i));
map.put("classiNo8" , excelWp.get("col8", i));
map.put("classiNo10" , excelWp.get("col9", i));
map.put("classiNo12" , excelWp.get("col10", i));
map.put("classiNo16" , excelWp.get("col11", i));
map.put("classiNo20" , excelWp.get("col12", i));
map.put("classiNo30" , excelWp.get("col13", i));
map.put("classiNo40" , excelWp.get("col14", i));
map.put("classiNo50" , excelWp.get("col15", i));
map.put("classiNo60" , excelWp.get("col16", i));
map.put("classiNo70" , excelWp.get("col17", i));
map.put("classiNo100" , excelWp.get("col18", i));
map.put("classiNo140" , excelWp.get("col19", i));
map.put("classiNo200" , excelWp.get("col20", i));
map.put("classiNo005" , excelWp.get("col21", i));
map.put("classiRemark" , excelWp.get("col22", i));
map.put("USERID" , request.getSession().getAttribute("USERID"));
map.put("graphImage" , params.get("GRAPH_IMAGE"+i) );
map.put("graphLocal" , params.get("GRAPH_LOCAL"+i) );
@ -5318,7 +5394,7 @@ public class ManageExcelUploadProc03Controller {
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, i+"번째 케이싱길이(m)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, i+"번째 평균투수계수(cm/sec)는 실수만 입력이 가능합니다.");
}
testNoCheck[i-1] = (String)(excelWp.get("col0",i).trim());
@ -5354,6 +5430,10 @@ public class ManageExcelUploadProc03Controller {
for(int i=1; i < excelWp.getLength(); i++){
HashMap<String,Object> map = new HashMap<>();
String fieldperAvgPermeability = excelWp.get("col5", i).trim();
if("-".equals(fieldperAvgPermeability)) {
fieldperAvgPermeability = "-999";
}
map.put("projectCode", _projectCode);
map.put("holeCode", _holeCode);
map.put("seq", i);
@ -5363,7 +5443,8 @@ public class ManageExcelUploadProc03Controller {
map.put("fieldperDepthTo", excelWp.get("col2", i).trim());
map.put("fieldperCasingDia", excelWp.get("col3", i).trim());
map.put("fieldperCasingHeight", excelWp.get("col4", i).trim());
map.put("fieldperAvgPermeability", excelWp.get("col5", i).trim());
// map.put("fieldperAvgPermeability", excelWp.get("col5", i).trim()); // [YJI / 26.04.09] 엑셀 업로드 '-' 입력 지원. 입력값이 '-' 이면 DB에 저장은 -999로 한다.
map.put("fieldperAvgPermeability", fieldperAvgPermeability);
map.put("fieldperInspectedBy", excelWp.get("col6", i).trim());
map.put("fieldperCheckedBy", excelWp.get("col7", i).trim());
map.put("fieldperRemark", excelWp.get("col8", i).trim());
@ -5422,7 +5503,7 @@ public class ManageExcelUploadProc03Controller {
if(!StringUtil.containsCharOnly(excelWp.get("col2",k).trim(),"0123456789.")){
resultMsg += String.format(fmtMsg, k+"번째 시간간격(sec)은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col3",k).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col3",k).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, k+"번째 총수두(cm)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col4",k).trim(),"0123456789.")){
@ -5471,6 +5552,10 @@ public class ManageExcelUploadProc03Controller {
}
HashMap<String,Object> map = new HashMap<>();
String fieldperSubFallingHead = excelWp.get("col3", k).trim();
if("-".equals(fieldperSubFallingHead)) {
fieldperSubFallingHead = "-999";
}
map.put("projectCode", _projectCode);
map.put("holeCode", _holeCode);
map.put("seq", mSeq);
@ -5478,7 +5563,8 @@ public class ManageExcelUploadProc03Controller {
map.put("fieldperOrder", tNo);
map.put("fieldperSubTime", excelWp.get("col1", k).trim());
map.put("fieldperSubTotalHead", excelWp.get("col2", k).trim());
map.put("fieldperSubFallingHead", excelWp.get("col3", k).trim());
// map.put("fieldperSubFallingHead", excelWp.get("col3", k).trim()); // [YJI / 26.04.09] 엑셀 업로드 '-' 입력 지원. 입력값이 '-' 이면 DB에 저장은 -999로 한다.
map.put("fieldperSubFallingHead", fieldperSubFallingHead);
map.put("fieldperSubWaterLoose", excelWp.get("col4", k).trim());
map.put("fieldperSubQuantity", excelWp.get("col5", k).trim());
map.put("fieldperSubPermeability", excelWp.get("col6", k).trim());
@ -6490,25 +6576,25 @@ public class ManageExcelUploadProc03Controller {
List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
int excelWpLength = excelWp.getLength();
for(int i=1; i < excelWpLength; i++) {
if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.-")){
resultMsg = String.format(fmtMsg, i + "번째 심도(from)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col1",i).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, i + "번째 심도(to)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col4",i).trim(),"0123456789.-")){
resultMsg = String.format(fmtMsg, i + "번째 함수비(%)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col5",i).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, i + "번째 비중은 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col6",i).trim(),"0123456789.-")){
resultMsg = String.format(fmtMsg, i + "번째 액성한계(%)는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col7",i).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, i + "번째 소성지수는 실수만 입력이 가능합니다.");
}
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.")){
if(!StringUtil.containsCharOnly(excelWp.get("col9",i).trim(),"0123456789.-")){
resultMsg += String.format(fmtMsg, i + "번째 단위중량(KN/㎥)은 실수만 입력이 가능합니다.");
}
@ -6862,7 +6948,11 @@ public class ManageExcelUploadProc03Controller {
String _holeBoringMachine = excel1Wp.get("col2",17).trim(); //시추장비
String _holeLayerNum = excel1Wp.get("col2",15).trim(); //지층수
String _boringDirection = excel1Wp.get("col2",19).trim()+"|"+excel1Wp.get("col7",19).trim(); //시추방향
String boringDirectionDegree = excel1Wp.get("col7",19).trim(); //시추방향 각도(_boringDirection 에 사용한다.)
if ("-".equals(boringDirectionDegree)) {
boringDirectionDegree = "-999";
}
String _boringDirection = excel1Wp.get("col2",19).trim()+"|"+boringDirectionDegree; //시추방향
System.out.println("시추방향 : " + excel1Wp.get("col2",19).trim());
String _holeType = "Boring"; //Boring

View File

@ -623,12 +623,12 @@ window.onload = function() {
//시추방향
if('${mapHeader.boringDirection}' != null && '${mapHeader.boringDirection}' != ''){
var boring = "${mapHeader.boringDirection}".split("|");
var boringDegree = boring[1] === '-999' ? '-' : boring[1];
var consFrmSel = document.getElementById("BORING_DIRECTION_SEL");
var consFrmInput = document.getElementById("BORING_DIRECTION_INPUT");
fn_SelectedData(consFrmSel,boring[0]);
consFrmInput.value = boring[1];
consFrmInput.value = boringDegree;
if (boring[0] === "-") {
consFrmInput.disabled = true;
@ -637,7 +637,39 @@ window.onload = function() {
consFrmInput.disabled = false;
}
}
var input = document.getElementById('BORING_DIRECTION_INPUT');
// 1. 입력 제한
input.addEventListener("input", function () {
let val = this.value;
if (!/^[-]?\d*\.?\d*$/.test(val)) {
this.value = val.slice(0, -1);
}
});
// 2. ↑ ↓ 키
input.addEventListener("keydown", function (e) {
if (e.key === "ArrowUp" || e.key === "ArrowDown") {
e.preventDefault();
let val = this.value.trim();
if (val === "-" || val === "") {
val = 0;
}
let num = parseFloat(val);
if (isNaN(num)) num = 0;
if (e.key === "ArrowUp") num += 1;
else num -= 1;
this.value = num;
}
});
consFrmSel.addEventListener("change", function() {
if (this.value === "-") {
consFrmInput.disabled = true;
@ -1758,7 +1790,7 @@ function fn_HoleLoad(){
<select name="BORING_DIRECTION_SEL" id="BORING_DIRECTION_SEL" style="width:160px;" class="selectbox">
${map.CM010}
</select>
<input name="BORING_DIRECTION_INPUT" id="BORING_DIRECTION_INPUT" type="number" style="width:160px;" maxlength="40" value="${mapHeader.boringDirectionInput}"/> ˚
<input name="BORING_DIRECTION_INPUT" id="BORING_DIRECTION_INPUT" type="text" style="width:160px;" maxlength="40" value="${mapHeader.boringDirectionInput}"/> ˚
</td>
</tr>
<tr>

View File

@ -128,11 +128,12 @@
<td class="td_line" style="text-align: center;"><input type="radio" name="value3" id="value3" value="흑" /> 흑<br /> <input type="radio" name="value3" id="value3" value="갈" /> 갈<br /> <input type="radio" name="value3" id="value3" value="적" /> 적<br /> <input type="radio" name="value3" id="value3" value="황" /> 황<br /> <input type="radio" name="value3" id="value3" value="녹" /> 녹<br /> <input type="radio" name="value3" id="value3" value="청" /> 청<br /> <input type="radio" name="value3"
id="value3" value="백" /> 백</td>
</tr>
<%-- (2026.04.06/YJI) 값없음 체크 막기
<tr>
<td colspan="3" class="td_line" style="text-align: center;">
<input type="radio" name="value0" id="value0" value="-" /><label for="value0" > 값 없음( - )</label>
</td>
</tr>
</tr> --%>
</table>
<div style="text-align: center; margin-top: 10px;">
지층색 : <input style="ime-mode: active;" type="text" name="colorName" id="colorName" value="" /> <a href="#" onClick="fn_layerColorInput(); return false;"><img src="/web/images/btn_pop_input.png" /></a> <a href="#" onclick="fn_layerColorClear()"><img src="/web/images/btn_pop_refresh.png" /></a>

View File

@ -164,17 +164,17 @@ function fn_save(rUrl){
}else if(keys[k] == "sampleDepthTo"){
change_data += "<" + keys[k] + ">" + row.sampleDepthTo + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleLl"){
change_data += "<" + keys[k] + ">" + row.sampleLl + "</" + keys[k] + ">\r\n";
change_data += "<" + keys[k] + ">" + getNoDataValue(row.sampleLl) + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleDesc"){
change_data += "<" + keys[k] + ">" + row.sampleDesc + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleWc"){
change_data += "<" + keys[k] + ">" + row.sampleWc + "</" + keys[k] + ">\r\n";
change_data += "<" + keys[k] + ">" + getNoDataValue(row.sampleWc) + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "datetime"){
change_data += "<" + keys[k] + ">" + row.datetime + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleGs"){
change_data += "<" + keys[k] + ">" + row.sampleGs + "</" + keys[k] + ">\r\n";
change_data += "<" + keys[k] + ">" + getNoDataValue(row.sampleGs) + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "samplePi"){
change_data += "<" + keys[k] + ">" + row.samplePi + "</" + keys[k] + ">\r\n";
change_data += "<" + keys[k] + ">" + getNoDataValue(row.samplePi) + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleNumber"){
change_data += "<" + keys[k] + ">" + row.sampleNumber + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleShape"){
@ -184,7 +184,7 @@ function fn_save(rUrl){
}else if(keys[k] == "projectCode"){
change_data += "<" + keys[k] + ">" + row.projectCode + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleRd"){
change_data += "<" + keys[k] + ">" + row.sampleRd + "</" + keys[k] + ">\r\n";
change_data += "<" + keys[k] + ">" + getNoDataValue(row.sampleRd) + "</" + keys[k] + ">\r\n";
}else if(keys[k] == "sampleDepthFrom"){
change_data += "<" + keys[k] + ">" + row.sampleDepthFrom + "</" + keys[k] + ">\r\n";
}
@ -373,12 +373,12 @@ function fn_add(){
"sampleDepthTo" : "0",
"sampleSamplingMethod" : "",
"sampleShape" : "",
"sampleWc" : "0",
"sampleGs" : "0",
"sampleLl" : "0",
"samplePi" : "0",
"sampleWc" : "-",
"sampleGs" : "-",
"sampleLl" : "-",
"samplePi" : "-",
"sampleDesc" : "-",
"sampleRd" : "0",
"sampleRd" : "-",
"sampleUscs" : "",
"sampleCode" : "",
};
@ -759,7 +759,8 @@ function fn_grid_refresh(){
var nullTypeString = 'test';
if( gridData.length == 1 && gridData[0].sampleNumber == '-999' ) {
gridData = undefined;
// gridData = undefined;
gridData = '-';
// table-top-control 클래스를 가진 첫 번째 요소 찾기
var tableTopControlElement = document.getElementsByClassName('table-top-control')[0];
@ -800,12 +801,12 @@ function fn_grid_refresh(){
sampleDepthTo: { type: "number" },
sampleSamplingMethod: { type: "string" },
sampleShape: { type: "string" },
sampleWc: { type: "number",},
sampleGs: { type: "number" },
sampleLl: { type: "number" },
samplePi: { type: "number" },
sampleWc: { type: "number", defaultValue: "-"},
sampleGs: { type: "number", defaultValue: "-"},
sampleLl: { type: "number", defaultValue: "-" },
samplePi: { type: "number", defaultValue: "-" },
sampleDesc: { type: "string" },
sampleRd: { type: "number" },
sampleRd: { type: "number", defaultValue: "-" },
sampleUscs: { type: "string" },
sampleCode: { type: "string", editable: false },
}
@ -857,44 +858,46 @@ function fn_grid_refresh(){
editor: comboEditor2,
template: "#=getTeacherName2((sampleShape == null) ? ' ' : sampleShape)#",
},
{ field: "sampleGs", title: "함수비(%)<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />-999 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
{ field: "sampleGs",
title: "함수비(%)<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />- 입력</div>",
editor: chooseEditor,
width:100,
attributes: { style:"text-align: right" },
format:"{0:n2}",
template: function (dataItem) {
if (dataItem.sampleGs == null)
dataItem._set("sampleGs", "0");
else
return dataItem.sampleGs;
if (dataItem.sampleGs == null || dataItem.sampleGs == -999) return "-";
return kendo.toString(dataItem.sampleGs, "n2");
}
},
{ field: "sampleWc", title: "비중<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />-999 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
{ field: "sampleWc", title: "비중<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />- 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
template: function (dataItem) {
if (dataItem.sampleWc == null)
dataItem._set("sampleWc", "0");
if (dataItem.sampleWc == null || dataItem.sampleWc == -999)
return "-";
else
return dataItem.sampleWc;
}
},
{ field: "sampleLl", title: "액성한계(%)<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />-999 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
{ field: "sampleLl", title: "액성한계(%)<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />- 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
template: function (dataItem) {
if (dataItem.sampleLl == null)
dataItem._set("sampleLl", "0");
if (dataItem.sampleLl == null || dataItem.sampleLl == -999)
return "-";
else
return dataItem.sampleLl;
}
},
{ field: "samplePi", title: "소성지수<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />-999 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
{ field: "samplePi", title: "소성지수<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />- 입력</div>", editor: chooseEditor, width:100, attributes: { style:"text-align: right" },
template: function (dataItem) {
if (dataItem.samplePi == null)
dataItem._set("samplePi", "0");
if (dataItem.samplePi == null || dataItem.samplePi == -999)
return "-";
else
return dataItem.samplePi;
}
},
{ field: "sampleDesc", title: "비고", width:100, attributes: { style:"text-align: left" }, template: "<div class='td-data'>#= (sampleDesc == null) ? '0' : sampleDesc #</div>" },
{ field: "sampleRd", title: "단위중량(${sampleUnit})<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />-999 입력</div>", editor: chooseEditor, width:140, attributes: { style:"text-align: right" },
{ field: "sampleRd", title: "단위중량(${sampleUnit})<div style='margin-top: 8px; color: red; font-weight: 200;'>값 없을 시<br />- 입력</div>", editor: chooseEditor, width:140, attributes: { style:"text-align: right" },
template: function (dataItem) {
if (dataItem.sampleRd == null)
dataItem._set("sampleRd", "0");
if (dataItem.sampleRd == null || dataItem.sampleRd == -999)
return "-";
else
return dataItem.sampleRd;
}
@ -1060,7 +1063,8 @@ function fn_grid_refresh(){
switch (options.model.COLUMN) {
default:
numericEditor(container, options);
// numericEditor(container, options);
numericEditor2(container, options);
break;
}
}

View File

@ -51,6 +51,61 @@ function numericEditor(container, options, isHyphenAllowed = false) {
}
function numericEditor2(container, options, isHyphenAllowed = false) {
var input = kendoJQuery('<input type="test" name="' + options.field + '" class="k-textbox" style="width:100%; text-align:right;" />');
input.appendTo(container)
.val(options.model[options.field])
// 1. 입력 제한 (숫자 + 하이픈)
.on("input", function () {
let val = this.value;
// 허용: "-", "-숫자", "숫자", "소수"
if (!/^[-]?\d*\.?\d*$/.test(val)) {
this.value = val.slice(0, -1);
}
})
// 2. ↑ ↓ 키로 값 증가/감소
.on("keydown", function (e) {
if (e.key === "ArrowUp" || e.key === "ArrowDown") {
e.preventDefault();
let val = this.value.trim();
// "-" 단독이면 0 기준 시작
if (val === "-" || val === "") {
val = 0;
}
let num = parseFloat(val);
if (isNaN(num)) num = 0;
if (e.key === "ArrowUp") {
num += 1;
} else {
num -= 1;
}
this.value = num;
}
})
// 3. blur 시 모델 반영
.on("blur", function () {
let val = this.value.trim();
if (val === "-") {
options.model.set(options.field, null);
} else {
let num = parseFloat(val);
options.model.set(options.field, isNaN(num) ? null : num);
}
});
}
//입력 type number로 변경 그러나 hyphen 입력 허용
function numericEditorAllowHyphen(container, options, isHyphenAllowed = false) {
kendoJQuery('<input type="text" name="' + options.field + '"/>')

View File

@ -2077,4 +2077,29 @@ function projNmDuplChkResult( projectNameInput, projectCode) {
}
});
return result;
}
/**
* 기업사용자 입력시스템 > 기본물성시험정보 -999 처리
* 없음 처리는 '-' 입력으로 한다.
* @caller /views/web/input/sampleInfo.jsp
* @param val
* @returns
*/
function getNoDataValue(val) {
return (val === null || val === undefined || val === "" || val === "-") ? -999 : val;
}
/**
* 기업사용자 입력시스템 > 기본물성시험정보 -999 처리
* 없음 처리는 '-' 입력으로 한다.
* @param val
* @returns
*/
function setNoDataValue(val) {
if (val == -999) {
return '-';
}
return val;
}