feat: 자료실 파일명이 긴 경우 다운로드 안 되는 버그 수정
parent
0ed51bee5b
commit
c76c288ad3
|
|
@ -313,8 +313,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
// TODO Auto-generated method stub
|
||||
if( userId == null || userId.trim().isEmpty() ) {
|
||||
throw new Exception( "로그인이 필요한 서비스입니다." );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
String projectMasterCompanyCode = loginMapper.findProjectMasterCompanyCodeByUserid(userId);
|
||||
|
|
|
|||
|
|
@ -164,7 +164,8 @@ public class ManageExcelUploadProc03Controller {
|
|||
* @throws Exception
|
||||
*/
|
||||
@SuppressWarnings({ "unchecked"})
|
||||
@RequestMapping(value = "/stepSave03.do", method = RequestMethod.POST)
|
||||
//@RequestMapping(value = "/stepSave03.do", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "/stepSave03.do", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||
public @ResponseBody String stepSave03(@RequestParam HashMap<String,Object> params, ModelMap model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
|
||||
WebUtil wUtil = new WebUtil();
|
||||
strUtil sUtil = new strUtil();
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ import geoinfo.map.mapControl.service.MapControlService;
|
|||
import geoinfo.regi.selectClassInfo.service.SelectClassService;
|
||||
import geoinfo.regi.status.service.RegiPageService;
|
||||
import geoinfo.regi.util.exportGeotechnicalPointShp2;
|
||||
import geoinfo.util.MyUtil;
|
||||
import ictway.comm.util.parseData;
|
||||
import ictway.comm.util.strUtil;
|
||||
import ictway.comm.web.WebUtil;
|
||||
|
|
@ -113,13 +114,34 @@ public class RegiController {
|
|||
// String srchReportType = sUtil.checkNull(parseData.parseData(String.valueOf(params.get("searchReportType"))));
|
||||
String userId = String.valueOf(request.getSession().getAttribute("USERID"));
|
||||
|
||||
// 첫 페이지 로딩일 경우 최근 3개월 데이터로 조회
|
||||
params.put("userId", userId);
|
||||
|
||||
// 첫 페이지에서
|
||||
// 사용자가 등록한 프로젝트를 조회한다. 등록된 프로젝트가 없다면 최근 3개월 데이터로 조회 한다.
|
||||
if ("search".equals(srchMode) == false) {
|
||||
srchStartDate = wUtil.getMonthDay(-3);
|
||||
|
||||
String minDatetime = null;
|
||||
String maxDatetime = null;
|
||||
|
||||
List<EgovMap> inputdateRangeByUserid = masterService.getInputdateRangeByUserid(params);
|
||||
if( 0 < inputdateRangeByUserid.size() ) {
|
||||
EgovMap inputdateRangeByUseridItem = inputdateRangeByUserid.get(0);
|
||||
if( inputdateRangeByUseridItem != null ) {
|
||||
minDatetime = MyUtil.getStringFromObject( inputdateRangeByUseridItem.get("minDatetime") );
|
||||
maxDatetime = MyUtil.getStringFromObject( inputdateRangeByUseridItem.get("maxDatetime") );
|
||||
}
|
||||
}
|
||||
|
||||
if( minDatetime != null && maxDatetime != null ) {
|
||||
srchStartDate = minDatetime;
|
||||
} else {
|
||||
srchStartDate = wUtil.getMonthDay(-3);
|
||||
}
|
||||
|
||||
srchEndDate = wUtil.getToday();
|
||||
}
|
||||
|
||||
params.put("userId", userId);
|
||||
|
||||
params.put("projectName", srchProjectName);
|
||||
params.put("startDate", srchStartDate);
|
||||
params.put("endDate", srchEndDate);
|
||||
|
|
|
|||
|
|
@ -192,4 +192,6 @@ public interface RegiPageMapper {
|
|||
EgovMap selectModeifyCallReason(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
public ArrayList<HashMap<String, Object>> getHoleNamesByProjectCode(HashMap<String,Object> params) throws Exception;
|
||||
|
||||
List<EgovMap> getInputdateRangeByUserid(Map<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -197,4 +197,6 @@ public interface RegiPageService {
|
|||
|
||||
|
||||
public int deleteOldDatas(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
List<EgovMap> getInputdateRangeByUserid(Map<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -492,4 +492,11 @@ public class RegiPageServiceImpl implements RegiPageService {
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 아이디로 입력된 프로젝트의 최소날짜와 최대 날짜를 구한다.
|
||||
*/
|
||||
@Override
|
||||
public List<EgovMap> getInputdateRangeByUserid(Map<String, Object> params) throws Exception {
|
||||
return regiPageMapper.getInputdateRangeByUserid(params);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -308,42 +308,49 @@
|
|||
</select>
|
||||
|
||||
<select id="selectWebCartInfoItems" parameterType="map" resultType="egovMap">
|
||||
|
||||
SELECT
|
||||
RNK,HOLE_CODE,
|
||||
REPLACE(REPLACE(PROJECT_NAME, CHR(13), ''), CHR(10), '') as PROJECT_NAME,
|
||||
PROJECT_CODE, LAYER,FILEPATH,DEPTH,EL,WL,SDATE,EDATE,SPOT,PROJECT_OFFERING_MATERIALS
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY A.HOLE_DATE_FROM DESC) RNK
|
||||
,A.HOLE_CODE,B.PROJECT_NAME,B.PROJECT_CODE,
|
||||
(SELECT USCS_NAME FROM TBL_SCIENCE_LAYER_TB WHERE A.LAYER_CLASS_CODE = USCS_CODE) LAYER,
|
||||
(SELECT MAX(FILEPATH) FROM MTDT_SEARCH WHERE TRIM(A.PROJECT_CODE) = TRIM(METADATAID) GROUP BY METADATAID) FILEPATH,
|
||||
(
|
||||
SELECT
|
||||
LD_DISTRICTCODE
|
||||
FROM TBL_L_DISTRICT
|
||||
WHERE SUBSTR(B.PROJECT_START_SPOT,1,3) = LD_ID
|
||||
) AS SPOT,
|
||||
A.HOLE_TOTAL_DEPTH DEPTH,A.HOLE_EL EL,A.HOLE_WL WL, A.HOLE_DATE_FROM SDATE, A.HOLE_DATE_TO EDATE, B.PROJECT_OFFERING_MATERIALS
|
||||
FROM TBL_HEADER A, TBL_PROJECT_INFO B
|
||||
<![CDATA[
|
||||
WHERE NVL(A.USE_YN,' ') <> 'N' AND NVL(B.USE_YN,' ') <> 'N' AND A.PROJECT_CODE = B.PROJECT_CODE
|
||||
]]>
|
||||
<if test="sCode != 'No'">
|
||||
AND A.HOLE_CODE IN
|
||||
<foreach collection="sCode" item="sCode" index="index" open="(" close=")" separator=",">
|
||||
#{sCode}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="sCode == 'No'">
|
||||
AND ROWNUM = 0
|
||||
</if>
|
||||
)
|
||||
<![CDATA[
|
||||
WHERE RNK > #{firstRow} AND RNK <= #{lastRow}
|
||||
]]>
|
||||
SELECT
|
||||
RNK,HOLE_CODE,
|
||||
REPLACE(REPLACE(PROJECT_NAME, CHR(13), ''), CHR(10), '') as PROJECT_NAME,
|
||||
PROJECT_CODE, LAYER,FILEPATH,DEPTH,EL,WL,SDATE,EDATE,SPOT,PROJECT_OFFERING_MATERIALS
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY A.HOLE_DATE_FROM DESC) RNK
|
||||
,A.HOLE_CODE,B.PROJECT_NAME,B.PROJECT_CODE,
|
||||
(SELECT USCS_NAME FROM TBL_SCIENCE_LAYER_TB WHERE A.LAYER_CLASS_CODE = USCS_CODE) LAYER,
|
||||
(SELECT MAX(FILEPATH) FROM MTDT_SEARCH WHERE TRIM(A.PROJECT_CODE) = TRIM(METADATAID) GROUP BY METADATAID) FILEPATH,
|
||||
(
|
||||
SELECT
|
||||
LD_DISTRICTCODE
|
||||
FROM TBL_L_DISTRICT
|
||||
WHERE SUBSTR(B.PROJECT_START_SPOT,1,3) = LD_ID
|
||||
) AS SPOT,
|
||||
A.HOLE_TOTAL_DEPTH DEPTH,A.HOLE_EL EL,A.HOLE_WL WL, A.HOLE_DATE_FROM SDATE, A.HOLE_DATE_TO EDATE, B.PROJECT_OFFERING_MATERIALS
|
||||
FROM TBL_HEADER A, TBL_PROJECT_INFO B
|
||||
<![CDATA[
|
||||
WHERE NVL(A.USE_YN,' ') <> 'N' AND NVL(B.USE_YN,' ') <> 'N' AND A.PROJECT_CODE = B.PROJECT_CODE
|
||||
]]>
|
||||
<if test="sCode != 'No'">
|
||||
AND (
|
||||
<foreach collection="sCode" item="item" index="index" separator="OR">
|
||||
<if test="index % 1000 == 0">
|
||||
A.HOLE_CODE IN
|
||||
<foreach collection="sCode" item="sCodeItem" index="innerIndex" open="(" close=")" separator=",">
|
||||
<if test="innerIndex >= index and innerIndex < index + 1000">
|
||||
#{sCodeItem}
|
||||
</if>
|
||||
</foreach>
|
||||
</if>
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="sCode == 'No'">
|
||||
AND ROWNUM = 0
|
||||
</if>
|
||||
)
|
||||
<![CDATA[
|
||||
WHERE RNK > #{firstRow} AND RNK <= #{lastRow}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="selectWebCartLastPage" parameterType="map" resultType="egovMap">
|
||||
|
|
|
|||
|
|
@ -1421,5 +1421,17 @@ INSERT INTO TEMP_SMS_LOG (
|
|||
NVL(USE_YN,' ') <> 'N' AND PROJECT_CODE = #{PROJECT_CODE}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getInputdateRangeByUserid" parameterType="map" resultType="egovMap">
|
||||
SELECT
|
||||
MIN(TO_CHAR(tmi.DATETIME, 'YYYYMMDD')) AS "MIN_DATETIME",
|
||||
MAX(TO_CHAR(tmi.DATETIME, 'YYYYMMDD')) AS "MAX_DATETIME"
|
||||
FROM
|
||||
GEOINFO.TEMP_META_INFO tmi
|
||||
WHERE
|
||||
tmi.USERID = #{userId}
|
||||
AND tmi.REPORT_TYPE = 'CH'
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -61,17 +61,17 @@
|
|||
<td class="t-left" colspan="5">
|
||||
<c:if test="${!empty result.fileName1 }">
|
||||
<p class="attachments-row">
|
||||
<a href=javascript:fileDownload('${result.fileName1 }','${result.saveName1 }');>${result.fileName1 }</a>
|
||||
<a href="javascript:fileDownload('${result.fileName1 }','${result.saveName1 }');">${result.fileName1 }</a>
|
||||
</p>
|
||||
</c:if>
|
||||
<c:if test="${!empty result.fileName2 }">
|
||||
<p class="attachments-row">
|
||||
<a href=javascript:fileDownload('${result.fileName2 }','${result.saveName2 }');>${result.fileName2 }</a>
|
||||
<a href="javascript:fileDownload('${result.fileName2 }','${result.saveName2 }');">${result.fileName2 }</a>
|
||||
</p>
|
||||
</c:if>
|
||||
<c:if test="${!empty result.fileName3 }">
|
||||
<p class="attachments-row">
|
||||
<a href=javascript:fileDownload('${result.fileName3 }','${result.saveName3 }');>${result.fileName3 }</a>
|
||||
<a href="javascript:fileDownload('${result.fileName3 }','${result.saveName3 }');">${result.fileName3 }</a>
|
||||
</p>
|
||||
</c:if>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ function fn_help_tour(){
|
|||
<div class="input-group col-md-6 col-xs-6 col-sm-6">
|
||||
|
||||
<label class="input-label-display" for="daterangepicker1">기간</label>
|
||||
<input id="startDate" name="startDate" type="text" value="${srchStartDate }" maxlength="8" onKeyPress="submitEvent()"/>
|
||||
<input id="startDate" name="startDate" type="text" value="${srchStartDate}" maxlength="8" onKeyPress="submitEvent()"/>
|
||||
<script>
|
||||
var kendoJQuery = jQuery.noConflict(); // web/js/tree/lib/jquery.js 와 kendoUI jquery.js의 충돌방지 변수
|
||||
kendoJQuery("#startDate").kendoDatePicker({
|
||||
|
|
|
|||
|
|
@ -123,7 +123,10 @@ function fnSaveStep2() {
|
|||
var type = typeof data;
|
||||
var jsonObj = null;
|
||||
if( type === 'object' ) {
|
||||
jsonObj = data.resultData;
|
||||
jsonObj = data.resultData;
|
||||
if( typeof jsonObj === 'undefined' ) {
|
||||
jsonObj = data.response;
|
||||
}
|
||||
} else {
|
||||
jsonObj = JSON.parse(data).resultData;
|
||||
}
|
||||
|
|
@ -138,6 +141,9 @@ function fnSaveStep2() {
|
|||
var jsonObj = null;
|
||||
if( type === 'object' ) {
|
||||
jsonObj = data.responseJSON.resultData;
|
||||
if( typeof jsonObj === 'undefined' ) {
|
||||
jsonObj = data.response;
|
||||
}
|
||||
} else {
|
||||
jsonObj = JSON.parse(data.response).resultData;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue