This commit is contained in:
myname 2022-09-27 09:50:01 +09:00
commit 2d0d7034cf
18 changed files with 1509 additions and 366 deletions

View File

@ -608,14 +608,28 @@ public class AdjReqMgrOffLineController {
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
List<MenuManageJTreeVO> resultList = null ;
List<MenuManageJTreeVO> resultList = new ArrayList<MenuManageJTreeVO>();
MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO();
menuManageTopVO.setUpperMenuId("#");
menuManageTopVO.setMenuNo("0");
menuManageTopVO.setMenuNm("관련인");
MenuManageJTreeVO menuManageTopVO2 = new MenuManageJTreeVO();
menuManageTopVO2.setUpperMenuId("#");
menuManageTopVO2.setMenuNo("0");
menuManageTopVO2.setMenuNm("관련인");
resultList.add(0, menuManageTopVO2);
for(int i = 1 ; i < 6 ; i ++ ){
MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO();
menuManageTopVO.setUpperMenuId("0");
menuManageTopVO.setMenuNo(String.valueOf(i));
menuManageTopVO.setMenuNm("홍길동" + String.valueOf(i));
menuManageTopVO.setMenuOrdr(i);
menuManageTopVO.setProgrmFileNm("dir");
menuManageTopVO.setUseYn("Y");
menuManageTopVO.setRelateImagePath("/");
menuManageTopVO.setRelateImageNm("/");
resultList.add(i, menuManageTopVO);
}
resultList.add(0, menuManageTopVO);
System.out.println("resultList :: "+resultList);
mapper.writeValue(out, resultList);
out.flush();

View File

@ -30,5 +30,9 @@ public interface AdjReqMgrPastService {
List<AdjReqMgrPastVO> selectAdrRpplPastList(AdjReqMgrPastVO adjReqMgrPastVO);
AdjReqMgrPastVO findByIdAdrMgrMaster(AdjReqMgrPastVO adjPastVO);
List<AdjReqMgrPastVO> findByAdrHstryId(AdjReqMgrPastVO adjReqMgrPastVO);
ResponseEntity<RestResponse> insertAdjReqRecordAjax(AdjReqMgrPastVO adjReqMgrPastVO);
}

View File

@ -112,6 +112,7 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
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 = ""; // 조정회차
@ -172,7 +173,8 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String appPlace; //조정기일장소명
private String nextAppDeYn; //다음기일차후지정여부
private String appResultTy; //기일결과 구분
private String appResultTy; //기일결과 구분 code
private String appResultTx; //기일결과 구분 text
private String memDeptNm; //조정부명
@ -189,6 +191,22 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String ccTyTx;
private String appPlaceDetailTx;
/* 조정사건 이력 */
private String adrHstrySeq; // 조정이력일련번호
private String hstryDe; // 이력일시
private String hstryCn; // 이력내용
private String dlvrySeq; // 송달일련번호
private String hstryDetailCn; // 이력비고내용
private String refAdrSeq; // 참고용 조정 일련번호
private String refAdrSn; // 참고용 조정회차
private String refSeq1; // 참고용 일련번호 1
private String refSeq2; // 참고용 일련번호 2
private String adrHstryList[];
public AdjReqMgrVO getAdrVO() {
return adrVO;
@ -1229,6 +1247,94 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
public void setAddUsrNmList(String[] addUsrNmList) {
this.addUsrNmList = addUsrNmList;
}
public String getAppResultTx() {
return appResultTx;
}
public void setAppResultTx(String appResultTx) {
this.appResultTx = appResultTx;
}
public String getAdrHstrySeq() {
return adrHstrySeq;
}
public void setAdrHstrySeq(String adrHstrySeq) {
this.adrHstrySeq = adrHstrySeq;
}
public String getHstryDe() {
return hstryDe;
}
public void setHstryDe(String hstryDe) {
this.hstryDe = hstryDe;
}
public String getHstryCn() {
return hstryCn;
}
public void setHstryCn(String hstryCn) {
this.hstryCn = hstryCn;
}
public String getDlvrySeq() {
return dlvrySeq;
}
public void setDlvrySeq(String dlvrySeq) {
this.dlvrySeq = dlvrySeq;
}
public String getHstryDetailCn() {
return hstryDetailCn;
}
public void setHstryDetailCn(String hstryDetailCn) {
this.hstryDetailCn = hstryDetailCn;
}
public String getRefAdrSeq() {
return refAdrSeq;
}
public void setRefAdrSeq(String refAdrSeq) {
this.refAdrSeq = refAdrSeq;
}
public String getRefAdrSn() {
return refAdrSn;
}
public void setRefAdrSn(String refAdrSn) {
this.refAdrSn = refAdrSn;
}
public String getRefSeq1() {
return refSeq1;
}
public void setRefSeq1(String refSeq1) {
this.refSeq1 = refSeq1;
}
public String getRefSeq2() {
return refSeq2;
}
public void setRefSeq2(String refSeq2) {
this.refSeq2 = refSeq2;
}
public String[] getAdrHstryList() {
return adrHstryList;
}
public void setAdrHstryList(String[] adrHstryList) {
this.adrHstryList = adrHstryList;
}

View File

@ -2,6 +2,7 @@ package kcc.kccadr.adjReqMgrPast.service.impl;
import java.util.List;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
@ -9,6 +10,7 @@ import kcc.kccadr.adjPgrMgr.drt.service.AssVO;
import kcc.kccadr.adjReqMgrPast.service.AdjAssMgrPastVO;
import kcc.kccadr.adjReqMgrPast.service.AdjReqMgrPastVO;
import kcc.kccadr.adjReqMgrPast.service.AdrMemDeptMgrPstVO;
import kcc.kccadr.cmm.RestResponse;
@Repository("AdjReqMgrPastDAO")
public class AdjReqMgrPastDAO extends EgovAbstractDAO {
@ -85,5 +87,13 @@ public class AdjReqMgrPastDAO extends EgovAbstractDAO {
public AdjReqMgrPastVO findByIdAdrMgrMaster(AdjReqMgrPastVO adjPastVO) {
return (AdjReqMgrPastVO) select("adjReqMgrPastDAO.findByIdAdrMgrMaster", adjPastVO);
}
public List<AdjReqMgrPastVO> findByAdrHstryId(AdjReqMgrPastVO adjPastVO) {
return (List<AdjReqMgrPastVO>) list("adjReqMgrPastDAO.findByAdrHstryId", adjPastVO);
}
public void insertAdjReqRecordAjax(AdjReqMgrPastVO adjPastVO) {
insert("adjReqMgrPastDAO.insertAdjReqRecordAjax", adjPastVO );
}
}

View File

@ -54,6 +54,10 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
@Resource(name = "egovPrtclManageGnrService")
private EgovIdGnrService idgenPrtclSeqService;
// adr_hstry pk
@Resource(name="adrHstrySeqGnrService")
private EgovIdGnrService adrHstrySeqGnrService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
@ -501,49 +505,6 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
@Override
public ResponseEntity<RestResponse> checkNInsertAprvlPastAjax(AdjReqMgrPastVO adjPastVO) throws Exception {
// 공통
// System.out.println(" 조정번호 :: "+adjPastVO.getAdrSeq());
// System.out.println(" 조정차수 :: "+adjPastVO.getAdrSn());
//
// // 기일정보
// 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());
/*
* TO_DATETIME('2015-08-10 16:04:56','YYYY-MM-DD HH24:MI:SS')
* 조정번호 :: ADR_0000000000002920
* 조정차수 :: 1
* 신청인 피신청인 정보 :: [신청|10|Y, 피신청|20|Y]
* 참관 대리인 정보 :: [35|참관대, 45|피찬관대]
* 조정기일일 :: 2022-09-01
* 조정기일시 :: 14:00
* 다음조정기일일 :: 2022-09-08
* 다음조정기일시 :: 03:00
* 조정기일장소 ::
* 조정부장 :: 222
* 조정위원1 ::
* 조정위원2 ::
* 조서내용 :: 123123
* */
// add 정보
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());
this.insertAdjAssAndDataCleansing(adjPastVO);
this.updateAdrPrtclMgrAndDataCleansing(adjPastVO);
@ -553,25 +514,9 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
@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()));
this.updateAdjAssAndDataCleansing(adjPastVO);
this.updateAdrPrtclMgrAndDataCleansing(adjPastVO);
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "기일조서 수정이 완료되었습니다.", LocalDateTime.now()));
}
@ -686,10 +631,10 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
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))
@ -723,13 +668,20 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
public AdjReqMgrPastVO findByIdPrtclMgr(AdjReqMgrPastVO 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(":")));
if(StringUtils.isNotEmpty(adjPastVO.getAppDe()))
{
adjPastVO.setAppDeDay(adjPastVO.getAppDe().split(" ")[0]);
String appTime = adjPastVO.getAppDe().split(" ")[1];
adjPastVO.setAppDeTime(appTime.substring(0, appTime.lastIndexOf(":")));
}
if(StringUtils.isNotEmpty(adjPastVO.getNextAppDe()))
{
adjPastVO.setNextAppDeDay(adjPastVO.getNextAppDe().split(" ")[0]);
String appNextTime = adjPastVO.getNextAppDe().split(" ")[1];
adjPastVO.setNextAppDeTime(appNextTime.substring(0, appNextTime.lastIndexOf(":")));
}
adjPastVO.setNextAppDeDay(adjPastVO.getNextAppDe().split(" ")[0]);
String appNextTime = adjPastVO.getNextAppDe().split(" ")[1];
adjPastVO.setNextAppDeTime(appNextTime.substring(0, appTime.lastIndexOf(":")));
return adjPastVO;
}
@ -743,10 +695,6 @@ 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);
}
@ -756,6 +704,29 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
return adjReqMgrPastDAO.findByIdAdrMgrMaster(adjPastVO);
}
@Override
public List<AdjReqMgrPastVO> findByAdrHstryId(AdjReqMgrPastVO adjPastVO) {
return adjReqMgrPastDAO.findByAdrHstryId(adjPastVO);
}
@Override
public ResponseEntity<RestResponse> insertAdjReqRecordAjax(AdjReqMgrPastVO adjPastVO) {
for(String adjHstry : adjPastVO.getAdrHstryList())
{
//TODO 사건진행정보 반복문
}
adjReqMgrPastDAO.insertAdjReqRecordAjax(adjPastVO);
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "사건진행정보 등록이 완료되었습니다.", LocalDateTime.now()));
}
}

View File

@ -190,8 +190,8 @@ public class AdjReqMgrPastController {
public String adjReqMgrPastFileRegist(@ModelAttribute("adjReqMgrPastVO") AdjReqMgrPastVO adjReqMgrPastVO, ModelMap model) throws Exception {
//TODO 테스트로 인한 seq 코딩
adjReqMgrPastVO.setAdrSeq("ADR_0000000000002920");
System.out.println("adjReqMgrPastVO.getAdrSeq() !!! : "+ adjReqMgrPastVO.getAdrSeq());
// adjReqMgrPastVO.setAdrSeq("ADR_0000000000002920");
// System.out.println("adjReqMgrPastVO.getAdrSeq() !!! : "+ adjReqMgrPastVO.getAdrSeq());
model.addAttribute("adjReqMgrPastVO", adjReqMgrPastVO);
// PgrCmmVO cmmVO = new PgrCmmVO();
@ -262,7 +262,9 @@ public class AdjReqMgrPastController {
@RequestMapping("/kccadr/adjReqMgOff/popup/drtUpdtPop.do")
public String drtUpdtPop(AdjReqMgrPastVO adjReqMgrPastVO, ModelMap model) throws Exception {
AdjReqMgrPastVO adjPastVO = adjReqMgrPastService.findByIdPrtclMgr(adjReqMgrPastVO);
AdjReqMgrPastVO adjPastVO = new AdjReqMgrPastVO();
adjPastVO = adjReqMgrPastService.findByIdPrtclMgr(adjReqMgrPastVO);
System.out.println(" adjPastVO.getPrtclCn() :: " + adjPastVO.getPrtclCn());
@ -287,9 +289,73 @@ public class AdjReqMgrPastController {
return "/kccadr/adjReqMgrPast/drtUpdtPop";
}
/**
* @methodName : adjReqMgrPastProgRegist
* @author : 이호영
* @date : 2022.09.15
* @description : 사건진행정보 목록
* @param adjReqMgrPastVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/adjReqMgOff/adjReqMgrPastRecordRegist.do")
public String adjReqMgrPastRecordRegist(@ModelAttribute("adjReqMgrPastVO") AdjReqMgrPastVO adjReqMgrPastVO, ModelMap model) throws Exception {
//TODO 테스트로 인한 seq 코딩
adjReqMgrPastVO.setAdrSeq("ADR_0000000000002920");
List<AdjReqMgrPastVO> adrHstryList = adjReqMgrPastService.findByAdrHstryId(adjReqMgrPastVO);
model.addAttribute("adrHstryList", adrHstryList);
model.addAttribute("adjReqMgrPastVO", adjReqMgrPastVO);
return "kccadr/adjReqMgrPast/adjReqMgrPastRecordRegist";
}
/**
* @methodName : insertAdjReqMgrOffAjax
* @author : 이호영
* @date : 2022.08.24
* @description : 과거사건 기본정보등록 메서드
* @param multiRequest
* @param adjReqMgrPastVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = {"/kccadr/adjReqMgOff/insertAdjReqRecordAjax.do"})
// public ResponseEntity<RestResponse> insertAdjReqRecordAjax(@ModelAttribute("adrVO") AdjReqMgrPastVO adjReqMgrPastVO
public ResponseEntity<RestResponse> insertAdjReqRecordAjax(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.setFrstRegisterId(userId);
//조정신청, 대리인, 신청인 등록 처리
return adjReqMgrPastService.insertAdjReqRecordAjax(adjReqMgrPastVO);
}
/*
* <![CDATA[
* DELETE FROM COMTNBANNER
* WHERE BANNER_ID = #bannerId#
* ]]>
*/
/**
* @methodName : insertAdjReqMgrOffAjax
@ -309,8 +375,8 @@ public class AdjReqMgrPastController {
, HttpServletRequest request) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
// Unauthorized : 401, 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized)
@ -326,6 +392,17 @@ public class AdjReqMgrPastController {
}
/**
* @methodName : checkNInsertAprvlPastAjax
* @author : 이호영
* @date : 2022.09.26
* @description : 기일조서 insert
* @param adjReqMgrPastVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = {"/kccadr/adjReqMgOff/checkNInsertAprvlPastAjax.do"})
public ResponseEntity<RestResponse> checkNInsertAprvlPastAjax(@ModelAttribute("adrVO") AdjReqMgrPastVO adjReqMgrPastVO
, RedirectAttributes redirectAttributes
@ -348,9 +425,17 @@ public class AdjReqMgrPastController {
return adjReqMgrPastService.checkNInsertAprvlPastAjax(adjReqMgrPastVO);
}
/**
* @methodName : checkNUpdateAprvlPastAjax
* @author : 이호영
* @date : 2022.09.26
* @description : 기일조서 update
* @param adjReqMgrPastVO
* @param redirectAttributes
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = {"/kccadr/adjReqMgOff/checkNUpdateAprvlPastAjax.do"})
public ResponseEntity<RestResponse> checkNUpdateAprvlPastAjax(@ModelAttribute("adrVO") AdjReqMgrPastVO adjReqMgrPastVO
, RedirectAttributes redirectAttributes

View File

@ -27,6 +27,7 @@
<result property="lastUpdtPnttm" column="last_updt_pnttm"/>
<result property="lastUpdusrId" column="last_updusr_id"/>
<result property="appResultTy" column="app_result_ty"/>
<result property="appResultTx" column="app_result_tx"/>
</resultMap>
<resultMap id="AdrMemDeptMgrPstMap" class="kcc.kccadr.adjReqMgrPast.service.AdrMemDeptMgrPstVO">
@ -334,8 +335,15 @@
, frst_register_id
, last_updt_pnttm
, last_updusr_id
, app_result_ty
FROM adr_prtcl_mgr
, app_result_ty
, (
SELECT
CODE_NM
FROM
LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC023' AND CODE = apm.app_result_ty
) as app_result_tx
FROM adr_prtcl_mgr apm
where adr_seq = #adrSeq#
</select>
@ -418,12 +426,14 @@
</insert>
<!-- 과거사건등록 - 기일조서 등록 출석인 관리-->
<update id="adjReqMgrPastDAO.updateAdjAss" parameterClass="AdjReqPastVO">
<update id="adjReqMgrPastDAO.updateAdjAss" parameterClass="AdjAssMgrPastVO">
UPDATE ADR_ASS_MGR_PST SET
ADD_YN = #addYn#
<isNotEmpty property="assPstUsrNm" >
, ASS_PST_USR_NM = #assPstUsrNm#
</isNotEmpty>
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = NOW()
WHERE
@ -440,7 +450,9 @@
, app_place_ty = #appPlaceTy#
, app_place = #appPlace#
, next_app_de_yn = #nextAppDeYn#
, next_app_de = TO_DATETIME(TO_CHAR(#nextAppDe#,'YYYY-MM-DD HH24:MI'))
<isEqual property="nextAppDeYn" compareValue="Y">
, next_app_de = TO_DATETIME(TO_CHAR(#nextAppDe#,'YYYY-MM-DD HH24:MI'))
</isEqual>
, prtcl_cn = #prtclCn#
, sbmt_yn = #sbmtYn#
, appr_yn = #apprYn#
@ -545,4 +557,63 @@
</select>
<!-- 과거신청정보 - 신청이력 정보 -->
<select id="adjReqMgrPastDAO.findByAdrHstryId" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT
ADR_HSTRY_SEQ as adrHstrySeq
, HSTRY_DE as hstryDe
, HSTRY_CN as hstryCn
, ATCH_FILE_ID as atchFileId
, FRST_REGIST_PNTTM as frstRegistPnttm
, FRST_REGISTER_ID as frstRegisterId
, LAST_UPDT_PNTTM as lastUpdtPnttm
, LAST_UPDUSR_ID as lastUpdusrId
, DLVRY_SEQ as dlvrySeq
, HSTRY_DETAIL_CN as hstryDetailCn
, STAT_CD as statCd
, REF_ADR_SEQ as refAdrSeq
, REF_ADR_SN as refAdrSn
, REF_SEQ_1 as refSeq1
, REF_SEQ_2 as refSeq2
FROM
ADR_HSTRY
WHERE
ADR_SEQ = #adrSeq#
</select>
<!-- 과거사건등록 - 기일조서 등록 출석인 관리-->
<insert id="adjReqMgrPastDAO.insertAdjReqRecordAjax" parameterClass="java.util.List">
INSERT INTO ADR_ASS_MGR_PST (
ADR_SEQ
, ADR_SN
, ASS_PST_SEQ
, ASS_PST_USR_TY
, ASS_PST_USR_NM
, ADD_YN
, ADD_CHG_YN
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
) VALUES
<iterate conjunction=",">
(
#[].adrSeq#
, #[].adrSn#
, #[].assPstSeq#
, #[].assPstUsrTy#
, #[].assPstUsrNm#
, #[].addYn#
, 'N'
, NOW()
, #[].frstRegisterId#
, NOW()
, #[].lastUpdusrId#
)
</iterate>
</insert>
</sqlMap>

View File

@ -294,7 +294,19 @@ $(document).ready(function(){
function fnc_aprvl_pop(param){
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
}
/* 워크플로우 */
$(function(){
$(".work_flow_wrap .btn_open").click(function(){
if($(".work_flow_wrap").is(".off") == true){
$(".work_flow_wrap").removeClass("off");
$(this).addClass("btn_close").removeClass("btn_open").attr('title','닫힘');
}else{
$(".work_flow_wrap").addClass("off");
$(this).removeClass("btn_close").addClass("btn_open").attr('title','열림');
}
});
});
/*//워크플로우 */
</script>
</head>
<body>
@ -315,6 +327,53 @@ $(document).ready(function(){
<form:form id="tabForm0" onsubmit="return false;" method="post">
<input type="hidden" id="adrNo" name="adrNo" value="<c:out value="${info.adrNo}" />" />
<div class="tab_cont on">
<div class="work_flow_wrap off">
<div class="work_tit">
<p>조정진행 워크플로우</p>
<button type="button" title="열림" class="btn_open"><i></i></button>
</div>
<div class="work_cont">
<ul class="top_work">
<li class="status01"><p>조정신청 제출</p><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음"></li>
<li class="status02"><p>신청서 보완</p><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음"></li>
<li><p>조정비용납부</p><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음"></li>
<li><p>사건접수</p><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음"></li>
<li><p>조정부배정</p><img src="/kccadrPb/usr/image/workflow/nexticon2.png" alt="다음" style="top: 51px; right: 105px;"></li>
</ul>
<ul class="work_2">
<li><p>기일확정</p><img src="/kccadrPb/usr/image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li>
<p>기일통지</p><img src="/kccadrPb/usr/image/workflow/nexticon3.png" alt="다음" class="nexticon_3"><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음" style="position: absolute;z-index: 1;top: 8px;left: 203px;">
<ul class="work_3">
<li><p>1차 기일 개최</p><img src="/kccadrPb/usr/image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li>
<p>2차 기일 개최<img src="/kccadrPb/usr/image/workflow/nexticon4.png" alt="다음" class="nexticon_4"></p><img src="/kccadrPb/usr/image/workflow/nexticon3.png" alt="다음" class="nexticon_3">
<ul class="work_4">
<li><p>조정성립</p></li>
<li><p>직권조정<img src="/kccadrPb/usr/image/workflow/nexticon5.png" alt="다음" class="nexticon_5"></p>
<ul class="work_5">
<li><p>이의신청</p></li>
</ul>
</li>
<li><p>조정권고</p></li>
<li><p>쌍방수락여부 확인</p></li>
<li><p>불성립종결</p></li>
</ul>
</li>
<li><p>3차 기일 개최</p><img src="/kccadrPb/usr/image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li><p>4차 기일 개최</p></li>
</ul>
</li>
<li style="position: absolute; top: 146px"><p>기일변경</p></li>
<li><p>변론서 및 답변서</p></li>
<li style="width: 450px;"><p>취하신청</p><img src="/kccadrPb/usr/image/workflow/nexticon1.png" alt="다음" style="position:absolute; left: 203px;"><p style="margin-left: 7px;">취하종결</p></li>
</ul>
</div>
</div>
<!-- list_상세 -->
<p class="tb_tit">조정 사건 일반</p>
<div class="tbType02">

View File

@ -29,7 +29,7 @@
*/
var newNodeId = "";
function jstreeInit() {
$('#kopost_organization').jstree({
$('#kccadr_sbmt').jstree({
"core" : {
"animation" : 0,
"multiple" : false,
@ -39,6 +39,8 @@ function jstreeInit() {
"url" : "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do'/>",
"dataType" : "json",
"data" : function (node) {
console.log("node.id :: " + node.id);
console.log("authorCode :: " + $('#authorCode').val());
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
}
}
@ -60,14 +62,14 @@ function jstreeInit() {
"icon" : "jstree-file",
"valid_children" : []
}
},
}/* ,
"plugins" : [
"contextmenu", "dnd", "search",
"types"
]
] */
})
.bind('loaded.jstree', function(e, data) {
$('#kopost_organization').jstree('open_node' , $('#0') )
$('#kccadr_sbmt').jstree('open_node' , $('#0') )
})
.on('select_node.jstree', function (e, data) {
if(!$('.organ_rightbox').is(":visible")){
@ -367,7 +369,7 @@ function fn_delete_menuInfo(menuNo , progrmFileNm ) {
return ;
}
var instance = $('#kopost_organization').jstree(true);
var instance = $('#kccadr_sbmt').jstree(true);
if(instance.get_node(menuNo).children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
return;
@ -383,10 +385,10 @@ function fn_delete_menuInfo(menuNo , progrmFileNm ) {
success : function(returnData, status) {
if (returnData.status == "success") {
// 직원 목록 갱신
var instance = $('#kopost_organization').jstree(true);
var instance = $('#kccadr_sbmt').jstree(true);
//$("#" + instance.get_node(partIdx).a_attr.id).trigger("click");
alert("메뉴 정보가 삭제 되었습니다.");
$("#kopost_organization").jstree("refresh");
$("#kccadr_sbmt").jstree("refresh");
fn_init_menuInfo();
} else if(returnData.status == "duplPk"){
alert("삭제하려는 메뉴를 참조하고 있는 메뉴가 있습니다.\n 참조하는 메뉴를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
@ -474,7 +476,7 @@ function fn_save_menuInfo(menuNo) {
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴 정보가 저장 되었습니다.");
var instance = $('#kopost_organization').jstree(true);
var instance = $('#kccadr_sbmt').jstree(true);
$('#'+instance.get_node($('#tmp_Id').val()).a_attr.id).trigger("click");//이전 메뉴id선택되게
$('#tmp_Id').val($('#menuNo').val());
} else if(returnData.status == "upperDupl"){
@ -494,7 +496,7 @@ function fn_save_menuInfo(menuNo) {
alert("메뉴 정보 저장이 실패되었습니다.");
},
complete : function () {
$("#kopost_organization").jstree("refresh");
$("#kccadr_sbmt").jstree("refresh");
deleteLodingBar();
}
});
@ -532,9 +534,9 @@ function initShowUrl(init){
$("#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){
var instance = $('#kccadr_sbmt').jstree(true);
if($('#kccadr_sbmt').jstree('get_selected')[0] != null){
if(instance.get_node($('#kccadr_sbmt').jstree('get_selected')[0]).children.length != 0){
alert("하위 메뉴가 있을경우는 다른타입으로 변경할수 없습니다.");
return;
}
@ -788,15 +790,15 @@ function btnReset(obj){
$(obj).closest('dd').find('span').html('');
}
function proxyPay(obj){
function proxyPay(obj, pram){
var proxyPayList = '';
proxyPayList += '<div class="appreq_box pay_box">';
proxyPayList += '<div class="add_box"><button type="button" class="btnType08">추가</button></div>';
proxyPayList += '<div class="add_box"><button type="button" class="btnType08" onclick="addSbmtPerson(\''+pram+'\', \'confront\');">추가</button></div>';
proxyPayList += '<div class="list_box">';
proxyPayList += '<dl>';
proxyPayList += '<dt>대결자</dt>';
proxyPayList += '<dd>';
proxyPayList += '<span></span>';
proxyPayList += '<span id=\'confront'+pram+'\'></span>';
proxyPayList += '<div class="button_box"><button type="button" class="btn_reset">초기화</button></div>';
proxyPayList += '</dd>';
proxyPayList += '</dl>';
@ -810,14 +812,28 @@ function proxyPay(obj){
$(obj).closest('li').append(proxyPayList);
}
}
function addSbmtPerson(pram, type){
var selectedNm = $('#kccadr_sbmt').jstree('get_selected',true)[0].text;
if(type == 'sbmt'){
$('#sbmtPerson'+pram).text(selectedNm);
}else{
$('#confront'+pram).text(selectedNm);
}
}
</script>
<title>○○○ 결재 요청</title>
</head>
<body>
<form id="smbtForm" name="smbtForm" action="">
<input type="hidden" name="authorCode" id="authorCode" value="ROLE_ADMIN"/>
</form>
<div class="area_popup">
<div class="cont_popup">
<div class="menu_select">
<select name="authorCode" id="authorCode" class="select" title="검색조건선택">
<select name="authorCodeSelect" id="authorCodeSelect" class="select" title="검색조건선택">
<option value="부서별">부서별</option>
</select>
</div>
@ -825,10 +841,10 @@ function proxyPay(obj){
<div class="menu_wrap appreq_menu_wrap">
<div class="menu_area">
<div class="btn_wrap">
<button type="button" class="btnType02 all_open" onclick="$('#kopost_organization').jstree('open_all' );">모두열기</button>
<button type="button" class="btnType03 all_close" onclick="$('#kopost_organization').jstree('close_node' , $('#0') );">모두닫기</button>
<button type="button" class="btnType02 all_open" onclick="$('#kccadr_sbmt').jstree('open_all' );">모두열기</button>
<button type="button" class="btnType03 all_close" onclick="$('#kccadr_sbmt').jstree('close_node' , $('#0') );">모두닫기</button>
</div>
<div class="menu_list" id="kopost_organization" class="jstree_orgChart"></div>
<div class="menu_list" id="kccadr_sbmt" class="jstree_orgChart"></div>
</div>
<div class="menu_detail">
<ul class="appreq_list">
@ -836,16 +852,16 @@ function proxyPay(obj){
<div class="title">팀장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
<button type="button" class="btnType08" onclick="addSbmtPerson('1', 'sbmt');">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<span id="sbmtPerson1">결재자1</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
<button type="button" class="btn_pay" onclick="proxyPay(this, '1');">대결</button>
</div>
</dd>
</dl>
@ -856,16 +872,16 @@ function proxyPay(obj){
<div class="title">부서장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
<button type="button" class="btnType08" onclick="addSbmtPerson('2', 'sbmt');">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<span id="sbmtPerson2">결재자2</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
<button type="button" class="btn_pay" onclick="proxyPay(this, '2');">대결</button>
</div>
</dd>
</dl>
@ -876,16 +892,16 @@ function proxyPay(obj){
<div class="title">위원장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
<button type="button" class="btnType08" onclick="addSbmtPerson('3', 'sbmt');">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<span id="sbmtPerson3">결재자3</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
<button type="button" class="btn_pay" onclick="proxyPay(this, '3');">대결</button>
</div>
</dd>
</dl>

View File

@ -1395,7 +1395,7 @@
<div class="area_left">
</div>
<div class="area_right">
<button type="button" class="btnType06" onclick="fn_adjReqMgr_insert(); return false;">기본정보 저장 ></button>
<button type="button" class="btnType06" onclick="fn_adjReqMgr_insert(); return false;">다음단계 저장 ></button>
</div>
</div>
<!-- //btn_wrap -->

View File

@ -233,6 +233,16 @@ function fn_testPageAlert(){
}
</script>
<style type="text/css">
.calendarPop {left:-165px;}
.cont .list {overflow:inherit;min-height:auto;border-bottom:0 none;}
.cont .list.tbType01 tbody tr td {padding:10px 15px;}
.cont .list.tbType01 tbody tr td .sel_date {position:relative;}
.cont .list.tbType01 tbody tr td .sel_date .startDate {width:100%;box-sizing:border-box;}
.cont .list.tbType01 tbody tr td .sel_date .calendar_in {position:absolute;right:0;top:8px;}
.cont .list.tbType01 tbody tr td.upload_area {text-align:left;}
.cont .list.tbType01 tbody tr td.upload_area .btnType01 {height:36px;padding:0 11px;font-size:15px;}
</style>
<title>사건관련문서 등록</title>
</head>
<body>
@ -280,157 +290,138 @@ function fn_testPageAlert(){
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table class="pop_tbType01">
<caption>사건문서 등록 : 신청인, 피신청인, 관리자가 사건에 관련된 첨부파일을 등록한다.</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>문서 구분</p>
</th>
<td>
<p>
<kc:select codeId="CC044" id="adrDocTy" name="adrDocTy" onChange="docTypeDiv(this.value);"/>
</p>
</td>
</tr>
<tr>
<th scope="row">
<p>사건문서 등록인 구분</p>
</th>
<td>
<p>
<select name="rpplSeq" id="rpplSeq" class="subSearch">
<c:forEach var="info" items="${rpplList}" varStatus="status">
<option name="${info.assPstUsrTy}" value="${info.assPstSeq}" <c:if test="${status.count==2}">selected="selected"</c:if>>${info.assPstUsrNm} (<kc:code codeId="CC005" code="${info.assPstUsrTy}"/>)</option>
</c:forEach>
<option name="30" value="${adrAdminInfo.adrAdmId}">${adrAdminInfo.adrAdmNm} (조정조사관)</option>
</select>
</p>
</td>
</tr>
<tr>
<th scope="row" class="req_text">
<p>내용</p>
</th>
<td>
<label for="adrDocCn1" class="label">답변내용 입력</label>
<textarea name="adrDocCn1" id="adrDocCn1" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;"><c:out value='${info.adrDocCn1}' /></textarea>
</td>
</tr>
<tr>
<th scope="row" class="req_text">
<p>첨부서류</p>
</th>
<td class="upload_area">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display: none" />
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일찾기</button>
<p style="font-size: 16px; float: right; margin-top: 16px; color: #666;">* 첨부파일을 등록해 주세요. (최대3개)</p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>
첨부하실 파일을
<span>마우스로 끌어서</span>
넣어주세요.
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<input type="hidden" name="limitcount" value="3" />
<td class="td_filename">
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">
<c:out value="${fileList.fileExtsn}" />
</span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>">
<c:out value="${fileList.fileMg}" />
</span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제">
<i></i>
</button>
<table>
<colgroup>
<col style="width:15%">
<col style="width:20%">
<col style="width:auto">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>일자</th>
<th>유형</th>
<th>문서</th>
<th>삭제</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="sel_date">
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${adjReqMgrOffLineVO.searchStartDt}" data-datecontrol="true">
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal"></button>
<div id="startDate01-lry" class="calendarPop" style="display: none;">
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</td>
<td>
<select name="regiType" id="regiType">
<option value="">선택</option>
<option value="">신청서</option>
<option value="">답변서</option>
<option value="">피신청인 경정신청서</option>
</select>
</td>
<td>
<textarea name="" id="" rows="3"></textarea>
</td>
<td><button type="button" class="btnType04 btn_del reqPerDel">삭제</button></td>
</tr>
<tr>
<td colspan="4" class="upload_area">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display: none" />
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>
첨부하실 파일을
<span>마우스로 끌어서</span>
넣어주세요.
</p>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<th>
<p>상대방공개여부</p>
</th>
<td>
<div class="radio_wrap">
<span>
<input value="Y" type="radio" name="openYn" id="openYn_Y" checked="checked">
<label for="openYn_Y">공개</label>
</span>
<span>
<input value="N" type="radio" name="openYn" id="openYn_N" onclick="notiOpenYn()">
<label for="openYn_N">제한공개</label>
</span>
</div>
</td>
</tr>
</tbody>
</table>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout04">
<button class="btnType06 btn_edit" onclick="fncReg();">등록</button>
<button class="btnType06 btn_list" onclick="fncClose();">취소</button>
</div>
<!-- //하단 버튼 -->
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<input type="hidden" name="limitcount" value="3" />
<td class="td_filename">
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">
<c:out value="${fileList.fileExtsn}" />
</span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>">
<c:out value="${fileList.fileMg}" />
</span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제">
<i></i>
</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list -->
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
<button type="button" class="btnType04">&lt; 이전단계 이동</button>
</div>
<div class="area_right">
<button type="button" class="btnType06">사건관련문서 저장 &gt;</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
</div>
@ -440,33 +431,6 @@ function fn_testPageAlert(){
</body>
</html>
<%-- <div class="cont_wrap">
<div class="box">

View File

@ -0,0 +1,530 @@
<!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 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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Description : 조정부관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready(function(){
});
//단일 첨부파일 버튼
$(function() {
$('#filebutton').click(function(e) {
e.preventDefault();
$('#file_temp').click();
});
});
//등록 버튼
function fncReg() {
var f = document.getElementById("listForm");
var data = new FormData(f);
_fileForm2.forEach(function(obj, idx) {
if (obj)
data.append("file" + idx, obj.fileObj);
});
if (validation()) {
if(confirm("사건문서를 등록 하시겠습니까?")){
$.ajax({
type : "POST",
enctype : 'multipart/form-data',
url : "/kccadr/adjPgrMgr/apm/docRegPopAjax.do",
data : data,
dataType : 'json',
async : false,
processData : false,
contentType : false,
cache : false,
success : function(returnData, status) {
if (returnData.result == 'success') {
alert("사건문서 제출이 완료되었습니다.");
opener.location.reload(true);
self.close();
} else {
alert(returnData.message);
}
},
error : function(e) {
alert("사건문서 제출에 실패하였습니다.");
console.log("ERROR : ", e);
}
});
}
}
}
function validation() {
if (isEmpty($('#adrDocCn1').val())) {
alert('답변내용을 입력해 주세요.');
return false;
}
if ($('#tbody_fiielist tr').length * 1 <= 0) {
alert("첨부서류를 등록해 주세요");
return false;
}
return true;
}
//문서구분에 따른 신청인 피신청인 선택값 show/hide
function docTypeDiv(divVal){
//답변서
if(divVal == '10'){
//신청인
$('#rpplSeq').find('option[name=10]').prop('disabled', true);
$('#rpplSeq').find('option[name=10]').prop('selected', false);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', false);
$(this).eq(0).prop('selected', true);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//준비서면
else if(divVal == '20'){
//신청인
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', true);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//취하신청서
else if(divVal == '30'){
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', true);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//피신청인 경정신청서
else if(divVal == '40'){
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', true);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//조정기일 연장동의서
else if(divVal == '50'){
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', false);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//우편발송 배달증명서
else if(divVal == '60'){
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', false);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//관련 문서 전체
else if(divVal == '70'){
//신청인
$('#rpplSeq').find('option[name=10]').prop('disabled', true);
$('#rpplSeq').find('option[name=10]').prop('selected', false);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', true);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', false);
$('#rpplSeq').find('option[name=30]').prop('selected', true);
}
//조정기일변경신청서
else if(divVal == '80'){
//신청인
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', false);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
//직권조정 이의신청서
else if(divVal == '90'){
//신청인
$('#rpplSeq').find('option[name=10]').prop('disabled', false);
$('#rpplSeq').find('option[name=10]').prop('selected', true);
//피신청인
$('#rpplSeq').find('option[name=20]').each(function(){
$(this).prop('disabled', false);
$(this).prop('selected', false);
});
//조정조사관
$('#rpplSeq').find('option[name=30]').prop('disabled', true);
$('#rpplSeq').find('option[name=30]').prop('selected', false);
}
}
//더하기 버튼 alert
function fn_testPageAlert(){
alert("사건관련 문서 추가 시 작동하는 버튼입니다. \n 첨부파일 솔루션 도입 후 적용 예정");
}
</script>
<title>사건관련문서 등록</title>
</head>
<body>
<form id="popPageForm" name="popPageForm" method="post">
<!-- <input type="hidden" id="prtclSeq" name="prtclSeq" value="" /> -->
<input type="hidden" id="adrSeq" name="adrSeq" value="<c:out value="${adjReqMgrPastVO.adrSeq}" />" />
<%-- <input type="hidden" id="adrSn" name="adrSn" value="<c:out value="${info.adrSn}" />" /> --%>
<%-- <input type="hidden" id="adrNo" name="adrNo" value="<c:out value="${info.adrNo}" />" /> --%>
<!-- <input type="hidden" id="rpplTy" name="rpplTy" /> -->
<%-- <input type="hidden" id="adrEndDeDay" name="adrEndDeDay" value="<c:out value="${info.adrEndDeDay}" />" /> --%>
<%-- <input type="hidden" id="appSeq" name="appSeq" value="<c:out value="${info.appSeq}" />" /> --%>
<!-- <input type="hidden" id="closeDocTy" name="closeDocTy" /> -->
<%-- <input type="hidden" id="adrAvoidSeq" name="adrAvoidSeq" value="<c:out value="${info.adrAvoidSeq}" />" /> --%>
<%-- <input type="hidden" id="agntSeq" name="agntSeq" value="<c:out value="${info.agntSeq}" />" /> --%>
<%-- <input type="hidden" id="adrMaxSn" name="adrMaxSn" value="<c:out value="${adrMaxSn}" />" /> --%>
<input type="hidden" id="rpplSeq" name="rpplSeq" value=""/>
</form>
<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>
<p>과거사건등록</p>
</li>
<li><span class="cur_nav">사건관련문서 등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<%-- <p>총 진행 회차 : <span><c:out value="${fn:length(adjReqMgrPastListVO) }"/></span>건</p> --%>
<button class="btnType06 btn_edit" type="button" onclick="fn_testPageAlert(); return false;">+</button>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table class="pop_tbType01">
<caption>사건문서 등록 : 신청인, 피신청인, 관리자가 사건에 관련된 첨부파일을 등록한다.</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>문서 구분</p>
</th>
<td>
<p>
<kc:select codeId="CC044" id="adrDocTy" name="adrDocTy" onChange="docTypeDiv(this.value);"/>
</p>
</td>
</tr>
<tr>
<th scope="row">
<p>사건문서 등록인 구분</p>
</th>
<td>
<p>
<select name="rpplSeq" id="rpplSeq" class="subSearch">
<c:forEach var="info" items="${rpplList}" varStatus="status">
<option name="${info.assPstUsrTy}" value="${info.assPstSeq}" <c:if test="${status.count==2}">selected="selected"</c:if>>${info.assPstUsrNm} (<kc:code codeId="CC005" code="${info.assPstUsrTy}"/>)</option>
</c:forEach>
<option name="30" value="${adrAdminInfo.adrAdmId}">${adrAdminInfo.adrAdmNm} (조정조사관)</option>
</select>
</p>
</td>
</tr>
<tr>
<th scope="row" class="req_text">
<p>내용</p>
</th>
<td>
<label for="adrDocCn1" class="label">답변내용 입력</label>
<textarea name="adrDocCn1" id="adrDocCn1" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;"><c:out value='${info.adrDocCn1}' /></textarea>
</td>
</tr>
<tr>
<th scope="row" class="req_text">
<p>첨부서류</p>
</th>
<td class="upload_area">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display: none" />
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일찾기</button>
<p style="font-size: 16px; float: right; margin-top: 16px; color: #666;">* 첨부파일을 등록해 주세요. (최대3개)</p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>
첨부하실 파일을
<span>마우스로 끌어서</span>
넣어주세요.
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<input type="hidden" name="limitcount" value="3" />
<td class="td_filename">
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">
<c:out value="${fileList.fileExtsn}" />
</span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>">
<c:out value="${fileList.fileMg}" />
</span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제">
<i></i>
</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<th>
<p>상대방공개여부</p>
</th>
<td>
<div class="radio_wrap">
<span>
<input value="Y" type="radio" name="openYn" id="openYn_Y" checked="checked">
<label for="openYn_Y">공개</label>
</span>
<span>
<input value="N" type="radio" name="openYn" id="openYn_N" onclick="notiOpenYn()">
<label for="openYn_N">제한공개</label>
</span>
</div>
</td>
</tr>
</tbody>
</table>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout04">
<button class="btnType06 btn_edit" onclick="fncReg();">등록</button>
<button class="btnType06 btn_list" onclick="fncClose();">취소</button>
</div>
<!-- //하단 버튼 -->
</div>
<!-- //list -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</body>
</html>
<%-- <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>
<p>과거사건등록</p>
</li>
<li><span class="cur_nav">사건관련문서 등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<p>총 진행 회차 : <span><c:out value="${fn:length(adjReqMgrPastListVO) }"/></span>건</p>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: auto">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>회차</th>
<th>결과</th>
<th>등록/수정</th>
</tr>
</thead>
<tbody>
<tr>
<td>
1
</td>
<td>
해당 차수의 정보를 등록해 주세요
</td>
<td>
<button class="btn_search regBtn">등록</button>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont --> --%>

View File

@ -96,6 +96,14 @@ $(document).ready(function(){
});
function fn_nextGoPageForm(){
if (confirm('다음 단계로 이동하시겠습니까?')) {
$('#nextGoPageForm').submit();
}
}
</script>
<title>사건진행정보</title>
@ -170,7 +178,7 @@ $(document).ready(function(){
해당 차수의 정보를 등록해 주세요
</c:when>
<c:otherwise>
<c:out value="${adjPast.prtclCn }"/>
<c:out value="${adjPast.appResultTx }"/>
</c:otherwise>
</c:choose>
</td>
@ -190,19 +198,20 @@ $(document).ready(function(){
</table>
</div>
<!-- //list -->
<!-- <div class="btn_wrap btn_layout02"> -->
<!-- <button class="btnType02" onclick="fncCreate(); return false;" >등록</button> -->
<!-- </div> -->
<!-- page -->
<!-- <div class="page"> -->
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
<!-- </div> -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button type="button" class="btnType06" onclick="fn_nextGoPageForm(); return false;">다음 단계 ></button>
</div>
</div>
<!-- //page -->
</div>
</div>
</div>
<form id="nextGoPageForm" action="<c:url value='/kccadr/adjReqMgOff/adjReqMgrPastFileRegist.do' />">
<input type="hidden" id="adrSeq" name="adrSeq" value="${adjReqMgrPastVO.adrSeq }">
</form>
<!-- //cont -->
<!-- //cont -->

View File

@ -0,0 +1,302 @@
<!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 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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Description : 조정부관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<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">
// function fncSelectConciliatorManageList(){
// linkPage(1);
// }
// function linkPage(pageNo){
// var listForm = document.listForm ;
// listForm.pageIndex.value = pageNo ;
// listForm.searchCondition.value = $('#searchCondition').val();
// listForm.searchKeyword.value = $('#searchKeyword').val();
// listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do'/>";
// listForm.submit();
// }
// function fncCreate() {
// var listForm = document.listForm ;
// listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerCreate.do'/>";
// listForm.submit();
// }
// function fn_egov_checkAll(){
// var FLength = document.getElementsByName("memSeqArr").length;
// var checkAllValue = document.getElementById('checkAll').checked;
// //undefined
// if( FLength == 1){
// document.getElementById("memSeqArr0").checked = checkAllValue;
// } else {
// for(var i=0; i < FLength; i++) {
// document.getElementsByName("memSeqArr")[i].checked = checkAllValue;
// }
// }
// }
// function fncDetailPage(exmpMgrId){
// var listForm = document.listForm ;
// listForm.exmpMgrId.value = exmpMgrId;
// listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerDetail.do'/>";
// listForm.submit();
// }
$(document).ready(function(){
// 등록버튼 클릭 이벤트
$('.regBtn').on('click', function(){
// click한 row의 차수
var nowAdrSn = $.trim($(this).parents().parents().children("td:first").text());
$('#nowAdrSn').val(nowAdrSn);
$('#prtclSeq').val($(this).data('info'));
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/drtRegPop.do", '820', '600', "adjReqMgrPastProgPop", $('#popPageForm'));
});
$('.updBtn').on('click', function(){
$('#prtclSeq').val($(this).data('info'));
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/drtUpdtPop.do", '820', '600', "adjReqMgrPastProgPop", $('#popPageForm'));
});
$('#btnAdd').on('click', function(){
var len = $('#rowTbody').children('tr').length;
$('#rowTbody').append(fn_addRow(len));
});
});
function fn_nextGoPageForm(){
if (confirm('다음 단계로 이동하시겠습니까?')) {
$('#nextGoPageForm').submit();
}
}
$(document).on('click','.removeBtn', function(){
$(this).parents('tr').remove();
});
function fn_addRow(len){
return addRow= '<tr id="row'+len+'">'
+' <td>'
+' <div class="sel_date">'
+' <input type="text" class="appDeDay inp" title="검색시작일" id="appDeDay'+len+'" name="appDeDay1" onclick="return calendarOpen(\'appDeDay'+len+'-lry\',\'\',this)" value="<c:out value="${apmChgInfo.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'+len+'-lry\',\'\',this)" class="btn_cal"></button>'
+' <div id="appDeDay'+len+'-lry" class="calendarPop" style="display: none;">'
+' <iframe id="appDeDay'+len+'-ifrm" name="appDeDay'+len+'-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>'
+' </div>'
+' </div>'
+' </div>'
+' </td>'
+' <td>'
+' <input type="text" id="" name="" placeholder="내용을 입력해 주세요" value="" />'
+' </td>'
+' <td>'
+' <input type="text" id="" name="" placeholder="비고를 입력해 주세요" value="" />'
+' </td>'
+' <td>'
+' <button type="button" class="btnType04 btn_del removeBtn">삭제</button>'
+' </td>'
+'</tr>'
;
}
</script>
<style type="text/css">
.calendarPop {left:-165px;}
.cont .list {overflow:inherit;min-height:auto;border-bottom:0 none;}
.cont .list.tbType01 tbody tr td {padding:10px 15px;}
.cont .list.tbType01 tbody tr td input[type=text] {width:100%;box-sizing:border-box;}
.cont .list.tbType01 tbody tr td .sel_date {position:relative;}
.cont .list.tbType01 tbody tr td .sel_date .startDate {width:100%;box-sizing:border-box;}
.cont .list.tbType01 tbody tr td .sel_date .calendar_in {position:absolute;right:0;top:8px;}
.cont .list.tbType01 tbody tr td.upload_area {text-align:left;}
.cont .list.tbType01 tbody tr td.upload_area .btnType01 {height:36px;padding:0 11px;font-size:15px;}
</style>
<title>사건진행정보</title>
</head>
<body>
<form id="popPageForm" name="popPageForm" method="post">
<input type="hidden" id="prtclSeq" name="prtclSeq" value="" />
<input type="hidden" id="nowAdrSn" name="nowAdrSn" value="" />
<%-- <input type="hidden" id="adrSeq" name="adrSeq" value="<c:out value="${info.adrSeq}" />" /> --%>
<%-- <input type="hidden" id="adrSn" name="adrSn" value="<c:out value="${info.adrSn}" />" /> --%>
<%-- <input type="hidden" id="adrNo" name="adrNo" value="<c:out value="${info.adrNo}" />" /> --%>
<!-- <input type="hidden" id="rpplTy" name="rpplTy" /> -->
<%-- <input type="hidden" id="adrEndDeDay" name="adrEndDeDay" value="<c:out value="${info.adrEndDeDay}" />" /> --%>
<%-- <input type="hidden" id="appSeq" name="appSeq" value="<c:out value="${info.appSeq}" />" /> --%>
<!-- <input type="hidden" id="closeDocTy" name="closeDocTy" /> -->
<%-- <input type="hidden" id="adrAvoidSeq" name="adrAvoidSeq" value="<c:out value="${info.adrAvoidSeq}" />" /> --%>
<%-- <input type="hidden" id="agntSeq" name="agntSeq" value="<c:out value="${info.agntSeq}" />" /> --%>
<%-- <input type="hidden" id="adrMaxSn" name="adrMaxSn" value="<c:out value="${adrMaxSn}" />" /> --%>
<input type="hidden" id="rpplSeq" name="rpplSeq" value=""/>
</form>
<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>
<p>과거사건등록</p>
</li>
<li><span class="cur_nav">사건진행정보</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<p>총 진행 회차 : <span><c:out value="${fn:length(adjReqMgrPastListVO) }"/></span>건</p>
<div class="btn_wrap">
<button type="button" id="btnAdd" class="btnType06 btn_adj_add btn_add">문서 추가</button>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width:15%">
<col style="width:auto">
<col style="width:20%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>일자</th>
<th>내용</th>
<th>비고</th>
<th>삭제</th>
</tr>
</thead>
<tbody id="rowTbody">
<%-- <c:forEach items="${adjReqMgrPastListVO }" var="adjPast"> --%>
<!-- <tr> -->
<!-- <td> -->
<%-- <c:out value="${adjPast.adrSn }" /> --%>
<!-- </td> -->
<!-- <td> -->
<%-- <c:choose> --%>
<%-- <c:when test="${empty adjPast.prtclCn }"> --%>
<!-- 해당 차수의 정보를 등록해 주세요 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <c:out value="${adjPast.appResultTx }"/> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- </td> -->
<!-- <td> -->
<%-- <c:choose> --%>
<%-- <c:when test="${empty adjPast.prtclCn }"> --%>
<!-- <button class="btn_search regBtn">등록</button> -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <button class="btn_search updBtn" data-info="${adjPast.prtclSeq }">수정</button> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- </td> -->
<!-- </tr> -->
<%-- </c:forEach> --%>
<tr>
<td>
<!-- <input type="text" id="" name="" style="width: 125px;" placeholder="YYYY-MM-DD" value="" /> -->
<div class="sel_date">
<input type="text" class="appDeDay inp" title="검색시작일" id="appDeDay" name="appDeDay1" onclick="return calendarOpen('appDeDay-lry','',this)" value="<c:out value="${apmChgInfo.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>
</td>
<td>
<input type="text" id="" name="" placeholder="내용을 입력해 주세요" value="" />
</td>
<td>
<input type="text" id="" name="" placeholder="비고를 입력해 주세요" value="" />
</td>
<td>
<button type="button" class="btnType04 btn_del removeBtn">삭제</button>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list -->
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button type="button" class="btnType06" onclick="fn_nextGoPageForm(); return false;">다음 단계 ></button>
</div>
</div>
</div>
</div>
</div>
<form id="nextGoPageForm" action="<c:url value='/kccadr/adjReqMgOff/adjReqMgrPastFileRegist.do' />">
<input id="adrSeq" name="adrSeq" value="${adjReqMgrPastVO.adrSeq }">
</form>
<!-- //cont -->
<!-- //cont -->
</body>
</html>

View File

@ -116,19 +116,15 @@
processData : false,
contentType : false,
cache : false,
success : function(returnData, status) {
if (returnData.result == 'success') {
if(isEmpty(p_param)){
alert("기일조서이 등록 되었습니다.");
fncGoList(); //상세
}else{
fnc_aprvl_step_1(p_param);
}
} else {
alert(returnData.message);
success : function(returnData) {
console.log('returnData : ', returnData);
alert(returnData.data);
if(returnData.status == 'OK')
{
opener.location.reload();
fncClose();
}
},
error : function(e) {
alert("기일조서에 실패하였습니다.");
@ -208,37 +204,6 @@
return true;
}
//결재 처리 1단계
function fnc_aprvl_step_1(p_param){
//adr_seq, adr_sn + 하기 sbmtTy, sbmtTyCd 값 4개 필수입니다.
var data = new FormData(document.getElementById("approval"));
data.append("sbmtTy" ,p_param);
data.append("sbmtTyCd" ,p_param);
$.ajax({
type: "POST",
url: "/kccadr/adjReqMgOff/checkNInsertAprvlPastAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
console.log(returnData.result);
//alert(returnData.result);
if(returnData.result == 'SUCCESS'){
alert('성공적으로 승인요청하였습니다.');
fncGoList(); //상세
}else{
alert(returnData.message);
}
},
error: function (e) { alert("요청에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
function srcAss(idx) {
$('#assIdx').val(idx);
@ -257,6 +222,10 @@
$('#addChgYn' + assIdx).val('Y');
}
function fncClose(){
window.close();
}
</script>
</head>
<body>
@ -538,7 +507,7 @@
<div class="area_right">
<!-- <button type="button" class="btnType02" onclick="fncReg('302010');">기일조서 승인 요청</button> -->
<button type="button" class="btnType06" onclick="fncReg()">등록</button>
<button type="button" class="btnType04" onclick="fncGoList()">취소</button>
<button type="button" class="btnType04" onclick="fncClose()">취소</button>
</div>
</div>
</div>

View File

@ -119,13 +119,12 @@
contentType : false,
cache : false,
success : function(returnData) {
if (returnData.result == 'success') {
alert(returnData);
} else {
alert(returnData.message);
alert(returnData.data);
if(returnData.status == 'OK')
{
fncClose();
}
},
error : function(e) {
alert("기일조서에 실패하였습니다.");
@ -204,7 +203,10 @@
return true;
}
function fncClose(){
window.close();
}
@ -468,8 +470,8 @@
<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:set var="assPstSeq2" value="${assInfo.assPstSeq }" />
<c:set var="assPstUsrNm2" value="${assInfo.assPstUsrNm }" />
</c:if>
</c:if>
</c:forEach>
@ -491,7 +493,7 @@
<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>
<button type="button" class="btnType04" onclick="fncClose()">취소</button>
</div>
</div>
</div>

View File

@ -125,7 +125,9 @@ $( document ).ready(function(){
</th>
<td>
<label for="reqCn1" class="label">신청취지 입력</label>
<textarea name="reqCn1" id="reqCn1" cols="30" rows="5" cssClass="purpose_text"><c:out value='${master.reqCn1}' /></textarea>
<textarea name="reqCn1" id="reqCn1" cols="30" rows="5" cssClass="purpose_text">1)피신청인은 신청인에게 저작권 침해에 따른 손해배상 및 위자료로서 금삼백만원(W3,000,000)을 지급한다.
2)피신청인이 제작, 보유하고 있는 본 건 침해물 <월간 스키라이브>를 조정성립일로부터 14일 이내에 폐기처분한다. 라는 조정을 구합니다
</textarea>
</td>
</tr>
<tr>
@ -136,7 +138,9 @@ $( document ).ready(function(){
</th>
<td>
<label for="reqCn2" class="label">신청원인 입력</label>
<textarea name="reqCn2" id="reqCn2" cols="30" rows="10" cssClass="purpose_text"><c:out value='${master.reqCn2}' /></textarea>
<textarea name="reqCn2" id="reqCn2" cols="30" rows="10" cssClass="purpose_text">1)신청인은 아마추어 사진작가로서 틈틈이 여행을 하며 취미삼아 사진을 찍어 개인 홈페이지를 통해 일반에 공개하는 등 사진동호회 활동을 열심히 해오고 있습니다. 신청인은 동호회 활동의 일환으로 2004년 1월 10일에 눈사람스키장 에서 주변 경치를 소재로 사진 5컷을 촬영하여 2004년 1월 15일에 홈페이지에 올려놓았으며, 일주일 뒤에 저작권위원회에 저작권등록(등록번호:C-2004-123456)을 하였습니다.(첨부1, 2 참조).
2)피신청인은 스키용품 전문지‘ 월간 스키라이브’책자를 발행하는 출판사로서 본격적인 스키철에 대비하여 신청인의 사진 5컷을 허락 없이 7월에서 9월까지 3달에 걸쳐 ‘월간 스키라이브’ 1면(국배판)에 전면의 약 1/3정도의 크기로 하단부에 게재하였습니다.(첨부3, 4 참조).
</textarea>
</td>
</tr>
<tr>
@ -216,9 +220,9 @@ $( document ).ready(function(){
</div>
<!-- //cont -->
</form:form>
<form name="expGoDetail" id="expGoDetail" action="<c:url value='/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do'/>">
<input type="hidden" name="adrSeq" id="adrSeq" value="${adjstReqVO.adrSeq }"/>
<input type="hidden" name="adrSn" id="adrSn" value="${adjstReqVO.adrSn }"/>
<form name="expGoDetail" id="expGoDetail" action="<c:url value='/web/kccadr/adjstExp/adjstIncidentList.do'/>">
<%-- <input type="hidden" name="adrSeq" id="adrSeq" value="${adjstReqVO.adrSeq }"/> --%>
<%-- <input type="hidden" name="adrSn" id="adrSn" value="${adjstReqVO.adrSn }"/> --%>
</form>
</body>

View File

@ -410,4 +410,31 @@ table select+button{vertical-align: middle;}
/* 21/11/24 */
.showMask{display: inline-block}
.cfText{font-size: 16px; color: #666}
#pageUnit{width: 100px}
#pageUnit{width: 100px}
/* 워크플로우 */
.work_flow_wrap{background-color: #f1f2f4; border: 1px solid #d5d5d5; border-radius: 5px; padding: 0 20px; margin: 0 0 30px 0;transition: all 0.5s ease; height: auto;}
.work_flow_wrap .work_tit{display: flex; justify-content: space-between; align-items: center; font-size: 20px; padding: 20px 0 20px 6px;}
.btn_open, .work_flow_wrap .btn_close{width: 30px; height: 30px; border-radius: 5px; background-color: #fff;}
.btn_open i{display: inline-block; width: 100%; height: 100%; background-image: url(/kccadrPb/usr/image/common/btn_plus.png); background-repeat: no-repeat; background-position: center;}
.work_flow_wrap .btn_close i{display: inline-block; width: 100%; height: 100%; background-image: url(/kccadrPb/usr/image/common/btn_minus.png); background-repeat: no-repeat; background-position: center;}
.work_cont{background-color: #fff; border-radius: 5px; padding: 20px 25px; margin: 0 0 25px 0;transition: all 0.5s ease;height:714px;overflow:hidden;}
.work_flow_wrap .top_work{display: flex; justify-content: space-between; align-items: center;}
.work_flow_wrap .work_cont .top_work li{overflow: visible;}
.work_flow_wrap .work_cont li{position: relative; width: 100%; overflow: hidden;}
.work_flow_wrap .work_cont p{display: inline-flex; width: 210px; text-align: center; border: 1px solid #d5d5d5; height: 45px; border-radius: 5px; align-items: center; justify-content: center; font-size: 16px; color: #666; margin-bottom: 26px;background-color: transparent; position: relative;}
.work_flow_wrap .work_cont p+img{position: absolute; right: -10px; top: 8px; z-index: 1;}
.work_2{margin-top: 55px; position: relative;}
.work_3,.work_5{float: right;}
.work_5{margin-left: 10px; margin-top: 73px;}
.work_flow_wrap .work_cont .work_3 li{overflow: visible;}
.work_4{float: right; margin-left: 240px; margin-top: -73px; position: relative;}
.work_flow_wrap .work_cont p+.nexticon_3{position: absolute; top: 100%; left: 98px; top: 54px;}
.nexticon_4{position: absolute; top: -58px; left: 235px;}
.nexticon_5{position: absolute; top: 22px; left: 215px;}
.work_flow_wrap.off .work_cont{height: 0; padding: 0 25px; margin: 0; transition: all 0.5s ease;}
.work_cont .status01 p{border: 1px solid #ea5404; color: #ea5404;}
.work_cont .status02 p{border: 2px solid #1b6fcd; color: #1b6fcd; font-weight: 500;}
/* //워크플로우 */