diff --git a/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java b/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java index 54830a45..4698401e 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java +++ b/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java @@ -5030,76 +5030,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> list = new ArrayList>(); 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는 실수만 입력이 가능합니다."); } @@ -5110,33 +5112,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 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 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) );