fix: 일축압축 S-S 그래프 입력 오류 수정 건

암석시험정보 > 일축압축에서 '일축압축시험결과 그래프'에서 파괴형태 만 업로드 후 저장한다. 그리고 다시 Stress-Strain 그래프만 업로드하려고 하면 아래와 같이 에러가 발생한다.
main
thkim 2025-01-07 14:46:10 +09:00
parent 4bc15f36da
commit 21a2a6780b
9 changed files with 140 additions and 136 deletions

View File

@ -1,7 +1,3 @@
#src\main\resources\egovframework\egovProps\globals.properties #src\main\resources\egovframework\egovProps\globals.properties
# 일축압축 첨부파일 하나 씩 올리면 에러나는 버그 # 일축압축 첨부 파일 하나 씩 올리면 에러나는 버그 수정중.. 2025-01-06 18:01
src\main\webapp\WEB-INF\views\web\input\sand\unconfined_usual.jsp src\main\webapp\WEB-INF\views\web\input\uniaxial\rockUniaxial.jsp
src\main\webapp\WEB-INF\views\web\input\uniaxial\rockUniaxial.jsp
# 검색유통 사업 검색
src\main\java\geoinfo\map\projectSearch\MapProjectSearchController.java

View File

@ -309,9 +309,10 @@ public class ProjectListController {
return "/web/index_db"; return "/web/index_db";
} }
// 지반정보등록 (관리자) // 지반정보등록 (관리자 및 사용자)
@RequestMapping(value = "/checkList.do") @RequestMapping(value = "/checkList.do")
public ModelAndView checkList(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ public ModelAndView checkList(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
request.setCharacterEncoding("euc-kr"); request.setCharacterEncoding("euc-kr");
String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID")); String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
model.addObject("userId", LoginUserId); model.addObject("userId", LoginUserId);
@ -359,117 +360,117 @@ public class ProjectListController {
params.put("PROJECT_CODE", p_code); params.put("PROJECT_CODE", p_code);
//프로젝트명, 측선수, 시추공수 //프로젝트명, 측선수, 시추공수
result = masterService.getInfo(params); result = masterService.getInfo(params);
model.addObject("result", result); model.addObject("result", result);
//메타정보 //메타정보
arrayMeta = masterService.getProjectMetaInfo(params); arrayMeta = masterService.getProjectMetaInfo(params);
model.addObject("arrayMeta", arrayMeta); model.addObject("arrayMeta", arrayMeta);
//프로젝트정보 //프로젝트정보
arrayProject = masterService.getProjectInfo(params); arrayProject = masterService.getProjectInfo(params);
model.addObject("arrayProject", arrayProject); model.addObject("arrayProject", arrayProject);
//지형지질정보 //지형지질정보
arrayTopo = masterService.getTopoGeology(params); arrayTopo = masterService.getTopoGeology(params);
model.addObject("arrayTopo", arrayTopo); model.addObject("arrayTopo", arrayTopo);
//시추공정보 //시추공정보
arrayHeader = masterService.getHeader(params); arrayHeader = masterService.getHeader(params);
model.addObject("arrayHeader", arrayHeader); model.addObject("arrayHeader", arrayHeader);
//지층정보 //지층정보
arrayLayer = masterService.getLayerInfo(params); arrayLayer = masterService.getLayerInfo(params);
model.addObject("arrayLayer", arrayLayer); model.addObject("arrayLayer", arrayLayer);
//표준관입시험 //표준관입시험
arraySpt = masterService.getSpt(params); arraySpt = masterService.getSpt(params);
model.addObject("arraySpt", arraySpt); model.addObject("arraySpt", arraySpt);
//TCRRQD //TCRRQD
arrayRqd = masterService.getRqd(params); arrayRqd = masterService.getRqd(params);
model.addObject("arrayRqd", arrayRqd); model.addObject("arrayRqd", arrayRqd);
//DSF //DSF
arrayDsf = masterService.getDsf(params); arrayDsf = masterService.getDsf(params);
model.addObject("arrayDsf", arrayDsf); model.addObject("arrayDsf", arrayDsf);
//공내재하 //공내재하
arrayMeter = masterService.getFieldPressuremeter(params); arrayMeter = masterService.getFieldPressuremeter(params);
model.addObject("arrayMeter", arrayMeter); model.addObject("arrayMeter", arrayMeter);
//절리정보 //절리정보
arraySlick = masterService.getSlickensideInfo(params); arraySlick = masterService.getSlickensideInfo(params);
model.addObject("arraySlick", arraySlick); model.addObject("arraySlick", arraySlick);
//Q //Q
arrayQ = masterService.getQ(params); arrayQ = masterService.getQ(params);
model.addObject("arrayQ", arrayQ); model.addObject("arrayQ", arrayQ);
//RMR //RMR
arrayRmr = masterService.getRmr(params); arrayRmr = masterService.getRmr(params);
//현장수압 //현장수압
arrayWater = masterService.getFieldWaterpressure(params); arrayWater = masterService.getFieldWaterpressure(params);
//현장투수 //현장투수
arrayPer = masterService.getFieldPermeability(params); arrayPer = masterService.getFieldPermeability(params);
//콘관입 //콘관입
arrayCone = masterService.getConePenetration(params); arrayCone = masterService.getConePenetration(params);
//기본물성시험 //기본물성시험
arraySample = masterService.getSampleInfo(params); arraySample = masterService.getSampleInfo(params);
model.addObject("arraySample", arraySample); model.addObject("arraySample", arraySample);
//토사 - 압밀시험 //토사 - 압밀시험
arrayConsolidation = masterService.getConsolidation(params); arrayConsolidation = masterService.getConsolidation(params);
//토사 - 공진주 //토사 - 공진주
arrayResonant = masterService.getResonant(params); arrayResonant = masterService.getResonant(params);
//토사 - 반복삼축 //토사 - 반복삼축
arrayRT = masterService.getRepeatedTriaxial(params); arrayRT = masterService.getRepeatedTriaxial(params);
//암석 - 일축압축 //암석 - 일축압축
arrayRockUniaxial = masterService.getRockUniaxial(params); arrayRockUniaxial = masterService.getRockUniaxial(params);
//암석 - 삼축압축 //암석 - 삼축압축
arrayRockTriaxial = masterService.getRockTriaxial(params); arrayRockTriaxial = masterService.getRockTriaxial(params);
//암석 - 점하중 //암석 - 점하중
arrayRockPointload = masterService.getRockPointload(params); arrayRockPointload = masterService.getRockPointload(params);
//암석 - 절리면전단 //암석 - 절리면전단
arrayRockJointshear = masterService.getRockJointshear(params); arrayRockJointshear = masterService.getRockJointshear(params);
//암석 - 공진주 //암석 - 공진주
arrayRockResonant = masterService.getRockResonant(params); arrayRockResonant = masterService.getRockResonant(params);
//암석 - 반복삼축 //암석 - 반복삼축
arrayRockRT = masterService.getRockRepeatedTriaxial(params); arrayRockRT = masterService.getRockRepeatedTriaxial(params);
//PS검층 //PS검층
arrayBorehole = masterService.getBorehole(params); arrayBorehole = masterService.getBorehole(params);
//하향식 탄성파 //하향식 탄성파
arrayDownhole = masterService.getDownhole(params); arrayDownhole = masterService.getDownhole(params);
//밀도검층 //밀도검층
arrayDensity = masterService.getDensity(params); arrayDensity = masterService.getDensity(params);
//전기비저항 //전기비저항
arrayResistivity = masterService.getResistivity(params); arrayResistivity = masterService.getResistivity(params);
//굴절법탄성파 //굴절법탄성파
arrayRefraction = masterService.getRefraction(params); arrayRefraction = masterService.getRefraction(params);
//전문가의견 //전문가의견
arrayExpert = masterService.getExpertOpinion(params); arrayExpert = masterService.getExpertOpinion(params);
EgovMap sampleInfoExYn = headerService.sampleInfoException(params); EgovMap sampleInfoExYn = headerService.sampleInfoException(params);
sampleInfoExYn.put("sampleInfoException", (sampleInfoExYn.get("sampleInfoException") != null) ? sampleInfoExYn.get("sampleInfoException") : "N"); sampleInfoExYn.put("sampleInfoException", (sampleInfoExYn.get("sampleInfoException") != null) ? sampleInfoExYn.get("sampleInfoException") : "N");
model.addObject("sampleInfoExYn", sampleInfoExYn); model.addObject("sampleInfoExYn", sampleInfoExYn);
model.addObject("arrayExpert", arrayExpert); model.addObject("arrayExpert", arrayExpert);
model.setViewName("/web/project/checklist"); model.setViewName("/web/project/checklist");
return model; return model;
} }

View File

@ -28,19 +28,17 @@
<!-- 입력중, 수정요청 프로젝트 --> <!-- 입력중, 수정요청 프로젝트 -->
<select id="selectCnt" resultType="String"> <select id="selectCnt" resultType="String">
<![CDATA[
SELECT COUNT(PROJECT_CODE) CNT SELECT COUNT(PROJECT_CODE) CNT
<![CDATA[
FROM TEMP_PROJECT_INFO FROM TEMP_PROJECT_INFO
WHERE WHERE
NVL(USE_YN,' ') <> 'N' AND NVL(USE_YN,' ') <> 'N' AND
<if test="userId != null">
USERID = #{userId} AND ]]>
</if> <if test="userId != null">
<if test="userid != null"> USERID = #{userId} AND
USERID = #{userid} AND </if>
</if> STATE= #{state}
STATE= #{state}
]]>
</select> </select>
<!-- 시추공수 --> <!-- 시추공수 -->

View File

@ -659,17 +659,19 @@
</select> </select>
<select id="selectProjectList" parameterType="map" resultType="egovMap"> <select id="selectProjectList" parameterType="map" resultType="egovMap">
<![CDATA[
SELECT SELECT
* *
FROM FROM
TBL_PROJECT_INFO TBL_PROJECT_INFO
WHERE WHERE
<![CDATA[
NVL(USE_YN,' ') <> 'N' AND TRIM(PROJECT_CODE) IN NVL(USE_YN,' ') <> 'N' AND TRIM(PROJECT_CODE) IN
]]>
<foreach collection="projectList" item="project" index="index" open="(" close=")" separator=","> <foreach collection="projectList" item="project" index="index" open="(" close=")" separator=",">
#{project} #{project}
</foreach> </foreach>
]]>
</select> </select>
<select id="selectWebDownloadLog" parameterType="map" resultType="egovMap"> <select id="selectWebDownloadLog" parameterType="map" resultType="egovMap">
@ -1047,8 +1049,7 @@
]]> ]]>
</select> </select>
<select id="selectTblProjectInformationYn" parameterType="map" resultType="egovMap"> <select id="selectTblProjectInformationYn" parameterType="map" resultType="egovMap">
<![CDATA[
select select
b.HOLE_CODE, b.HOLE_CODE,
B.HOLE_TOTAL_DEPTH DEPTH, B.HOLE_TOTAL_DEPTH DEPTH,
@ -1384,7 +1385,7 @@
<if test="density != 0"> <if test="density != 0">
left join (select distinct(hole_code) from TBL_DENSITY where hole_code like #{pcodePer}) C3 on C3.hole_code = b.hole_code left join (select distinct(hole_code) from TBL_DENSITY where hole_code like #{pcodePer}) C3 on C3.hole_code = b.hole_code
</if> </if>
<![CDATA[
where NVL(B.USE_YN,' ') <> 'N' AND b.project_code = #{pcode} order by b.hole_code where NVL(B.USE_YN,' ') <> 'N' AND b.project_code = #{pcode} order by b.hole_code
]]> ]]>
</select> </select>

View File

@ -28,14 +28,13 @@
TBL_CLASS_DETAIL A, TBL_PROJECT_INFO B TBL_CLASS_DETAIL A, TBL_PROJECT_INFO B
WHERE WHERE
NVL(B.USE_YN,' ') <> 'N' AND A.CLASS_DETAIL_CODE = B.CLASS_CODE NVL(B.USE_YN,' ') <> 'N' AND A.CLASS_DETAIL_CODE = B.CLASS_CODE
]]>
<if test="masterCode != 0"> <if test="masterCode != 0">
AND B.PROJECT_MASTER_COMPANY_CODE = #{masterCode} AND B.PROJECT_MASTER_COMPANY_CODE = #{masterCode}
</if> </if>
GROUP BY A.CLASS_DETAIL_NAME , A.CLASS_DETAIL_CODE GROUP BY A.CLASS_DETAIL_NAME , A.CLASS_DETAIL_CODE
ORDER BY A.CLASS_DETAIL_CODE ORDER BY A.CLASS_DETAIL_CODE
]]>
</select> </select>
<select id="selectTblWorkCompany" parameterType="map" resultType="egovMap"> <select id="selectTblWorkCompany" parameterType="map" resultType="egovMap">

View File

@ -218,37 +218,36 @@ INSERT INTO TEMP_META_INFO (
]]> ]]>
</select> </select>
<select id="getHeader" parameterType="map" resultType="java.util.HashMap"> <select id="getHeader" parameterType="map" resultType="java.util.HashMap">
<![CDATA[ <![CDATA[
SELECT B.HOLE_CODE, SELECT B.HOLE_CODE,
NVL(A.HOLE_NAME,'시추공정보없음') || '(' || SUBSTR(B.HOLE_CODE,6) || ')' AS HOLE_FULL_NAME, NVL(A.HOLE_NAME,'시추공정보없음') || '(' || SUBSTR(B.HOLE_CODE,6) || ')' AS HOLE_FULL_NAME,
DECODE(NVL(HOLE_NAME,''),'','시추공명-필수입력<br/>','') AS HOLE_NAME, DECODE(NVL(HOLE_NAME,''),'','시추공명-필수입력<br/>','') AS HOLE_NAME,
DECODE(NVL(HOLE_ADMIN_DISTRICT_SD,''),'','시추위치(시도) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT_SD, DECODE(NVL(HOLE_ADMIN_DISTRICT_SD,''),'','시추위치(시도) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT_SD,
DECODE(NVL(HOLE_ADMIN_DISTRICT_SGG,''),'','시추위치(시군구) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT_SGG, DECODE(NVL(HOLE_ADMIN_DISTRICT_SGG,''),'','시추위치(시군구) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT_SGG,
DECODE(NVL(HOLE_ADMINISTRATIVE_DISTRICT,''),'','시추위치(상세) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT, DECODE(NVL(HOLE_ADMINISTRATIVE_DISTRICT,''),'','시추위치(상세) - 필수입력<br/>','') AS HOLE_ADMIN_DISTRICT,
DECODE(NVL(HOLE_COORDINATE,''),'','좌표기준 - 필수입력<br/>','') AS HOLE_COORDINATE, DECODE(NVL(HOLE_COORDINATE,''),'','좌표기준 - 필수입력<br/>','') AS HOLE_COORDINATE,
DECODE(NVL(HOLE_OR_X,''),'','좌표값 - 필수입력<br/>','') AS HOLE_OR_X, DECODE(NVL(HOLE_OR_X,''),'','좌표값 - 필수입력<br/>','') AS HOLE_OR_X,
DECODE(NVL(HOLE_OR_Y,''),'','좌표값 - 필수입력<br/>','') AS HOLE_OR_Y, DECODE(NVL(HOLE_OR_Y,''),'','좌표값 - 필수입력<br/>','') AS HOLE_OR_Y,
DECODE(NVL(HOLE_BORING_BY,''),'','시추자 - 필수입력<br/>','') AS HOLE_BORING_BY, DECODE(NVL(HOLE_BORING_BY,''),'','시추자 - 필수입력<br/>','') AS HOLE_BORING_BY,
DECODE(NVL(HOLE_INSPECTED_BY,''),'','조사자 - 필수입력<br/>','') AS HOLE_INSPECTED_BY, DECODE(NVL(HOLE_INSPECTED_BY,''),'','조사자 - 필수입력<br/>','') AS HOLE_INSPECTED_BY,
DECODE(NVL(HOLE_DATE_FROM,''),'','시추시작일 - 필수입력<br/>','') AS HOLE_DATE_FROM, DECODE(NVL(HOLE_DATE_FROM,''),'','시추시작일 - 필수입력<br/>','') AS HOLE_DATE_FROM,
DECODE(NVL(HOLE_DATE_TO,''),'','시추종료일 - 필수입력<br/>','') AS HOLE_DATE_TO, DECODE(NVL(HOLE_DATE_TO,''),'','시추종료일 - 필수입력<br/>','') AS HOLE_DATE_TO,
CASE WHEN NVL(HOLE_DATE_FROM,'') > NVL(HOLE_DATE_TO,'') THEN '시추시작일 - 시추종료일보다 이전날짜 입력<br/>' ELSE '' END HOLE_DATE_FROMTO, CASE WHEN NVL(HOLE_DATE_FROM,'') > NVL(HOLE_DATE_TO,'') THEN '시추시작일 - 시추종료일보다 이전날짜 입력<br/>' ELSE '' END HOLE_DATE_FROMTO,
DECODE(NVL(HOLE_EL,''), '', '표고- 필수입력<br/>', '') AS HOLE_EL, DECODE(NVL(HOLE_EL,''), '', '표고- 필수입력<br/>', '') AS HOLE_EL,
DECODE(NVL(HOLE_TOTAL_DEPTH,''),'','굴진심도 - 필수입력<br/>','') AS HOLE_TOTAL_DEPTH, DECODE(NVL(HOLE_TOTAL_DEPTH,''),'','굴진심도 - 필수입력<br/>','') AS HOLE_TOTAL_DEPTH,
DECODE(NVL(HOLE_LAYER_NUM,''),'','지층수 - 필수입력<br/>','') AS HOLE_LAYER_NUM, DECODE(NVL(HOLE_LAYER_NUM,''),'','지층수 - 필수입력<br/>','') AS HOLE_LAYER_NUM,
DECODE(NVL(HOLE_DIA,''),'','시추공경 - 필수입력<br/>','') AS HOLE_DIA, DECODE(NVL(HOLE_DIA,''),'','시추공경 - 필수입력<br/>','') AS HOLE_DIA,
DECODE(NVL(HOLE_BORING_MACHINE,''),'','시추장비 - 필수입력<br/>','') AS HOLE_BORING_MACHINE, DECODE(NVL(HOLE_BORING_MACHINE,''),'','시추장비 - 필수입력<br/>','') AS HOLE_BORING_MACHINE,
DECODE(NVL(HOLE_BORING_METHOD,''),'','시추방법 - 필수입력<br/>','') AS HOLE_BORING_METHOD, DECODE(NVL(HOLE_BORING_METHOD,''),'','시추방법 - 필수입력<br/>','') AS HOLE_BORING_METHOD,
CASE WHEN NVL(HOLE_TOTAL_DEPTH, '') = '' THEN ''
CASE WHEN NVL(HOLE_TOTAL_DEPTH, '') = '' THEN '' WHEN HOLE_TOTAL_DEPTH > (SELECT NVL(MAX(LAYER_DEPTH_TO),0) FROM TEMP_LAYER_INFO SA
WHEN HOLE_TOTAL_DEPTH > (SELECT NVL(MAX(LAYER_DEPTH_TO),0) FROM TEMP_LAYER_INFO SA WHERE SA.PROJECT_CODE = A.PROJECT_CODE
WHERE SA.PROJECT_CODE = A.PROJECT_CODE AND SA.HOLE_CODE = A.HOLE_CODE
AND SA.HOLE_CODE = A.HOLE_CODE ) THEN '굴진심도- 지층정보 심도_TO 보다 작거나 같게 입력<br/>'
) THEN '굴진심도- 지층정보 심도_TO 보다 작거나 같게 입력<br/>' ELSE ''
ELSE '' END HOLE_TOTAL_DEPTH_ERR1
END HOLE_TOTAL_DEPTH_ERR1 FROM TEMP_HEADER A , TABLE(FUNC_HOLECODE_LIST(#{PROJECT_CODE})) B WHERE NVL(A.USE_YN,' ') <> 'N' AND A.PROJECT_CODE(+) = B.PROJECT_CODE AND A.HOLE_CODE(+) = B.HOLE_CODE ORDER BY B.POSITION, B.HOLE_CODE
FROM TEMP_HEADER A , TABLE(FUNC_HOLECODE_LIST(#{PROJECT_CODE})) B WHERE NVL(A.USE_YN,' ') <> 'N' AND A.PROJECT_CODE(+) = B.PROJECT_CODE AND A.HOLE_CODE(+) = B.HOLE_CODE ORDER BY B.POSITION, B.HOLE_CODE ]]>
]]>
</select> </select>
<select id="getLayerInfo" parameterType="map" resultType="java.util.HashMap"> <select id="getLayerInfo" parameterType="map" resultType="java.util.HashMap">
<![CDATA[ <![CDATA[

View File

@ -1764,7 +1764,7 @@ function fn_HoleLoad(){
<tr> <tr>
<th class="td-head">케이싱심도(m) </th> <th class="td-head">케이싱심도(m) </th>
<td colspan="3">(-) : <td colspan="3">(-) :
<input name="HOLE_CASING_DEPTH" id="HOLE_CASING_DEPTH" type="text" style="width:200px;" maxlength="11" value="${mapHeader.holeCasingDepth == -999 ? '-' : mapHeader.holeCasingDepth}" valid="notnull" validNm="케이싱심도"/> m (케이싱심도 ≤ 굴진심도) <input name="HOLE_CASING_DEPTH" id="HOLE_CASING_DEPTH" type="text" style="width:200px;" maxlength="11" value="${mapHeader.holeCasingDepth == -999 ? '-' : mapHeader.holeCasingDepth}" valid="notnull" validNm="케이싱심도"/> m (케이싱심도 ≤ 굴진심도) <span style="color:blue">[값이 없는 경우, <span style="color:red; "> - </span>(하이픈) 입력]</span>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -162,12 +162,22 @@ function fn_save(rUrl){
fn_fileTotalCheck(fileImgID2); fn_fileTotalCheck(fileImgID2);
} }
if( fileImgBkCheck1 && fileImgCheck1 ) {
alert("파괴형태 그림 첨부는 필수입니다.");
return false;
} else if( fileImgBkCheck2 && fileImgCheck2 ) {
alert("Stress-Strain 그래프 첨부는 필수입니다.");
return false;
}
/*
if(fileImgCheck1 === true || fileImgCheck2 === true){ if(fileImgCheck1 === true || fileImgCheck2 === true){
if (fileImgBkCheck1 === true || fileImgBkCheck2 === true){ if (fileImgBkCheck1 === true || fileImgBkCheck2 === true){
alert("그래프 업로드는 필수입니다."); alert("그래프 업로드는 필수입니다.");
return false; return false;
} }
} }
*/
/* if(fileImgBkCheck1 === true || fileImgBkCheck2 === true){ */ /* if(fileImgBkCheck1 === true || fileImgBkCheck2 === true){ */
/* } */ /* } */
//그리드 저장 //그리드 저장

Binary file not shown.