2022-10-18 19:17 결재선 추가

This commit is contained in:
myname 2022-10-18 19:18:01 +09:00
parent daa79c8d75
commit fd43461f54
14 changed files with 782 additions and 91 deletions

View File

@ -20,6 +20,7 @@ import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService;
import kcc.let.sym.mnu.mcm.service.EgovMenuCreateManageService;
@ -69,7 +70,17 @@ public class AdvcAprvlController {
* date : 2022.09.23
*/
@RequestMapping("/kccadr/advcAprvl/popup/advcAprvlReqPop.do")
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
public String adjReqMgrOffAppReqPop(
@ModelAttribute("AdrSbmtLineMgrUsrVO") AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
//, @ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO
, ModelMap model
) throws Exception {
System.out.println("adrSbmtLineMgrUsrVO.getAdrSeq()");
System.out.println(adrSbmtLineMgrUsrVO.getAdrSeq());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtTyCd());
return "kccadr/advcAprvl/popup/advcAprvlReqPop";
}

View File

@ -19,7 +19,11 @@ public interface AdrSbmtLineMgrUsrService {
) throws Exception;
//C
void insert(AdrSbmtLineMgrUsrVO vo) throws Exception;
void insert(AdrSbmtLineMgrUsrVO vo
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
//R
AdrSbmtLineMgrUsrVO selectDetail(AdrSbmtLineMgrUsrVO vo) throws Exception;

View File

@ -19,7 +19,11 @@ public interface AdrSbmtMgrHstryService {
) throws Exception;
//C
void insert(AdrSbmtLineMgrUsrVO vo) throws Exception;
void insert(AdrSbmtLineMgrUsrVO vo
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
//R
AdrSbmtLineMgrUsrVO selectDetail(AdrSbmtLineMgrUsrVO vo) throws Exception;

View File

@ -7,6 +7,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrService;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
@ -17,6 +18,10 @@ public class AdrSbmtLineMgrUsrServiceImpl implements AdrSbmtLineMgrUsrService {
@Resource(name="adrSbmtLineMgrUsrDAO")
private AdrSbmtLineMgrUsrDAO adrSbmtLineMgrUsrDAO;
// 조정사건이력관리 DAO
@Resource(name = "adrHstryMgrDAO")
private AdrHstryMgrDAO adrHstryMgrDAO;
//이력 상세
//@Resource(name="adrRecordReadingDetailDAO")
//private adrRecordReadingDetailDAO adrRecordReadingDetailDAO;
@ -63,8 +68,31 @@ public class AdrSbmtLineMgrUsrServiceImpl implements AdrSbmtLineMgrUsrService {
}
//C
public void insert(AdrSbmtLineMgrUsrVO VO) throws Exception {
public void insert(AdrSbmtLineMgrUsrVO VO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
adrSbmtLineMgrUsrDAO.insert(VO);
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(VO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, VO.getFrstRegisterId()
, VO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "II" //, String p_useCd I/U/UI/II/RE
, "ADR_SBMT_LINE_MGR_USR" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
//R

View File

@ -7,6 +7,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
import kcc.kccadr.advcSbmt.service.AdrSbmtMgrHstryService;
@ -17,6 +18,10 @@ public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
@Resource(name="adrSbmtLineMgrUsrDAO")
private AdrSbmtLineMgrUsrDAO adrSbmtLineMgrUsrDAO;
// 조정사건이력관리 DAO
@Resource(name = "adrHstryMgrDAO")
private AdrHstryMgrDAO adrHstryMgrDAO;
//이력 상세
//@Resource(name="adrRecordReadingDetailDAO")
//private adrRecordReadingDetailDAO adrRecordReadingDetailDAO;
@ -63,8 +68,34 @@ public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
}
//C
public void insert(AdrSbmtLineMgrUsrVO VO) throws Exception {
public void insert(AdrSbmtLineMgrUsrVO VO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
adrSbmtLineMgrUsrDAO.insert(VO);
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_sbmt_mgr_hstry에 넣기 - 시작
adrHstryMgrDAO.insert4Func(VO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, VO.getFrstRegisterId()
, VO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "II" //, String p_useCd I/U/UI/II/RE
, "adr_sbmt_mgr_hstry" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+VO.getAdrSeq()+"' "
+ " AND adr_sn='"+VO.getAdrSn()+"' "
+ " AND sbmt_seq='"+VO.getSbmtSeq()+"' "
+ " AND sbmt_sbstt_seq='"+VO.getSbmtSbsttSeq()+"' "
);
//adr_hstry_mgr에 넣기 -
}
//R

View File

@ -2,6 +2,8 @@ package kcc.kccadr.aprvl.service;
import java.util.List;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
/**
* 결재 관리를 위한 서비스 인터페이스 클래스
* @author ITN
@ -26,6 +28,14 @@ public interface AprvlMgrService {
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
//조정사건결재저장 - 2022-10고도화
int insertAdrSbmtMgr202210(AprvlMgrVO aprvlMgrVO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
, AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
) throws Exception;
//조정사건결재 조정부 저장
int insertAdrSbmtDetailMgr(AprvlMgrVO aprvlMgrVO

View File

@ -7,7 +7,10 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
import kcc.kccadr.advcSbmt.service.AdrSbmtMgrHstryService;
import kcc.kccadr.aprvl.service.AprvlMgrService;
import kcc.kccadr.aprvl.service.AprvlMgrVO;
@ -35,9 +38,20 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
@Resource(name = "adrHstryMgrDAO")
private AdrHstryMgrDAO adrHstryMgrDAO;
//결재대리인 일련 번호
@Resource(name = "sbmtSbsttGnrService")
private EgovIdGnrService idgenService;
//결재대리인 일련 번호
@Resource(name = "adrSbmtMgrHstryService")
private AdrSbmtMgrHstryService adrSbmtMgrHstryService;
public void insert(AprvlMgrVO aprvlMgrVO) throws Exception {
aprvlMgrDAO.insert(aprvlMgrVO);
}
//조종사건결재
public int insertAdrSbmtMgr(AprvlMgrVO aprvlMgrVO
, String p_code_desc
@ -48,7 +62,7 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
//step0.조정부 대상 값을 가져온다.
AprvlMgrVO aprvlMgrVOtmp = aprvlMgrDAO.select4InsertAdrSbmtMgr(aprvlMgrVO);
System.out.println("======================================");
//step1.가져온 값으로 저장
int rs = aprvlMgrDAO.insertAdrSbmtMgrWithSelectedData(aprvlMgrVOtmp);
@ -81,6 +95,111 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
return rs;
}
//조종사건결재
public int insertAdrSbmtMgr202210(AprvlMgrVO aprvlMgrVO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
, AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
) throws Exception {
//step0.조정부 대상 값을 가져온다.
AprvlMgrVO aprvlMgrVOtmp = aprvlMgrDAO.select4InsertAdrSbmtMgr(aprvlMgrVO);
System.out.println("======================================202210==고도화 결재선 교체==");
if (aprvlMgrVOtmp.getSbmtId1()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId1())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId1()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId1())) {
aprvlMgrVOtmp.setSbmtId1(adrSbmtLineMgrUsrVO.getSbsttSbmtId1());
//결재히스토리 저장
//순번생성
String sbmtSbsttSeq = idgenService.getNextStringId();
adrSbmtLineMgrUsrVO.setAdrSeq(aprvlMgrVO.getAdrSeq());
adrSbmtLineMgrUsrVO.setAdrSn(aprvlMgrVO.getAdrSn());
adrSbmtLineMgrUsrVO.setSbmtSeq(aprvlMgrVO.getSbmtSeq());
adrSbmtLineMgrUsrVO.setSbmtSbsttSeq(sbmtSbsttSeq);
adrSbmtLineMgrUsrVO.setAgntSbmtId("ID1");
adrSbmtLineMgrUsrVO.setSbmtIdSbstt(adrSbmtLineMgrUsrVO.getSbsttSbmtId1());
adrSbmtLineMgrUsrVO.setSbmtIdBef(adrSbmtLineMgrUsrVO.getSbmtId1());
adrSbmtLineMgrUsrVO.setFrstRegisterId(aprvlMgrVO.getFrstRegisterId());
//저장
adrSbmtMgrHstryService.insert(adrSbmtLineMgrUsrVO
, "관리자>>결재선>대결등록" //String p_code_desc - CC199
, "A002" //String p_stat_cd
, ""
);
//AdrSbmtLineMgrUsrVO
}else if (adrSbmtLineMgrUsrVO.getSbmtId1()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId1())) { aprvlMgrVOtmp.setSbmtId1(adrSbmtLineMgrUsrVO.getSbmtId1());
}
}
if (aprvlMgrVOtmp.getSbmtId2()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId2())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId2()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId2())) { aprvlMgrVOtmp.setSbmtId2(adrSbmtLineMgrUsrVO.getSbsttSbmtId2());
}else if (adrSbmtLineMgrUsrVO.getSbmtId2()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId2())) { aprvlMgrVOtmp.setSbmtId2(adrSbmtLineMgrUsrVO.getSbmtId2());
}
}
if (aprvlMgrVOtmp.getSbmtId3()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId3())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId3()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId3())) { aprvlMgrVOtmp.setSbmtId3(adrSbmtLineMgrUsrVO.getSbsttSbmtId3());
}else if (adrSbmtLineMgrUsrVO.getSbmtId3()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId3())) { aprvlMgrVOtmp.setSbmtId3(adrSbmtLineMgrUsrVO.getSbmtId3());
}
}
if (aprvlMgrVOtmp.getSbmtId4()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId4())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId4()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId4())) { aprvlMgrVOtmp.setSbmtId4(adrSbmtLineMgrUsrVO.getSbsttSbmtId4());
}else if (adrSbmtLineMgrUsrVO.getSbmtId4()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId4())) { aprvlMgrVOtmp.setSbmtId4(adrSbmtLineMgrUsrVO.getSbmtId4());
}
}
if (aprvlMgrVOtmp.getSbmtId5()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId5())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId5()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId5())) { aprvlMgrVOtmp.setSbmtId5(adrSbmtLineMgrUsrVO.getSbsttSbmtId5());
}else if (adrSbmtLineMgrUsrVO.getSbmtId5()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId5())) { aprvlMgrVOtmp.setSbmtId5(adrSbmtLineMgrUsrVO.getSbmtId5());
}
}
if (aprvlMgrVOtmp.getSbmtId6()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId6())) {
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId6()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId6())) { aprvlMgrVOtmp.setSbmtId6(adrSbmtLineMgrUsrVO.getSbsttSbmtId6());
}else if (adrSbmtLineMgrUsrVO.getSbmtId6()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId6())) { aprvlMgrVOtmp.setSbmtId6(adrSbmtLineMgrUsrVO.getSbmtId6());
}
}
//step1.가져온 값으로 저장
int rs = aprvlMgrDAO.insertAdrSbmtMgrWithSelectedData(aprvlMgrVOtmp);
//sbmt seq 데이터 저장
aprvlMgrVO.setSbmtSeq(aprvlMgrVOtmp.getSbmtSeq());
/*
int rs = aprvlMgrDAO.insertAdrSbmtMgr(aprvlMgrVO);
*/
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(aprvlMgrVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, aprvlMgrVO.getFrstRegisterId()
, aprvlMgrVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "I" //, String p_useCd I/U/UI/II/RE
, "adr_sbmt_mgr" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+aprvlMgrVO.getAdrSeq()+"' AND adr_sn='"+aprvlMgrVO.getAdrSn()+"' AND sbmt_seq='"+aprvlMgrVO.getSbmtSeq()+"' " //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
return rs;
}
//조정사건조정부 결재
public int insertAdrSbmtDetailMgr(AprvlMgrVO aprvlMgrVO
, String p_code_desc

View File

@ -0,0 +1,392 @@
package kcc.kccadr.aprvl.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentService;
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrService;
import kcc.kccadr.advcSbmt.service.AdrSbmtLineMgrUsrVO;
import kcc.kccadr.aprvl.service.AprvlLineMgrService;
import kcc.kccadr.aprvl.service.AprvlMgrService;
import kcc.kccadr.aprvl.service.AprvlMgrVO;
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 결재 관리 - 고도화
* @author 조용준
* @since 2022.10.18
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.23 김봉호 최초 생성
*
* </pre>
*/
@Controller
public class AprvlMgr202210Controller {
private static final Logger LOGGER = LoggerFactory.getLogger(AprvlMgr202210Controller.class);
//결재 등록
@Resource(name="aprvlMgrService")
private AprvlMgrService aprvlMgrService;
//결재선 관리
@Resource(name="aprvlLineMgrService")
private AprvlLineMgrService aprvlLineMgrService;
@Resource(name="KccadrMgrUdtService")
private KccadrMgrUdtService kccadrMgrUdtService;
@Resource(name="adjstReqStatusService")
private AdjstReqStatusService adjstReqStatusService;
@Resource(name="adjstIncidentService")
private AdjstIncidentService adjstIncidentService;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//암복호화 유틸
@Resource(name = "EgovFileMngService")
EgovFileMngService egovFileMngService;
//adr_mgr_master
@Resource(name="AdjstReqService")
private AdjstReqService adjstReqService;
//조정사건 이력관리 일련번호
@Resource(name="adrHstryMgrSeqGnrService")
private EgovIdGnrService adrHstryMgrSeqGnrService;
//사용자 기본 결재선
@Resource(name="adrSbmtLineMgrUsrService")
private AdrSbmtLineMgrUsrService adrSbmtLineMgrUsrService;
//pdf 변환 서버 관련 설정
/*
@Value("#{globalSettings['Globals.pdf.serverUrl']}")
private String pdfServerUrl; //192.168.0.200
@Value("#{globalSettings['Globals.pdf.apiUrl']}")
private String pdfApiUrl; //http://192.168.0.34:7080
@Value("#{globalSettings['Globals.pdf.filepath.out']}")
private String pdfFilepathOut; //file:/c:/usr/local/tomcat/file/sht/out
@Value("#{globalSettings['Globals.pdf.makepath']}")
private String pdfMakepath; //c:/usr/local/tomcat/file/sht
@Value("#{globalSettings['Globals.pdf.makepath.out']}")
private String pdfMakepathOut; //c:/usr/local/tomcat/file/sht/out
@Value("#{globalSettings['Globals.pdf.webpath']}")
private String pdfWebpath; // /pdf/out/
*/
//1.기본결재선 저장
//2.사용자 선택으로 결재요청
/**
* 결재 상태 저장 1단계
* 1.결재선 확인
* 2.조정사건결재에 저장
* 3.조정부 테이블에 저장
* 4.마스터 상태값 변경
* 5.결과 통보
*/
@RequestMapping(value="/kccadr/aprvlMgr202210/aprvl/saveDefaultAprvlStep1Ajax.do")
public ModelAndView saveDefaultAprvlStep1Ajax(
HttpServletRequest request
, AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//System.out.println("adjstReqStatusTabStatusStep1Ajax");
try {
//로그인 정보 획득 - ssoLoginVO 사용
LoginVO loginVO = checkLoginUtil.getLoginVO();
//step1.기본 결재선 저장
adrSbmtLineMgrUsrVO.setRegisterId(loginVO.getUniqId()); //사용 대상자
adrSbmtLineMgrUsrVO.setFrstRegisterId(loginVO.getUniqId()); //등록자
adrSbmtLineMgrUsrVO.setSbmtTyCd("000000");//000000-공통으로 관리 한다.
adrSbmtLineMgrUsrService.insert(
adrSbmtLineMgrUsrVO
, "관리자>>결재선>기본결재선등록" //String p_code_desc - CC199
, "A001" //String p_stat_cd
, ""
);
modelAndView.addObject("status", "success");
}catch(Exception ex) {
modelAndView.addObject("status", "fail");
modelAndView.addObject("message", "기본 결재선 생성 실패.-step0");
}
return modelAndView;
}
/**
* 결재 상태 저장 1단계
* 1.결재선 확인
* 2.조정사건결재에 저장
* 3.조정부 테이블에 저장
* 4.마스터 상태값 변경
* 5.결과 통보
*/
@RequestMapping(value="/kccadr/aprvlMgr202210/aprvl/checkNInsertAprvlStep1Ajax.do")
public ModelAndView checkNInsertAprvlStep1Ajax(
HttpServletRequest request
, AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//System.out.println("adjstReqStatusTabStatusStep1Ajax");
try {
AdjReqMgrVO arv = new AdjReqMgrVO();
//history 테이블에서 관련 테이블의 상세한 정보를 찾기 위해서 필요한 값들.
//arv.setRefSeq1(aprvlMgrVO.getRefSeq1());
//arv.setRefSeq2(aprvlMgrVO.getRefSeq2());
//로그인 정보 획득 - ssoLoginVO 사용
LoginVO loginVO = checkLoginUtil.getLoginVO();
/*
* 1.결재선 확인
* 2.조정사건결재에 저장
* 3.조정부 테이블에 저장
* 4.마스터 상태값 변경
* 5.결과 통보
*/
//step.1.결재선 확인=======================================================================
/*
AprvlLineMgrVO aprvlLineMgrVO = new AprvlLineMgrVO();
aprvlLineMgrVO.setSbmtTyCd(adrSbmtLineMgrUsrVO.getSbmtTyCd());
aprvlLineMgrVO = aprvlLineMgrService.selectDetail(aprvlLineMgrVO);
if (aprvlLineMgrVO==null) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "요청하신 결재선이 없습니다.-step1");
return modelAndView;
}
*/
AprvlMgrVO aprvlMgrVO = new AprvlMgrVO();
aprvlMgrVO.setAdrSeq(adrSbmtLineMgrUsrVO.getAdrSeq());
aprvlMgrVO.setAdrSn(adrSbmtLineMgrUsrVO.getAdrSn());
aprvlMgrVO.setSbmtTyCd(adrSbmtLineMgrUsrVO.getSbmtTyCd());
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 controller #1
String s_adrHstryMgrSeq = adrHstryMgrSeqGnrService.getNextStringId();
//step.2.조정사건결재에 저장=======================================================================
int i = 0;
//조정사건결재 추가
aprvlMgrVO.setFrstRegisterId(loginVO.getUniqId());
aprvlMgrVO.setSbmtMemTy("10"); //조정부결재구분 10-대부분은 승인, 3개만 20-결재 -201010/202010/309010
if (
"201010".equals(aprvlMgrVO.getSbmtTy())
|| "202010".equals(aprvlMgrVO.getSbmtTy())
|| "309010".equals(aprvlMgrVO.getSbmtTy())
) {
aprvlMgrVO.setSbmtMemTy("20"); //조정부결재구분 10-대부분은 승인, 3개만 20-결재 -201010/202010/309010
}
/*
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId1());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId2());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId3());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId4());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId5());
System.out.println(adrSbmtLineMgrUsrVO.getSbmtId6());
*/
//조정사건결재 내용 추가해주기
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
i = aprvlMgrService.insertAdrSbmtMgr202210(aprvlMgrVO
, "조정진행관리>>조정진행목록>조정진행상세>결재요청" //String p_code_desc - CC199
, "A070" //String p_stat_cd
, s_adrHstryMgrSeq
, adrSbmtLineMgrUsrVO
);
//조정부가 있는지 확인 하자.
aprvlMgrVO = aprvlMgrService.selectDetail(aprvlMgrVO);
//조정부가 있으면 조정부 추가
if (
"60".equals(aprvlMgrVO.getSbmtId1().trim())
|| "60".equals(aprvlMgrVO.getSbmtId2().trim())
|| "60".equals(aprvlMgrVO.getSbmtId3().trim())
|| "60".equals(aprvlMgrVO.getSbmtId4().trim())
|| "60".equals(aprvlMgrVO.getSbmtId5().trim())
|| "60".equals(aprvlMgrVO.getSbmtId6().trim())
) {
aprvlMgrService.deleteDetail(aprvlMgrVO);
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
i = aprvlMgrService.insertAdrSbmtDetailMgr(aprvlMgrVO
, "조정진행관리>>조정진행목록>조정진행상세>결재요청-조정부" //String p_code_desc - CC199
, "A080" //String p_stat_cd
, s_adrHstryMgrSeq
);
}
//adr_mgr_master & hist 넣기
if(i > 0 ){
arv.setAdrSeq(aprvlMgrVO.getAdrSeq()); //조정일련번호
arv.setAdrSn(aprvlMgrVO.getAdrSn()); //조정일련번호 회차
arv.setStatCd(aprvlMgrVO.getSbmtTy()); //최종 변경 상태값
//arv.setLastUpdusrId(loginVO.getId()); //최종 변경자
arv.setLastUpdusrId(loginVO.getUniqId()); //최종 변경자
i = kccadrMgrUdtService.updateAdrMgrUdt(arv
, s_adrHstryMgrSeq
);
}
if (i<=0) {
modelAndView.addObject("status", "success");
modelAndView.addObject("message", "결재선 생성 실패.-step2");
return modelAndView;
}
modelAndView.addObject("status", "success");
}catch(Exception ex) {
modelAndView.addObject("status", "fail");
modelAndView.addObject("message", "결재선 생성 실패.-step0");
}
return modelAndView;
}
/**
* 결재선 없이 his 저장용
* 1.결재선 확인
* 2.조정사건결재에 저장
* 3.조정부 테이블에 저장
* 4.마스터 상태값 변경
* 5.결과 통보
*/
@RequestMapping(value="/kccadr/aprvlMgr/aprvl/checkNInsertOnlyHisStep1Ajax.do")
public ModelAndView checkNInsertOnlyHisStep1Ajax(
HttpServletRequest request
, AprvlMgrVO aprvlMgrVO
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//System.out.println("adjstReqStatusTabStatusStep1Ajax");
try {
//로그인 정보 획득 - ssoLoginVO 사용
LoginVO loginVO = checkLoginUtil.getLoginVO();
//adr_mgr_master & hist 넣기
int i=1;
if(i > 0 ){
AdjReqMgrVO arv = new AdjReqMgrVO();
arv.setAdrSeq(aprvlMgrVO.getAdrSeq()); //조정일련번호
arv.setAdrSn(aprvlMgrVO.getAdrSn()); //조정일련번호 회차
arv.setStatCd(aprvlMgrVO.getSbmtTy()); //최종 변경 상태값
//arv.setLastUpdusrId(loginVO.getId()); //최종 변경자
arv.setLastUpdusrId(loginVO.getUniqId()); //최종 변경자
//history 테이블에서 관련 테이블의 상세한 정보를 찾기 위해서 필요한 값들.
arv.setRefSeq1(aprvlMgrVO.getRefSeq1());
arv.setRefSeq2(aprvlMgrVO.getRefSeq2());
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 controller #1
String s_adrHstryMgrSeq = adrHstryMgrSeqGnrService.getNextStringId();
i = kccadrMgrUdtService.updateAdrMgrUdt(arv
, s_adrHstryMgrSeq
);
}
if (i<=0) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "결재선 생성 실패.-step2");
return modelAndView;
}
modelAndView.addObject("result", "SUCCESS");
}catch(Exception ex) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "결재선 생성 실패.-step0");
}
return modelAndView;
}
}

View File

@ -329,11 +329,21 @@
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#
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">

View File

@ -103,6 +103,28 @@
null
)
ON DUPLICATE KEY UPDATE
last_updt_pnttm = NOW()
, last_updusr_id = #lastUpdusrId#
, sbmt_line_nm = #sbmtLineNm#
, basics_sbmt_line_is = #basicsSbmtLineIs#
, sbmt_id1 = #sbmtId1#
, sbmt_id2 = #sbmtId2#
, sbmt_id3 = #sbmtId3#
, sbmt_id4 = #sbmtId4#
, sbmt_id5 = #sbmtId5#
, sbmt_id6 = #sbmtId6#
, sbstt_sbmt_id1 = #sbsttSbmtId1#
, sbstt_sbmt_id2 = #sbsttSbmtId2#
, sbstt_sbmt_id3 = #sbsttSbmtId3#
, sbstt_sbmt_id4 = #sbsttSbmtId4#
, sbstt_sbmt_id5 = #sbsttSbmtId5#
, sbstt_sbmt_id6 = #sbsttSbmtId6#
</insert>
<!-- 정보 R -->

View File

@ -670,7 +670,7 @@
UNION ALL
SELECT c.user_nm
, c.emplyr_id
, c.esntl_id
, b.dept_ty
, a.useAt
, a.sort

View File

@ -292,6 +292,9 @@ $(document).ready(function(){
}
function fnc_aprvl_pop(param){
var pop = document.pop;
pop.sbmtTyCd.value=param;
//commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
@ -417,6 +420,10 @@ $(document).ready(function(){
<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=""/>
<!-- 고도화로 추가됨 -->
<input type="hidden" id="sbmtTyCd" name="sbmtTyCd" value=""/>
</form>
<form:form id="tabForm0" onsubmit="return false;" method="post">

View File

@ -1017,6 +1017,7 @@
<div class="btn_wrap btn_layout01">
<div class="area_left">
<button type="button" class="btnType02" onclick="fnc_sbstt_aprvl_pop('a'); return false;">대결</button>
<%-- 취하종결 상세보기 --%>
<%-- <c:if test="${(info.statCd gt KccadrConstants.ADR_DEPT_SLCT_RETN
@ -1058,7 +1059,7 @@
<button type="button" class="btnType02" onclick="fncReject(); return false;">반려</button>
<button type="button" class="btnType06" onclick="fncConfirm(); return false;">결재</button>
</c:if>
<button type="button" class="btnType02" onclick="fnc_sbstt_aprvl_pop('a'); return false;">대결</button>
<button type="button" class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>

View File

@ -28,6 +28,12 @@
*********************************
*/
var newNodeId = "";
var selectedNm = ""; //선택된 이름
var selectedId = ""; //선택된 id pk
var parentId = ""; //선택된 parentId
function jstreeInit() {
$('#kccadr_sbmt').jstree({
"core" : {
@ -107,6 +113,12 @@ function jstreeInit() {
$("#menuTopNm").text(data.node.text);
selectedNm = data.node.text;
selectedId = menuNo;
parentId = upperMenuId;
/*
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoAjax.do' />",
@ -126,6 +138,7 @@ function jstreeInit() {
deleteLodingBar();
}
});
*/
})
.on('rename_node.jstree', function (e, data) { //메뉴명 변경
@ -461,82 +474,6 @@ function jstreeRefresh() {
}
//메뉴 정보 저장. 등록/수정
function fn_save_menuInfo(menuNo) {
if(menuNo == null || "undefined"== menuNo){
alert("저장 하려는 메뉴를 먼저 메뉴트리에서 생성해 주세요."); return ;
}
var menuForm = document.menuForm;
if(""==menuForm.menuNo.value){
alert("메뉴번호는 필수 값입니다"); return;
}
if(!$.isNumeric(menuForm.menuNo.value)){
alert("메뉴번호는 숫자만 가능합니다."); return;
}
if(!$.isNumeric(menuForm.menuOrdr.value)){
alert("메뉴순서는 숫자만 가능합니다."); return;
}
var menuType = $("#menuType option:selected").val();
if(menuType !="M"){
if($("#progrmFileNm").val() == ""){
alert("프로그램 파일명은 필수 값입니다");
return;
}
}
if(!confirm("저장하시겠습니까?")) return;
<%-- 원자력
//추가 게시판 저장후 메뉴 정보 저장
//if( $('#tr_bbs').length > 0 ){
if(!save_line()){
console.log();
return;
}
//}
--%>
var url = "";
url = "<c:url value='/sym/mnu/mcm/EgovMenuInfoUpdateAjax.do'/>";
var params = $(menuForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴 정보가 저장 되었습니다.");
var instance = $('#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"){
alert("상위 메뉴 번호가 있습니다.");
}else if(returnData.status == "dupl"){
alert("이미 사용하고 있는 메뉴 번호가 있습니다.");
}else if(returnData.status == "duplProNm"){
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
}else{
alert("ERROR");
}
},
error : function(request , status, error) {
alert("메뉴 정보 저장이 실패되었습니다.");
},
complete : function () {
$("#kccadr_sbmt").jstree("refresh");
deleteLodingBar();
}
});
}
//메뉴 초기화
function initShowUrl(init){
var menuType = $("#menuType option:selected").val();
@ -849,14 +786,111 @@ function proxyPay(obj, pram){
}
function addSbmtPerson(pram, type){
var selectedNm = $('#kccadr_sbmt').jstree('get_selected',true)[0].text;
if (parentId==''){
alert("결재자를 선택해주세요.");
return;
}
if (parentId=='0'){
alert("소속인원만 추가 가능합니다.");
return;
}
if(type == 'sbmt'){
$('#sbmtPerson'+pram).text(selectedNm);
$('#sbmtId'+pram).val(selectedId);
}else{
$('#confront'+pram).text(selectedNm);
}
$('#sbsttSbmtId'+pram).val(selectedId);
}
}
//결재요청
function fn_save_aprvl() {
//결재자 ID 체크
var smbtForm = document.smbtForm;
if(""==smbtForm.sbmtId1.value
|| ""==smbtForm.sbmtId2.value
|| ""==smbtForm.sbmtId3.value
){
alert("결재자는 필수 값입니다"); return;
}
if(!confirm("저장하시겠습니까?")) return;
var url = "";
url = "<c:url value='/kccadr/aprvlMgr202210/aprvl/checkNInsertAprvlStep1Ajax.do'/>";
var params = $(smbtForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (returnData.status == "success") {
alert("결재요청 완료되었습니다.");
}else{
alert("ERROR");
}
},
error : function(request , status, error) {
alert("결재요청 실패되었습니다.");
},
complete : function () {
$("#kccadr_sbmt").jstree("refresh");
deleteLodingBar();
}
});
}
//기본 결재선 저장
function fn_save_menuInfo() {
//결재자 ID 체크
var smbtForm = document.smbtForm;
if(""==smbtForm.sbmtId1.value
|| ""==smbtForm.sbmtId2.value
|| ""==smbtForm.sbmtId3.value
){
alert("결재자는 필수 값입니다"); return;
}
if(!confirm("저장하시겠습니까?")) return;
var url = "";
url = "<c:url value='/kccadr/aprvlMgr202210/aprvl/saveDefaultAprvlStep1Ajax.do'/>";
var params = $(smbtForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (returnData.status == "success") {
alert("기본결재선이 지정되었습니다.");
}else{
alert("ERROR");
}
},
error : function(request , status, error) {
alert("기본결재선이 저장이 실패되었습니다.");
},
complete : function () {
$("#kccadr_sbmt").jstree("refresh");
deleteLodingBar();
}
});
}
</script>
<title>○○○ 결재 요청</title>
</head>
@ -864,6 +898,24 @@ function addSbmtPerson(pram, type){
<form id="smbtForm" name="smbtForm" action="">
<input type="hidden" name="authorCode" id="authorCode" value="ROLE_ADMIN"/>
<input type="hidden" name="sbmtId1" id="sbmtId1" value=""/>
<input type="hidden" name="sbmtId2" id="sbmtId2" value=""/>
<input type="hidden" name="sbmtId3" id="sbmtId3" value=""/>
<input type="hidden" name="sbsttSbmtId1" id="sbsttSbmtId1" value=""/>
<input type="hidden" name="sbsttSbmtId2" id="sbsttSbmtId2" value=""/>
<input type="hidden" name="sbsttSbmtId3" id="sbsttSbmtId3" value=""/>
<!-- 결재선의 기본코드값(공통코드)은 000000 -->
<input type="hidden" name="adrSeq" id="adrSeq" value="<c:out value="${AdrSbmtLineMgrUsrVO.adrSeq}" />"/>
<input type="hidden" name="adrSn" id="adrSn" value="<c:out value="${AdrSbmtLineMgrUsrVO.adrSn}" />"/>
<input type="hidden" name="sbmtTyCd" id="sbmtTyCd" value="<c:out value="${AdrSbmtLineMgrUsrVO.sbmtTyCd}" />"/>
<!-- <input type="hidden" name="sbmtTyCd" id="sbmtTyCd" value="000000"/> -->
<input type="hidden" name="sbmtLineNm" id="sbmtLineNm" value="default"/>
<input type="hidden" name="basicsSbmtLineIs" id="basicsSbmtLineIs" value="Y"/>
</form>
<div class="area_popup">
<div class="cont_popup">
@ -894,7 +946,7 @@ function addSbmtPerson(pram, type){
<dl>
<dt>결재자</dt>
<dd>
<span id="sbmtPerson1">결재자1</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, '1');">대결</button>
@ -948,8 +1000,8 @@ function addSbmtPerson(pram, type){
</div>
</div>
<div class="btn_wrap btn_layout04">
<button type="button" class="btnType01">기본결재선 지정</button>
<button type="button" class="btnType06">결재요청</button>
<button type="button" class="btnType01" onclick="fn_save_menuInfo();">기본결재선 지정</button>
<button type="button" class="btnType06" onclick="fn_save_aprvl();">결재요청</button>
<button type="button" class="btnType03" onclick="fncGoClose();">닫기</button>
</div>
</div>