Compare commits

..

2 Commits

Author SHA1 Message Date
유지인 208c39ed4f Kendo grid 하단 pager 활성화 및 기능
manageList - 검스등록대기 목록
complete - 검수등록완료 목록
listReg - 입력중인프로젝트 현황
holeCoordinate - 좌표수정
re_name - 프로젝트명 수정
2025-11-05 13:55:14 +09:00
유지인 924f5fde3f 그리드 페이저 표시 원복 2025-11-04 18:00:55 +09:00
13 changed files with 207 additions and 78 deletions

View File

@ -120,15 +120,16 @@ public class CompleteServiceImpl implements CompleteService {
params.put("sortDir", sortDir);
}
int total = MyUtil.getIntegerFromObject(selectCompleteItemsCnt(params)).intValue();
Long pageSize = MyUtil.getLongFromObject( params.get("pageSize") );
if( pageSize == null ) {
pageSize = 10l;
// pageSize = 10l;
pageSize = (long) total; // 25.11.05(YJI) Kendo grid pager 'All' 처리
}
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setRecordCountPerPage(10);
paginationInfo.setRecordCountPerPage(pageSize.intValue());
paginationInfo.setPageSize(pageSize.intValue());
paginationInfo.setTotalRecordCount( MyUtil.getIntegerFromObject(selectCompleteItemsCnt(params)).intValue() );

View File

@ -101,13 +101,15 @@ public class HoleCoordinateController {
@RequestMapping("/getHoleCoordList.do")
@ResponseBody
public Map<String, Object> getHoleCoordList(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
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"));
// 정렬 필드/방향 처리
String sortField = (String) params.get("sort[0][field]");
String sortDir = (String) params.get("sort[0][dir]");
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
// 기본 정렬 지정 (없을 경우)
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
@ -117,11 +119,6 @@ public class HoleCoordinateController {
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"));
// request
String srchStartDate = sUtil.checkNull(parseData.parseData((String)params.get("startDate")));
String srchEndDate = sUtil.checkNull(parseData.parseData((String)params.get("endDate")));
@ -130,15 +127,14 @@ public class HoleCoordinateController {
String searchCreateName = sUtil.checkNull(parseData.parseData((String)params.get("searchCreateName")));
params.put("loginUserId", loginUserId);
params.put("cls", nCls);
int total = masterService.getDataListCount(params);
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")) : total; // 기본값 10
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);
}
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
List<?> items = masterService.getDataListPaging(params);
int total = masterService.getDataListCount(params);
Map<String, Object> result = new HashMap<>();
result.put("items", items);

View File

@ -71,12 +71,9 @@ public class ListRegController {
//request
System.out.println("searchProjectName:"+request.getParameter("searchProjectName"));
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]");
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
// 기본 정렬 지정 (없을 경우)
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
@ -85,16 +82,15 @@ public class ListRegController {
// MyBatis에 넣을 때는 깔끔하게 키 이름 정리
params.put("sortField", sortField);
params.put("sortDir", sortDir);
int total = masterService.getRegListCount(params);
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")) : total; // 기본값 10
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);
}
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
//data정보
ArrayList result = masterService.getRegList(params);
int total = masterService.getRegListCount(params);
HashMap resultMap = new HashMap();
resultMap.put("dataList1", result);

View File

@ -113,12 +113,12 @@ public class ManageListController {
@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
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
// 정렬 필드/방향 처리
String sortField = (String) params.get("sort[0][field]");
String sortDir = (String) params.get("sort[0][dir]");
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
// 기본 정렬 지정 (없을 경우)
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
@ -128,9 +128,6 @@ public class ManageListController {
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")));
@ -142,15 +139,14 @@ public class ManageListController {
params.put("loginUserId", loginUserId);
params.put("cls", nCls);
int total = masterService.getDataListCount(params);
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")) : total; // 기본값 10
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);
}
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
List<?> items = masterService.getDataListPaging(params);
int total = masterService.getDataListCount(params);
Map<String, Object> result = new HashMap<>();
result.put("items", items);

View File

@ -190,11 +190,11 @@
<choose>
<!-- 프로젝트명 정렬 -->
<when test="sortField == 'projectName' and sortDir == 'asc'">
T.PROJECT_NAME ASC
T.PROJECT_NAME ASC, DATETIME ASC, OB.MODIFY_CALL_DATE ASC
</when>
<!-- 프로젝트명 역순 정렬 -->
<when test="sortField == 'projectName' and sortDir == 'desc'">
T.PROJECT_NAME DESC
T.PROJECT_NAME DESC, DATETIME ASC, OB.MODIFY_CALL_DATE ASC
</when>
<!-- 공급자 정렬 -->
@ -208,11 +208,11 @@
<!-- 입력일시 정렬 -->
<when test="sortField == 'datetime' and sortDir == 'asc'">
T.DATETIME ASC
T.DATETIME ASC, OB.MODIFY_CALL_DATE ASC
</when>
<!-- 입력일시 역순 정렬 -->
<when test="sortField == 'datetime' and sortDir == 'desc'">
T.DATETIME DESC
T.DATETIME DESC, OB.MODIFY_CALL_DATE ASC
</when>
<!-- 공급일시 정렬 -->

View File

@ -247,7 +247,9 @@ function kendoGrid() {
searchUserName: searchUserName,
searchCreateName: searchCreateName,
// Kendo UI가 전달하는 정렬, 페이징 정보 등을 options.data에서 가져와 추가
sort: options.data.sort
sort: options.data.sort ,
page: options.data.page, // ✅ Kendo가 현재 페이지 전달
pageSize: options.data.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
},
              contentType: 'application/json',
              dataType: "json",
@ -277,7 +279,15 @@ function kendoGrid() {
kendoJQuery("#grid_type_1").kendoGrid({
dataSource: dataSource,
columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
{
field: "rnk",
width: 50,
title: "순번",
template: function(data) {
return data.rnk ? parseInt(data.rnk) : "";
}
},
{
field: "projectName",
width: "auto",

View File

@ -161,15 +161,34 @@ function reloadGrid() {
url: "/getHoleCoordList.do",
dataType: "json",
type: "POST",
data: function() {
// data: function() {
// var ds = this; // DataSource
// return {
// startDate: $("#startDate").val(),
// endDate: $("#endDate").val(),
// searchProjectName: $("#searchProjectName").val(),
// searchUserName: $("#searchUserName").val(),
// searchCreateName: $("#searchCreateName").val(),
// };
// }
},
parameterMap: function(options, operation) {
if (operation === "read") {
// 정렬 정보 처리 추가
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
return {
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
searchProjectName: $("#searchProjectName").val(),
searchProjectCode: $("#searchProjectCode").val(),
searchUserName: $("#searchUserName").val(),
searchHistSeq: $("#searchHistSeq").val(),
searchCreateName: $("#searchCreateName").val(),
page: 1,
pageSize: 10
searchState: $("#searchState").val(),
page: options.page, // ✅ Kendo가 현재 페이지 전달
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
sortField: sortField, // 정렬 필드
sortDir: sortDir // 정렬 방향
};
}
}
@ -193,8 +212,15 @@ function reloadGrid() {
pageSize: 10
},
columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
{
field: "rn",
width: 50,
title: "순번",
template: function(data) {
return data.rn ? parseInt(data.rn) : "0";
}
},
{
field: "projectName",
width: 262,

View File

@ -363,7 +363,25 @@ function reloadGrid() {
url: "/getManageList.do",
dataType: "json",
type: "POST",
data: function() {
// data: function() {
// var ds = this; // DataSource
// return {
// searchProjectName: $("#searchProjectName").val(),
// searchProjectCode: $("#searchProjectCode").val(),
// searchUserName: $("#searchUserName").val(),
// searchHistSeq: $("#searchHistSeq").val(),
// searchCreateName: $("#searchCreateName").val(),
// searchState: $("#searchState").val(),
// page: ds.page(), // ✅ 현재 페이지
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
// };
// }
},
parameterMap: function(options, operation) {
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
if (operation === "read") {
return {
searchProjectName: $("#searchProjectName").val(),
searchProjectCode: $("#searchProjectCode").val(),
@ -371,15 +389,45 @@ function reloadGrid() {
searchHistSeq: $("#searchHistSeq").val(),
searchCreateName: $("#searchCreateName").val(),
searchState: $("#searchState").val(),
page: 1,
pageSize: 10
page: options.page, // ✅ Kendo가 현재 페이지 전달
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
sortField: sortField, // 정렬 필드
sortDir: sortDir // 정렬 방향
};
}
}
},
schema: {
data: "items", // 서버에서 실제 데이터 Array key
total: "total" // 서버에서 전체 개수 key
total: "total", // 서버에서 전체 개수 key,
model: {
fields: {
rn: { type: "number" }, // 순번
classCode: { type: "string" },
projectCode: { type: "string" },
reportType: { type: "string" },
reportTypeName: { type: "string" },
projectName: { type: "string" },
userid: { type: "string" },
userName: { type: "string" },
state: { type: "string" },
stateName: { type: "string" },
checkuserid: { type: "string" },
datetime: { type: "string" }, // "YYYY-MM-DD HH:mm:ss" 형식
regFinDate: { type: "string" },
modifyCallDate: { type: "string" },
modifyFinDate: { type: "string" },
checkstart: { type: "string" },
checkok: { type: "string" },
ins: { type: "string" },
authins: { type: "string" },
map: { type: "string" },
modifycall: { type: "string" },
cursor: { type: "string" },
histSeq: { type: "number" },
expertFile: { type: "string" }
}
}
},
serverPaging: true,
serverSorting: true,
@ -396,7 +444,15 @@ function reloadGrid() {
pageSize: 10
},
columns: [
{ field: "rowNumber", width: 50, title: "순번", sortable: false, template: "<span class='row-number'></span>" },
// { field: "rowNumber", width: 50, title: "순번", sortable: false, template: "<span class='row-number'></span>" },
{
field: "rn",
width: 50,
title: "순번",
template: function(data) {
return data.rn ? parseInt(data.rn) : "0";
}
},
{
field: "projectName",
width: "auto",
@ -505,7 +561,7 @@ function reloadGrid() {
refresh: false,
pageSizes: true,
pageSize: 10,
//buttonCount: 10,
buttonCount: 10,
input: true,
numeric: false,
},

View File

@ -231,12 +231,29 @@ function reloadGrid() {
url: "/list_reg_jsondata.do",
dataType: "json",
type: "POST",
data: function() {
// data: function() {
// var ds = this; // DataSource
// return {
// searchProjectName: $("#searchProjectName").val(),
// searchUserName: $("#searchUserName").val(),
// page: ds.page(), // ✅ 현재 페이지
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
// };
// }
},
parameterMap: function(options, operation) {
if (operation === "read") {
// 정렬 정보 처리 추가
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
return {
searchProjectName: $("#searchProjectName").val(),
searchUserName: $("#searchUserName").val(),
page: 1,
pageSize: 10
page: options.page, // ✅ Kendo가 현재 페이지 전달
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
sortField: sortField, // 정렬 필드
sortDir: sortDir // 정렬 방향
};
}
}
@ -260,7 +277,15 @@ function reloadGrid() {
pageSize: 10
},
columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
{
field: "rn",
width: 50,
title: "순번",
template: function(data) {
return data.rn ? parseInt(data.rn) : "0";
}
},
{
field: "projectName",
title: "프로젝트명",

View File

@ -191,15 +191,35 @@ function reloadGrid() {
url: "/getHoleCoordList.do",
dataType: "json",
type: "POST",
data: function() {
// data: function() {
// var ds = this; // DataSource
// return {
// startDate: $("#startDate").val(),
// endDate: $("#endDate").val(),
// searchProjectName: $("#searchProjectName").val(),
// searchUserName: $("#searchUserName").val(),
// searchCreateName: $("#searchCreateName").val(),
// page: ds.page(), // ✅ 현재 페이지
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
// };
// }
},
parameterMap: function(options, operation) {
if (operation === "read") {
// 정렬 정보 처리 추가
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
return {
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
searchProjectName: $("#searchProjectName").val(),
searchUserName: $("#searchUserName").val(),
searchCreateName: $("#searchCreateName").val(),
page: 1,
pageSize: 10
page: options.page, // ✅ Kendo가 현재 페이지 전달
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
sortField: sortField, // 정렬 필드
sortDir: sortDir // 정렬 방향
};
}
}
@ -223,8 +243,15 @@ function reloadGrid() {
pageSize: 10
},
columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
{
field: "rn",
width: 50,
title: "순번",
template: function(data) {
return data.rn ? parseInt(data.rn) : "0";
}
},
{
field: "projectName",
width: 262,

View File

@ -7395,10 +7395,6 @@ ul.faq-q > li textarea {
/* ====================================== */
/* ====================================== */
/* ====================================== */
.k-pager-wrap .k-pager-sizes.k-label {
display: none;
}
/* ====================================== */
/* ====================================== */

File diff suppressed because one or more lines are too long

View File

@ -5777,7 +5777,7 @@ ul.faq-q > li textarea {
// (25.10.22 YJI) kendo-grid pager
/* ====================================== */
.k-pager-wrap .k-pager-sizes.k-label {
display: none;
// display: none;
}
/* ====================================== */
// (25.10.22 YJI) kendo-grid pager