This commit is contained in:
myname 2022-09-26 11:20:44 +09:00
commit 03e0405d57
17 changed files with 2101 additions and 77 deletions

View File

@ -65,8 +65,6 @@ public class PgrCmmServiceImpl implements PgrCmmService {
decpyptVo(result);
System.out.println("result.getAppPlace() : "+ result.getAppPlace());
if (!StringUtil.isEmpty(result.getAppPlace())) {
String app[] = (result.getAppPlace()).split("\\|");
if (app.length > 0) {

View File

@ -1,5 +1,7 @@
package kcc.kccadr.adjReqMgrOff.web;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
@ -9,6 +11,7 @@ import java.util.Properties;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -23,6 +26,8 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.fasterxml.jackson.databind.ObjectMapper;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
@ -34,6 +39,7 @@ import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@Controller
@ -585,15 +591,36 @@ public class AdjReqMgrOffLineController {
}
/**
* auth : bhkim
* 전자조정신청 목록 화면
* date : 2021.09.111
* auth : 이준호
* 결재선 지정 팝업
* date : 2022.09.23
*/
@RequestMapping("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do")
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffAppReqPop";
}
@RequestMapping("/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do")
public void adjReqMgrOffAppReqPopAjax(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model,
HttpServletResponse response , HttpServletRequest request) throws Exception {
ObjectMapper mapper = new ObjectMapper();
//response.setHeader("Content-Type", "text/html;charset=utf-8");
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
List<MenuManageJTreeVO> resultList = null ;
MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO();
menuManageTopVO.setUpperMenuId("#");
menuManageTopVO.setMenuNo("0");
menuManageTopVO.setMenuNm("관련인");
resultList.add(0, menuManageTopVO);
System.out.println("resultList :: "+resultList);
mapper.writeValue(out, resultList);
out.flush();
}
public void decryptInfomation(List<AdjReqMgrOffLineVO> list, AdjReqMgrOffLineVO info){
if(CollectionUtils.isNotEmpty(list)){

View File

@ -17,12 +17,18 @@ public interface AdjReqMgrPastService {
ResponseEntity<RestResponse> checkNInsertAprvlPastAjax(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception;
ResponseEntity<RestResponse> checkNUpdateAprvlPastAjax(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception;
List<AdjReqMgrPastVO> selectAdrPrtclMgrPastList(AdjReqMgrPastVO adjReqMgrPastVO);
AdjReqMgrPastVO selectMemAss(AdjReqMgrPastVO adjReqMgrPastVO);
List<AdjReqMgrPastVO> findAllAssPstInfo(AdjReqMgrPastVO adjReqMgrPastVO);
AdjReqMgrPastVO findByIdPrtclMgr(AdjReqMgrPastVO adjReqMgrPastVO);
List<AdjReqMgrPastVO> selectAdrRpplPastList(AdjReqMgrPastVO adjReqMgrPastVO);
AdjReqMgrPastVO findByIdAdrMgrMaster(AdjReqMgrPastVO adjPastVO);
}

View File

@ -36,6 +36,7 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String nextAppDeDay; /* 다음조정기일일시 */
private String appPlaceTx; /* 조정기일장소 */
private String addUsrNm; /* 조정부장 */
private String addUsrNm0; /* 조정부장 */
private String addUsrNm1; /* 조정위원1 */
private String addUsrNm2; /* 조정위원2 */
@ -106,10 +107,13 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String rpplRelation = ""; //신청인과의 관계()
private String rpplRelationEtc = ""; //신청인과의 관계 기타 입력
private String assUsrTy = ""; //신청인과의 관계 기타 입력
private String addUsrIdList[]; /* ass.addUsrId | ass.assUsrTy | add_yn " */
private String addUsrId; /* ass.addUsrId | ass.assUsrTy | add_yn " */
private String addAgntList[]; /* ass.agntSeq | ass.assUsrTy | add_yn " */
// 조정기일대리인
// 조정기일대리인
private String addUsrNmList[]; /* ass.agntSeq | ass.assUsrTy | add_yn " */
private String adrSn = ""; // 조정회차
private String agntSeq = ""; // 대리인일련번호
private String agntSbmtYn = ""; // 조정대리신청제출여부
@ -182,9 +186,9 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String assPstUsrTy;
private String addYn;
private String addChgYn;
private String ccTyTx;
private String appPlaceDetailTx;
public AdjReqMgrVO getAdrVO() {
return adrVO;
@ -306,6 +310,14 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
this.appPlaceTx = appPlaceTx;
}
public String getAddUsrNm() {
return addUsrNm;
}
public void setAddUsrNm(String addUsrNm) {
this.addUsrNm = addUsrNm;
}
public String getAddUsrNm0() {
return addUsrNm0;
}
@ -802,6 +814,14 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
this.rpplRelationEtc = rpplRelationEtc;
}
public String getAssUsrTy() {
return assUsrTy;
}
public void setAssUsrTy(String assUsrTy) {
this.assUsrTy = assUsrTy;
}
public String[] getAddUsrIdList() {
return addUsrIdList;
}
@ -1186,6 +1206,32 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
this.addChgYn = addChgYn;
}
public String getCcTyTx() {
return ccTyTx;
}
public void setCcTyTx(String ccTyTx) {
this.ccTyTx = ccTyTx;
}
public String getAppPlaceDetailTx() {
return appPlaceDetailTx;
}
public void setAppPlaceDetailTx(String appPlaceDetailTx) {
this.appPlaceDetailTx = appPlaceDetailTx;
}
public String[] getAddUsrNmList() {
return addUsrNmList;
}
public void setAddUsrNmList(String[] addUsrNmList) {
this.addUsrNmList = addUsrNmList;
}
// =============================================

View File

@ -61,6 +61,10 @@ public class AdjReqMgrPastDAO extends EgovAbstractDAO {
insert("adjReqMgrPastDAO.insertAdjAssList", adjAssMgrPastList );
}
public void updateAdjAss(AdjAssMgrPastVO adjAssMgrPastList) {
update("adjReqMgrPastDAO.updateAdjAss", adjAssMgrPastList );
}
public void updateAdrPrtclMgr(AdjReqMgrPastVO adjPastVO) {
update("adjReqMgrPastDAO.updateAdrPrtclMgr", adjPastVO );
}
@ -74,4 +78,12 @@ public class AdjReqMgrPastDAO extends EgovAbstractDAO {
return (List<AdjReqMgrPastVO>) list("adjReqMgrPastDAO.selectAdrRpplPastList", adjReqMgrPastVO);
}
public List<AdjReqMgrPastVO> findAllAssPstInfo(AdjReqMgrPastVO adjReqMgrPastVO) {
return (List<AdjReqMgrPastVO>) list("adjReqMgrPastDAO.findAllAssPstInfo", adjReqMgrPastVO);
}
public AdjReqMgrPastVO findByIdAdrMgrMaster(AdjReqMgrPastVO adjPastVO) {
return (AdjReqMgrPastVO) select("adjReqMgrPastDAO.findByIdAdrMgrMaster", adjPastVO);
}
}

View File

@ -4,6 +4,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@ -12,6 +13,8 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import com.mchange.v2.sql.filter.SynchronizedFilterCallableStatement;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.cmmn.exception.FdlException;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
@ -542,13 +545,37 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
System.out.println(" 공개여부 :: "+adjPastVO.getOpenYn());
// this.insertAdjAssAndDataCleansing(adjPastVO);
this.insertAdrPrtclMgrAndDataCleansing(adjPastVO);
this.insertAdjAssAndDataCleansing(adjPastVO);
this.updateAdrPrtclMgrAndDataCleansing(adjPastVO);
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "기일조서 등록이 완료되었습니다.", LocalDateTime.now()));
}
@Override
public ResponseEntity<RestResponse> checkNUpdateAprvlPastAjax(AdjReqMgrPastVO adjPastVO) throws Exception {
System.out.println(" 조정기일일 :: "+adjPastVO.getAppDeDay());
System.out.println(" 조정기일시 :: "+adjPastVO.getAppDeTime());
System.out.println(" 다음조정기일일 :: "+adjPastVO.getNextAppDeDay());
System.out.println(" 다음조정기일시 :: "+adjPastVO.getNextAppDeTime());
System.out.println(" 조정기일장소 :: "+adjPastVO.getAppPlaceTx());
System.out.println(" 기일조서내용 :: "+adjPastVO.getPrtclCn());
System.out.println(" 장소 Type :: "+adjPastVO.getAppPlaceTy());
System.out.println(" 장소 :: "+adjPastVO.getAppPlaceTx());
System.out.println(" 공개여부 :: "+adjPastVO.getOpenYn());
try {
this.updateAdjAssAndDataCleansing(adjPastVO);
} catch (Exception e) {
e.printStackTrace();
}
// this.updateAdrPrtclMgrAndDataCleansing(adjPastVO);
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "기일조서 등록이 완료되었습니다.", LocalDateTime.now()));
}
private void insertAdrPrtclMgrAndDataCleansing(AdjReqMgrPastVO adjPastVO) {
private void updateAdrPrtclMgrAndDataCleansing(AdjReqMgrPastVO adjPastVO) {
String addDe = adjPastVO.getAppDeDay()+" "+adjPastVO.getAppDeTime();
@ -567,7 +594,6 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
adjReqMgrPastDAO.updateAdrPrtclMgr(adjPastVO);
}
public void insertAdjAssAndDataCleansing(AdjReqMgrPastVO adjPastVO) throws FdlException {
List<AdjAssMgrPastVO> adjAssMgrPastList = new ArrayList<AdjAssMgrPastVO>();
@ -648,10 +674,63 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
}
// 과거사건 기일조서 수정
public void updateAdjAssAndDataCleansing(AdjReqMgrPastVO adjPastVO) throws FdlException {
/* 신청인 */
AdjAssMgrPastVO adjAssMgrPastVO = new AdjAssMgrPastVO(adjPastVO);
for(String addusrList : adjPastVO.getAddUsrIdList())
{
adjAssMgrPastVO = new AdjAssMgrPastVO(adjPastVO);
adjAssMgrPastVO.setAssPstSeq(addusrList.split("\\|")[0]);
adjAssMgrPastVO.setAddYn(addusrList.split("\\|")[1]);
adjReqMgrPastDAO.updateAdjAss(adjAssMgrPastVO);
}
for(String addusrList : adjPastVO.getAddAgntList())
{
if(StringUtils.isNotEmpty(addusrList))
{
adjAssMgrPastVO = new AdjAssMgrPastVO(adjPastVO);
adjAssMgrPastVO.setAssPstSeq(addusrList.split("\\|")[0]);
adjAssMgrPastVO.setAssPstUsrNm(addusrList.split("\\|")[1]);
adjAssMgrPastVO.setAddYn("Y");
adjReqMgrPastDAO.updateAdjAss(adjAssMgrPastVO);
}
}
// 조정위원
for(String addusrList : adjPastVO.getAddUsrNmList())
{
if(StringUtils.isNotEmpty(addusrList))
{
adjAssMgrPastVO = new AdjAssMgrPastVO(adjPastVO);
adjAssMgrPastVO.setAssPstSeq(addusrList.split("\\|")[0]);
adjAssMgrPastVO.setAssPstUsrTy(addusrList.split("\\|")[1]);
adjAssMgrPastVO.setAssPstUsrNm(addusrList.split("\\|")[2]);
adjAssMgrPastVO.setAddYn("Y");
adjReqMgrPastDAO.updateAdjAss(adjAssMgrPastVO);
}
}
}
@Override
public AdjReqMgrPastVO findByIdPrtclMgr(AdjReqMgrPastVO adjReqMgrPastVO) {
return adjReqMgrPastDAO.findByIdPrtclMgr(adjReqMgrPastVO);
AdjReqMgrPastVO adjPastVO = adjReqMgrPastDAO.findByIdPrtclMgr(adjReqMgrPastVO);
adjPastVO.setAppDeDay(adjPastVO.getAppDe().split(" ")[0]);
String appTime = adjPastVO.getAppDe().split(" ")[1];
adjPastVO.setAppDeTime(appTime.substring(0, appTime.lastIndexOf(":")));
adjPastVO.setNextAppDeDay(adjPastVO.getNextAppDe().split(" ")[0]);
String appNextTime = adjPastVO.getNextAppDe().split(" ")[1];
adjPastVO.setNextAppDeTime(appNextTime.substring(0, appTime.lastIndexOf(":")));
return adjPastVO;
}
@ -662,5 +741,21 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
}
@Override
public List<AdjReqMgrPastVO> findAllAssPstInfo(AdjReqMgrPastVO adjReqMgrPastVO) {
// List<AdjReqMgrPastVO> adjReqMgrPastListVO = adjReqMgrPastDAO.findAllAssPstInfo(adjReqMgrPastVO);
// List<String> usrTyList = adjReqMgrPastListVO.stream().map(AdjReqMgrPastVO::getAssPstUsrTy).collect(Collectors.toList());
return adjReqMgrPastDAO.findAllAssPstInfo(adjReqMgrPastVO);
}
@Override
public AdjReqMgrPastVO findByIdAdrMgrMaster(AdjReqMgrPastVO adjPastVO) {
return adjReqMgrPastDAO.findByIdAdrMgrMaster(adjPastVO);
}
}

View File

@ -241,16 +241,6 @@ public class AdjReqMgrPastController {
model.addAttribute("memAss", adjReqMgrPastService.selectMemAss(adjReqVO));
// 등록된 값이 있으면 select
if(StringUtils.isNotEmpty(cmmVO.getPrtclCn()))
{
List<PgrCmmVO> apmChgInfo = apmService.selectApmChgDateInfo(cmmVO);
model.addAttribute("apmChgInfo", apmChgInfo.get(0));
//조정위원 정보 불러오기
PgrCmmVO dntVO = this.getDntInfo(cmmVO);
model.addAttribute("uiwonInfo", dntVO);
}
model.addAttribute("newAdrSn", cmmVO.getNowAdrSn());
@ -274,32 +264,27 @@ public class AdjReqMgrPastController {
AdjReqMgrPastVO adjPastVO = adjReqMgrPastService.findByIdPrtclMgr(adjReqMgrPastVO);
System.out.println(" adjPastVO.getPrtclCn() :: " + adjPastVO.getPrtclCn());
model.addAttribute("adjPastVO", adjPastVO);
// DrtVO drtVO = new DrtVO();
// drtVO.setAdrSeq(adjReqMgrPastVO.);
// drtVO.setAdrSn(adrSeq);
DrtVO drtVO = new DrtVO();
drtVO.setAdrSeq(adjPastVO.getAdrSeq());
drtVO.setAdrSn(adjPastVO.getAdrSn());
model.addAttribute("assList", drtService.selectAssRegList(drtVO));
// model.addAttribute("assList", drtService.selectAssRegList(drtVO));
//사건 정보 불러오기
// PgrCmmVO info = cmmService.selectPgrCmm(cmmVO);
model.addAttribute("info", adjReqMgrPastService.findByIdAdrMgrMaster(adjPastVO));
/* 조정부 / 조정조사관 select */
// AdjReqMgrPastVO adjReqVO = new AdjReqMgrPastVO();
// adjReqVO.setAdrSeq(cmmVO.getAdrSeq());
// model.addAttribute("memAss", adjReqMgrPastService.selectMemAss(adjReqVO));
model.addAttribute("memAss", adjReqMgrPastService.selectMemAss(adjPastVO));
List<AdjReqMgrPastVO> list = adjReqMgrPastService.findAllAssPstInfo(adjPastVO);
list.stream().forEach(System.out::println);
/* 참석 인원 select */
model.addAttribute("assInfoList", adjReqMgrPastService.findAllAssPstInfo(adjPastVO));
// 등록된 값이 있으면 select
// if(StringUtils.isNotEmpty(cmmVO.getPrtclCn()))
// {
// }
// model.addAttribute("newAdrSn", cmmVO.getNowAdrSn());
return "/kccadr/adjReqMgrPast/drtRegPop";
return "/kccadr/adjReqMgrPast/drtUpdtPop";
}
@ -366,6 +351,30 @@ public class AdjReqMgrPastController {
@RequestMapping(value = {"/kccadr/adjReqMgOff/checkNUpdateAprvlPastAjax.do"})
public ResponseEntity<RestResponse> checkNUpdateAprvlPastAjax(@ModelAttribute("adrVO") AdjReqMgrPastVO adjReqMgrPastVO
, RedirectAttributes redirectAttributes
, HttpServletRequest request) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
// Unauthorized : 401, 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized)
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
}
//사용자 유니크 아이디 받아오기
adjReqMgrPastVO.setLastUpdusrId(userId);
//조정신청, 대리인, 신청인 등록 처리
return adjReqMgrPastService.checkNUpdateAprvlPastAjax(adjReqMgrPastVO);
}

View File

@ -296,6 +296,7 @@ public class EgovMenuCreateManageController {
menuManageTopVO.setMenuNo("0");
menuManageTopVO.setMenuNm("사용자메뉴");
if("ROLE_ADMIN".equals(menuManageVO.getAuthorCode())){
menuManageTopVO.setMenuNm("관리자메뉴");
}

View File

@ -54,6 +54,24 @@ public class EgovCustomRankManageController {
return "cmm/uss/rnt/EgovRankManageTree";
}
// 부서관리
@RequestMapping(value = "/uss/rnt/EgovDepartmentManageTree.do")
public String selectDepartmentManage(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, @ModelAttribute("searchVO") ComDefaultVO searchVO,
ModelMap model, MenuManageVO menuManageVO , HttpSession session ) throws Exception {
// 직급정보 C0050
if(menuCreatVO.getMenuUserType() == null){
menuCreatVO.setMenuUserType("A"); //사용자 디폴트
}
return "cmm/uss/rnt/EgovDepartmentManageTree";
}
// 부서관리 - 관리자 검색 팝업
@RequestMapping(value = "/uss/rnt/popup/EgovDepartmentManagePop.do")
public String selectDepartmentManagePop(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, ModelMap model ) throws Exception {
return "cmm/uss/rnt/popup/EgovDepartmentManagePop";
}
@RequestMapping(value = {"/uss/rnt/EgovRankDataLoad.do"}, method = RequestMethod.POST)
public ResponseEntity<RestResponse> egovRankDataLoad(HttpServletRequest request , @RequestBody EgovCustomRankManageVO rankManageVO) throws Exception {

View File

@ -417,6 +417,20 @@
</iterate>
</insert>
<!-- 과거사건등록 - 기일조서 등록 출석인 관리-->
<update id="adjReqMgrPastDAO.updateAdjAss" parameterClass="AdjReqPastVO">
UPDATE ADR_ASS_MGR_PST SET
ADD_YN = #addYn#
, ASS_PST_USR_NM = #assPstUsrNm#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = NOW()
WHERE
ASS_PST_SEQ = #assPstSeq#
</update>
<!-- 과거사건등록 - 기일조서 등록 - 기일조서정보 -->
<update id="adjReqMgrPastDAO.updateAdrPrtclMgr" parameterClass="AdjReqPastVO">
@ -430,8 +444,10 @@
, prtcl_cn = #prtclCn#
, sbmt_yn = #sbmtYn#
, appr_yn = #apprYn#
, frst_regist_pnttm = NOW()
, frst_register_id = #frstRegisterId#
<isNotEmpty property="frstRegisterId" >
, frst_regist_pnttm = NOW()
, frst_register_id = #frstRegisterId#
</isNotEmpty>
, last_updt_pnttm = NOW()
, last_updusr_id = #lastUpdusrId#
, app_result_ty = #appResultTy#
@ -449,7 +465,7 @@
FROM adr_ass_mgr_pst a
WHERE a.ass_pst_usr_ty IN ('10', '20', '50')
AND a.adr_seq = #adrSeq#
GROUP BY a.ass_pst_usr_ty;
GROUP BY a.ass_pst_usr_ty
</select>
@ -459,28 +475,74 @@
<select id="adjReqMgrPastDAO.findByIdPrtclMgr" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT
ADR_SEQ
, ADR_SN
, PRTCL_SEQ
, OPEN_YN
, APP_DE
, APP_PLACE_TY
, APP_PLACE
, NEXT_APP_DE_YN
, NEXT_APP_DE
, PRTCL_CN
, SBMT_YN
, SBMT_DE
, APPR_YN
, APPR_DE
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
, APP_RESULT_TY
ADR_SEQ as adrSeq
, ADR_SN as adrSn
, PRTCL_SEQ as prtclSeq
, OPEN_YN as openYn
, APP_DE as appDe
, APP_PLACE_TY as appPlaceTy
, APP_PLACE as appPlace
, NEXT_APP_DE_YN as nextAppDeYn
, NEXT_APP_DE as nextAppDe
, PRTCL_CN as prtclCn
, SBMT_YN as sbmtYn
, SBMT_DE as sbmtDe
, APPR_YN as apprYn
, APPR_DE as apprDe
, FRST_REGIST_PNTTM as frstRegistPnttm
, FRST_REGISTER_ID as frstRegisterId
, LAST_UPDT_PNTTM as lastUpdtPnttm
, LAST_UPDUSR_ID as lastUpdusrId
, APP_RESULT_TY as appResultTy
FROM ADR_PRTCL_MGR
WHERE PRTCL_SEQ = #prtclSeq#
</select>
<!-- 오프라인 조정사건정보 수정 : 조정사건 정보 불러오기 -->
<select id="adjReqMgrPastDAO.findByIdAdrMgrMaster" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT
amm.ADR_SEQ as adrSeq
, amm.ADR_NO as adrNo
, amm.REQ_CN1 as reqCn1
, amm.REQ_CN2 as reqCn2
, amm.REQ_TY as reqTy
, (
SELECT
CODE_NM
FROM
LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC002' AND CODE = amm.CC_TY
) as ccTyTx /* 저작물 종류 */
FROM ADR_MGR_MASTER amm
where amm.ADR_SEQ = #adrSeq#
</select>
<!-- 해당 회차의 출석인원들 select -->
<select id="adjReqMgrPastDAO.findAllAssPstInfo" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT
ADR_SEQ as adrSeq
, ADR_SN as adrSn
, ASS_PST_SEQ as assPstSeq
, ASS_PST_USR_TY as assPstUsrTy
, ASS_PST_USR_NM as assPstUsrNm
, ADD_YN as addYn
, ADD_CHG_YN as addChgYn
, FRST_REGIST_PNTTM as frstRegistPnttm
, FRST_REGISTER_ID as frstRegisterId
, LAST_UPDT_PNTTM as lastUpdtPnttm
, LAST_UPDUSR_ID as lastUpdusrId
FROM
ADR_ASS_MGR_PST
WHERE
ADR_SEQ = #adrSeq#
AND ADR_SN = #adrSn#
</select>
</sqlMap>

View File

@ -81,6 +81,7 @@
<decorator name="adminPoplayout" page="/WEB-INF/jsp/layout/adminLayoutPopup.jsp">
<pattern>/kccadr/**/popup/*</pattern><!-- 관리자 팝업페이지 -->
<pattern>/uss/**/popup/*</pattern><!-- 관리자 팝업페이지 -->
</decorator>
<!-- <decorator name="null" page="/WEB-INF/jsp/layout/none.jsp"> -->

View File

@ -0,0 +1,396 @@
<%--
Class Name : EgovOrgChartManage.jsp
Description : 조직도 관리 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2018.06.11 ITN 최초 생성
author : ITN
since : 2018.06.11
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="kcc.com.cmm.service.EgovProperties"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko">
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
<style>
.jstree_orgChart {
overflow: auto;
border: 1px solid silver;
min-height: 100px;
width: 290px;
}
</style>
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
<script src="<c:url value='/js/jstree.min.js' />"></script>
<script src="<c:url value='/js/EgovCmmUtl.js' />"></script>
<script>
/*********************************
* jstree
*********************************
*/
$(document).ready(function() {
loadProcess();
});
// 초기 데이터 만드는 function
function fn_makeList(data){
var resultList = data['dataList'];
var dataList = [];
var data = {};
data.id = 'C0050';
data.text = '직급관리';
data.parent = '#';
data.state = {opened : true};
dataList.push(data);
$.each( resultList, function (index, item) {
data = {};
data.id = item.code;
data.text = item.codeNm;
data.parent = item.codeId;
data.info = item.codeId;
data.li_attr = {'data-info' : item.codeId};
dataList.push(data);
});
return dataList;
}
// jsTree function
function fn_jsTree(resultData){
$("#rank_organization").jstree({
"core" : {
"check_callback" : true
,"data" : resultData
}
,"plugins" : [
"contextmenu"
, "dnd"
, "search"
, "types"
]
// ,'contextmenu' : {
// "items" : {
// "test" : { //사실상 "test"라는 이름은 변수에 가깝기 때문에 뭐든 상관없다 생각한다.
// "separator_before" : false,
// "separator_after" : true,
// "label" : "신규메뉴",
// "action" : function(obj){alert('메뉴테스트')}
// }
// ,"test1" : {
// "separator_before" : false,
// "separator_after" : true,
// "label" : "신규메뉴2",
// "action" : function(obj){alert('메뉴테스트2')}
// }
// }
// }
})
.on('select_node.jstree', function (e, data) {
console.log('data.instance.get_node(data.selected) : ', data.instance.get_node(data.selected));
var id = data.instance.get_node(data.selected).id; //id 가져오기    
var type = data.instance.get_node(data.selected).type;    //type 가져오기    
var path = data.instance.get_node(data.selected).path;    //paht 가져오기    
var a = data.instance.get_node(data.selected).li_attr['data-info'];    //data 에서 a 가져오기
console.log(' id : ', id);
console.log(' type : ', type);
console.log(' path : ', path);
console.log(' a : ', a );
})
/* 추가 */
.on('create_node.jstree', function(e, data) {
console.log('data.node.parent : ', data.node.parent);
if (confirm("메뉴를 추가하시겠습니까?")){
}else{
data.instance.refresh();
}
})
/* 삭제 */
.on('delete_node.jstree', function (e, data) {
if(data.node.children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
data.instance.refresh();
}else{
if (confirm("[" + data.node.text + "]" + " 메뉴를 삭제하시겠습니까?")){
// $.ajax({
// type:"POST",
// url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do' />",
// data:{ "menuNo" : data.node.id , "authorCode" : $('#authorCode').val() },
// dataType:'json',
// //timeout:(1000*30),
// success : function(returnData, status) {
// if (status == "success") {
// alert("메뉴 정보가 삭제되었습니다.");
// fn_init_menuInfo();
// } else { alert("ERROR"); }
// },
// error : function(request , status, error) {
// alert("메뉴 정보 삭제가 실패되었습니다.");
// //alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
// },
// complete : function () {
// data.instance.refresh();
// deleteLodingBar();
// }
// });
} else {
data.instance.refresh();
}
}
})
/* 코드명 변경 */
.on('rename_node.jstree', function (e, data) {
var nodeId = data.node.id;
var oldText = data.old;
var newText = data.text;
if (nodeId > 0) {
/* 부서명 변경 */
// if (oldText != newText) {
// if (confirm("메뉴명을 변경하시겠습니까?" )) {
// $.ajax({
// type:"POST",
// url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoNmUpdateAjax.do' />",
// data:{ "menuNo" : nodeId, "menuNm" : newText },
// dataType:'json',
// success : function(returnData, status) {
// if (status == "success") {
// alert("메뉴명이 변경되었습니다.");
// } else { alert("ERROR"); }
// },
// error : function(request , status, error) {
// alert("메뉴명이 변경이 실패되었습니다.");
// },
// complete : function () {
// data.instance.refresh();
// deleteLodingBar();
// }
// });
// } else {
// data.instance.refresh();
// }
// }
} else {/* 메뉴 추가 */
}
});
/* Tree 모두 열기 */
console.log('!! : ', $("#rank_organization").jstree().element.context.innerHTML)
}
function loadProcess() {
$.ajax({
type : "POST"
, url : "<c:url value='/uss/rnt/EgovRankDataLoad.do'/>"
, data : JSON.stringify({
codeId : "C0050"
})
, dataType : 'json'
, async : false
, processData : false
, contentType : "application/json"
, cache : false
, success : function(returnData) {
if (data.status == "OK") {
// 초기데이터 생성 후 jsTree 만듬
var resultData = fn_makeList(returnData);
fn_jsTree(resultData);
} else {
alert(returnData.data);
return false;
}
}
, error : function(e) {
console.log("ERROR : ", e);
}
});
}
function addPerson(){
var form = $('<form id="payform"></form>');
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
form.appendTo('body');
commonPopWindowopenForm("/uss/rnt/popup/EgovDepartmentManagePop.do" , "550", "520", "addPersonPopup", form);
form.remove();
}
</script>
<style type="text/css">
.tbType02 tbody tr td .tbType01 thead th,
.tbType02 tbody tr td .tbType01 tbody td {text-align:center;}
.tbType02 tbody tr td .tbType01 tbody td .btnType04 {font-size:16px;}
.tbType02 tbody tr td .btn_wrap {margin:15px 0 10px;}
</style>
<title>부서관리</title>
</head>
<body>
<form name="searchForm" method="get" action="<c:url value='/sym/mnu/mcm/EgovMenuCreatSelectJtree.do'/>" >
<input name="authorCode" type="hidden" value="ROLE_ADMIN" />
<input name="seCd" type="hidden" value="" />
<input name="searchNm" type="hidden" value="" />
</form>
<form name="menuForm" id="menuForm" >
<input type="hidden" id="existChildNode" name="existChildNode" value="N" />
<input type="hidden" name="emplyrId" id="emplyrId" /><!-- 담당자ID -->
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>부서관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조직관리</p>
</li>
<li><span class="cur_nav">부서관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="menu_wrap">
<div class="menu_area">
<div class="btn_wrap">
<button type="button" class="btnType02 all_open" onclick="$('#rank_organization').jstree('open_all' );">모두열기</button>
<button type="button" class="btnType03 all_close" onclick="$('#rank_organization').jstree('close_all');">모두닫기</button>
</div>
<div class="menu_list" id="rank_organization" class="jstree_orgChart">
<!-- <ul> -->
<!-- <li>직급 -->
<!-- <ul> -->
<!-- <li id="child_node_1" data-info="infoTest" value="child1">Child node 1</li> -->
<!-- <li>Child node 2</li> -->
<!-- </ul> -->
<!-- </li> -->
<!-- </ul> -->
</div>
</div>
<div class="menu_detail">
<p class="menu_detail_tit">부서 상세</p>
<table class="tbType02">
<colgroup>
<col style="width: 215px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th><span>부서코드</span></th>
<td>
<input type="text" name="depCode" id="depCode" />
</td>
</tr>
<tr>
<th><span>부서명</span></th>
<td>
<input type="text" name="depName" id="depName" />
</td>
</tr>
<tr>
<th><span>부서명</span></th>
<td>
<select name="depHighCode" id="depHighCode">
<option value="분쟁조정본부">분쟁조정본부</option>
</select>
</td>
</tr>
<tr>
<th><span>부서설명</span></th>
<td>
<input type="text" name="depDesc" id="depDesc" />
</td>
</tr>
<tr>
<th><span>사용/미사용</span></th>
<td>
<select name="depUseStus" id="depUseStus">
<option value="사용">사용</option>
</select>
</td>
</tr>
<tr>
<th><span>소속인원</span></th>
<td>
<div class="tbType01">
<table>
<colgroup>
<col style="width:80px;" />
<col style="width:110px;" />
<col style="width:120px;" />
<col style="width:auto;" />
<col style="width:120px;" />
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>성명</th>
<th>직책</th>
<th>전화번호</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>홍길동</td>
<td>부서장</td>
<td>010-1234-5678</td>
<td>
<button type="button" class="btnType04">소속삭제</button>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="area_left"></div>
<div class="area_right">
<button type="button" class="btnType01" onclick="addPerson();">인원추가</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button type="button" class="btnType04" id="deleteBtn" onClick="fn_delete(); return false;">삭제</button>
<button type="button" class="btnType06" id="saveBtn" onClick="fn_save(); return false;">저장</button>
</div>
</div>
<!-- //btn_wrap -->
</div>
</div>
</div>
<!-- //cont -->
</form>
</body>
</html>

View File

@ -46,12 +46,13 @@
// 초기 데이터 만드는 function
function fn_makeList(data){
console.log(' makeList data : ', data);
var resultList = data['dataList'];
var dataList = [];
var data = {};
data.id = 'C0050';
data.id = 'CC041';
data.text = '직급관리';
data.parent = '#';
data.state = {opened : true};
@ -74,7 +75,7 @@
// jsTree function
function fn_jsTree(resultData){
console.log('resultData : ', resultData);
$("#rank_organization").jstree({
"core" : {
@ -208,17 +209,18 @@
type : "POST"
, url : "<c:url value='/uss/rnt/EgovRankDataLoad.do'/>"
, data : JSON.stringify({
codeId : "C0050"
codeId : "CC041"
})
, dataType : 'json'
, async : false
, processData : false
, contentType : "application/json"
, cache : false
, success : function(returnData) {
, success : function(data) {
console.log('returnData : ', data);
if (data.status == "OK") {
// 초기데이터 생성 후 jsTree 만듬
var resultData = fn_makeList(returnData);
var resultData = fn_makeList(data);
fn_jsTree(resultData);
} else {
alert(returnData.data);

View File

@ -0,0 +1,77 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncGoClose() {
self.close();
}
</script>
<style type="text/css">
.search_form select {width:100px;background-image:url(/kccadrPb/adm/image/icon_select.png);background-position:calc(100% - 15px) center;background-repeat:no-repeat;vertical-align:middle;}
.search_form .btnType02 {height:38px;vertical-align:middle;}
.pop_tbType02 {margin:20px 0 0;}
.btn_wrap {text-align:center;}
</style>
<title>관리자 검색</title>
</head>
<body>
<div class="area_popup">
<div class="cont_popup">
<ul class="search_form">
<select name="depRank" id="depRank">
<option value="직급">직급</option>
</select>
<input type="text" name="depName" id="depName" />
<button type="button" class="btnType02">검색</button>
</ul>
<table class="pop_tbType02">
<colgroup>
<col style="width:40px;">
<col style="width:60px;">
<col style="width:100px;">
<col style="width:120px;">
<col style="width:auto;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="" id="" /></th>
<th>번호</th>
<th>성명</th>
<th>직책</th>
<th>부서명</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="" id="" /></td>
<td>1</td>
<td>홍길동</td>
<td>부서장</td>
<td>-</td>
</tr>
<tr>
<td><input type="checkbox" name="" id="" /></td>
<td>2</td>
<td>홍길동</td>
<td>팀장</td>
<td>등록임치팀</td>
</tr>
</tbody>
</table>
<div class="btn_wrap">
<button type="button" class="btnType06">추가</button>
</div>
</div>
</div>
</body>
</html>

View File

@ -291,7 +291,9 @@ $(document).ready(function(){
commonPopWindowopenForm("/kccadr/adjPgrMgr/apm/popup/adrAdmMemo.do", '820', '500', "entInfoPop", $('#pop'));
}
function fnc_aprvl_pop(param){
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
}
</script>
</head>
@ -675,7 +677,8 @@ $(document).ready(function(){
<!-- 접수결재 요청은 조정접수(10105) 또는 접수결재반려(201090) 후 노출 -->
<c:if test="${info.statCd== KccadrConstants.ADR_RCPT_COMP || info.statCd== KccadrConstants.ADR_RCPT_APPR_RETN}">
<!-- <button type="button" class="btnType02" onclick="fncApp()">접수결재요청</button> -->
<button type="button" class="btnType02" onclick="fnc_aprvl_step_1('201010');">접수결재요청</button>
<button type="button" class="btnType02" onclick="fnc_aprvl_pop('201010');">접수결재요청(새로운결재선)</button>
<button type="button" class="btnType02" onclick="fnc_aprvl_step_1('201010');">접수결재요청(개발용)</button>
</c:if>
<!-- 조정부 지정은 조정접수결재완료후 노출 접수완료 또는 조정부 반려인경우만.-->
<c:if test="${info.statCd== KccadrConstants.ADR_RCPT_APPR_COMP || info.statCd== KccadrConstants.ADR_DEPT_SLCT_RETN}">

View File

@ -10,7 +10,776 @@
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
<style>
.jstree_orgChart {
overflow: auto;
border: 1px solid silver;
min-height: 100px;
width: 290px;
}
</style>
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
<script src="<c:url value='/js/jstree.min.js' />"></script>
<script src="<c:url value='/js/EgovCmmUtl.js' />"></script>
<script type="text/javascript">
/*********************************
* jstree
*********************************
*/
var newNodeId = "";
function jstreeInit() {
$('#kopost_organization').jstree({
"core" : {
"animation" : 0,
"multiple" : false,
"check_callback" : true,
"themes" : { "stripes" : true },
"data" : {
"url" : "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do'/>",
"dataType" : "json",
"data" : function (node) {
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
}
}
},
"types" : {
"#" : {
/* "max_children" : 4, */
"max_depth" : 5,
"valid_children" : ["root"]
},
"root" : {
"icon" : "glyphicon glyphicon-flash",
"valid_children" : ["default"]
},
"default" : {
"valid_children" : ["default","file"]
},
"file" : {
"icon" : "jstree-file",
"valid_children" : []
}
},
"plugins" : [
"contextmenu", "dnd", "search",
"types"
]
})
.bind('loaded.jstree', function(e, data) {
$('#kopost_organization').jstree('open_node' , $('#0') )
})
.on('select_node.jstree', function (e, data) {
if(!$('.organ_rightbox').is(":visible")){
$(".organ_rightbox").show();
}
/* 메뉴 선택 */
var menuNo = data.node.id;
var upperMenuId = data.node.parent;
//하위 메뉴가 있으면 메뉴코드 변경못하게
if(data.node.children.length > 0){
$('#menuNo').attr("readonly",true);
$('#existChildNode').val("Y");
}else{
$('#menuNo').attr("readonly",false);
$('#existChildNode').val("N");
}
/* 메뉴 선택 */
var menuNo = data.node.id;
//메뉴 추가시 자동 선택되게
if(newNodeId !=""){
menuNo = newNodeId ;
newNodeId = "";
$('#'+data.instance.get_node(menuNo).a_attr.id).trigger("click") //클릭 이벤트 발생
}
$("#menuTopNm").text(data.node.text);
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoAjax.do' />",
data:{ "menuNo" : menuNo , "authorCode" : $('#authorCode').val()},
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (status == "success") {
var menuManageVO = returnData.menuManageVO;
var menuUserTypeList = returnData.menuUserTypeList;
fn_select_menuNo(menuManageVO, menuUserTypeList);
} else { alert("ERROR"); }
},
error : function(request , status, error) {
},
complete : function () {
deleteLodingBar();
}
});
})
.on('rename_node.jstree', function (e, data) { //메뉴명 변경
var nodeId = data.node.id;
var oldText = data.old;
var newText = data.text;
if (nodeId > 0) {
/* 부서명 변경 */
if (oldText != newText) {
if (confirm("메뉴명을 변경하시겠습니까?" )) {
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoNmUpdateAjax.do' />",
data:{ "menuNo" : nodeId, "menuNm" : newText },
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
alert("메뉴명이 변경되었습니다.");
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("메뉴명이 변경이 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
} else {
data.instance.refresh();
}
}
} else {/* 메뉴 추가 */
}
})
.on('delete_node.jstree', function (e, data) {
/* 메뉴 삭제 */
if(data.node.children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
data.instance.refresh();
}else{
if (confirm("[" + data.node.text + "]" + " 메뉴를 삭제하시겠습니까?")){
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do' />",
data:{ "menuNo" : data.node.id , "authorCode" : $('#authorCode').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (status == "success") {
alert("메뉴 정보가 삭제되었습니다.");
fn_init_menuInfo();
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("메뉴 정보 삭제가 실패되었습니다.");
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
} else {
data.instance.refresh();
}
}
})
.on('create_node.jstree', function(e, data) {
if (confirm("메뉴를 추가하시겠습니까?")){
var instance = data.instance;
var menuNm = data.text;
var upperMenuId = data.node.parent;
var menuOrdr = 1;
var childrenNodes = instance.get_node(upperMenuId).children;
// 하위 메뉴 있을 시 마지막 부서 sort_ord + 1
if (childrenNodes.length > 1) {
//var lastChildrenNode = instance.get_node(childrenNodes[childrenNodes.length - 2]);
//sortOrd = lastChildrenNode.li_attr.sortOrd + 1;
menuOrdr = childrenNodes.length ;
}
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoInsertAjax.do' />",
data:{ "menuNm" : menuNm, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴가 추가 되었습니다.");
//fn_select_menuNo(returnData.menuManageVO, returnData.menuManageVO.menuUserType);
newNodeId = returnData.menuManageVO.menuNo ;
}else if(returnData.status == "dupl"){
alert("중복된 아이디가 있습니다.\n 중복된 아이디변경/삭제후 다시 추가해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
}else{
alert("메뉴 추가가 실패하였습니다.");
}
},
error : function(request , status, error) {
alert("메뉴 추가가 실패되었습니다.")
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
}else{
data.instance.refresh();
}
})
.on('move_node.jstree', function (e, data) {
/* 메뉴 위치 변경 */
var instance = data.instance;
var menuNo = data.node.id;
var childrenNodes = instance.get_node(menuNo).children;
if (confirm("메뉴 위치를 변경하시겠습니까?" )){
//var partIdx = data.node.id;
var upperMenuId = data.parent;
var menuOrdr = data.position + 1;
var sortOver = "A" ;
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoMoveAjax.do' />",
data:{ "menuNo" : menuNo, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val()},
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
alert("메뉴 위치가 변경되었습니다.");
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("메뉴 위치 변경이 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
} else {
data.instance.refresh();
}
}) ;
}
$( document ).ready(function() {
jstreeInit();
});
//직원 상세 초기화
function fn_add_emp() {
var partIdx =$("#selectPartIdx").val();
var upperIdxs = $("#selectPartParents").val();
// 직원 상세 초기화
document.empInfForm.reset();
$("#empFormTitle").text("메뉴 추가등록 상세");
$("input[name='paIdx']").val("");
fn_set_emp_part(partIdx, upperIdxs);
}
//메뉴 정보 세팅
function fn_select_menuNo(menuManageVO, menuUserTypeList){
var tmpHtml = "";
if(menuManageVO!=null){
$('#menuNo').val(menuManageVO.menuNo);
$('#tmp_Id').val(menuManageVO.menuNo);
$('#menuCours').text(menuManageVO.menuCours);
$('#menuOrdr').val(menuManageVO.menuOrdr);
$('#menuNm').val(menuManageVO.menuNm);
$('#menuDc').val(menuManageVO.menuDc);
$('#upperMenuIdText').text(menuManageVO.upperMenuId);
$('#upperMenuId').val(menuManageVO.upperMenuId);
$('#progrmFileNm').val(menuManageVO.progrmFileNm);
/* $('#progrmFileNmText').text(menuManageVO.progrmFileNm); */
$('#tmp_Name').val(menuManageVO.progrmFileNm);
$('#relateImageNm').val(menuManageVO.relateImageNm);
$('#relateImagePath').val(menuManageVO.relateImagePath);
$('#userType').val(menuManageVO.userType);
$('#url').val(menuManageVO.url);
$('#useYn').val(menuManageVO.useYn);
$('#satisYn').val(menuManageVO.satisYn);
$('.menu_detail_tit span').html(menuManageVO.menuNm+' - 메뉴 권한 목록');
if(""!=menuManageVO.emplyrId) $('#emplyrId').val(menuManageVO.emplyrId); //담당자 세팅
if(""!=menuManageVO.emplyrIdTxt) $('#emplyrIdTxt').val(menuManageVO.emplyrIdTxt); //담당자 세팅
if(menuManageVO.satisYn == null){
$('#satisYn').val('N')
}
$("#menuTopNm").text( menuManageVO.menuNm );
$("#progrmHtmlFileId").val( menuManageVO.progrmHtmlFileId );
$("#progrmBbsId").val(menuManageVO.progrmBbsId);
$('#progrmFileNm_tmp').val(menuManageVO.progrmFileNm);
var menuType = menuManageVO.menuType ;
if(menuType == "M"){
$("#satisTr").css("display", "none");
}else{
$("#satisTr").css("display", "");
}
if(menuManageVO.progrmFileNm == 'dir' || menuType == 'M'){
$("#menuType").val("M"); //메뉴로 세팅
$('#progrmFileNm').attr("readonly", true);
$('#progrmFileNm_tmp').val("");
$('#url_tmp').val("");
}else{
$("#menuType").val(menuType);
//$('#progrmFileNm').attr("readonly", false);
$('#url_tmp').val(menuManageVO.url);
}
//메뉴타입 설정
initShowUrl('Y');
$('#url').val(menuManageVO.url);
$(".main1_delete_btn").removeAttr("onclick");
$(".main1_delete_btn").attr("onclick", "fn_delete_menuInfo('"+menuManageVO.menuNo+"' , '"+menuManageVO.progrmFileNm+"' );return false;");
$(".main1_save_btn").removeAttr("onclick");
$(".main1_save_btn").attr("onclick", "fn_save_menuInfo('"+menuManageVO.menuNo+"');return false;");
$('.tr_item').remove();
if( ( "P" == $('#menuType').val() || "C" == $('#menuType').val()) && "ROLE_ANONYMOUS"==$('#authorCode').val() ){ //추가 게시판 조회(프로그램/사용자 화면만 조회)
$('#tr_add_bbs').show();
set_bbs();
}else{
$('#tr_add_bbs').hide();
}
$('#htmlComfirm').hide();
if(""!=menuManageVO.progrmHtmlFileId){
$('#htmlComfirm').show();
$('#a_contentLink').attr("onclick" , "htmlComfirm('"+menuManageVO.progrmHtmlFileId+"');")
}
}
}
//메뉴 정보 삭제
function fn_delete_menuInfo(menuNo , progrmFileNm ) {
if(menuNo == null || "undefined"== menuNo){
alert("삭제 하려는 메뉴를 먼저 선택해주세요.");
return ;
}
var instance = $('#kopost_organization').jstree(true);
if(instance.get_node(menuNo).children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
return;
}
if (confirm("메뉴를 삭제 하시겠습니까?")){
$.ajax({
type:"POST",
"url" : "<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do'/>",
data:{ "menuNo" : menuNo , "progrmFileNm" : progrmFileNm , "authorCode" : $('#authorCode').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (returnData.status == "success") {
// 직원 목록 갱신
var instance = $('#kopost_organization').jstree(true);
//$("#" + instance.get_node(partIdx).a_attr.id).trigger("click");
alert("메뉴 정보가 삭제 되었습니다.");
$("#kopost_organization").jstree("refresh");
fn_init_menuInfo();
} else if(returnData.status == "duplPk"){
alert("삭제하려는 메뉴를 참조하고 있는 메뉴가 있습니다.\n 참조하는 메뉴를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
}
else {
alert("메뉴 삭제가 실패되었습니다.");
}
},
error : function(request , status, error) {
alert("메뉴 삭제가 실패되었습니다..");
},
complete : function (){
deleteLodingBar();
}
});
}
}
//메뉴정보 init(메뉴 초기화)
function fn_init_menuInfo() {
$("#menuTopNm").text("메뉴선택");
$("#menuForm input[type=text]").val("")
$('#menuCours').text("");
$('#upperMenuIdText').text("");
/* $('#progrmFileNmText').text(""); */
}
//메뉴 초기화
function jstreeRefresh() {
var searchForm = document.searchForm ;
searchForm.authorCode.value = $('#authorCode').val();
searchForm.submit();
}
//메뉴 정보 저장. 등록/수정
function fn_save_menuInfo(menuNo) {
if(menuNo == null || "undefined"== menuNo){
alert("저장 하려는 메뉴를 먼저 메뉴트리에서 생성해 주세요."); return ;
}
var menuForm = document.menuForm;
if(""==menuForm.menuNo.value){
alert("메뉴번호는 필수 값입니다"); return;
}
if(!$.isNumeric(menuForm.menuNo.value)){
alert("메뉴번호는 숫자만 가능합니다."); return;
}
if(!$.isNumeric(menuForm.menuOrdr.value)){
alert("메뉴순서는 숫자만 가능합니다."); return;
}
var menuType = $("#menuType option:selected").val();
if(menuType !="M"){
if($("#progrmFileNm").val() == ""){
alert("프로그램 파일명은 필수 값입니다");
return;
}
}
if(!confirm("저장하시겠습니까?")) return;
<%-- 원자력
//추가 게시판 저장후 메뉴 정보 저장
//if( $('#tr_bbs').length > 0 ){
if(!save_line()){
console.log();
return;
}
//}
--%>
var url = "";
url = "<c:url value='/sym/mnu/mcm/EgovMenuInfoUpdateAjax.do'/>";
var params = $(menuForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴 정보가 저장 되었습니다.");
var instance = $('#kopost_organization').jstree(true);
$('#'+instance.get_node($('#tmp_Id').val()).a_attr.id).trigger("click");//이전 메뉴id선택되게
$('#tmp_Id').val($('#menuNo').val());
} else if(returnData.status == "upperDupl"){
alert("상위 메뉴 번호가 있습니다.");
}else if(returnData.status == "dupl"){
alert("이미 사용하고 있는 메뉴 번호가 있습니다.");
}else if(returnData.status == "duplProNm"){
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
}else{
alert("ERROR");
}
},
error : function(request , status, error) {
alert("메뉴 정보 저장이 실패되었습니다.");
},
complete : function () {
$("#kopost_organization").jstree("refresh");
deleteLodingBar();
}
});
}
//메뉴 초기화
function initShowUrl(init){
var menuType = $("#menuType option:selected").val();
$("#url").val("");
$("#showUrl").hide();
$("#btnContent").hide();
$("#btnBBS").hide();
$('#htmlComfirm').hide();
$('#BBSNameSpan').text("");
if("M" == menuType){ //메뉴
$("#progrmFileNm").val("dir");
$("#url").val("");
$('#progrmFileNm').attr("readonly", true);
}else{
$("#progrmFileNm").val($("#progrmFileNm_tmp").val());
$("#url").val($("#url_tmp").val());
if("P" == menuType){ //프로그램
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("C" == menuType ){ //컨텐츠
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("B" == menuType){ //게시판
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("O" == menuType){ //게시판
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}
if(init=='N'){
var instance = $('#kopost_organization').jstree(true);
if($('#kopost_organization').jstree('get_selected')[0] != null){
if(instance.get_node($('#kopost_organization').jstree('get_selected')[0]).children.length != 0){
alert("하위 메뉴가 있을경우는 다른타입으로 변경할수 없습니다.");
return;
}
}
}
$("#showUrl").show();
if("C" == menuType){
$("#btnContent").show();
$("#url").attr("readonly", false);
}else if("B" == menuType){
$("#btnBBS").show();
$("#url").attr("readonly", false);
}
}
}
var docWidth = screen.availWidth;
var docHeight = screen.availHeight;
var scX = window.screenX||window.screenLeft||0;
var scY = window.screenY||window.screenTop||0;
/* ********************************************************
* 게시판목록조회 함수
******************************************************** */
function searchBBSId(obj) {
var popupX = scX + (docWidth - 185) / 2;
var popupY = scY + (docHeight - 195) / 2;
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
document.searchForm.method = "post";
if("menuAdd"==$(obj).attr('id')){ //추가게시판 버튼 클릭시
document.searchForm.seCd.value = $(obj).attr('id');
document.searchForm.searchNm.value = $(obj).attr('value');
}
document.searchForm.action = "/cop/bbs/EgovBBSIdListSearch.do";
document.searchForm.target = "memuPopup" ;
document.searchForm.submit();
document.searchForm.target = "_self" ;
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
}
/* ********************************************************
* 화면컨텐츠ID 검색 팝업
******************************************************** */
var memuPopup ="";
function searchContentList() {
var popupX = scX + (docWidth - 185) / 2;
var popupY = scY + (docHeight - 195) / 2;
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
document.searchForm.method = "post";
document.searchForm.action = "/uss/ion/cnt/contentListPopup.do";
document.searchForm.target = "memuPopup" ;
document.searchForm.submit();
document.searchForm.target = "_self" ;
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
}
/* ********************************************************
* 사용자 메뉴 담당자 조회 함수
******************************************************** */
function searchManageMenuList() {
var popupX = scX + (docWidth - 185) / 2;
var popupY = scY + (docHeight - 195) / 2;
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
document.searchForm.method = "post";
document.searchForm.action = "/uss/umt/user/EgovUserManageMenuAjax.do";
document.searchForm.target = "memuPopup" ;
document.searchForm.submit();
document.searchForm.target = "_self" ;
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
}
function onkeyContentName(event){
var tempContentUrl = "/web/content.do?proFn=" ;
if($("#menuType option:selected").val()=="C"){
$("#url").val(tempContentUrl + $("#progrmFileNm").val()) ;
}
}
//행추가
function add_line(bbsInfo){
var eva_temp_tr = $('#temp_tr').clone();
$('#tbl_bbsId').append(eva_temp_tr);
eva_temp_tr.attr('id' , 'tr_bbs').attr('class' , 'tr_item');
{ //변수 변경
var tr_item_length = $('.tr_item').size()-1 ;
eva_temp_tr.find("#temp_bbsTxt").attr('name', eva_temp_tr.find("#temp_bbsTxt").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
eva_temp_tr.find("#temp_bbsTxt").attr('id' , 'bbsTxt_'+tr_item_length) ;
eva_temp_tr.find("#temp_bbsIds").attr('name', eva_temp_tr.find("#temp_bbsIds").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
eva_temp_tr.find("#temp_bbsIds").attr('id' , 'menuAdd_'+tr_item_length) ;
eva_temp_tr.find("#temp_bbsSorts").attr('name' , eva_temp_tr.find("#temp_bbsSorts").attr('name').replace('[]' , '['+tr_item_length+']' ) ) ;
eva_temp_tr.find("#temp_bbsSorts").attr('id' , 'bbsSorts_'+tr_item_length) ;
eva_temp_tr.find("#menuAdd").attr('value' , 'menuAdd_'+tr_item_length ) ;
}
if(null != bbsInfo){
$('#bbsTxt_'+tr_item_length).val(bbsInfo.bbsNm);
$('#bbsSorts_'+tr_item_length).val(bbsInfo.bbsSort);
$('#menuAdd_'+tr_item_length).val(bbsInfo.bbsId);
}
}
//삭제시 배열 초기화
var arrCd = [];
function set_count(){ //tr 세팅
$('.tr_item').each(function(index, item){
$(this).find('input[name^=bbsTxt]').attr('name', 'bbsTxt['+index+']' ).attr('id' , 'bbsTxt_'+index ) ;
$(this).find('input[name^=bbsSorts]').attr('name', 'bbsSorts['+index+']' );
$(this).find('input[name^=bbsIds]').attr('name', 'bbsIds['+index+']' ).attr('id' , 'menuAdd_'+index ) ;
$(this).find('#menuAdd').attr('value' , 'menuAdd_'+index) ;
});
}
var arrDel = []; //1차배열
function delete_line(obj){
$(obj).parent().parent().remove();
set_count();
}
function save_line() {
/* if(0== $('.tr_item').size()){
alert("선택된 게시판이 없습니다.");
return;
} */
//빈 게시판 방지
var blank_tr = false;
var blank_sort = false;
$('.tr_item').each(function() {
if(""==$(this).find('input[name^=bbsTxt]').val()){
blank_tr = true;
}
if(""==$(this).find('input[name^=bbsSort]').val()){
blank_sort = true;
}
});
if(blank_tr) {
alert("비어 있는 게시판이 있습니다.");
return false;
}
if(blank_sort) {
alert("게시판 순서를 넣어주세요.");
return false;
}
var save_line_return = false;
var frm = document.menuForm;
var data = new FormData(frm);
$.ajax({
type: "POST",
url: "/sym/mnu/mcm/MenuBbsInsertAjax.do",
data: data,
dataType:'json',
processData: false,
contentType: false,
async: false,
cache: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
if(returnData.status == 'fail'){
alert("게시판 등록 실패하였습니다.");
}else if(returnData.status == 'auth_fail'){
alert("세션이 종료되었습니다.");
}else if(returnData.status =='success'){
//alert("등록되었습니다.");
save_line_return = true;
}
}else{
alert("등록에 실패하였습니다.");
return false;
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("등록에 실패하였습니다.");
}
});
return save_line_return;
}
function htmlComfirm(progrmHtmlFileId) {
$.ajax({
type: "POST",
url: "/sym/mnu/mcm/HtmlComfirmAjax.do",
data:{
"cntId": progrmHtmlFileId
},
dataType:'json',
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
console.log("sdfsdf");
window.open("/uss/ion/cnt/cntManageInsert.do?cntId="+returnData.cntManageVO.cntId+"&cntDtId="+returnData.cntManageVO.cntDtId);
}else{
//alert("등록에 실패하였습니다.");
return false;
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("등록에 실패하였습니다.");
}
});
}
function set_bbs(){
var frm = document.menuForm;
var data = new FormData(frm);
$.ajax({
type: "POST",
url: "/sym/mnu/mcm/MenuBbsSelectAjax.do",
data: data,
dataType:'json',
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
for(var i = 0 ; i < returnData.boardMasterList.length ; i++){
add_line(returnData.boardMasterList[i]);
}
}else{
alert("등록에 실패하였습니다.");
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("등록에 실패하였습니다.");
}
});
}
function fncGoClose() {
self.close();
}

View File

@ -0,0 +1,502 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" />
<!DOCTYPE html>
<html lang="ko">
<head>
<title>기일조서 수정</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/kccadrPb/usr/script/popup.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function() {
fncShow();
fncNextApp();
//시간 선택시 실행
$('input[name=appDeTime]').timepicker({
'timeFormat': 'HH:mm',
});
$('input[name=nextAppDeTime]').timepicker({
'timeFormat': 'HH:mm',
});
// $('#appResultTy').val('50').trigger('change');
});
function fncCheckNextYn() {
var value = $('input[name="nextAppDeYn"]:checked').val();
if (value == 'Y') {
$('#nextAppDeRow').show();
} else {
$('#nextAppDeRow').hide();
$('#nextAppDeDay').val('');
$('#nextAppDeTime').val('');
}
}
function fncNextApp(){
if ($('#appResultTy').val() == "50") {
$('#nextApp').show();
$("input:radio[id='nextAppDeY']").prop("checked", true);
} else {
$('#nextApp').hide();
$("input:radio[id='nextAppDeN']").prop("checked", true);
}
fncCheckNextYn();
}
function fncShow() {
if ($('#appPlaceTy').val() == "99") {
$('#appPlaceTyDiv').show();
} else {
$('#appPlaceTyDiv').hide();
$('#appPlaceTx').val('');
$('#appPlaceDetailTx').val('');
}
if ($('#appPlaceAddrTy').val() == "99") {
$('#appPlaceAddrTyDiv').show();
} else {
$('#appPlaceAddrTyDiv').hide();
$('#appPlaceAddrTx').val('');
$('#appPlaceAddrDetailTx').val('');
}
}
function fncUpdt(p_param) {
// 참관대리인
if (!isEmptyObj('addAgntListSTemp')) {
var val = $('#addAgntListSSeqTemp').val()+'|'+$('#addAgntListSTemp').val();
$('#addAgntListS').val(val);
}
if (!isEmptyObj('addAgntListPTemp')) {
$('#addAgntListP').val($('#addAgntListPSeqTemp').val()+'|'+$('#addAgntListPTemp').val());
}
/* 조정위원 */
if (!isEmptyObj('addUsrNm0')) {
$('#addUsrNmList0').val($('#addUsrSeq0').val()+'|01|'+$('#addUsrNm0').val());
}
if (!isEmptyObj('addUsrNm1')) {
$('#addUsrNmList1').val($('#addUsrSeq1').val()+'|02|'+$('#addUsrNm1').val());
}
if (!isEmptyObj('addUsrNm2')) {
$('#addUsrNmList2').val($('#addUsrSeq2').val()+'|02|'+$('#addUsrNm2').val());
}
if(isValid()){
var f = document.getElementById("listForm");
var data = new FormData(f);
if (confirm('작성된 내용을 수정하시겠습니까?')) {
$.ajax({
type : "POST",
url : "/kccadr/adjReqMgOff/checkNUpdateAprvlPastAjax.do",
data : data,
dataType : 'json',
async : false,
processData : false,
contentType : false,
cache : false,
success : function(returnData) {
if (returnData.result == 'success') {
alert(returnData);
} else {
alert(returnData.message);
}
},
error : function(e) {
alert("기일조서에 실패하였습니다.");
console.log("ERROR : ", e);
}
});
}
}
}
function isValid() {
var isValidDate = Date.parse($('#appDeDay').val());
if (isNaN(isValidDate)) {
alert("조정기일을 입력해 주세요");
return false;
}
if (!isDatetime($('#appDeTime').val())) {
alert("유효한 조정기일 시간을 'hh:mm'형식으로 입력해 주세요"); //
return false;
}
if ($('#appPlaceTy').val() == "99") {
if (isEmptyObj('appPlaceTx')) {
alert('장소를 입력해 주세요.');
return false;
}
}
if ($('#appPlaceAddrTy').val() == "99") {
if (isEmptyObj('appPlaceAddrTx')) {
alert('주소를 입력해 주세요.');
return false;
}
}
if ($('input[name="nextAppDeYn"]:checked').val() == "Y") {
isValidDate = Date.parse($('#nextAppDeDay').val());
if (isNaN(isValidDate)) {
alert("유효한 다음 조정기일을 입력해 주세요");
return false;
}
if (!isDatetime($('#nextAppDeTime').val())) {
alert("유효한 다음 조정기일 시간을 'hh:mm'형식으로 입력해 주세요"); // nextAppDeTime
return false;
}
}
if (isEmptyObj('prtclCn')) {
alert('조서내용을 입력해 주세요');
return false;
}
if (isEmptyObj('addUsrNm0')) {
alert('조정부장 이름을 입력해 주세요');
return false;
}
// if (isEmptyObj('addUsrNm1')) {
// alert('조정위원1 이름을 입력해 주세요');
// return false;
// }
// if (isEmptyObj('addUsrNm2')) {
// alert('조정위원2 이름을 입력해 주세요');
// return false;
// }
return true;
}
</script>
</head>
<body>
<form:form id="listForm" onsubmit="return false;" method="post">
<input type="hidden" id="adrSeq" name="adrSeq" value="<c:out value="${info.adrSeq }"/>" />
<input type="hidden" id="adrSn" name="adrSn" value="<c:out value="${adjPastVO.adrSn}"/>" />
<input type="hidden" id="addAgntListS" name="addAgntList" value=""/>
<input type="hidden" id="addAgntListP" name="addAgntList" value=""/>
<input type="hidden" id="addUsrNmList0" name="addUsrNmList" value=""/>
<input type="hidden" id="addUsrNmList1" name="addUsrNmList" value=""/>
<input type="hidden" id="addUsrNmList2" name="addUsrNmList" value=""/>
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>기일조서 수정</h2>
<ul class="cont_nav">
<li class="home">
<a href="/"><i></i></a>
</li>
<li>
<span>과거사건등록</span>
</li>
<li>
<span class="cur_nav">기일조서 수정</span>
</li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tbType02">
<table>
<colgroup>
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 15%;">
<col style="width: 30%;">
</colgroup>
<tbody class="border_0">
<tr>
<th>조 정 부</th>
<td colspan="3">
<c:out value='${memAss.memDeptNm }' />
</td>
</tr>
<tr>
<th>차 수</th>
<td colspan="3">
<c:out value="${adjPastVO.adrSn}"></c:out>
</td>
</tr>
<tr>
<th>사 건</th>
<td>
<c:out value="${info.adrNo }"></c:out>
</td>
<th>사건내용</th>
<td>
<c:out value="${info.ccTyTx }"></c:out>
</td>
</tr>
<tr>
<th rowspan="2">신청인</th>
<td rowspan="2">
<c:forEach var="ass" items="${assInfoList}">
<c:if test="${ass.assPstUsrTy eq '10'}">
<p>
<c:out value="${ass.assPstUsrNm }"></c:out>
</p>
<select name="addUsrIdList" id="addUsrIdList" class="wid_120">
<option <c:if test="${ass.addYn eq 'Y' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|Y"></c:out>">출석</option>
<option <c:if test="${ass.addYn eq 'N' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|N"></c:out>">불출석</option>
</select>
</c:if>
</c:forEach>
</td>
<th>대리인</th>
<td>
<c:forEach var="ass" items="${assInfoList}">
<c:if test="${ass.assPstUsrTy eq '30'}">
<p>
<c:out value="${ass.assPstUsrNm }"></c:out>
</p>
<select name="addUsrIdList" id="addUsrIdList" class="wid_120">
<option <c:if test="${ass.addYn eq 'Y' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|Y"></c:out>">출석</option>
<option <c:if test="${ass.addYn eq 'N' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|N"></c:out>">불출석</option>
</select>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th>참관대리인</th>
<td>
<c:forEach var="assInfo" items="${assInfoList }">
<c:if test="${assInfo.assPstUsrTy eq 35}">
<c:set var="assPstSeq" value="${assInfo.assPstSeq }" />
<c:set var="assPstUsrNm" value="${assInfo.assPstUsrNm }" />
</c:if>
</c:forEach>
<input type="hidden" id="addAgntListSSeqTemp" value="${assPstSeq }"/>
<input type="text" id="addAgntListSTemp" value="${assPstUsrNm }"/>
</td>
</tr>
<tr>
<th rowspan="2">피신청인</th>
<td rowspan="2">
<c:forEach var="ass" items="${assInfoList}">
<c:if test="${ass.assPstUsrTy eq '20'}">
<p>
<c:out value="${ass.assPstUsrNm }"></c:out>
</p>
<select name="addUsrIdList" id="addUsrIdList" class="wid_120">
<option <c:if test="${ass.addYn eq 'Y' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|Y"></c:out>">출석</option>
<option <c:if test="${ass.addYn eq 'N' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|N"></c:out>">불출석</option>
</select>
</c:if>
</c:forEach>
</td>
<th>대리인</th>
<td>
<c:forEach var="ass" items="${assInfoList}">
<c:if test="${ass.assPstUsrTy eq '40'}">
<p>
<c:out value="${ass.assPstUsrNm }"></c:out>
</p>
<select name="addUsrIdList" id="addUsrIdList" class="wid_120">
<option <c:if test="${ass.addYn eq 'Y' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|Y"></c:out>">출석</option>
<option <c:if test="${ass.addYn eq 'N' }"> selected="selected" </c:if> value="<c:out value="${ass.assPstSeq }|N"></c:out>">불출석</option>
</select>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th>참관대리인</th>
<td>
<c:forEach var="assInfo" items="${assInfoList }">
<c:if test="${assInfo.assPstUsrTy eq 45}">
<c:set var="assPstSeq" value="${assInfo.assPstSeq }" />
<c:set var="assPstUsrNm" value="${assInfo.assPstUsrNm }" />
</c:if>
</c:forEach>
<input type="hidden" id="addAgntListPSeqTemp" value="${assPstSeq }"/>
<input type="text" id="addAgntListPTemp" value="${assPstUsrNm }"/>
</td>
</tr>
<tr>
<th>조정기일</th>
<td>
<div class="sel_date">
<input type="text" class="appDeDay inp" title="검색시작일" id="appDeDay" name="appDeDay" onclick="return calendarOpen('appDeDay-lry','',this)" value="<c:out value="${adjPastVO.appDeDay }"></c:out>" data-datecontrol="true" onkeyup="setFormat('day',this)" maxlength="10" readonly>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('appDeDay-lry','',this)" class="btn_cal"></button>
<div id="appDeDay-lry" class="calendarPop" style="display: none;">
<iframe id="appDeDay-ifrm" name="appDeDay-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
<input type="text" class="time_input" placeholder="11:00" id="appDeTime" name="appDeTime" value="<c:out value="${adjPastVO.appDeTime }"></c:out>" onkeyup="setFormat('time',this)" maxlength="8">
</td>
<th>공개여부</th>
<td>
<select name="openYn" id="openYn" class="wid_120">
<option value="N" <c:if test="${adjPastVO.openYn eq 'N' }"> selected="selected" </c:if>>비공개</option>
<option value="Y" <c:if test="${adjPastVO.openYn eq 'Y' }"> selected="selected" </c:if>>공개</option>
</select>
</td>
</tr>
<tr>
<th>장소</th>
<td colspan="3">
<kc:select codeId="CC020" id="appPlaceTy" name="appPlaceTy" selectedValue="${adjPastVO.appPlaceTy }" script="onchange='fncShow()'" />
<div id="appPlaceTyDiv" style="display: none;">
<button type="button" class="btnType01" onclick="fn_postCode(this);">주소검색</button>
<input type="hidden" id="appPlaceZipTx" name="appPlaceZipTx" class="adr_input">
<input type="text" id="appPlaceTx" name="appPlaceTx" class="searchResultAddr" size="40" value="<c:out value="${adjPastVO.appPlaceTx }"></c:out>">
<input type="text" class="dir_input" id="appPlaceDetailTx" name="appPlaceDetailTx" value="<c:out value="${adjPastVO.appPlaceDetailTx }"></c:out>">
</div>
</td>
</tr>
<tr>
<th>기일결과</th>
<td colspan="3">
<kc:select codeId="CC023" id="appResultTy" name="appResultTy" selectedValue="${adjPastVO.appResultTy }" onChange="fncNextApp()" />
</td>
</tr>
<tr id="nextApp">
<th>다음 기일 지정 여부</th>
<td>
<div class="radio_wrap">
<span>
<input type="radio" id="nextAppDeY" name="nextAppDeYn" value="Y" <c:if test="${adjPastVO.nextAppDeYn eq 'Y' }"> checked </c:if> onclick="fncCheckNextYn()">
<label for="nextAppDeY">필요</label>
</span>
<span>
<input type="radio" id="nextAppDeN" name="nextAppDeYn" value="N" <c:if test="${adjPastVO.nextAppDeYn eq 'N' }"> checked </c:if> onclick="fncCheckNextYn()">
<label for="nextAppDeN">필요없음</label>
</span>
</div>
</td>
</tr>
<tr id="nextAppDeRow">
<th>고지된 다음기일</th>
<td colspan="3">
<div class="sel_date">
<input type="text" class="nextAppDeDay inp" title="검색시작일" id="nextAppDeDay" name="nextAppDeDay" value="${adjPastVO.nextAppDeDay }" data-datecontrol="true" onkeyup="setFormat('day',this)" maxlength="10">
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('nextAppDeDay-lry','',this)" class="btn_cal"></button>
<div id="nextAppDeDay-lry" class="calendarPop" style="display: none;">
<iframe id="nextAppDeDay-ifrm" name="nextAppDeDay-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
<input type="text" class="time_input" placeholder="11:00" id="nextAppDeTime" name="nextAppDeTime" value="${adjPastVO.nextAppDeTime }" onkeyup="setFormat('time',this)" maxlength="8">
</td>
</tr>
<tr>
<th>조서내용</th>
<td colspan="3">
<textarea name="prtclCn" id="prtclCn" value="${adjPastVO.prtclCn }" cols="30" rows="2" style="height: 200px;"><c:out value="${adjPastVO.prtclCn }" /></textarea>
</td>
</tr>
<tr>
<th>조정부장</th>
<td colspan="3">
<c:forEach var="assInfo" items="${assInfoList }">
<c:if test="${assInfo.assPstUsrTy eq 01}">
<c:set var="assPstSeq0" value="${assInfo.assPstSeq }" />
<c:set var="assPstUsrNm0" value="${assInfo.assPstUsrNm }" />
</c:if>
</c:forEach>
<input type="hidden" id="addUsrSeq0" value="${assPstSeq0 }" />
<input type="text" size="30" id="addUsrNm0" value="${assPstUsrNm0 }" />&nbsp;
</td>
</tr>
<tr>
<th>조정위원1</th>
<td colspan="3">
<c:forEach var="assInfo" items="${assInfoList }">
<c:if test="${assInfo.assPstUsrTy eq 02}">
<c:set var="assPstSeq1" value="${assInfo.assPstSeq }" />
<c:set var="assPstUsrNm1" value="${assInfo.assPstUsrNm }" />
</c:if>
</c:forEach>
<input type="hidden" id="addUsrSeq1" value="${assPstSeq1 }" />
<input type="text" size="30" id="addUsrNm1" value="${assPstUsrNm1 }" />&nbsp;
</td>
</tr>
<tr>
<th>조정위원2</th>
<td colspan="3">
<c:forEach var="assInfo" items="${assInfoList }">
<c:if test="${assInfo.assPstUsrTy eq 02}">
<c:if test="${assInfo.assPstUsrNm != assPstUsrNm1}" >
<c:set var="assPstSeq2" value="${assInfo.assPstSeq2 }" />
<c:set var="assPstUsrNm2" value="${assInfo.assPstUsrNm2 }" />
</c:if>
</c:if>
</c:forEach>
<input type="hidden" id="addUsrSeq2" value="${assPstSeq1 }" />
<input type="text" size="30" id="addUsrNm2" value="${assPstUsrNm1 }" />&nbsp;
</td>
</tr>
<tr>
<th>조정조사관</th>
<td colspan="3">
<c:out value='${memAss.assPstUsrNm }' />
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="btn_wrap btn_layout01">
<div class="area_left"></div>
<div class="area_right">
<button type="button" class="btnType06" onclick="fncUpdt()">수정</button>
<button type="button" class="btnType04" onclick="fncGoList()">취소</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>