기업사용자 입력시스템: 토사시험-입도분석(양식에 추가된 테스트번호 처리 반영;기본물성시험의 시료번호를 가져와 처리한다)

jiyoo
유지인 2026-04-10 18:00:08 +09:00
parent 83f394b58f
commit 9ca6ad130a
1 changed files with 64 additions and 50 deletions

View File

@ -5030,76 +5030,78 @@ public class ManageExcelUploadProc03Controller {
strUtil sUtil = new strUtil(); strUtil sUtil = new strUtil();
String resultMsg = ""; String resultMsg = "";
String fmtMsg = "[토사시험정보 - 입도분석정보] %s|"; String fmtMsg = "[토사시험정보 - 입도분석정보] %s|";
if(excelWp.getLength() != _sampleInfoList.size()){ // [YJI / 26.04.10] 입도시험 개수는 물성시험정보 갯수와 일치하지 않아도 됨(같거나 작으면 됨)
params.put("resultMsg", String.format(fmtMsg, "기본물성시험정보의 시료 갯수와 같지 않습니다.")); // if(excelWp.getLength() != _sampleInfoList.size()){
return params; // params.put("resultMsg", String.format(fmtMsg, "기본물성시험정보의 시료 갯수와 같지 않습니다."));
}; // return params;
// };
try{ try{
List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>(); List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
String saveName=""; String saveName="";
resultMsg = imageUpload(params,"입도분석정보 그래프", savePath, strFile, resultMsg, "[토사시험정보 - 입도시험 그래프] %s|", "입도시험결과 그래프",_sampleInfoList.size()); // [YJI / 26.04.10] 입도시험 개수는 물성시험정보 갯수와 일치하지 않아도 됨(같거나 작으면 됨) - 그래프이미지
for(int i=0; i < _sampleInfoList.size(); i++) { resultMsg = imageUpload(params,"입도분석정보 그래프", savePath, strFile, resultMsg, "[토사시험정보 - 입도시험 그래프] %s|", "입도시험결과 그래프",excelWp.getLength());
if(!StringUtil.containsCharOnly(excelWp.get("col0",i).trim(),"0123456789.")){ 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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, "균등계수는 실수만 입력이 가능합니다."); 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, "곡률계수는 실수만 입력이 가능합니다."); 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는 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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는 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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은 실수만 입력이 가능합니다."); 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는 실수만 입력이 가능합니다."); resultMsg += String.format(fmtMsg, "#0.005는 실수만 입력이 가능합니다.");
} }
@ -5110,33 +5112,45 @@ public class ManageExcelUploadProc03Controller {
//EgovMap m = items.get(i); //EgovMap m = items.get(i);
logger.debug("_sampleInfoList SAMPLE_CODE : " + (String) _sampleInfoList.get(i).get("SAMPLE_CODE")); 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<>(); HashMap<String,Object> map = new HashMap<>();
map.put("PROJECT_CODE" , _projectCode); map.put("PROJECT_CODE" , _projectCode);
map.put("HOLE_CODE" , _holeCode); map.put("HOLE_CODE" , _holeCode);
map.put("sampleCode" , (String) _sampleInfoList.get(i).get("SAMPLE_CODE")); map.put("sampleCode" , targetSampleCode);
map.put("classiD10" , excelWp.get("col0", i)); map.put("classiD10" , excelWp.get("col1", i));
map.put("classiD30" , excelWp.get("col1", i)); map.put("classiD30" , excelWp.get("col2", i));
map.put("classiD60" , excelWp.get("col2", i)); map.put("classiD60" , excelWp.get("col3", i));
map.put("classiCu" , excelWp.get("col3", i)); map.put("classiCu" , excelWp.get("col4", i));
map.put("classiCg" , excelWp.get("col4", i)); map.put("classiCg" , excelWp.get("col5", i));
map.put("classiNo4" , excelWp.get("col5", i)); map.put("classiNo4" , excelWp.get("col6", i));
map.put("classiNo6" , excelWp.get("col6", i)); map.put("classiNo6" , excelWp.get("col7", i));
map.put("classiNo8" , excelWp.get("col7", i)); map.put("classiNo8" , excelWp.get("col8", i));
map.put("classiNo10" , excelWp.get("col8", i)); map.put("classiNo10" , excelWp.get("col9", i));
map.put("classiNo12" , excelWp.get("col9", i)); map.put("classiNo12" , excelWp.get("col10", i));
map.put("classiNo16" , excelWp.get("col10", i)); map.put("classiNo16" , excelWp.get("col11", i));
map.put("classiNo20" , excelWp.get("col11", i)); map.put("classiNo20" , excelWp.get("col12", i));
map.put("classiNo30" , excelWp.get("col12", i)); map.put("classiNo30" , excelWp.get("col13", i));
map.put("classiNo40" , excelWp.get("col13", i)); map.put("classiNo40" , excelWp.get("col14", i));
map.put("classiNo50" , excelWp.get("col14", i)); map.put("classiNo50" , excelWp.get("col15", i));
map.put("classiNo60" , excelWp.get("col15", i)); map.put("classiNo60" , excelWp.get("col16", i));
map.put("classiNo70" , excelWp.get("col16", i)); map.put("classiNo70" , excelWp.get("col17", i));
map.put("classiNo100" , excelWp.get("col17", i)); map.put("classiNo100" , excelWp.get("col18", i));
map.put("classiNo140" , excelWp.get("col18", i)); map.put("classiNo140" , excelWp.get("col19", i));
map.put("classiNo200" , excelWp.get("col19", i)); map.put("classiNo200" , excelWp.get("col20", i));
map.put("classiNo005" , excelWp.get("col20", i)); map.put("classiNo005" , excelWp.get("col21", i));
map.put("classiRemark" , excelWp.get("col21", i)); map.put("classiRemark" , excelWp.get("col22", i));
map.put("USERID" , request.getSession().getAttribute("USERID")); map.put("USERID" , request.getSession().getAttribute("USERID"));
map.put("graphImage" , params.get("GRAPH_IMAGE"+i) ); map.put("graphImage" , params.get("GRAPH_IMAGE"+i) );
map.put("graphLocal" , params.get("GRAPH_LOCAL"+i) ); map.put("graphLocal" , params.get("GRAPH_LOCAL"+i) );