feat: 기본물성시험 건너뛰기 추가 구현

main
thkim 2024-07-29 13:12:14 +09:00
parent 373f1429da
commit e47c88fb6c
8 changed files with 82 additions and 8 deletions

View File

@ -649,9 +649,9 @@ public class MainController
if(!"".equals(searchKey) && searchKey != null && !"null".equals(searchKey) && !"undefined".equals(searchKey)) { if(!"".equals(searchKey) && searchKey != null && !"null".equals(searchKey) && !"undefined".equals(searchKey)) {
searchKey = (String)params.get("searchKey"); searchKey = (String)params.get("searchKey");
searchKey = searchKey.replaceAll(" ", "");
}else { }else {
searchKey = ""; searchKey = "";
} }
String userid = ""; String userid = "";

View File

@ -1,6 +1,7 @@
package geoinfo.regi.sampleInfo; package geoinfo.regi.sampleInfo;
import geoinfo.regi.common.service.CommonService; import geoinfo.regi.common.service.CommonService;
import geoinfo.regi.header.service.HeaderService;
import geoinfo.regi.sampleInfo.service.SampleInfoService; import geoinfo.regi.sampleInfo.service.SampleInfoService;
import ictway.comm.util.parseData; import ictway.comm.util.parseData;
import ictway.comm.util.strUtil; import ictway.comm.util.strUtil;
@ -11,6 +12,7 @@ import java.net.MalformedURLException;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -42,6 +44,9 @@ public class SampleInfoController {
@Resource(name = "commonService") @Resource(name = "commonService")
private CommonService commonService; private CommonService commonService;
@Resource(name = "headerService")
private HeaderService headerService;
/* 20231223 /* 20231223
* @Autowired * @Autowired
@ -216,11 +221,18 @@ public class SampleInfoController {
} }
boolean isFoundSkipSampleInfo = false;
String projectCode = "";
for (int i = 0; i < jobNodeDOC.getLength(); i++) { for (int i = 0; i < jobNodeDOC.getLength(); i++) {
String job = jobNodeDOC.item(i).getFirstChild().getNodeValue(); String job = jobNodeDOC.item(i).getFirstChild().getNodeValue();
Element data = (Element)dataNodeDOC.item(i); Element data = (Element)dataNodeDOC.item(i);
String key; String key;
if ("ignore".equals(job) ) {
isFoundSkipSampleInfo = true;
}
if ("U".equals(job) || "I".equals(job) || "ignore".equals(job) ) { // delete, insert 처리 if ("U".equals(job) || "I".equals(job) || "ignore".equals(job) ) { // delete, insert 처리
NodeList nPROJECT_CODE=data.getElementsByTagName("projectCode"); NodeList nPROJECT_CODE=data.getElementsByTagName("projectCode");
@ -238,6 +250,8 @@ public class SampleInfoController {
NodeList nSAMPLE_RD=data.getElementsByTagName("sampleRd"); NodeList nSAMPLE_RD=data.getElementsByTagName("sampleRd");
NodeList nSAMPLE_DESC=data.getElementsByTagName("sampleDesc"); NodeList nSAMPLE_DESC=data.getElementsByTagName("sampleDesc");
projectCode = wUtil.isNullNode(nPROJECT_CODE );
params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE )); params.put("PROJECT_CODE", wUtil.isNullNode(nPROJECT_CODE ));
params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE )); params.put("HOLE_CODE", wUtil.isNullNode(nHOLE_CODE ));
params.put("SAMPLE_CODE", wUtil.isNullNode(nHOLE_CODE ) + wUtil.isNullNode(nSAMPLE_NUMBER )); params.put("SAMPLE_CODE", wUtil.isNullNode(nHOLE_CODE ) + wUtil.isNullNode(nSAMPLE_NUMBER ));
@ -273,6 +287,29 @@ public class SampleInfoController {
} }
//현재 저장된 시료형태에 따른 토사시험정보 삭제 //현재 저장된 시료형태에 따른 토사시험정보 삭제
if( isFoundSkipSampleInfo ) {
Map<String, Object> map = new HashMap<>();
map.put("projectCode", projectCode);
map.put("SAMPLEINFO_EXCEPTION", "Y" );
headerService.sampleInfoEx(map);
} else {
Map<String, Object> map = new HashMap<>();
map.put("projectCode", projectCode);
map.put("SAMPLEINFO_EXCEPTION", null);
headerService.sampleInfoEx(map);
}
params.put("PROJECT_CODE", projectCode);
if( sampleService.isSkipedSampleInfo(params) ) {
System.out.println(
"\n--------------------------------------------------------------\n" +
request.getRequestURI() + " " + " 기본물성시험이 없는 시추공:" +
"\n--------------------------------------------------------------\n" +
"PROJECT_CODE:[" + projectCode + "]\n" +
"\n--------------------------------------------------------------\n"
);
}
wUtil.deleteSandInfo(oPROJECT_CODE,oHOLE_CODE,request,params,sampleService); wUtil.deleteSandInfo(oPROJECT_CODE,oHOLE_CODE,request,params,sampleService);

View File

@ -43,5 +43,8 @@ int deleteTempConsolidation(HashMap<String, Object> params) throws Exception;
int deleteTempTriaxialUu(HashMap<String, Object> params) throws Exception; int deleteTempTriaxialUu(HashMap<String, Object> params) throws Exception;
int deleteTempTriaxialUsual(HashMap<String, Object> params) throws Exception; int deleteTempTriaxialUsual(HashMap<String, Object> params) throws Exception;
ArrayList<EgovMap> isSkipedSampleInfo(HashMap<String, Object> params) throws Exception;
} }

View File

@ -41,4 +41,6 @@ public interface SampleInfoService {
int deleteTempTriaxialUu(HashMap<String, Object> params) throws Exception; int deleteTempTriaxialUu(HashMap<String, Object> params) throws Exception;
int deleteTempTriaxialUsual(HashMap<String, Object> params) throws Exception; int deleteTempTriaxialUsual(HashMap<String, Object> params) throws Exception;
boolean isSkipedSampleInfo(HashMap<String, Object> params) throws Exception;
} }

View File

@ -112,5 +112,15 @@ public class SampleInfoServiceImpl implements SampleInfoService {
return sampleInfoMapper.deleteTempTriaxialUsual(params); return sampleInfoMapper.deleteTempTriaxialUsual(params);
} }
@Override
public boolean isSkipedSampleInfo(HashMap<String, Object> params) throws Exception {
ArrayList<EgovMap> result = sampleInfoMapper.isSkipedSampleInfo(params);
if( result != null && result.size() == 1 ) {
return true;
}
return false;
}
} }

View File

@ -218,5 +218,24 @@ WHERE PROJECT_CODE=#{PROJECT_CODE}
(SELECT SAMPLE_CODE FROM TEMP_SAMPLE_INFO WHERE PROJECT_CODE=#{PROJECT_CODE} AND HOLE_CODE=#{HOLE_CODE}) (SELECT SAMPLE_CODE FROM TEMP_SAMPLE_INFO WHERE PROJECT_CODE=#{PROJECT_CODE} AND HOLE_CODE=#{HOLE_CODE})
]]> ]]>
</delete> </delete>
<select id="isSkipedSampleInfo" parameterType="map" resultType="egovMap">
<![CDATA[
SELECT *
FROM (
SELECT
*
FROM
TEMP_SAMPLE_INFO tsi
WHERE
tsi.DATETIME IS NOT NULL AND
tsi.PROJECT_CODE = #{PROJECT_CODE} AND
tsi.SAMPLE_CODE LIKE '%-999'
ORDER BY
tsi.DATETIME desc
)
WHERE ROWNUM = 1
]]>
</select>
</mapper> </mapper>

View File

@ -19,7 +19,7 @@
<!-- customizing --> <!-- customizing -->
<link href="../popups/com/css/components.css" rel="stylesheet" type="text/css" /> <link href="../popups/com/css/components.css" rel="stylesheet" type="text/css" />
<link href="../popups/com/css/default.css" rel="stylesheet" type="text/css" /> <link href="../popups/com/css/default.css" rel="stylesheet" type="text/css" />
<link href="../popups/com/css/custom.css" rel="stylesheet" type="text/css" /> <link href="../popups/com/css/custom.css?v=20240729_0001" rel="stylesheet" type="text/css" />
<title>설문조사</title> <title>설문조사</title>
</head> </head>

View File

@ -857,7 +857,7 @@ function fn_grid_refresh(){
editor: comboEditor2, editor: comboEditor2,
template: "#=getTeacherName2((sampleShape == null) ? ' ' : sampleShape)#", template: "#=getTeacherName2((sampleShape == null) ? ' ' : sampleShape)#",
}, },
{ field: "sampleWc", title: "함수비(%)", editor: chooseEditor, width:100, attributes: { style:"text-align: right" }, { 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" },
format:"{0:n2}", format:"{0:n2}",
template: function (dataItem) { template: function (dataItem) {
if (dataItem.sampleWc == null) if (dataItem.sampleWc == null)
@ -866,7 +866,7 @@ function fn_grid_refresh(){
return dataItem.sampleWc; return dataItem.sampleWc;
} }
}, },
{ field: "sampleGs", title: "비중", editor: chooseEditor, width:100, attributes: { style:"text-align: right" }, { 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" },
template: function (dataItem) { template: function (dataItem) {
if (dataItem.sampleGs == null) if (dataItem.sampleGs == null)
dataItem._set("sampleGs", "0"); dataItem._set("sampleGs", "0");
@ -874,7 +874,7 @@ function fn_grid_refresh(){
return dataItem.sampleGs; return dataItem.sampleGs;
} }
}, },
{ field: "sampleLl", title: "액성한계(%)", editor: chooseEditor, width:100, attributes: { style:"text-align: right" }, { 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" },
template: function (dataItem) { template: function (dataItem) {
if (dataItem.sampleLl == null) if (dataItem.sampleLl == null)
dataItem._set("sampleLl", "0"); dataItem._set("sampleLl", "0");
@ -882,7 +882,7 @@ function fn_grid_refresh(){
return dataItem.sampleLl; return dataItem.sampleLl;
} }
}, },
{ field: "samplePi", title: "소성지수", editor: chooseEditor, width:100, attributes: { style:"text-align: right" }, { 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" },
template: function (dataItem) { template: function (dataItem) {
if (dataItem.samplePi == null) if (dataItem.samplePi == null)
dataItem._set("samplePi", "0"); dataItem._set("samplePi", "0");
@ -891,7 +891,7 @@ function fn_grid_refresh(){
} }
}, },
{ field: "sampleDesc", title: "비고", width:100, attributes: { style:"text-align: left" }, template: "<div class='td-data'>#= (sampleDesc == null) ? '0' : sampleDesc #</div>" }, { field: "sampleDesc", title: "비고", width:100, attributes: { style:"text-align: left" }, template: "<div class='td-data'>#= (sampleDesc == null) ? '0' : sampleDesc #</div>" },
{ field: "sampleRd", title: "단위중량(${sampleUnit})", editor: chooseEditor, width:140, attributes: { style:"text-align: right" }, { 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" },
template: function (dataItem) { template: function (dataItem) {
if (dataItem.sampleRd == null) if (dataItem.sampleRd == null)
dataItem._set("sampleRd", "0"); dataItem._set("sampleRd", "0");
@ -1079,12 +1079,15 @@ function fn_grid_refresh(){
</script> </script>
<div style="text-align: right;">
<span style="color:red;">기본물성시험을 하지 않은 시추공인 경우, 입력없이 저장하시면 됩니다.<span style="font-size: 20px; font-weight: 900; padding: 0px 20px;">↑</span></span>
</div>
<div id="kictGrid" class="kist-grid kist-grid-scroll-400" data-target="grid"></div> <div id="kictGrid" class="kist-grid kist-grid-scroll-400" data-target="grid"></div>
<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">
※ 시료번호 변경시, 입력된 토사시험정보가 삭제됩니다. &nbsp; <span style="color:red;">('함수비(%)', '비중', '액성한계(%)', '소성지수', '단위중량()' 값없을 시, 음수 -999 입력 )</span> ※ 시료번호 변경시, 입력된 토사시험정보가 삭제됩니다.</span>
</p> </p>
</div> </div>
</div> </div>