From 3575881b960d73b5edb7bbaa0ab4c7122058638a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=A7=80=EC=9D=B8?= Date: Sun, 26 Jul 2026 18:56:06 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=EA=B2=80=EC=88=98=20?= =?UTF-8?q?=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EC=88=98=EC=A0=95=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=EC=82=AC=ED=95=AD=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regi/manageList/ManageListController.java | 86 ++++- .../geoinfo/regi/status/RegiController.java | 113 +++++- .../regi/status/service/RegiPageMapper.java | 14 +- .../regi/status/service/RegiPageService.java | 14 +- .../service/impl/RegiPageServiceImpl.java | 37 +- .../sqlmap/mapper/regi/manageList.xml | 40 ++- .../egovframework/sqlmap/mapper/regi/regi.xml | 106 +++++- src/main/webapp/WEB-INF/views/web/index.jsp | 30 +- .../WEB-INF/views/web/manage/complete.jsp | 6 +- .../webapp/WEB-INF/views/web/manage/list.jsp | 15 +- .../WEB-INF/views/web/manage/list_db.jsp | 2 +- .../views/web/manage/modeify_call_reason.jsp | 325 ++++++++++++++---- .../web/manage/select_modeify_call_reason.jsp | 187 +++++----- src/main/webapp/kendo-ui/styles/custom.css | 11 +- src/main/webapp/web/css/popup.css | 6 +- 15 files changed, 756 insertions(+), 236 deletions(-) diff --git a/src/main/java/geoinfo/regi/manageList/ManageListController.java b/src/main/java/geoinfo/regi/manageList/ManageListController.java index 3cc52bb0..9e5ae9dc 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageListController.java +++ b/src/main/java/geoinfo/regi/manageList/ManageListController.java @@ -2,7 +2,7 @@ package geoinfo.regi.manageList; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -10,18 +10,12 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; -import com.fasterxml.jackson.databind.ObjectMapper; - -import comm.web.WebConfirm; -import comm.web.WebSupplyXml; import egovframework.rte.psl.dataaccess.util.EgovMap; import geoinfo.regi.info.service.InfoService; import geoinfo.regi.manageList.service.ManageListService; @@ -30,8 +24,6 @@ import geoinfo.util.MyUtil; import ictway.comm.util.parseData; import ictway.comm.util.strUtil; import ictway.comm.web.WebUtil; -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; @Controller public class ManageListController { @@ -296,30 +288,86 @@ public class ManageListController { @RequestMapping(value = "/modeifyCallReason.do") public String modeifyCallReason(@RequestParam HashMap params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { - HashMap resultList = new HashMap(); + Map resultList = new HashMap<>(); strUtil sUtil = new strUtil(); String widthSize = sUtil.checkNull((String)params.get("width")); String heightSize = "665"; String PROJECT_CODE = sUtil.checkNull((String)params.get("PROJECT_CODE")); - String PROC = sUtil.checkNull((String)params.get("PROC")); + String HIST_SEQ = sUtil.checkNull((String)params.get("HIST_SEQ")); + String PROC = sUtil.checkNull((String)params.get("PROC")); // new: 검수자 수정요청항목 등록, edit: 검수자 선택 수정요청항목 확인 및 수정 ArrayList MODI_ITEM_LIST = new ArrayList<>(); // "수정요청 대상" 체크 할 항목 조회 String MODEIFY_CALL_REASON = ""; - if ("view".equals(PROC)) { - EgovMap result = masterService.getModeifyCallReason(params); - if (result != null) { - MODEIFY_CALL_REASON = (sUtil.checkNull(result.get("modeifyCallReason").toString())).replaceAll("\n","
"); - } - } else { - MODI_ITEM_LIST = masterService.selectModifyItem(params); + EgovMap result = masterService.getModeifyCallReason(params); + if (result != null) { + MODEIFY_CALL_REASON = (sUtil.checkNull(result.get("modeifyCallReason").toString())).replaceAll("\n","
"); } + MODI_ITEM_LIST = masterService.selectModifyItem(params); + + Map> parentMap = new LinkedHashMap<>(); + + for (Object obj : MODI_ITEM_LIST) { + + Map row = (Map) obj; + + Object parentGrpIdx = row.get("PARENT_GRP_IDX"); + + Map parent = parentMap.get(parentGrpIdx); + + if (parent == null) { + parent = new HashMap<>(); + + parent.put("parentGrpIdx", parentGrpIdx); + parent.put("parentGrpName", row.get("PARENT_GRP_NAME")); + parent.put("parentDesc", row.get("PARENT_DESC")); + parent.put("groups", new ArrayList>()); + + parentMap.put(parentGrpIdx, parent); + } + + // 중분류가 없는 경우 + if (row.get("GRP_IDX") == null) { + continue; + } + + List> groups = + (List>) parent.get("groups"); + + Map group = null; + + for (Map g : groups) { + if (g.get("grpIdx").equals(row.get("GRP_IDX"))) { + group = g; + break; + } + } + + if (group == null) { + + group = new HashMap<>(); + + group.put("grpIdx", row.get("GRP_IDX")); + group.put("grpName", row.get("GRP_NAME")); + group.put("items", new ArrayList>()); + + groups.add(group); + } + + if (row.get("ITEM_NAME") != null) { + List> items = (List>) group.get("items"); + items.add(row); + } + + } + + resultList.put("modiItemList", new ArrayList<>(parentMap.values())); resultList.put("modeifyCallReason", MODEIFY_CALL_REASON); - resultList.put("modiItemList", MODI_ITEM_LIST); resultList.put("heightSize", heightSize); resultList.put("widthSize", widthSize); resultList.put("projectCode", PROJECT_CODE); resultList.put("proc", PROC); + resultList.put("histSeq", HIST_SEQ); model.addAttribute("resultList", resultList); diff --git a/src/main/java/geoinfo/regi/status/RegiController.java b/src/main/java/geoinfo/regi/status/RegiController.java index 241f12f1..70bf4b67 100644 --- a/src/main/java/geoinfo/regi/status/RegiController.java +++ b/src/main/java/geoinfo/regi/status/RegiController.java @@ -7,13 +7,12 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; -import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -609,6 +608,7 @@ public class RegiController { String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); String PROC = sUtil.checkNull(String.valueOf(params.get("PROC"))); String MODEIFY_CALL_REASON = sUtil.checkNull(String.valueOf(params.get("MODEIFY_CALL_REASON"))); + String HIST_SEQ = sUtil.checkNull(String.valueOf(params.get("HIST_SEQ"))); String MODIFY_ITEM = sUtil.checkNull(String.valueOf(params.get("MODIFY_ITEM"))); params.put("PROJECT_CODE", PROJECT_CODE); params.put("USERID", request.getSession().getAttribute("USERID")); @@ -760,8 +760,9 @@ public class RegiController { } else { affectRow = 0; } - - } else if ("".equals(PROJECT_CODE) == false && ("MODIFY".equals(PROC) == true || "MODIFY_POP".equals(PROC) == true)) { +// } else if ("".equals(PROJECT_CODE) == false && ("MODIFY".equals(PROC) == true || "MODIFY_POP".equals(PROC) == true)) { + } else if ("".equals(PROJECT_CODE) == false && PROC.contains("MODIFY")) { // MODIFY, MODIFY_POP, MODIFY_NEW, MODIFY_EDIT + // TEMP_PROJECT_INFO STATE UPDATE params.put("STATE", "5"); // 수정요청으로 변경 @@ -770,9 +771,27 @@ public class RegiController { // TEMP_MANAGE_STATE INSERT params.put("STATE", "5");// 수정요청으로 변경 params.put("MODEIFY_CALL_REASON", MODEIFY_CALL_REASON);// 수정요청으로 - params.put("MODIFY_ITEM", MODIFY_ITEM); // 변경 - +// params.put("MODIFY_ITEM", MODIFY_ITEM); // 변경 affectRow += masterService.mergeStateInsertModeify(params); + + if("MODIFY_EDIT".equals(PROC)) { // 수정요청항목 수정시 TEMP_MANAGE_STATE_SEL_MODI_IT DELETE INSERT만 수행 + params.put("HIST_SEQ", HIST_SEQ); + masterService.deleteTempManageStateSelModiIt(params); + } + + // 직전에 저장된 HIST_SEQ 조회 + int histSeq = masterService.selectCurrentHistSeq(params); + + String[] modifyItems = request.getParameterValues("MODIFY_ITEM_VAL"); + + if (modifyItems != null) { + params.put("HIST_SEQ", histSeq); + + for (String itIdx : modifyItems) { + params.put("IT_IDX", Integer.parseInt(itIdx)); + affectRow += masterService.insertTempManageStateSelModiIt(params); + } + } // ------------------------------------------------------- // WEB_DATAINPUT STATE UPDATE Start @@ -809,9 +828,27 @@ public class RegiController { affectRow = 0; } catch (Exception e) { LOGGER.debug("error" + e); + String errorMsg = e.getMessage(); model.addAttribute("proce", e); affectRow = 0; - model.addAttribute("errorMessage", e.getMessage()); +// model.addAttribute("errorMessage", e.getMessage()); + if (errorMsg != null) { + errorMsg = errorMsg.replace("\n", "\\n"); // 줄바꿈 처리 + errorMsg = errorMsg.replace("\"", "\\\""); // 쌍따옴표 + errorMsg = errorMsg.replace("'", "\\'"); // 작은따옴표 + + + + errorMsg = errorMsg.replace("\r\n", "\\n") + .replace("\n", "\\n") + .replace("\r", "\\n") + .replace("\"", "\\\"") + .replace("'", "\\'"); + + + } + + model.addAttribute("errorMessage", errorMsg); } model.addAttribute("projectCode", PROJECT_CODE); @@ -1788,11 +1825,67 @@ public class RegiController { if(request.getSession().getAttribute("USERID").equals(params.get("USER_ID"))) { mav.setViewName("web/manage/select_modeify_call_reason"); - EgovMap result = masterService.selectModeifyCallReason(params); - MODI_ITEM_LIST = masterService.selectModifyItemBitmask(params); + EgovMap result = masterService.getModeifyCallReason(params); +// MODI_ITEM_LIST = masterService.selectModifyItemBitmask(params); + MODI_ITEM_LIST = masterService.selectModifySelItem(params); + Map> parentMap = new LinkedHashMap<>(); + + for (Object obj : MODI_ITEM_LIST) { + + Map row = (Map) obj; + + Object parentGrpIdx = row.get("PARENT_GRP_IDX"); + + Map parent = parentMap.get(parentGrpIdx); + + if (parent == null) { + parent = new HashMap<>(); + + parent.put("parentGrpIdx", parentGrpIdx); + parent.put("parentGrpName", row.get("PARENT_GRP_NAME")); + parent.put("parentDesc", row.get("PARENT_DESC")); + parent.put("groups", new ArrayList>()); + + parentMap.put(parentGrpIdx, parent); + } + + if (row.get("GRP_IDX") == null) { + continue; + } + + List> groups = + (List>) parent.get("groups"); + + Map group = null; + + for (Map g : groups) { + if (g.get("grpIdx").equals(row.get("GRP_IDX"))) { + group = g; + break; + } + } + + if (group == null) { + group = new HashMap<>(); + + group.put("grpIdx", row.get("GRP_IDX")); + group.put("grpName", row.get("GRP_NAME")); + group.put("items", new ArrayList>()); + + groups.add(group); + } + + if (row.get("ITEM_NAME") != null) { + List> items = + (List>) group.get("items"); + + items.add(row); + } + } mav.addObject("result", result); - mav.addObject("modiItem", MODI_ITEM_LIST); +// mav.addObject("modiItem", MODI_ITEM_LIST); + mav.addObject("modiItem", new ArrayList<>(parentMap.values())); } return mav; } diff --git a/src/main/java/geoinfo/regi/status/service/RegiPageMapper.java b/src/main/java/geoinfo/regi/status/service/RegiPageMapper.java index e629b409..8265d782 100644 --- a/src/main/java/geoinfo/regi/status/service/RegiPageMapper.java +++ b/src/main/java/geoinfo/regi/status/service/RegiPageMapper.java @@ -65,7 +65,13 @@ public interface RegiPageMapper { public int updateQualityInformation(HashMap params) throws Exception; + public int selectCurrentHistSeq(HashMap params) throws Exception; + public int mergeStateInsertModeify(HashMap params) throws Exception; + + public int insertTempManageStateSelModiIt(HashMap params) throws Exception; + + public int deleteTempManageStateSelModiIt(HashMap params) throws Exception; public HashMap getAjaxSmsData(HashMap params) throws Exception; @@ -194,6 +200,10 @@ public interface RegiPageMapper { public ArrayList> getHoleNamesByProjectCode(HashMap params) throws Exception; List getInputdateRangeByUserid(Map params) throws Exception; - - public ArrayList selectModifyItemBitmask(HashMap params) throws Exception; + + public EgovMap getModeifyCallReason(HashMap params) throws Exception; + +// public ArrayList selectModifyItemBitmask(HashMap params) throws Exception; + + public ArrayList selectModifySelItem(HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/regi/status/service/RegiPageService.java b/src/main/java/geoinfo/regi/status/service/RegiPageService.java index a82570f3..8643ed95 100644 --- a/src/main/java/geoinfo/regi/status/service/RegiPageService.java +++ b/src/main/java/geoinfo/regi/status/service/RegiPageService.java @@ -69,6 +69,12 @@ public interface RegiPageService { public int mergeStateInsertModeify(HashMap params) throws Exception; + public int selectCurrentHistSeq(HashMap params) throws Exception; + + public int insertTempManageStateSelModiIt(HashMap params) throws Exception; + + public int deleteTempManageStateSelModiIt(HashMap params) throws Exception; + public HashMap getAjaxSmsData(HashMap params) throws Exception; public HashMap getSmsId(HashMap params) throws Exception; @@ -199,6 +205,10 @@ public interface RegiPageService { public int deleteOldDatas(HashMap params) throws Exception; List getInputdateRangeByUserid(Map params) throws Exception; - - public ArrayList selectModifyItemBitmask(HashMap params) throws Exception; + + public EgovMap getModeifyCallReason(HashMap params) throws Exception; + +// public ArrayList selectModifyItemBitmask(HashMap params) throws Exception; + + public ArrayList selectModifySelItem(HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/regi/status/service/impl/RegiPageServiceImpl.java b/src/main/java/geoinfo/regi/status/service/impl/RegiPageServiceImpl.java index f9b62dce..10982a03 100644 --- a/src/main/java/geoinfo/regi/status/service/impl/RegiPageServiceImpl.java +++ b/src/main/java/geoinfo/regi/status/service/impl/RegiPageServiceImpl.java @@ -164,12 +164,27 @@ public class RegiPageServiceImpl implements RegiPageService { public ArrayList selectCompleteItems(HashMap params) throws Exception { return regiPageMapper.selectCompleteItems(params); } - + + @Override + public int selectCurrentHistSeq(HashMap params) throws Exception { + return regiPageMapper.selectCurrentHistSeq(params); + } + @Override public int mergeStateInsertModeify(HashMap params) throws Exception { return regiPageMapper.mergeStateInsertModeify(params); } + @Override + public int insertTempManageStateSelModiIt(HashMap params) throws Exception { + return regiPageMapper.insertTempManageStateSelModiIt(params); + } + + @Override + public int deleteTempManageStateSelModiIt(HashMap params) throws Exception { + return regiPageMapper.deleteTempManageStateSelModiIt(params); + } + @Override public HashMap getAjaxSmsData(HashMap params) throws Exception { return regiPageMapper.getAjaxSmsData(params); @@ -501,9 +516,25 @@ public class RegiPageServiceImpl implements RegiPageService { return regiPageMapper.getInputdateRangeByUserid(params); } + /** + * 수정요청 확인 팝업 수정요청정보 확인(TEMP_MANAGE_STATE.MODEIFY_CALL_REASON) + */ @Override - public ArrayList selectModifyItemBitmask(HashMap params) throws Exception { - return regiPageMapper.selectModifyItemBitmask(params); + public EgovMap getModeifyCallReason(HashMap params) throws Exception { + return regiPageMapper.getModeifyCallReason(params); + } + +// @Override +// public ArrayList selectModifyItemBitmask(HashMap params) throws Exception { +// return regiPageMapper.selectModifyItemBitmask(params); +// } + + /** + * 관리자가 수정요청한 항목들을 입력자가 확인한다 + */ + @Override + public ArrayList selectModifySelItem(HashMap params) throws Exception { + return regiPageMapper.selectModifySelItem(params); } } diff --git a/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml b/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml index e1886f95..782f46a7 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml @@ -298,7 +298,7 @@ , 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 + , DECODE(STATE,'2','modifycall',DECODE(STATE,'3','modifycall',DECODE(STATE,'5','showModifycall',''))) AS MODIFYCALL , PROJECT_MASTER_COMPANY_O_CODE FROM TEMP_PROJECT_INFO INFO WHERE @@ -398,16 +398,34 @@ \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/mapper/regi/regi.xml b/src/main/resources/egovframework/sqlmap/mapper/regi/regi.xml index b23bdcd9..6415153e 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/regi/regi.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/regi/regi.xml @@ -33,6 +33,7 @@ DECODE(A.STATE,'5','true','false') AS CURSOR, B.SMS_MSG, ST.MODIFY_ITEM, + ST.HIST_SEQ, tcsi.CID, tcsi.CRT_USERID, tcsi.CONST_USERID, @@ -412,7 +413,11 @@ , DATETIME = SYSDATE , COMPLETEDATE = '' , CREATEDATE = '' + ]]> + , HIST_SEQ = NVL(HIST_SEQ, 0) + 1 + + - + + + , HIST_SEQ = NVL(HIST_SEQ, 0) + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + SELECT P.GRP_IDX AS PARENT_GRP_IDX, + P.NAME AS PARENT_GRP_NAME, + P."DESC" AS PARENT_DESC, + P."ORDER" AS PARENT_ORDER, + + C.GRP_IDX AS GRP_IDX, + C.NAME AS GRP_NAME, + C."ORDER" AS GRP_ORDER, + + I.IT_IDX, + I.NAME AS ITEM_NAME, + I."ORDER" AS ITEM_ORDER + FROM TEMP_MANAGE_STATE_MODI_GRP P + LEFT JOIN TEMP_MANAGE_STATE_MODI_GRP C ON C.PARENT_GRP_IDX = P.GRP_IDX + AND C.USE_YN = 'Y' + LEFT JOIN TEMP_MANAGE_STATE_MODI_IT I ON I.GRP_IDX = C.GRP_IDX + AND I.USE_YN = 'Y' + WHERE P.PARENT_GRP_IDX IS NULL + AND IT_IDX IN (SELECT IT_IDX FROM TEMP_MANAGE_STATE_SEL_MODI_IT WHERE PROJECT_CODE = #{PROJECT_CODE} AND HIST_SEQ = #{HIST_SEQ}) + ORDER BY P."ORDER", C."ORDER", I."ORDER" \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/web/index.jsp b/src/main/webapp/WEB-INF/views/web/index.jsp index f47590fc..217c43e0 100644 --- a/src/main/webapp/WEB-INF/views/web/index.jsp +++ b/src/main/webapp/WEB-INF/views/web/index.jsp @@ -105,7 +105,7 @@ function mapBtnClick(project_code, projectName) { // 삭제 버튼 function delBtnTemplate(report_type, project_code, del) { if ( del == "delete" ) { - return '' + return '' } else { return " " } @@ -120,10 +120,10 @@ function delBtnClick(report_type, project_code) { // 수정 버튼 // function msgBtnTemplate(report_type, project_code, message){ -function msgBtnTemplate(report_type, project_code, modify_item, message){ +function msgBtnTemplate(report_type, project_code, modify_item, hist_seq, message){ if (msg = "message"){ // return ''; - return ''; + return ''; } else{ return " "; @@ -131,11 +131,11 @@ function msgBtnTemplate(report_type, project_code, modify_item, message){ } //수정요청 클릭 -function selectModifycallBtnClick(projectCode, createUserid, modifyItem) { +function selectModifycallBtnClick(projectCode, createUserid, histSeq) { var url = "/selectModeifyCallReason.do"; - var param = "PROJECT_CODE=" + projectCode + "&USER_ID=" + createUserid + "&MODIFY_ITEM=" + modifyItem; + var param = "PROJECT_CODE=" + projectCode + "&USER_ID=" + createUserid + "&HIST_SEQ=" + histSeq; - fn_openPopup(url, param, '480', '665'); + fn_openPopup(url, param, '880', '665'); } @@ -215,18 +215,12 @@ function kendoGrid() { title: "등록", template: "
#= insBtnTemplate(data.reportType, data.projectCode, data.ins) #
" }, - { - field: "del", - width: 60, - title: "삭제", - template: "
#= delBtnTemplate(data.reportType, data.projectCode, data.del) #
" - }, { field: "message", - width: 70, - title: "요청사항", + width: 105, + title: "수정요청보기", // template: "#if (data.smsMsg != '') {#
#= msgBtnTemplate(data.projectCode, data.userid) #
#}#" - template: "#if (data.state == '5') {#
#= msgBtnTemplate(data.projectCode, data.userid, data.modifyItem) #
#}#" + template: "#if (data.state == '5') {#
#= msgBtnTemplate(data.projectCode, data.userid, data.modifyItem, data.histSeq) #
#}#" }, { field: "excelUpload", @@ -234,6 +228,12 @@ function kendoGrid() { title: "엑셀입력", template: "
#= excelUploadBtnTemplate(data.reportType, data.projectCode) #
" }, + { + field: "del", + width: 60, + title: "삭제", + template: "
#= delBtnTemplate(data.reportType, data.projectCode, data.del) #
" + } ], sortable: true, scrollable: true, diff --git a/src/main/webapp/WEB-INF/views/web/manage/complete.jsp b/src/main/webapp/WEB-INF/views/web/manage/complete.jsp index 14277f44..ab8def41 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/complete.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/complete.jsp @@ -137,9 +137,9 @@ function modifycallBtnClick(projectCode, createUserid) { // 수정요청사유 등록 var url = "/modeifyCallReason.do"; - var param = "PROJECT_CODE="+projectCode; + var param = "PROJECT_CODE="+projectCode+"&PROC=MODIFY_NEW"; - fn_openPopup(url, param, '480', '275'); + fn_openPopup(url, param, '880', '275'); }else{ alert("해당 검수자가 아닙니다."); } @@ -374,7 +374,7 @@ function kendoGrid() { width: 80, title: "수정요청", <%-- 2023-10-05 임효주: 고객 요청에 따라 등록완료 후 수정요청 프로세스 삭제. 등록완료 후 프로젝트 정보 수정 시, TBL_HEADER_HOLE 테이블에서 수정 전 정보가 삭제되지 않아, 검색유통에 이중으로 나오는 문제 있음. --%> - template: "
#= modifycallBtnTemplate(data.projectCode, data.createUserid, data.modifycall) #
" + template: "
#= modifycallBtnTemplate(data.projectCode, data.createUserid, data.modifycall, data.histSeq) #
" }, { field: "histSeq", width: 60, title: "차수", template: function(data){ diff --git a/src/main/webapp/WEB-INF/views/web/manage/list.jsp b/src/main/webapp/WEB-INF/views/web/manage/list.jsp index b067502e..8305c6b4 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/list.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/list.jsp @@ -229,23 +229,26 @@ function mapBtnClick(project_code, projectName) { } // 수정요청 버튼 -function modifycallBtnTemplate(project_code, checkuserid, modifycall) { +function modifycallBtnTemplate(project_code, checkuserid, modifycall, hist_seq) { if ( modifycall == "modifycall" ) { - return '' +// return '' + return '' + } else if ( modifycall == "showModifycall" ) { + return '' } else { return " " } } // 수정요청 클릭 -function modifycallBtnClick(project_code, checkuserid) { +function modifycallBtnClick(project_code, checkuserid, hist_seq, proc) { if("admin_user"=="${LoginUserId}" || "65535" === "${cls}" || checkuserid == "${LoginUserId}"){ //사용자체크 $("#ProviderInfo").addClass("trViewOff"); //div 열려 있는거 닫기 // 수정요청사유 등록 var url = "/modeifyCallReason.do"; - var param = "PROJECT_CODE="+project_code; + var param = "PROJECT_CODE="+project_code+"&HIST_SEQ="+hist_seq+"&PROC="+proc; - fn_openPopup(url, param, '480', '775'); + fn_openPopup(url, param, '880', '775'); }else{ alert("해당 검수자가 아닙니다."); } @@ -505,7 +508,7 @@ function reloadGrid() { field: "modifycall", width: 80, title: "수정요청", sortable: false, - template: "
#= modifycallBtnTemplate(data.projectCode, data.checkuserid, data.modifycall) #
" + template: "
#= modifycallBtnTemplate(data.projectCode, data.checkuserid, data.modifycall, data.histSeq) #
" }, { field: "histSeq", width: 60, title: "차수", template: "
#: histSeq #
" }, { diff --git a/src/main/webapp/WEB-INF/views/web/manage/list_db.jsp b/src/main/webapp/WEB-INF/views/web/manage/list_db.jsp index 1c4d0cd3..0c4e6423 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/list_db.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/list_db.jsp @@ -36,7 +36,7 @@ // 메시지 확인 후 다음 동작 수행 <%-- 팝업 수정/등록인 경우 --%> - + window.close(); if(window.opener && !window.opener.closed) { window.opener.location.reload(); diff --git a/src/main/webapp/WEB-INF/views/web/manage/modeify_call_reason.jsp b/src/main/webapp/WEB-INF/views/web/manage/modeify_call_reason.jsp index 1779678c..639d7f45 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/modeify_call_reason.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/modeify_call_reason.jsp @@ -12,31 +12,92 @@ @@ -172,7 +373,8 @@ function addNumModifyItemValue(){
- + + @@ -181,44 +383,49 @@ function addNumModifyItemValue(){
창닫기
수정요청사유
-
${resultList.modeifyCallReason}
-
+
- - + + + + +
- + \ No newline at end of file diff --git a/src/main/webapp/kendo-ui/styles/custom.css b/src/main/webapp/kendo-ui/styles/custom.css index a1c658ae..97f5d910 100644 --- a/src/main/webapp/kendo-ui/styles/custom.css +++ b/src/main/webapp/kendo-ui/styles/custom.css @@ -323,12 +323,19 @@ Last ======== background-color: #a5bd77; } /* 수정요청 버튼 */ -.k-button-modifycall, -.k-button-modifycall:hover { +.k-button-delete, +.k-button-delete:hover { border-color: #c7864b; color: #fff; background-color: #e69850; } +/* 수정요청 버튼 */ +.k-button-modifycall, +.k-button-modifycall:hover { + border-color: #c74b4b; + color: #fff; + background-color: #e65050; +} .k-button-lg { padding: 4px 16px; diff --git a/src/main/webapp/web/css/popup.css b/src/main/webapp/web/css/popup.css index 13fff1d6..ae281b77 100644 --- a/src/main/webapp/web/css/popup.css +++ b/src/main/webapp/web/css/popup.css @@ -1,7 +1,7 @@ /* Reset */ html { background:#fff; } html,body{ width:100%; background:#fff; } -body { font-size:13px; line-height:20px; font-family:"Nanum Gothic",' ',Dotum,'Tahoma',Gulim,Helvetica,sans-serif; color:#333; font-family:NanumGothic; background:#fff; } +body { font-size:13px; line-height:20px; font-family:"Nanum Gothic",'���� ���',Dotum,'Tahoma',Gulim,Helvetica,sans-serif; color:#333; font-family:NanumGothic; background:#fff; } body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h3,h5,h6,pre,code,form,fieldset,legend,input,textarea,button,p,blockquote,th,td { margin:0; padding:0; -webkit-text-size-adjust:none; } img,fieldset{border:0; vertical-align:middle;} frameborder{border:0;} @@ -24,7 +24,7 @@ a:hover { color:#31b0e5; text-decoration:none; cursor:pointer; } a:active { color:#31b0e5; text-decoration:none; cursor:pointer; } .clear {clear:both;} -/*Ʈ*/ +/*���������Ʈ����*/ @font-face { font-family: 'NanumGothicB'; font-style: normal; @@ -78,7 +78,7 @@ a:active { color:#31b0e5; text-decoration:none; cursor:pointer; } -/*˼*/ +/*�����˼�*/ #pop_wrap .popup_area .pop_title_checklist { height:15px; background:url('../images/bullet03.png') 10px 10px no-repeat; padding:7px 0 7px 27px; font-size:15pt; } #pop_wrap .popup_area .top_table_div { padding:7px 7px 0px 18px; } #pop_wrap .popup_area .top_table { width:100%; font-size:11pt; margin:0px 0px 10px 0px; }