2022-10-28 17:27 결재 및 대결 관리 목록 작업

This commit is contained in:
myname 2022-10-28 17:27:50 +09:00
parent 6b9972c0b2
commit 851274c946
12 changed files with 5307 additions and 109 deletions

View File

@ -6,6 +6,8 @@ import java.util.List;
public interface InternalApprovManageService {
Integer selectInternalApprovManageCount(InternalApprovManageVO internalApprovManageVO) throws Exception;
Integer selectInternalApprovAdminManageCount(InternalApprovManageVO internalApprovManageVO) throws Exception;
Integer updateinternalApprovManageSave(InternalApprovManageVO internalApprovManageVO
, String p_code_desc
@ -14,6 +16,8 @@ public interface InternalApprovManageService {
) throws Exception;
List<InternalApprovManageVO> selectInternalApprovManageList(InternalApprovManageVO internalApprovManageVO) throws Exception;
//관리자 결재 대결 관리 목록
List<InternalApprovManageVO> selectInternalApprovAdminManageList(InternalApprovManageVO internalApprovManageVO) throws Exception;
InternalApprovManageVO selectInternalApprovManageDetail(InternalApprovManageVO internalApprovManageVO) throws Exception;

View File

@ -33,11 +33,21 @@ public class InternalAppovManageServiceImpl implements InternalApprovManageServi
return internalApprovManageDAO.selectInternalApprovManageCount(internalApprovManageVO);
}
@Override
public Integer selectInternalApprovAdminManageCount(InternalApprovManageVO internalApprovManageVO) throws Exception {
return internalApprovManageDAO.selectInternalApprovAdminManageCount(internalApprovManageVO);
}
@Override
public List<InternalApprovManageVO> selectInternalApprovManageList(InternalApprovManageVO internalApprovManageVO) throws Exception {
return internalApprovManageDAO.selectInternalApprovManageList(internalApprovManageVO);
}
@Override
public List<InternalApprovManageVO> selectInternalApprovAdminManageList(InternalApprovManageVO internalApprovManageVO) throws Exception {
return internalApprovManageDAO.selectInternalApprovAdminManageList(internalApprovManageVO);
}
@Override
public InternalApprovManageVO selectInternalApprovManageDetail(InternalApprovManageVO internalApprovManageVO) throws Exception {
return internalApprovManageDAO.selectInternalApprovManageDetail(internalApprovManageVO);

View File

@ -1,10 +1,11 @@
package kcc.kccadr.adjPgrMgr.iam.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.adjPgrMgr.iam.service.InternalApprovManageVO;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("internalApprovManageDAO")
public class InternalApprovManageDAO extends EgovAbstractDAO {
@ -14,10 +15,18 @@ public class InternalApprovManageDAO extends EgovAbstractDAO {
return (Integer) select("InternalApprovManage.selectInternalApprovManageCount", internalApprovManageVO);
}
public Integer selectInternalApprovAdminManageCount(InternalApprovManageVO internalApprovManageVO) throws Exception {
return (Integer) select("InternalApprovManage.selectInternalApprovAdminManageCount", internalApprovManageVO);
}
public List<InternalApprovManageVO> selectInternalApprovManageList(InternalApprovManageVO internalApprovManageVO) throws Exception {
return (List<InternalApprovManageVO>)list("internalApprovManageDAO.selectInternalApprovManageList", internalApprovManageVO);
}
public List<InternalApprovManageVO> selectInternalApprovAdminManageList(InternalApprovManageVO internalApprovManageVO) throws Exception {
return (List<InternalApprovManageVO>)list("internalApprovManageDAO.selectInternalApprovAdminManageList", internalApprovManageVO);
}
public InternalApprovManageVO selectInternalApprovManageDetail(InternalApprovManageVO internalApprovManageVO) throws Exception {
return (InternalApprovManageVO) select("internalApprovManageDAO.selectInternalApprovManageDetail", internalApprovManageVO);
}

View File

@ -112,7 +112,10 @@ public class InternalApprovManageController {
@RequestMapping(value = "/kccadr/adjPgrMgr/iam/internalApprovManageList.do")
public String internalApprovManageList(@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO , ModelMap model, HttpServletRequest request) throws Exception {
public String internalApprovManageList(
@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO
, ModelMap model
, HttpServletRequest request) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();

View File

@ -1,9 +1,7 @@
package kcc.kccadr.adjPgrMgr.iop.web;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@ -11,50 +9,24 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.DateUtil;
import kcc.com.cmm.util.IpUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.adjPgrMgr.apm.service.ApmService;
import kcc.kccadr.adjPgrMgr.apm.service.ApmVO;
import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService;
import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmVO;
import kcc.kccadr.adjPgrMgr.drt.service.DrtService;
import kcc.kccadr.adjPgrMgr.drt.service.DrtVO;
import kcc.kccadr.adjPgrMgr.ent.service.EntService;
import kcc.kccadr.adjPgrMgr.ent.service.EntVO;
import kcc.kccadr.adjPgrMgr.iam.service.InternalApprovManageService;
import kcc.kccadr.adjPgrMgr.iam.service.InternalApprovManageVO;
import kcc.kccadr.adjPgrMgr.iop.service.InsteadOfPaymentManageVO;
import kcc.kccadr.adjReqMgrPast.service.AdjReqMgrPastVO;
import kcc.kccadr.adjcclt.service.AdjstConciliatorService;
import kcc.kccadr.adjcclt.service.AdjstConciliatorVO;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjreqmgr.web.AdjReqMgrController;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.cmm.CmmUtil;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
import kcc.kccadr.ozSchd.web.OzSchdExportUtil;
import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -65,9 +37,29 @@ public class InsteadOfPaymentManageController {
// @Resource(name = "apmService")
// private ApmService apmService;
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
@Resource(name = "internalApprovManageService")
private InternalApprovManageService internalApprovManageService;
///복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
@Resource(name = "drtService")
private DrtService drtService;
@Resource(name = "EntService")
private EntService entService;
@RequestMapping(value = "/kccadr/adjPgrMgr/iop/insteadOfPaymentManageList.do")
public String insteadOfPaymentManageList(@ModelAttribute("insteadOfPaymentManageVO") InsteadOfPaymentManageVO insteadOfPaymentManageVO , ModelMap model, HttpServletRequest request) throws Exception {
public String insteadOfPaymentManageList(
@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
@ -77,28 +69,423 @@ public class InsteadOfPaymentManageController {
return "redirect:/web/user/login/ssoLogin.do";
}
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(insteadOfPaymentManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(insteadOfPaymentManageVO.getPageUnit());
paginationInfo.setPageSize(insteadOfPaymentManageVO.getPageSize());
internalApprovManageVO.setFrstRegisterId(loginVO.getUniqId());
internalApprovManageVO.setMemSeq(loginVO.getUniqId());
internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId());
insteadOfPaymentManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
insteadOfPaymentManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
insteadOfPaymentManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// paginationInfo.setTotalRecordCount(adjReqMgrPastService.selectAdjReqMgrPastListCount(insteadOfPaymentManageVO));
model.addAttribute("paginationInfo", paginationInfo);
// list
// List<InsteadOfPaymentManageVO> list = adjReqMgrPastService.selectAdjReqMgrPastList(adjReqMgrPastVO);
List<InsteadOfPaymentManageVO> list = new ArrayList<InsteadOfPaymentManageVO>();
// 임시
model.addAttribute("list", list);
if(internalApprovManageVO.getPageUnit() != 10) {
internalApprovManageVO.setPageUnit(internalApprovManageVO.getPageUnit());
}
if("".equals(internalApprovManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
internalApprovManageVO.setSearchSortCnd("RS.adrNo");
internalApprovManageVO.setSearchSortOrd("desc");
}
//내부결재 목록 페이지 접근시 결재상태 - 결재대기(01), 결재진행중(02) 상태가 기본값으로 해달라는 요청_220225_이준호수정
if("".equals(internalApprovManageVO.getSearchStatusArr()) || internalApprovManageVO.getSearchStatusArr() == null){
String[] defaultSearchStatusArr = {"01", "02"};
internalApprovManageVO.setSearchStatusArr(defaultSearchStatusArr);
}
if(StringUtils.isEmpty(internalApprovManageVO.getSearchStartDt()) && StringUtils.isEmpty(internalApprovManageVO.getSearchEndDt())){
internalApprovManageVO.setSearchStartDt(CmmUtil.getDiffMonth(1 , "yyyy-MM-dd"));
internalApprovManageVO.setSearchEndDt(CmmUtil.getDateNow("yyyy-MM-dd"));
}
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(internalApprovManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(internalApprovManageVO.getPageUnit());
paginationInfo.setPageSize(internalApprovManageVO.getPageSize());
//위원장 아이디는 위원장이 결재 시점에서만 조회되게
// 리스트 조건절 결재선 1,2 라인이 결재 완료이고 위원장 아이디 일때만 조회
UserManageVO userManageVO = new UserManageVO();
userManageVO = userManageService.selectUser(loginVO.getUniqId());
if(KccadrConstants.ADR_SBMT_TY_40.equals(userManageVO.getOfcpsNm())) {
internalApprovManageVO.setUiWonJangId(loginVO.getUniqId());
}
//22.02.08 이준호 내부결재목록 최고관리자의 경우 모든 결재가 보이게 처리 요청사항 적용
if("ROLE_ADMIN".equals(loginVO.getAuthority())) {
internalApprovManageVO.setAuthor(loginVO.getAuthority());
}
internalApprovManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
internalApprovManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
internalApprovManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
paginationInfo.setTotalRecordCount(internalApprovManageService.selectInternalApprovAdminManageCount(internalApprovManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", internalApprovManageService.selectInternalApprovAdminManageList(internalApprovManageVO));
return "kccadr/adjPgrMgr/iop/insteadOfPaymentManageList";
}
/**
* 내부결재 관리 상세 화면 - 203040
*/
@RequestMapping("/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail.do")
public String insteadOfPaymentManageDetail(@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO, ModelMap model) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
if (loginVO == null) {
model.addAttribute("msg", "로그인 해주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId());
InternalApprovManageVO info = internalApprovManageService.selectInternalApprovManageDetail(internalApprovManageVO);
List<InternalApprovManageVO> approvLine = internalApprovManageService.selectInternalApprovLine(info);
decryptInfomation(null, info);
String aftThree = "";
//접수일로부터 3개월뒤 날짜 구하기
if(StringUtil.isNotEmpty(info.getReqDt())) {
String reqDt = info.getReqDt();
DateUtil dateUtil = new DateUtil();
aftThree = dateUtil.AddDate(reqDt, 0, 3, 0);
}
//취하신청 정보
EntVO entVO = new EntVO();
entVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo = entService.selectEntInfo(entVO);
model.addAttribute("resultEntInfo", resultEntInfo);
//취하신청 등록 여부
EntVO entVO_2 = new EntVO();
entVO_2.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO_2.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo_2 = entService.selectEntInfo_2(entVO_2);
model.addAttribute("resultEntInfo_2", resultEntInfo_2);
//기일조서값
DrtVO drtVO = new DrtVO();
drtVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
drtVO.setAdrSn(internalApprovManageVO.getAdrSn());
drtVO = drtService.selectAdrPrtclMgr(drtVO);
model.addAttribute("drtInfo", drtVO);
model.addAttribute("info", info);
model.addAttribute("approvLine", approvLine);
model.addAttribute("aftThree", aftThree); //접수일로 3개월 날짜 정보
//22.02.08 최고관리자의 경우 반려 결재 버튼 미노출 처리
model.addAttribute("auth", loginVO.getAuthority());
return "kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail";
}
/**
* 내부결재 관리 상세 화면 - 203040
*/
@RequestMapping("/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail30.do")
public String insteadOfPaymentManageDetail30(@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO, ModelMap model) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
if (loginVO == null) {
model.addAttribute("msg", "로그인 해주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId());
InternalApprovManageVO info = internalApprovManageService.selectInternalApprovManageDetail(internalApprovManageVO);
List<InternalApprovManageVO> approvLine = internalApprovManageService.selectInternalApprovLine(info);
decryptInfomation(null, info);
String aftThree = "";
//접수일로부터 3개월뒤 날짜 구하기
if(StringUtil.isNotEmpty(info.getReqDt())) {
String reqDt = info.getReqDt();
DateUtil dateUtil = new DateUtil();
aftThree = dateUtil.AddDate(reqDt, 0, 3, 0);
}
//취하신청 정보
EntVO entVO = new EntVO();
entVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo = entService.selectEntInfo(entVO);
model.addAttribute("resultEntInfo", resultEntInfo);
//취하신청 등록 여부
EntVO entVO_2 = new EntVO();
entVO_2.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO_2.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo_2 = entService.selectEntInfo_2(entVO_2);
model.addAttribute("resultEntInfo_2", resultEntInfo_2);
//기일조서값
DrtVO drtVO = new DrtVO();
drtVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
drtVO.setAdrSn(internalApprovManageVO.getAdrSn());
drtVO = drtService.selectAdrPrtclMgr(drtVO);
model.addAttribute("drtInfo", drtVO);
model.addAttribute("info", info);
model.addAttribute("approvLine", approvLine);
model.addAttribute("aftThree", aftThree); //접수일로 3개월 날짜 정보
//22.02.08 최고관리자의 경우 반려 결재 버튼 미노출 처리
model.addAttribute("auth", loginVO.getAuthority());
return "kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail30";
}
/**
* 내부결재 관리 상세 화면 - 203040
*/
@RequestMapping("/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail502030.do")
public String insteadOfPaymentManageDetail502030(@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO, ModelMap model) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
if (loginVO == null) {
model.addAttribute("msg", "로그인 해주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId());
InternalApprovManageVO info = internalApprovManageService.selectInternalApprovManageDetail(internalApprovManageVO);
List<InternalApprovManageVO> approvLine = internalApprovManageService.selectInternalApprovLine(info);
decryptInfomation(null, info);
String aftThree = "";
//접수일로부터 3개월뒤 날짜 구하기
if(StringUtil.isNotEmpty(info.getReqDt())) {
String reqDt = info.getReqDt();
DateUtil dateUtil = new DateUtil();
aftThree = dateUtil.AddDate(reqDt, 0, 3, 0);
}
//취하신청 정보
EntVO entVO = new EntVO();
entVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo = entService.selectEntInfo(entVO);
model.addAttribute("resultEntInfo", resultEntInfo);
//취하신청 등록 여부
EntVO entVO_2 = new EntVO();
entVO_2.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO_2.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo_2 = entService.selectEntInfo_2(entVO_2);
model.addAttribute("resultEntInfo_2", resultEntInfo_2);
//기일조서값
DrtVO drtVO = new DrtVO();
drtVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
drtVO.setAdrSn(internalApprovManageVO.getAdrSn());
drtVO = drtService.selectAdrPrtclMgr(drtVO);
model.addAttribute("drtInfo", drtVO);
model.addAttribute("info", info);
model.addAttribute("approvLine", approvLine);
model.addAttribute("aftThree", aftThree); //접수일로 3개월 날짜 정보
//22.02.08 최고관리자의 경우 반려 결재 버튼 미노출 처리
model.addAttribute("auth", loginVO.getAuthority());
return "kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail502030";
}
/**
* 내부결재 관리 상세 화면 - 203040
*/
@RequestMapping("/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail50.do")
public String insteadOfPaymentManageDetail50(@ModelAttribute("internalApprovManageVO") InternalApprovManageVO internalApprovManageVO, ModelMap model) throws Exception {
String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString();
LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
if (loginVO == null) {
model.addAttribute("msg", "로그인 해주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId());
InternalApprovManageVO info = internalApprovManageService.selectInternalApprovManageDetail(internalApprovManageVO);
List<InternalApprovManageVO> approvLine = internalApprovManageService.selectInternalApprovLine(info);
decryptInfomation(null, info);
String aftThree = "";
//접수일로부터 3개월뒤 날짜 구하기
if(StringUtil.isNotEmpty(info.getReqDt())) {
String reqDt = info.getReqDt();
DateUtil dateUtil = new DateUtil();
aftThree = dateUtil.AddDate(reqDt, 0, 3, 0);
}
//취하신청 정보
EntVO entVO = new EntVO();
entVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo = entService.selectEntInfo(entVO);
model.addAttribute("resultEntInfo", resultEntInfo);
//취하신청 등록 여부
EntVO entVO_2 = new EntVO();
entVO_2.setAdrSeq(internalApprovManageVO.getAdrSeq());
entVO_2.setApprYn(KccadrConstants.ADR_CNCL_DROP_REQ);
EntVO resultEntInfo_2 = entService.selectEntInfo_2(entVO_2);
model.addAttribute("resultEntInfo_2", resultEntInfo_2);
//기일조서값
DrtVO drtVO = new DrtVO();
drtVO.setAdrSeq(internalApprovManageVO.getAdrSeq());
drtVO.setAdrSn(internalApprovManageVO.getAdrSn());
drtVO = drtService.selectAdrPrtclMgr(drtVO);
model.addAttribute("drtInfo", drtVO);
model.addAttribute("info", info);
model.addAttribute("approvLine", approvLine);
model.addAttribute("aftThree", aftThree); //접수일로 3개월 날짜 정보
//22.02.08 최고관리자의 경우 반려 결재 버튼 미노출 처리
model.addAttribute("auth", loginVO.getAuthority());
return "kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail50";
}
private void decryptInfomation(List<InternalApprovManageVO> list, InternalApprovManageVO info){
if(CollectionUtils.isNotEmpty(list)){
for(InternalApprovManageVO model : list){
model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm()));
model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr()));
model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl()));
model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost()));
model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail()));
model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone()));
model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost()));
model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr()));
model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl()));
model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm()));
model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()));
model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm()));
model.setAdrAdmNm(egovCryptoUtil.decrypt(model.getAdrAdmNm()));
model.setCmntNm(egovCryptoUtil.decrypt(model.getCmntNm()));
// 피신청인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(model.getResPonDentNms())){
String[] resNms = model.getResPonDentNms().split(",");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
model.setResPonDentNms(String.join(",", names));
}else{
model.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
// 피신청인 대리인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(model.getResPonAgntNms())){
String[] resNms = model.getResPonAgntNms().split(",");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
model.setResPonAgntNms(String.join(",", names));
}else{
model.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
}
}
if(info != null){
info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm()));
info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr()));
info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl()));
info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost()));
info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail()));
info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone()));
info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm()));
info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm()));
info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm()));
info.setAdrAdmNm(egovCryptoUtil.decrypt(info.getAdrAdmNm()));
info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost()));
info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr()));
info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl()));
info.setCmntNm(egovCryptoUtil.decrypt(info.getCmntNm()));
info.setAdrCdnt(egovCryptoUtil.decrypt(info.getAdrCdnt()));
// 피신청인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(info.getResPonDentNms())){
String[] resNms = info.getResPonDentNms().split(",");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
info.setResPonDentNms(String.join(",", names));
}else{
info.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
// 신청인 대리인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(info.getDepuTyNms())){
String[] resNms = info.getDepuTyNms().split(",");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
info.setDepuTyNms(String.join(",", names));
}else{
info.setDepuTyNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
// 피신청인 대리인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(info.getResPonAgntNms())){
String[] resNms = info.getResPonAgntNms().split(",");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
info.setResPonAgntNms(String.join(",", names));
}else{
info.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
// 조정위원 다중으로 가져왔을때..
if(StringUtils.isNotBlank(info.getAdrCclt())){
String[] ccltNms = info.getAdrCclt().split(",");
if(ccltNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : ccltNms){
names.add(egovCryptoUtil.decrypt(name));
}
info.setAdrCclt(String.join(",", names));
}else{
info.setAdrCclt(egovCryptoUtil.decrypt(ccltNms[0]));
}
}
}
}
}

View File

@ -171,6 +171,142 @@
</isNotEmpty>
</select>
<select id="InternalApprovManage.selectInternalApprovAdminManageCount" parameterClass="InternalApprovManageVO" resultClass="int">
SELECT
COUNT(1) AS TOT
FROM (
SELECT
RS.*
, (
SELECT
CASE WHEN RS.STEP = 1 THEN SBMT_GRADE_CD1
WHEN RS.STEP = 2 THEN SBMT_GRADE_CD2
WHEN RS.STEP = 3 THEN SBMT_GRADE_CD3
WHEN RS.STEP = 4 THEN SBMT_GRADE_CD4
WHEN RS.STEP = 5 THEN SBMT_GRADE_CD5
WHEN RS.STEP = 6 THEN SBMT_GRADE_CD6
ELSE NULL END
FROM ADR_SBMT_LINE_MGR S1
WHERE 1=1
AND S1.SBMT_TY_CD = RS.sbmtTy
LIMIT 1
) AS sbmtGradeCd
, CASE WHEN RS.confirmStatus = '03' OR RS.confirmStatus = '04' THEN RS.confirmStatus
WHEN RS.targetId = #searchSbmtId# THEN '01'
WHEN
<isNotEqual property="author" compareValue="ROLE_ADMIN">
RS.targetId = #searchSbmtId#
AND
</isNotEqual>
RS.confirmStatus = '02'
THEN IF((
SELECT
COUNT(1)
FROM adr_sbmt_mgr
WHERE ADR_SEQ = RS.adrSeq
AND ADR_SN = RS.adrSn
AND SBMT_SEQ = RS.sbmtSeq
AND SBMT_YN1 != 'Y'
<isNotEqual property="author" compareValue="ROLE_ADMIN">
AND SBMT_ID1 = #searchSbmtId#
</isNotEqual>
) <![CDATA[ > ]]> 0
, '01'
, '02'
)
ELSE RS.confirmStatus
END cfmStatCd
FROM (
SELECT
T1.ADR_SEQ AS adrSeq
, T1.ADR_SN AS adrSn
, T1.SBMT_SEQ AS sbmtSeq
, T1.SBMT_TY AS sbmtTy
, T1.SBMT_MEM_TY AS sbmtMemTy
, T1.SBMT_STEP_CNT AS sbmtStepCnt
, T1.SBMT_ID1 AS sbmtId1
, T1.SBMT_YN1 AS sbmtYn1
, T1.SBMT_DE1 AS sbmtDe1
, T1.SBMT_ID2 AS sbmtId2
, T1.SBMT_YN2 AS sbmtYn2
, T1.SBMT_DE2 AS sbmtDe2
, T1.SBMT_ID3 AS sbmtId3
, T1.SBMT_YN3 AS sbmtYn3
, T1.SBMT_DE3 AS sbmtDe3
, T1.SBMT_ID4 AS sbmtId4
, T1.SBMT_YN4 AS sbmtYn4
, T1.SBMT_DE4 AS sbmtDe4
, T1.SBMT_ID5 AS sbmtId5
, T1.SBMT_YN5 AS sbmtYn5
, T1.SBMT_DE5 AS sbmtDe5
, T1.SBMT_ID6 AS sbmtId6
, T1.SBMT_YN6 AS sbmtYn6
, T1.SBMT_DE6 AS sbmtDe6
, TO_CHAR(T1.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI') AS frstRegistPnttm
, T1.FRST_REGISTER_ID AS frstRegisterId
, TO_CHAR(T1.LAST_UPDT_PNTTM, 'YYYY-MM-DD') AS lastUpdtPnttm
, T1.LAST_UPDUSR_ID AS lastUpdusrId
, T2.ADR_NO AS adrNo
, T2.STAT_CD AS statCd
, T2.REQ_OL_CD AS reqOlCd
, T2.REQ_CN1 AS reqCn1
, T2.REQ_CN2 AS reqCn2
, T2.REQ_TY AS reqTy
, T2.CC_TY AS ccTy
, T2.SBMT_YN AS sbmtYn
, T2.SBMT_DE AS sbmtDe
, T2.ADR_COST AS adrCost
, T2.ADR_PAY_YN AS adrPayYn
, T2.APPR_SEQ AS apprSeq
, T2.APPR_DE AS apprDe
, T2.ATCH_FILE_ID AS atchFileId
, T2.USE_YN AS useYn
, T2.REJECT_CD AS rejectCd
, T2.REJECT_CN AS rejectCn
, T2.ADR_COST_BATCH_YN AS adrCostBatchYn
, T2.ADR_END_DE AS adrEndDe
, T2.ADR_END_ADD_YN AS adrEndAddYn
, T2.RCPT_DE AS rcptDe
, T3.ADR_ADM_ID AS adrAdmId
, T3.MEM_DEPT_SEQ AS memDeptSeq
, T3.ASS_SEQ AS assSeq
, T3.APP_YN AS appYn
, CASE WHEN (SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N') THEN '04'
WHEN (IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT THEN '03'
ELSE '02'
END AS confirmStatus
, IF(SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N', 'Y', 'N') AS rejectYn
, IF((IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT, 'Y' , 'N') AS allYn
, CASE WHEN SBMT_YN1 = 'A' THEN SBMT_ID1 WHEN SBMT_YN2 = 'A' THEN SBMT_ID2 WHEN SBMT_YN3 = 'A' THEN SBMT_ID3 WHEN SBMT_YN4 = 'A' THEN SBMT_ID4 WHEN SBMT_YN5 = 'A' THEN SBMT_ID5 WHEN SBMT_YN6 = 'A' THEN SBMT_ID6 ELSE NULL
END AS targetId
,CASE WHEN SBMT_YN1 = 'A' THEN 1 WHEN SBMT_YN2 = 'A' THEN 2 WHEN SBMT_YN3 = 'A' THEN 3 WHEN SBMT_YN4 = 'A' THEN 4 WHEN SBMT_YN5 = 'A' THEN 5 WHEN SBMT_YN6 = 'A' THEN 6 ELSE NULL END AS STEP
FROM ADR_SBMT_MGR T1 INNER JOIN ADR_MGR_MASTER T2 ON T1.ADR_SEQ = T2.ADR_SEQ
INNER JOIN ADR_MGR_DETAIL T3 ON T1.ADR_SEQ = T3.ADR_SEQ AND <![CDATA[ T1.ADR_SN = T3.ADR_SN ]]>
WHERE 1=1
<isNotEmpty property="searchStartDt">
<isNotEmpty property="searchStartDt">
AND TO_CHAR(T1.FRST_REGIST_PNTTM, 'YYYY-MM-DD') BETWEEN #searchStartDt# AND #searchEndDt#
</isNotEmpty>
</isNotEmpty>
) RS
) RS
WHERE 1=1
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND RS.cfmStatCd IN " > #searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND RS.adrNo LIKE CONCAT('%',#searchKeyword#,'%')
</isNotEmpty>
<isNotEmpty property="uiWonJangId">
AND
(
DECODE(RS.sbmtYn1,'Y',DECODE(RS.sbmtYn2, 'Y', 1)) <![CDATA[>]]> 0
AND RS.sbmtId3 = #uiWonJangId#
)
</isNotEmpty>
</select>
<select id="internalApprovManageDAO.selectInternalApprovManageList" parameterClass="InternalApprovManageVO" resultClass="InternalApprovManageVO">
SELECT
*
@ -355,6 +491,160 @@
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="internalApprovManageDAO.selectInternalApprovAdminManageList" parameterClass="InternalApprovManageVO" resultClass="InternalApprovManageVO">
SELECT
*
FROM (
SELECT
RS.*
, (
SELECT
CASE WHEN RS.STEP = 1 THEN SBMT_GRADE_CD1
WHEN RS.STEP = 2 THEN SBMT_GRADE_CD2
WHEN RS.STEP = 3 THEN SBMT_GRADE_CD3
WHEN RS.STEP = 4 THEN SBMT_GRADE_CD4
WHEN RS.STEP = 5 THEN SBMT_GRADE_CD5
WHEN RS.STEP = 6 THEN SBMT_GRADE_CD6
ELSE NULL END
FROM ADR_SBMT_LINE_MGR S1
WHERE 1=1
AND S1.SBMT_TY_CD = RS.sbmtTy
LIMIT 1
) AS sbmtGradeCd
, CASE WHEN RS.confirmStatus = '03' OR RS.confirmStatus = '04' THEN RS.confirmStatus
WHEN RS.targetId = #searchSbmtId# THEN '01'
WHEN
<isNotEqual property="author" compareValue="ROLE_ADMIN">
RS.targetId = #searchSbmtId#
AND
</isNotEqual>
RS.confirmStatus = '02'
THEN IF((
SELECT
COUNT(1)
FROM adr_sbmt_mgr
WHERE ADR_SEQ = RS.adrSeq
AND ADR_SN = RS.adrSn
AND SBMT_SEQ = RS.sbmtSeq
AND SBMT_YN1 != 'Y'
<isNotEqual property="author" compareValue="ROLE_ADMIN">
AND SBMT_ID1 = #searchSbmtId#
</isNotEqual>
) <![CDATA[ > ]]> 0
, '01'
, '02'
)
ELSE RS.confirmStatus
END cfmStatCd
FROM (
SELECT
T1.ADR_SEQ AS adrSeq
, T1.ADR_SN AS adrSn
, T1.SBMT_SEQ AS sbmtSeq
, T1.SBMT_TY AS sbmtTy
, T1.SBMT_MEM_TY AS sbmtMemTy
, T1.SBMT_STEP_CNT AS sbmtStepCnt
, T1.SBMT_ID1 AS sbmtId1
, T1.SBMT_YN1 AS sbmtYn1
, T1.SBMT_DE1 AS sbmtDe1
, T1.SBMT_ID2 AS sbmtId2
, T1.SBMT_YN2 AS sbmtYn2
, T1.SBMT_DE2 AS sbmtDe2
, T1.SBMT_ID3 AS sbmtId3
, T1.SBMT_YN3 AS sbmtYn3
, T1.SBMT_DE3 AS sbmtDe3
, T1.SBMT_ID4 AS sbmtId4
, T1.SBMT_YN4 AS sbmtYn4
, T1.SBMT_DE4 AS sbmtDe4
, T1.SBMT_ID5 AS sbmtId5
, T1.SBMT_YN5 AS sbmtYn5
, T1.SBMT_DE5 AS sbmtDe5
, T1.SBMT_ID6 AS sbmtId6
, T1.SBMT_YN6 AS sbmtYn6
, T1.SBMT_DE6 AS sbmtDe6
, TO_CHAR(T1.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI') AS frstRegistPnttm
, T1.FRST_REGISTER_ID AS frstRegisterId
, TO_CHAR(T1.LAST_UPDT_PNTTM, 'YYYY-MM-DD') AS lastUpdtPnttm
, T1.LAST_UPDUSR_ID AS lastUpdusrId
, T2.ADR_NO AS adrNo
, T2.STAT_CD AS statCd
, T2.REQ_OL_CD AS reqOlCd
, T2.REQ_CN1 AS reqCn1
, T2.REQ_CN2 AS reqCn2
, T2.REQ_TY AS reqTy
, T2.CC_TY AS ccTy
, T2.SBMT_YN AS sbmtYn
, T2.SBMT_DE AS sbmtDe
, T2.ADR_COST AS adrCost
, T2.ADR_PAY_YN AS adrPayYn
, T2.APPR_SEQ AS apprSeq
, T2.APPR_DE AS apprDe
, T2.ATCH_FILE_ID AS atchFileId
, T2.USE_YN AS useYn
, T2.REJECT_CD AS rejectCd
, T2.REJECT_CN AS rejectCn
, T2.ADR_COST_BATCH_YN AS adrCostBatchYn
, T2.ADR_END_DE AS adrEndDe
, T2.ADR_END_ADD_YN AS adrEndAddYn
, T2.RCPT_DE AS rcptDe
, T3.ADR_ADM_ID AS adrAdmId
, T3.MEM_DEPT_SEQ AS memDeptSeq
, T3.ASS_SEQ AS assSeq
, T3.APP_YN AS appYn
, CASE WHEN (SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N') THEN '04'
WHEN (IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT THEN '03'
ELSE '02'
END AS confirmStatus
, IF(SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N', 'Y', 'N') AS rejectYn
, IF((IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT, 'Y' , 'N') AS allYn
, CASE WHEN SBMT_YN1 = 'A' THEN SBMT_ID1 WHEN SBMT_YN2 = 'A' THEN SBMT_ID2 WHEN SBMT_YN3 = 'A' THEN SBMT_ID3 WHEN SBMT_YN4 = 'A' THEN SBMT_ID4 WHEN SBMT_YN5 = 'A' THEN SBMT_ID5 WHEN SBMT_YN6 = 'A' THEN SBMT_ID6 ELSE NULL
END AS targetId
,CASE WHEN SBMT_YN1 = 'A' THEN 1 WHEN SBMT_YN2 = 'A' THEN 2 WHEN SBMT_YN3 = 'A' THEN 3 WHEN SBMT_YN4 = 'A' THEN 4 WHEN SBMT_YN5 = 'A' THEN 5 WHEN SBMT_YN6 = 'A' THEN 6 ELSE NULL END AS STEP
FROM ADR_SBMT_MGR T1 INNER JOIN ADR_MGR_MASTER T2 ON T1.ADR_SEQ = T2.ADR_SEQ
INNER JOIN ADR_MGR_DETAIL T3 ON T1.ADR_SEQ = T3.ADR_SEQ AND <![CDATA[ T1.ADR_SN <= T3.ADR_SN ]]>
WHERE 1=1
<isNotEmpty property="searchStartDt">
<isNotEmpty property="searchStartDt">
AND TO_CHAR(T1.FRST_REGIST_PNTTM, 'YYYY-MM-DD') BETWEEN #searchStartDt# AND #searchEndDt#
</isNotEmpty>
</isNotEmpty>
) RS
) RS
WHERE 1=1
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND RS.cfmStatCd IN " > #searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND RS.adrNo LIKE CONCAT('%',#searchKeyword#,'%')
</isNotEmpty>
<isNotEmpty property="uiWonJangId">
/*
AND
(
DECODE(RS.sbmtYn1,'Y',DECODE(RS.sbmtYn2, 'Y', 1)) ![CDATA[>]] 0
AND RS.sbmtId3 = uiWonJangId
)
*/
AND (
RS.sbmtId1 = #uiWonJangId#
OR
RS.sbmtId2 = #uiWonJangId#
OR
RS.sbmtId3 = #uiWonJangId#
)
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="internalApprovManageDAO.selectInternalApprovManageDetail" parameterClass="InternalApprovManageVO" resultClass="InternalApprovManageVO">
SELECT
CASE WHEN RS.target = '60' THEN (SELECT GROUP_CONCAT(sbmt_id1) FROM adr_sbmt_detail_mgr WHERE ADR_SEQ = RS.adrSeq AND ADR_SN = RS.adrSn AND SBMT_SEQ = RS.sbmtSeq AND SBMT_YN1 != 'Y') ELSE RS.target END AS targetId

View File

@ -11,8 +11,8 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Description : 조정부관리
* @Class Name : internalApprovlManageList.jsp
* @Description : 내부결재목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Class Name : insteadOfPaymentManageList.jsp
* @Description : 결재 및 대결 관리 목록
* @Modification Information
* @
@ -30,27 +30,156 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready(function(){
$("input[name=searchStatusArr]").on("click" , function(){
var value = $(this).val();
if(value == "99"){
$("input[name=searchStatusArr]").prop("checked", $(this).is(":checked"));
}
});
$("input[name=searchMonth]").on("click" , function(){
var value = $(this).val();
if(value == "99"){
$("#sel_date").find("button").prop("disabled" , false);
$("#sel_date").find("input").prop("readonly", false);
$("#sel_date").find("input").removeClass("read-only");
}else{
setSearchMonthDate(value);
$("#sel_date").find("button").prop("disabled" , true);
$("#sel_date").find("input").prop("readonly", true);
$("#sel_date").find("input").addClass("read-only");
}
});
if('${internalApprovManageVO.searchMonth}' != '99'){
setSearchMonthDate('${internalApprovManageVO.searchMonth}');
}
});
function fncGoDetail(adrSeq, adrSn, sbmtSeq, sbmtTy){
var listForm = document.listForm ;
listForm.adrSeq.value = adrSeq;
listForm.adrSn.value = adrSn;
listForm.sbmtSeq.value = sbmtSeq;
/*
if(sbmtTy == '309010'){
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iam/internalApprovManageEndDetail.do'/>";
}else{
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iam/internalApprovManageDetail.do'/>";
}
*/
if (sbmtTy=='201010'){ //20, 30, 40
//listForm.action = "<c:url value='/kccadr/adjPgrMgr/iam/internalApprovManageDetail.do'/>";
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail.do'/>";
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop502030.do", '1000', '700', "entInfoPop502030", $('#pop'));
}else if (sbmtTy=='202010'){ //30
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail30.do'/>";
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop30.do", '1000', '700', "entInfoPop30", $('#pop'));
function fn_Create(){
var goForm = document.goForm;
//등록 URL 입력 란
goForm.action = "";
//goForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrPastBasicRegist.do' />";
goForm.submit();
}else if (sbmtTy=='204010'
|| sbmtTy=='205010'
|| sbmtTy=='302010'
|| sbmtTy=='303010'
|| sbmtTy=='304010'
|| sbmtTy=='305010'
|| sbmtTy=='306010'
|| sbmtTy=='307010'
){ //50
//204010, 307010, 305010, 304010, 303010, 306010, 302010, 205010
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail50.do'/>";
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop50.do", '1000', '700', "entInfoPop50", $('#pop'));
}else if (sbmtTy=='309010'){ //50, 20, 30
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iop/insteadOfPaymentManageDetail502030.do'/>";
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop502030.do", '1000', '700', "entInfoPop502030", $('#pop'));
}else{
alert("해당 코드("+sbmtTy+")에 대한 처리값이 없습니다.추가개발해주세요~");
return;
}
listForm.submit();
}
function setSearchMonthDate(month){
if(month == undefined || month == ""){
month = '${adjReqMgrVO.searchMonth}';
}
//현재날짜
var now = new Date();
var endDt = now.getFullYear()+"-"+ ((now.getMonth()+1) < 10 ? '0'+ (now.getMonth()+1) : (now.getMonth()+1) )+ "-"
+ ((now.getDate()) < 10 ? '0'+ (now.getDate()) : (now.getDate()) );
//month + 날자
month = parseInt(month);
var getMonthDate = new Date(now.setMonth(now.getMonth() - month)); // 한달 후
var startDt = getMonthDate.getFullYear()+"-"+ ((getMonthDate.getMonth()+1) < 10 ? '0'+ (getMonthDate.getMonth()+1) : (getMonthDate.getMonth()+1)) + "-"
+ ((getMonthDate.getDate()) < 10 ? '0'+ (getMonthDate.getDate()) : (getMonthDate.getDate()));
$("input[name=searchStartDt]").val(startDt);
$("input[name=searchEndDt]").val(endDt);
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iop/insteadOfPaymentManageList.do'/>";
listForm.submit();
}
function fnc_aprvl_pop(param){
var pop = document.pop;
pop.sbmtTyCd.value=param;
//commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
if (param=='201010'){ //20, 30, 40
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
//commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop502030.do", '1000', '700', "entInfoPop502030", $('#pop'));
}else if (param=='202010'){ //30
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop30.do", '1000', '700', "entInfoPop30", $('#pop'));
}else if (param=='204010'
|| param=='205010'
|| param=='302010'
|| param=='303010'
|| param=='304010'
|| param=='305010'
|| param=='306010'
|| param=='307010'
){ //50
//204010, 307010, 305010, 304010, 303010, 306010, 302010, 205010
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop50.do", '1000', '700', "entInfoPop50", $('#pop'));
}else if (param=='309010'){ //50, 20, 30
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop502030.do", '1000', '700', "entInfoPop502030", $('#pop'));
}
}
</script>
<title>결제 및 대결 관리 목록</title>
<title>내부결재목록</title>
</head>
<body>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${insteadOfPaymentManageVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${insteadOfPaymentManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${insteadOfPaymentManageVO.searchSortOrd}" />" />
<form:form id="listForm" name="listForm" method="post" commandName="internalApprovManageVO">
<input type="hidden" name="pageIndex" value="<c:out value='${internalApprovManageVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${internalApprovManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${internalApprovManageVO.searchSortOrd}" />" />
<input type="hidden" name="adrSeq" value="" />
<input type="hidden" name="adrSn" value="" />
<input type="hidden" name="sbmtSeq" value="" />
<div class="cont_wrap">
<div class="box">
@ -75,46 +204,39 @@
<div class="detail_search">
<ul>
<li>
<p class="tit_text">검색조건</p>
<select name="searchCondition2" id="searchCondition" title="선택">
<option value="">선택</option>
<option value="10">검색조건</option>
<option value="20">검색조건</option>
<option value="30">검색조건</option>
</select>
<input type="text" class="search_input" id="searchKeyword" name="searchKeyword" value="${insteadOfPaymentManageVO.searchKeyword }" placeholder="검색어를 입력하세요.">
<p class="tit_text">조정번호</p>
<input type="text" class="search_input" id="searchKeyword" name="searchKeyword" value="${internalApprovManageVO.searchKeyword }" placeholder="검색어를 입력하세요.">
</li>
<!-- <li> -->
<!-- <p class="tit_text">결재상태</p> -->
<!-- <div class="check_wrap"> -->
<%-- <c:set var="searchStatus" value="${fn:join(insteadOfPaymentManageVO.searchStatusArr, ',') }"/> --%>
<%-- <span><input type="checkbox" ${fn:indexOf(searchStatus, '99') ne -1 ? 'checked' : ''} value="99" name="searchStatusArr" id="searchSatus1" ><label for="searchSatus1">전체</label> </span> --%>
<%-- <span><input type="checkbox" ${fn:indexOf(searchStatus, '01') ne -1 ? 'checked' : ''} value="01" name="searchStatusArr" id="searchSatus2" ><label for="searchSatus2">결재대기</label></span> --%>
<%-- <span><input type="checkbox" ${fn:indexOf(searchStatus, '02') ne -1 ? 'checked' : ''} value="02" name="searchStatusArr" id="searchSatus3" ><label for="searchSatus3">결재진행</label></span> --%>
<%-- <span><input type="checkbox" ${fn:indexOf(searchStatus, '03') ne -1 ? 'checked' : ''} value="03" name="searchStatusArr" id="searchSatus4" ><label for="searchSatus4">결재완료</label></span> --%>
<%-- <span><input type="checkbox" ${fn:indexOf(searchStatus, '04') ne -1 ? 'checked' : ''} value="04" name="searchStatusArr" id="searchSatus5" ><label for="searchSatus5">반려</label></span> --%>
<!-- </div> -->
<!-- </li> -->
<li>
<p class="tit_text">결재일자</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p class="tit_text">결재상태</p>
<div class="check_wrap">
<c:set var="searchStatus" value="${fn:join(internalApprovManageVO.searchStatusArr, ',') }"/>
<span><input type="checkbox" ${fn:indexOf(searchStatus, '99') ne -1 ? 'checked' : ''} value="99" name="searchStatusArr" id="searchSatus1" ><label for="searchSatus1">전체</label> </span>
<span><input type="checkbox" ${fn:indexOf(searchStatus, '01') ne -1 ? 'checked' : ''} value="01" name="searchStatusArr" id="searchSatus2" ><label for="searchSatus2">결재대기</label></span>
<span><input type="checkbox" ${fn:indexOf(searchStatus, '02') ne -1 ? 'checked' : ''} value="02" name="searchStatusArr" id="searchSatus3" ><label for="searchSatus3">결재진행</label></span>
<span><input type="checkbox" ${fn:indexOf(searchStatus, '03') ne -1 ? 'checked' : ''} value="03" name="searchStatusArr" id="searchSatus4" ><label for="searchSatus4">결재완료</label></span>
<span><input type="checkbox" ${fn:indexOf(searchStatus, '04') ne -1 ? 'checked' : ''} value="04" name="searchStatusArr" id="searchSatus5" ><label for="searchSatus5">반려</label></span>
</div>
</li>
<li>
<p class="tit_text">신청일자</p>
<div class="radio_wrap">
<%-- <span><input ${insteadOfPaymentManageVO.searchMonth eq '1' ? 'checked' : ''} value="1" type="radio" name="searchMonth" id="month1" ><label for="month1">1개월</label></span> --%>
<%-- <span><input ${insteadOfPaymentManageVO.searchMonth eq '3' ? 'checked' : ''} value="3" type="radio" name="searchMonth" id="month3"><label for="month3">3개월</label></span> --%>
<%-- <span><input ${insteadOfPaymentManageVO.searchMonth eq '6' ? 'checked' : ''} value="6" type="radio" name="searchMonth" id="month6"><label for="month6">6개월</label></span> --%>
<%-- <span><input ${insteadOfPaymentManageVO.searchMonth eq '99' ? 'checked' : ''} value="99" type="radio" name="searchMonth" id="monthEtc"><label for="monthEtc">기간지정</label></span> --%>
<span><input ${internalApprovManageVO.searchMonth eq '1' ? 'checked' : ''} value="1" type="radio" name="searchMonth" id="month1" ><label for="month1">1개월</label></span>
<span><input ${internalApprovManageVO.searchMonth eq '3' ? 'checked' : ''} value="3" type="radio" name="searchMonth" id="month3"><label for="month3">3개월</label></span>
<span><input ${internalApprovManageVO.searchMonth eq '6' ? 'checked' : ''} value="6" type="radio" name="searchMonth" id="month6"><label for="month6">6개월</label></span>
<span><input ${internalApprovManageVO.searchMonth eq '99' ? 'checked' : ''} value="99" type="radio" name="searchMonth" id="monthEtc"><label for="monthEtc">기간지정</label></span>
<div class="sel_date" id="sel_date">
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${insteadOfPaymentManageVO.searchStartDt}" data-datecontrol="true" ${insteadOfPaymentManageVO.searchMonth ne '99' ? 'readonly' : ''}>
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${internalApprovManageVO.searchStartDt}" data-datecontrol="true" ${internalApprovManageVO.searchMonth ne '99' ? 'readonly' : ''}>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)"class="btn_cal" ${insteadOfPaymentManageVO.searchMonth ne '99' ? 'disabled' : ''} ></button>
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)"class="btn_cal" ${internalApprovManageVO.searchMonth ne '99' ? 'disabled' : ''} ></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> ~
<input type="text" class="endDate inp" title="검색종료일" id="endDate" name="searchEndDt" value="${insteadOfPaymentManageVO.searchEndDt}" data-datecontrol="true" ${insteadOfPaymentManageVO.searchMonth ne '99' ? 'readonly' : ''}>
<input type="text" class="endDate inp" title="검색종료일" id="endDate" name="searchEndDt" value="${internalApprovManageVO.searchEndDt}" data-datecontrol="true" ${internalApprovManageVO.searchMonth ne '99' ? 'readonly' : ''}>
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ${insteadOfPaymentManageVO.searchMonth ne '99' ? 'disabled' : ''}></button>
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ${internalApprovManageVO.searchMonth ne '99' ? 'disabled' : ''}></button>
<div id="endDate-lry" class="calendarPop" style="display: none;">
<iframe id="endDate-ifrm" name="endDate-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
@ -141,29 +263,90 @@
</colgroup>
<thead>
<tr>
<th>결재구분</th>
<th>번호</th>
<th>조정번호</th>
<th>결재구분</th>
<th>결재진행</th>
<!--
<th>신청내용</th>
-->
<th>결재요청일</th>
<th>결재완료일</th>
<th>결재진행</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<!-- 추후 데이터 생기면 개발 -->
<!-- 추후 데이터 생기면 개발 -->
<!-- 추후 데이터 생기면 개발 -->
</c:forEach>
<c:set var="ttlCnt" value="${list.size()}"/>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
${paginationInfo.totalRecordCount-status.count+1}
</td>
<td>
<a href="#none" onclick="fncGoDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p>${list.adrNo}</p></a>
</td>
<td>
<%--<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font> --%>
<a href="#none" onclick="fncGoDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p><kc:code codeId="CC013" code="${list.sbmtTy}"/></p></a>
<%--<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font> --%>
</td>
<td>
<a href="#none" onclick="fncGoDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');">
<p>
<c:choose>
<c:when test="${list.cfmStatCd eq '01'}">
결재대기
</c:when>
<c:when test="${list.cfmStatCd eq '03'}">
결재완료
</c:when>
<c:when test="${list.cfmStatCd eq '04'}">
결재반려
</c:when>
<c:otherwise>
<kc:code codeId="CC041" code="${list.sbmtGradeCd}"/>
</c:otherwise>
</c:choose>
</p>
</a>
</td>
<!--
<td>
<a href="#none" onclick="fncGoDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p><kc:code codeId="CC002" code="${list.ccTy}"/></p></a>
</td>
-->
<td>
<p>${list.frstRegistPnttm}</p>
</td>
<td>
<p>
${list.allYn eq 'Y' ? list.lastUpdtPnttm : '-'}
</p>
<%--
<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font>
--%>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<div class="btn_wrap btn_layout02">
<button class="btnType02" onclick="fn_Create(); return false;" >등록</button>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
@ -173,9 +356,9 @@
</div>
</div>
<!-- //cont -->
</form>
<form id="goForm" name="goForm" action="" method="post">
<input type="hidden" id="adrSeq" name="adrSeq" value="" />
</form>
<!-- //cont -->
</form:form>
</body>
</html>