thkim 2025-10-29 14:33:38 +09:00
commit bcbe7bcbd8
6 changed files with 494 additions and 10 deletions

View File

@ -15,6 +15,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@ -25,6 +26,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.regi.info.service.InfoService; import geoinfo.regi.info.service.InfoService;
import geoinfo.regi.manageList.service.ManageListService; import geoinfo.regi.manageList.service.ManageListService;
import geoinfo.regi.status.service.RegiPageService; import geoinfo.regi.status.service.RegiPageService;
import geoinfo.util.MyUtil;
import ictway.comm.util.parseData; import ictway.comm.util.parseData;
import ictway.comm.util.strUtil; import ictway.comm.util.strUtil;
import ictway.comm.web.WebUtil; import ictway.comm.web.WebUtil;
@ -85,7 +87,8 @@ public class ManageListController {
// SelectBox형태로 map으로 받기 // SelectBox형태로 map으로 받기
HashMap<?, ?> mapCommon = wUtil.getCommCodeSel(commCode, arrayCommon,""); HashMap<?, ?> mapCommon = wUtil.getCommCodeSel(commCode, arrayCommon,"");
ArrayList<?> result = masterService.getDataList(params); // ArrayList<?> result = masterService.getDataList(params);
ArrayList<?> result = new ArrayList<>();
count = commonService.getCommonCodeCount(); count = commonService.getCommonCodeCount();
@ -102,6 +105,59 @@ public class ManageListController {
return "/web/manage/list"; return "/web/manage/list";
}; };
/**
* kendo grid AJAX
* @throws Exception
*/
@RequestMapping("/getManageList.do")
@ResponseBody
public Map<String, Object> getManageList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String, Object> params) throws Exception {
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : 10; // 기본값 10
// 정렬 필드/방향 처리
String sortField = (String) params.get("sort[0][field]");
String sortDir = (String) params.get("sort[0][dir]");
// 기본 정렬 지정 (없을 경우)
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
if (sortDir == null || sortDir.isEmpty()) sortDir = "desc";
// MyBatis에 넣을 때는 깔끔하게 키 이름 정리
params.put("sortField", sortField);
params.put("sortDir", sortDir);
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해
String loginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
// requestString srchReportType = sUtil.checkNull(parseData.parseData((String)params.get("searchReportType")));
String searchProjectName = sUtil.checkNull(parseData.parseData((String)params.get("searchProjectName")));
String searchProjectCode = sUtil.checkNull(parseData.parseData((String)params.get("searchProjectCode")));
String searchHistSeq = sUtil.checkNull(parseData.parseData((String)params.get("searchHistSeq")));
String searchUserName = sUtil.checkNull(parseData.parseData((String)params.get("searchUserName")));
String searchState = sUtil.checkNull(parseData.parseData((String)params.get("searchState")));
params.put("loginUserId", loginUserId);
params.put("cls", nCls);
params.put("startRow", ((page - 1) * pageSize) + 1);
if (page > 1) {
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
} else {
params.put("endRow", 10);
}
List<?> items = masterService.getDataListPaging(params);
int total = masterService.getDataListCount(params);
Map<String, Object> result = new HashMap<>();
result.put("items", items);
result.put("total", total);
return result;
}
// 지반정보등록 (관리자) - 일반 입력자도 여기 로직을 통해 화면이 보여짐. // 지반정보등록 (관리자) - 일반 입력자도 여기 로직을 통해 화면이 보여짐.
@RequestMapping(value = "/meta_info.do") @RequestMapping(value = "/meta_info.do")
public String meta_info(@RequestParam HashMap<String, Object> params, public String meta_info(@RequestParam HashMap<String, Object> params,

View File

@ -9,6 +9,10 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
@Mapper("manageListMapper") @Mapper("manageListMapper")
public interface ManageListMapper { public interface ManageListMapper {
public Integer getDataListCount(HashMap<String,Object> params) throws Exception;
public ArrayList<?> getDataListPaging(HashMap<String,Object> params) throws Exception;
public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception; public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception;
public EgovMap getModeifyCallReason(HashMap<String,Object> params) throws Exception; public EgovMap getModeifyCallReason(HashMap<String,Object> params) throws Exception;

View File

@ -8,6 +8,10 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
public interface ManageListService { public interface ManageListService {
public Integer getDataListCount(HashMap<String,Object> params) throws Exception;
public ArrayList<?> getDataListPaging(HashMap<String,Object> params) throws Exception;
public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception; public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception;
public EgovMap getModeifyCallReason(HashMap<String,Object> params) throws Exception; public EgovMap getModeifyCallReason(HashMap<String,Object> params) throws Exception;

View File

@ -17,6 +17,16 @@ public class ManageListServiceImpl implements ManageListService {
@Resource(name = "manageListMapper") @Resource(name = "manageListMapper")
private ManageListMapper manageListMapper; private ManageListMapper manageListMapper;
@Override
public Integer getDataListCount(HashMap<String,Object> params) throws Exception {
return manageListMapper.getDataListCount(params);
}
@Override
public ArrayList<?> getDataListPaging(HashMap<String,Object> params) throws Exception {
return manageListMapper.getDataListPaging(params);
}
@Override @Override
public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception { public ArrayList<?> getDataList(HashMap<String,Object> params) throws Exception {
return manageListMapper.getDataList(params); return manageListMapper.getDataList(params);

View File

@ -25,7 +25,7 @@
, T.MAP , T.MAP
, T.MODIFYCALL , T.MODIFYCALL
, DECODE(T.STATE,'2','true',DECODE(T.STATE,'3','true',DECODE(T.STATE,'5','true','false'))) AS CURSOR , DECODE(T.STATE,'2','true',DECODE(T.STATE,'3','true',DECODE(T.STATE,'5','true','false'))) AS CURSOR
, OB.HIST_SEQ , NVL(OB.HIST_SEQ, 0) HIST_SEQ
, TO_CHAR(OC.DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS REG_FIN_DATE , TO_CHAR(OC.DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS REG_FIN_DATE
, TO_CHAR(OB.MODIFY_CALL_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_CALL_DATE , TO_CHAR(OB.MODIFY_CALL_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_CALL_DATE
, TO_CHAR(OB.MODIFY_FIN_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_FIN_DATE , TO_CHAR(OB.MODIFY_FIN_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_FIN_DATE
@ -91,6 +91,245 @@
</select> </select>
<!--지반정보등록 목록 건수 -->
<select id="getDataListCount" parameterType="map" resultType="int">
<![CDATA[
SELECT COUNT(1)
FROM (SELECT
T.CLASS_CODE
, T.PROJECT_CODE
, T.REPORT_TYPE
, T.REPORT_TYPE_NAME
, T.PROJECT_NAME
, T.USERID
, T.USER_NAME
, T.STATE
, T.CHECKUSERID
, DECODE(T.STATE,'2',T.STATE_NAME||'('||(T.CHECKUSERNAME)||')', DECODE(T.STATE,'3',T.STATE_NAME||'('||(T.CHECKUSERNAME)||')',T.STATE_NAME ) ) AS STATE_NAME
, T.DATETIME
, T.CHECKSTART
, T.CHECKOK
, T.INS
, T.AUTHINS
, T.MAP
, T.MODIFYCALL
, DECODE(T.STATE,'2','true',DECODE(T.STATE,'3','true',DECODE(T.STATE,'5','true','false'))) AS CURSOR
, NVL(OB.HIST_SEQ, 0) HIST_SEQ
, TO_CHAR(OC.DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS REG_FIN_DATE
, TO_CHAR(OB.MODIFY_CALL_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_CALL_DATE
, TO_CHAR(OB.MODIFY_FIN_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_FIN_DATE
, NVL((SELECT DISTINCT(REPORT_FILE) FROM TEMP_EXPERT_OPINION WHERE PROJECT_CODE = T.PROJECT_CODE),'NO') AS EXPERT_FILE
FROM (
SELECT
CLASS_CODE
, PROJECT_CODE
, REPORT_TYPE
, FUNC_COMM_NAME('CM016',REPORT_TYPE ) REPORT_TYPE_NAME
, PROJECT_NAME
, USERID
, (SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = INFO.USERID) AS USER_NAME
, STATE
, (SELECT M.USERID FROM TEMP_MANAGE_STATE M WHERE M.PROJECT_CODE = INFO.PROJECT_CODE ) AS CHECKUSERID
, (SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = (SELECT M.USERID FROM TEMP_MANAGE_STATE M WHERE M.PROJECT_CODE = INFO.PROJECT_CODE )) AS CHECKUSERNAME
, FUNC_COMM_NAME('CM001',STATE ) AS STATE_NAME
, TO_CHAR(DATETIME,'YYYY-MM-DD HH24:MI:SS') AS DATETIME
, DECODE(STATE,'1','checkstart', '5', 'checkstart_sub','') AS CHECKSTART
, DECODE(STATE,'2','checkok','') AS CHECKOK
, DECODE(STATE,'3','insert') AS INS
, DECODE(STATE,'5','authins') AS AUTHINS
, DECODE(REPORT_TYPE,'CH',DECODE(STATE,'5','','map'),'') AS MAP
, DECODE(STATE,'2','modifycall',DECODE(STATE,'3','modifycall','')) AS MODIFYCALL
, PROJECT_MASTER_COMPANY_O_CODE
FROM TEMP_PROJECT_INFO INFO
WHERE
NVL(USE_YN,' ') <> 'N' AND
STATE in ('1','2','3','5')
) T
, TEMP_MANAGE_STATE OB
, WEB_DATAINPUT OC
WHERE T.PROJECT_CODE = OB.PROJECT_CODE(+)
AND T.PROJECT_CODE = OC.PROJECT_CODE(+)
]]>
<if test="srchReportType != null and srchReportType != ''">
<![CDATA[ AND T.REPORT_TYPE = #{srchReportType} ]]>
</if>
<if test="searchState != null and searchState != ''">
<![CDATA[ AND T.STATE = #{searchState} ]]>
</if>
<if test="searchState == null or searchState == ''">
<![CDATA[ AND T.STATE in ('1','2','3','5') ]]>
</if>
<if test="searchProjectName != null and searchProjectName != ''">
<![CDATA[ AND T.PROJECT_NAME LIKE '%${searchProjectName}%' ]]>
</if>
<if test="searchProjectCode != null and searchProjectCode != ''">
<![CDATA[ AND T.PROJECT_CODE LIKE '%${searchProjectCode}%' ]]>
</if>
<if test="searchUserName != null and searchUserName != ''">
<![CDATA[ AND T.USER_NAME = #{searchUserName} ]]>
</if>
<if test="searchHistSeq != null and searchHistSeq != ''">
<![CDATA[ AND OB.HIST_SEQ = #{searchHistSeq} ]]>
</if>
<!-- 관리자에 따른 목록 제어 -->
<if test="LoginUserId != null and LoginUserId != ''">
<![CDATA[ AND T.PROJECT_MASTER_COMPANY_O_CODE = (SELECT MASTER_COMPANY_CODE FROM WEB_MEMBER_IN WHERE USERID = #{LoginUserId} ) ]]>
</if>
<![CDATA[
) TB
WHERE 1=1
]]>
</select>
<!--지반정보등록 목록 -->
<select id="getDataListPaging" parameterType="map" resultType="EgovMap">
<![CDATA[
SELECT TB.*
FROM (SELECT ROW_NUMBER() OVER (ORDER BY
]]>
<choose>
<!-- 프로젝트명 정렬 -->
<when test="sortField == 'projectName' and sortDir == 'asc'">
T.PROJECT_NAME ASC
</when>
<!-- 프로젝트명 역순 정렬 -->
<when test="sortField == 'projectName' and sortDir == 'desc'">
T.PROJECT_NAME DESC
</when>
<!-- 공급자 정렬 -->
<when test="sortField == 'userName' and sortDir == 'asc'">
T.USER_NAME ASC
</when>
<!-- 공급자 역순 정렬 -->
<when test="sortField == 'userName' and sortDir == 'desc'">
T.USER_NAME DESC
</when>
<!-- 입력일시 정렬 -->
<when test="sortField == 'datetime' and sortDir == 'asc'">
T.DATETIME ASC
</when>
<!-- 입력일시 역순 정렬 -->
<when test="sortField == 'datetime' and sortDir == 'desc'">
T.DATETIME DESC
</when>
<!-- 공급일시 정렬 -->
<when test="sortField == 'regFinDate' and sortDir == 'asc'">
OC.DATETIME ASC
</when>
<!-- 공급일시 역순 정렬 -->
<when test="sortField == 'regFinDate' and sortDir == 'desc'">
OC.DATETIME DESC
</when>
<!-- 차수 정렬 -->
<when test="sortField == 'histSeq' and sortDir == 'asc'">
OB.HIST_SEQ ASC, OC.DATETIME ASC
</when>
<!-- 차수 역순 정렬 -->
<when test="sortField == 'histSeq' and sortDir == 'desc'">
OB.HIST_SEQ DESC, OC.DATETIME DESC
</when>
<!-- 요청일시 정렬 -->
<when test="sortField == 'modifyCallDate' and sortDir == 'asc'">
OB.MODIFY_CALL_DATE ASC
</when>
<!-- 요청일시 역순 정렬 -->
<when test="sortField == 'modifyCallDate' and sortDir == 'desc'">
OB.MODIFY_CALL_DATE DESC
</when>
</choose>
<![CDATA[
) AS RN
, T.CLASS_CODE
, T.PROJECT_CODE
, T.REPORT_TYPE
, T.REPORT_TYPE_NAME
, T.PROJECT_NAME
, T.USERID
, T.USER_NAME
, T.STATE
, T.CHECKUSERID
, DECODE(T.STATE,'2',T.STATE_NAME||'('||(T.CHECKUSERNAME)||')', DECODE(T.STATE,'3',T.STATE_NAME||'('||(T.CHECKUSERNAME)||')',T.STATE_NAME ) ) AS STATE_NAME
, T.DATETIME
, T.CHECKSTART
, T.CHECKOK
, T.INS
, T.AUTHINS
, T.MAP
, T.MODIFYCALL
, DECODE(T.STATE,'2','true',DECODE(T.STATE,'3','true',DECODE(T.STATE,'5','true','false'))) AS CURSOR
, NVL(OB.HIST_SEQ, 0) HIST_SEQ
, TO_CHAR(OC.DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS REG_FIN_DATE
, TO_CHAR(OB.MODIFY_CALL_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_CALL_DATE
, TO_CHAR(OB.MODIFY_FIN_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_FIN_DATE
, NVL((SELECT DISTINCT(REPORT_FILE) FROM TEMP_EXPERT_OPINION WHERE PROJECT_CODE = T.PROJECT_CODE),'NO') AS EXPERT_FILE
FROM (
SELECT
CLASS_CODE
, PROJECT_CODE
, REPORT_TYPE
, FUNC_COMM_NAME('CM016',REPORT_TYPE ) REPORT_TYPE_NAME
, PROJECT_NAME
, USERID
, (SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = INFO.USERID) AS USER_NAME
, STATE
, (SELECT M.USERID FROM TEMP_MANAGE_STATE M WHERE M.PROJECT_CODE = INFO.PROJECT_CODE ) AS CHECKUSERID
, (SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = (SELECT M.USERID FROM TEMP_MANAGE_STATE M WHERE M.PROJECT_CODE = INFO.PROJECT_CODE )) AS CHECKUSERNAME
, FUNC_COMM_NAME('CM001',STATE ) AS STATE_NAME
, TO_CHAR(DATETIME,'YYYY-MM-DD HH24:MI:SS') AS DATETIME
, DECODE(STATE,'1','checkstart', '5', 'checkstart_sub','') AS CHECKSTART
, DECODE(STATE,'2','checkok','') AS CHECKOK
, DECODE(STATE,'3','insert') AS INS
, DECODE(STATE,'5','authins') AS AUTHINS
, DECODE(REPORT_TYPE,'CH',DECODE(STATE,'5','','map'),'') AS MAP
, DECODE(STATE,'2','modifycall',DECODE(STATE,'3','modifycall','')) AS MODIFYCALL
, PROJECT_MASTER_COMPANY_O_CODE
FROM TEMP_PROJECT_INFO INFO
WHERE
NVL(USE_YN,' ') <> 'N' AND
STATE in ('1','2','3','5')
) T
, TEMP_MANAGE_STATE OB
, WEB_DATAINPUT OC
WHERE T.PROJECT_CODE = OB.PROJECT_CODE(+)
AND T.PROJECT_CODE = OC.PROJECT_CODE(+)
]]>
<if test="srchReportType != null and srchReportType != ''">
<![CDATA[ AND T.REPORT_TYPE = #{srchReportType} ]]>
</if>
<if test="searchState != null and searchState != ''">
<![CDATA[ AND T.STATE = #{searchState} ]]>
</if>
<if test="searchState == null or searchState == ''">
<![CDATA[ AND T.STATE in ('1','2','3','5') ]]>
</if>
<if test="searchProjectName != null and searchProjectName != ''">
<![CDATA[ AND T.PROJECT_NAME LIKE '%${searchProjectName}%' ]]>
</if>
<if test="searchProjectCode != null and searchProjectCode != ''">
<![CDATA[ AND T.PROJECT_CODE LIKE '%${searchProjectCode}%' ]]>
</if>
<if test="searchUserName != null and searchUserName != ''">
<![CDATA[ AND T.USER_NAME = #{searchUserName} ]]>
</if>
<if test="searchHistSeq != null and searchHistSeq != ''">
<![CDATA[ AND OB.HIST_SEQ = #{searchHistSeq} ]]>
</if>
<!-- 관리자에 따른 목록 제어 -->
<if test="LoginUserId != null and LoginUserId != ''">
<![CDATA[ AND T.PROJECT_MASTER_COMPANY_O_CODE = (SELECT MASTER_COMPANY_CODE FROM WEB_MEMBER_IN WHERE USERID = #{LoginUserId} ) ]]>
</if>
<![CDATA[
) TB
WHERE 1=1
AND RN BETWEEN #{startRow} and #{endRow}
]]>
</select>
<select id="getModeifyCallReason" parameterType="map" resultType="EgovMap"> <select id="getModeifyCallReason" parameterType="map" resultType="EgovMap">
<![CDATA[ <![CDATA[
SELECT MODEIFY_CALL_REASON SELECT MODEIFY_CALL_REASON

View File

@ -13,19 +13,20 @@
%> %>
<!-- 자바스크립트 데이터 배열 생성 --> <!-- 자바스크립트 데이터 배열 생성 -->
<c:import url="/includeDataArray.do" /> <%-- <c:import url="/includeDataArray.do" /> --%>
<!--function 정의 --> <!--function 정의 -->
<script type="text/javascript"> <script type="text/javascript">
var gridData = new Array(); //데이터 배열객체 // var gridData = new Array(); //데이터 배열객체
//조회 //조회
function fn_Search(){ function fn_Search(){
//날짜 체크 //날짜 체크
if(!fn_fromToCheckAlert($("#startDate").val(), $("#endDate").val(), "기간시작일", "기간종료일", "startDate"))return false; if(!fn_fromToCheckAlert($("#startDate").val(), $("#endDate").val(), "기간시작일", "기간종료일", "startDate"))return false;
document.frmSearch.submit();
// document.frmSearch.submit();
reloadGrid(); // 그리드 데이타를 새로 요청한다
} }
//load //load
@ -62,7 +63,8 @@ function fn_gradeScore(){
//엔터키 이벤트 //엔터키 이벤트
function submitEvent(){ function submitEvent(){
if (event.keyCode == 13) { if (event.keyCode == 13) {
document.frmSearch.submit(); // document.frmSearch.submit();
reloadGrid();
} }
} }
@ -70,9 +72,10 @@ function submitEvent(){
// kendoUI 관련 객체 // kendoUI 관련 객체
$(document).ready(function() { $(document).ready(function() {
fn_MakeDataArray(); // fn_MakeDataArray();
fn_onload(); // fn_onload();
kendoGrid(); // kendoGrid();
reloadGrid();
}); });
// 지반정보 및 메타데이터 자료 확인 // 지반정보 및 메타데이터 자료 확인
@ -353,6 +356,172 @@ function kendoGrid() {
}); });
} }
function reloadGrid() {
var gridData = new kendo.data.DataSource({
transport: {
read: {
url: "/getManageList.do",
dataType: "json",
type: "POST",
data: function() {
return {
searchProjectName: $("#searchProjectName").val(),
searchProjectCode: $("#searchProjectCode").val(),
searchUserName: $("#searchUserName").val(),
searchHistSeq: $("#searchHistSeq").val(),
searchCreateName: $("#searchCreateName").val(),
searchState: $("#searchState").val(),
page: 1,
pageSize: 10
};
}
}
},
schema: {
data: "items", // 서버에서 실제 데이터 Array key
total: "total" // 서버에서 전체 개수 key
},
serverPaging: true,
serverSorting: true,
pageSize: 10
});
kendoJQuery("#grid_type_1").kendoGrid({
dataSource: gridData,
scrollable: { virtual: true },
pageable: {
refresh: true,
numeric: true,
pageSizes: [50, 100, 200],
pageSize: 10
},
columns: [
{ field: "rowNumber", width: 50, title: "순번", sortable: false, template: "<span class='row-number'></span>" },
{
field: "projectName",
width: "auto",
title: "프로젝트명",
template: function(data){
var param = "'"+data.reportType+"','"+data.projectCode+"','"+data.state+"','"+data.checkuserid+"'";
var url = "<a href=javascript:fn_gourl(" + param +");>" + data.projectName + "</a>";
return url;
},
attributes: { style:"text-align: left" }
},
{
field: "userName",
width: 80,
title: "공급자",
template: function(data){
var param = "'"+data.userid+"'";
var userName = data.userName == null ? "" : data.userName;
var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + userName + "</a>";
return url;
},
},
{
field: "datetime",
width: 130,
title: "입력일시",
template: function(data) {
var datetime = data.datetime == null ? "" : data.datetime;
var url = "<div class='td-data'>" + datetime + "</div>";
return url
}
},
{
field: "regFinDate",
width: 130,
title: "공급일시",
template: function(data) {
var regFinDate = data.regFinDate == null ? "" : data.regFinDate;
var url = "<div class='td-data'>" + regFinDate + "</div>";
return url
}
},
{ field: "stateName", width: 100, title: "처리상태", sortable: false, template: "<div class='td-data'>#: stateName #</div>" },
{
field: "checkstart",
width: 80,
title: "검수시작",
sortable: false,
template: "<div class='td-data'>#= checkstartBtnTemplate(data.reportType, data.projectCode, data.checkstart) #</div>"
},
{
field: "checkok",
width: 80, title: "검수완료",
sortable: false,
template: "<div class='td-data'>#= checkokBtnTemplate(data.reportType, data.projectCode, data.checkuserid, data.checkok) #</div>"
},
{
field: "ins",
width: 60, title: "등록",
sortable: false,
template: "<div class='td-data'>#= insBtnTemplate(data.reportType, data.projectCode, data.checkuserid, data.expertFile, data.ins) #</div>"
},
{
field: "authins",
width: 80,
title: "직권등록",
sortable: false,
template: "<div class='td-data'>#= authinsBtnTemplate(data.reportType, data.projectCode, data.checkuserid, data.expertFile, data.authins) #</div>"
},
{
field: "map",
width: 60,
title: "지도",
sortable: false,
template: "<div class='td-data'>#= mapBtnTemplate(data.projectCode, data.projectName, data.map) #</div>"
},
{
field: "modifycall",
width: 80, title: "수정요청",
sortable: false,
template: "<div class='td-data'>#= modifycallBtnTemplate(data.projectCode, data.checkuserid, data.modifycall) #</div>"
},
{ field: "histSeq", width: 60, title: "차수", template: "<div class='td-data'>#: histSeq #</div>" },
{
field: "modifyCallDate",
width: 130,
title: "요청일시",
template: function(data) {
var modifyCallDate = data.modifyCallDate == null ? "" : data.modifyCallDate;
var url = "<div class='td-data'>" + modifyCallDate + "</div>";
return url
}
},
{ field: "state", width: "auto", title: "처리상태코드", template: "<div class='td-data'>#: state #</div>", hidden: true },
{ field: "checkuserid", width: "auto", title: "검수자", template: "<div class='td-data'>#: checkuserid #</div>", hidden: true },
{ field: "userid", width: "auto", title: "공급자ID", template: "<div class='td-data'>#: userid #</div>", hidden: true },
{ field: "reportTypeName", width: "auto", title: "보고서형태", template: "<div class='td-data'>#: reportTypeName #</div>", hidden: true },
{ field: "expertFile", width: "auto", title: "EXPERT_FILE", template: "<div class='td-data'>#: expertFile #</div>", hidden: true },
],
sortable: true,
scrollable: true,
selectable: true,
columnResizeHandleWidth: 20,
resizable: true,
pageable: {
refresh: false,
pageSizes: true,
pageSize: 10,
//buttonCount: 10,
input: true,
numeric: false,
},
noRecords: {
template: "등록된데이터가 없습니다."
},
dataBound: onDataBound,
// 🔹 정렬 이벤트 추가
sort: function(e) {
var grid = this;
// 정렬 변경 시 첫 페이지로 이동
grid.dataSource.page(1);
},
});
}
/* 도움말 시작 */ /* 도움말 시작 */
function fn_help_tour(){ function fn_help_tour(){
var pageTitle = "검수등록대기"; var pageTitle = "검수등록대기";
@ -436,7 +605,9 @@ function fn_grid_refresh(){
<!-- 검색영역 시작 --> <!-- 검색영역 시작 -->
<div class="page-top-search" data-target="project-search"> <div class="page-top-search" data-target="project-search">
<form name="frmSearch" id="frmSearch" action="/manageList.do" method="post"> <form name="frmSearch" id="frmSearch" action="getManageList" method="post">
<input type="hidden" id="page" name="page" value="1" />
<input type="hidden" id="pageSize" name="pageSize" value="10" />
<div class="form-inline row"> <div class="form-inline row">
<!-- 윗줄 --> <!-- 윗줄 -->
<div class="input-group col-md-4 col-xs-4 col-sm-4"> <div class="input-group col-md-4 col-xs-4 col-sm-4">