2022-10-19 15:12 대결자 작업

This commit is contained in:
myname 2022-10-19 15:12:55 +09:00
parent c57408e835
commit 64e03fc07f
11 changed files with 895 additions and 110 deletions

View File

@ -668,6 +668,7 @@ public class AdjReqMgrOffLineController {
*/
}
public void decryptInfomation(List<AdjReqMgrOffLineVO> list, AdjReqMgrOffLineVO info){
if(CollectionUtils.isNotEmpty(list)){

View File

@ -39,5 +39,7 @@ public interface AdrSbmtLineMgrUsrService {
//L page
List<AdrSbmtLineMgrUsrVO> selectPagingList(AdrSbmtLineMgrUsrVO vo) throws Exception;
//L-기본결재선
AdrSbmtLineMgrUsrVO selectDefault(AdrSbmtLineMgrUsrVO vo) throws Exception;
}

View File

@ -43,6 +43,23 @@ public class AdrSbmtLineMgrUsrVO extends ComDefaultVO implements Serializable {
private String sbmtIdSbstt; //'대리결재자ID',
private String sbmtIdBef; //'이전결재자ID',
private String userNm1; //'결재자1-이름',
private String userNm2; //'결재자2-이름',
private String userNm3; //'결재자3-이름',
private String userNm4; //'결재자4-이름',
private String userNm5; //'결재자5-이름',
private String userNm6; //'결재자6-이름',
private String sbsttUserNm1; //'대리결재자1-이름',
private String sbsttUserNm2; //'대리결재자1-이름',
private String sbsttUserNm3; //'대리결재자1-이름',
private String sbsttUserNm4; //'대리결재자1-이름',
private String sbsttUserNm5; //'대리결재자1-이름',
private String sbsttUserNm6; //'대리결재자1-이름',
public String getRegisterId() {
return registerId;
}
@ -205,4 +222,76 @@ public class AdrSbmtLineMgrUsrVO extends ComDefaultVO implements Serializable {
public void setSbmtIdBef(String sbmtIdBef) {
this.sbmtIdBef = sbmtIdBef;
}
public String getUserNm1() {
return userNm1;
}
public void setUserNm1(String userNm1) {
this.userNm1 = userNm1;
}
public String getUserNm2() {
return userNm2;
}
public void setUserNm2(String userNm2) {
this.userNm2 = userNm2;
}
public String getUserNm3() {
return userNm3;
}
public void setUserNm3(String userNm3) {
this.userNm3 = userNm3;
}
public String getUserNm4() {
return userNm4;
}
public void setUserNm4(String userNm4) {
this.userNm4 = userNm4;
}
public String getUserNm5() {
return userNm5;
}
public void setUserNm5(String userNm5) {
this.userNm5 = userNm5;
}
public String getUserNm6() {
return userNm6;
}
public void setUserNm6(String userNm6) {
this.userNm6 = userNm6;
}
public String getSbsttUserNm1() {
return sbsttUserNm1;
}
public void setSbsttUserNm1(String sbsttUserNm1) {
this.sbsttUserNm1 = sbsttUserNm1;
}
public String getSbsttUserNm2() {
return sbsttUserNm2;
}
public void setSbsttUserNm2(String sbsttUserNm2) {
this.sbsttUserNm2 = sbsttUserNm2;
}
public String getSbsttUserNm3() {
return sbsttUserNm3;
}
public void setSbsttUserNm3(String sbsttUserNm3) {
this.sbsttUserNm3 = sbsttUserNm3;
}
public String getSbsttUserNm4() {
return sbsttUserNm4;
}
public void setSbsttUserNm4(String sbsttUserNm4) {
this.sbsttUserNm4 = sbsttUserNm4;
}
public String getSbsttUserNm5() {
return sbsttUserNm5;
}
public void setSbsttUserNm5(String sbsttUserNm5) {
this.sbsttUserNm5 = sbsttUserNm5;
}
public String getSbsttUserNm6() {
return sbsttUserNm6;
}
public void setSbsttUserNm6(String sbsttUserNm6) {
this.sbsttUserNm6 = sbsttUserNm6;
}
}

View File

@ -175,6 +175,11 @@ public class AdrSbmtLineMgrUsrDAO extends EgovAbstractDAO {
List<AdrSbmtLineMgrUsrVO> tlist = (List<AdrSbmtLineMgrUsrVO>) list("AdrSbmtLineMgrUsrDAO.selectList", VO);
return tlist;
}
//L
public AdrSbmtLineMgrUsrVO selectDefault(AdrSbmtLineMgrUsrVO VO) throws Exception {
return (AdrSbmtLineMgrUsrVO) select("AdrSbmtLineMgrUsrDAO.selectDefault", VO);
}
/**
* L - Page

View File

@ -121,4 +121,8 @@ public class AdrSbmtLineMgrUsrServiceImpl implements AdrSbmtLineMgrUsrService {
return adrSbmtLineMgrUsrDAO.selectPagingList(VO);
}
//List
public AdrSbmtLineMgrUsrVO selectDefault(AdrSbmtLineMgrUsrVO VO) throws Exception{
return adrSbmtLineMgrUsrDAO.selectDefault(VO);
}
}

View File

@ -15,8 +15,8 @@ import kcc.kccadr.advcSbmt.service.AdrSbmtMgrHstryService;
public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
//이력
@Resource(name="adrSbmtLineMgrUsrDAO")
private AdrSbmtLineMgrUsrDAO adrSbmtLineMgrUsrDAO;
@Resource(name="adrSbmtMgrHstryDAO")
private AdrSbmtMgrHstryDAO adrSbmtMgrHstryDAO;
// 조정사건이력관리 DAO
@Resource(name = "adrHstryMgrDAO")
@ -53,7 +53,7 @@ public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
, String p_tableName
, String p_updateQuery
) throws Exception {
return adrSbmtLineMgrUsrDAO.insert4Func(
return adrSbmtMgrHstryDAO.insert4Func(
p_adrSeq
, p_menuNm
, p_menuId
@ -73,7 +73,7 @@ public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
adrSbmtLineMgrUsrDAO.insert(VO);
adrSbmtMgrHstryDAO.insert(VO);
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_sbmt_mgr_hstry에 넣기 - 시작
@ -100,28 +100,28 @@ public class AdrSbmtMgrHstryServiceImpl implements AdrSbmtMgrHstryService {
//R
public AdrSbmtLineMgrUsrVO selectDetail(AdrSbmtLineMgrUsrVO VO) throws Exception {
return adrSbmtLineMgrUsrDAO.selectDetail(VO);
return adrSbmtMgrHstryDAO.selectDetail(VO);
}
//U
public int update(AdrSbmtLineMgrUsrVO VO) throws Exception{
return adrSbmtLineMgrUsrDAO.update(VO);
return adrSbmtMgrHstryDAO.update(VO);
}
//D
public int delete(AdrSbmtLineMgrUsrVO VO) throws Exception{
return adrSbmtLineMgrUsrDAO.delete(VO);
return adrSbmtMgrHstryDAO.delete(VO);
}
//List
public List<AdrSbmtLineMgrUsrVO> selectList(AdrSbmtLineMgrUsrVO VO) throws Exception{
return adrSbmtLineMgrUsrDAO.selectList(VO);
return adrSbmtMgrHstryDAO.selectList(VO);
}
//paging List
public List<AdrSbmtLineMgrUsrVO> selectPagingList(AdrSbmtLineMgrUsrVO VO) throws Exception{
return adrSbmtLineMgrUsrDAO.selectPagingList(VO);
return adrSbmtMgrHstryDAO.selectPagingList(VO);
}
}

View File

@ -107,6 +107,7 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
AprvlMgrVO aprvlMgrVOtmp = aprvlMgrDAO.select4InsertAdrSbmtMgr(aprvlMgrVO);
System.out.println("======================================202210==고도화 결재선 교체==");
aprvlMgrVO.setSbmtSeq(aprvlMgrVOtmp.getSbmtSeq());
if (aprvlMgrVOtmp.getSbmtId1()!=null && !"".equals(aprvlMgrVOtmp.getSbmtId1())) {
@ -115,7 +116,19 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
//결재히스토리 저장
//순번생성
String sbmtSbsttSeq = idgenService.getNextStringId();
//String sbmtSbsttSeq = idgenService.getNextStringId();
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID1"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId1()
, adrSbmtLineMgrUsrVO.getSbmtId1()
);
/*
_insertAdrSbmtMgrHstry
adrSbmtLineMgrUsrVO.setAdrSeq(aprvlMgrVO.getAdrSeq());
adrSbmtLineMgrUsrVO.setAdrSn(aprvlMgrVO.getAdrSn());
adrSbmtLineMgrUsrVO.setSbmtSeq(aprvlMgrVO.getSbmtSeq());
@ -133,37 +146,88 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
, ""
);
//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());
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId2()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId2())) {
aprvlMgrVOtmp.setSbmtId2(adrSbmtLineMgrUsrVO.getSbsttSbmtId2());
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID2"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId2()
, adrSbmtLineMgrUsrVO.getSbmtId2()
);
}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());
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId3()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId3())) {
aprvlMgrVOtmp.setSbmtId3(adrSbmtLineMgrUsrVO.getSbsttSbmtId3());
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID3"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId3()
, adrSbmtLineMgrUsrVO.getSbmtId3()
);
}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());
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId4()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId4())) {
aprvlMgrVOtmp.setSbmtId4(adrSbmtLineMgrUsrVO.getSbsttSbmtId4());
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID4"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId4()
, adrSbmtLineMgrUsrVO.getSbmtId4()
);
}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());
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId5()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId5())) {
aprvlMgrVOtmp.setSbmtId5(adrSbmtLineMgrUsrVO.getSbsttSbmtId5());
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID5"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId5()
, adrSbmtLineMgrUsrVO.getSbmtId5()
);
}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());
if (adrSbmtLineMgrUsrVO.getSbsttSbmtId6()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbsttSbmtId6())) {
aprvlMgrVOtmp.setSbmtId6(adrSbmtLineMgrUsrVO.getSbsttSbmtId6());
this._insertAdrSbmtMgrHstry(
adrSbmtLineMgrUsrVO
, aprvlMgrVO
, "ID6"
, adrSbmtLineMgrUsrVO.getSbsttSbmtId6()
, adrSbmtLineMgrUsrVO.getSbmtId6()
);
}else if (adrSbmtLineMgrUsrVO.getSbmtId6()!=null && !"".equals(adrSbmtLineMgrUsrVO.getSbmtId6())) { aprvlMgrVOtmp.setSbmtId6(adrSbmtLineMgrUsrVO.getSbmtId6());
}
}
@ -267,5 +331,41 @@ public class AprvlMgrServiceImpl extends EgovAbstractServiceImpl implements Apr
public List<?> selectElseList(AprvlMgrVO aprvlMgrVO) throws Exception{
return aprvlMgrDAO.selectElseList(aprvlMgrVO);
}
private void _insertAdrSbmtMgrHstry(
AdrSbmtLineMgrUsrVO p_adrSbmtLineMgrUsrVO
, AprvlMgrVO p_aprvlMgrVO
, String p_sbmtId
, String p_SbsttSId1
, String p_sbmtId1
) throws Exception{
//결재히스토리 저장
//순번생성
try {
String sbmtSbsttSeq = idgenService.getNextStringId();
p_adrSbmtLineMgrUsrVO.setAdrSeq(p_aprvlMgrVO.getAdrSeq());
p_adrSbmtLineMgrUsrVO.setAdrSn(p_aprvlMgrVO.getAdrSn());
p_adrSbmtLineMgrUsrVO.setSbmtSeq(p_aprvlMgrVO.getSbmtSeq());
p_adrSbmtLineMgrUsrVO.setSbmtSbsttSeq(sbmtSbsttSeq);
p_adrSbmtLineMgrUsrVO.setAgntSbmtId(p_sbmtId);
p_adrSbmtLineMgrUsrVO.setSbmtIdSbstt(p_SbsttSId1);
p_adrSbmtLineMgrUsrVO.setSbmtIdBef(p_sbmtId1);
p_adrSbmtLineMgrUsrVO.setFrstRegisterId(p_aprvlMgrVO.getFrstRegisterId());
//저장
adrSbmtMgrHstryService.insert(p_adrSbmtLineMgrUsrVO
, "관리자>>결재선>대결등록" //String p_code_desc - CC199
, "A002" //String p_stat_cd
, ""
);
//AdrSbmtLineMgrUsrVO
}catch(Exception ex) {
ex.printStackTrace();
}
}
}

View File

@ -2,10 +2,12 @@ package kcc.kccadr.aprvl.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@ -389,4 +391,43 @@ public class AprvlMgr202210Controller {
return modelAndView;
}
//결재선 tree 기본결재선 가져오기
@RequestMapping("/kccadr/aprvlMgr202210/advcAprvlReqDefaultLoadAjax.do")
public ModelAndView advcAprvlReqDefaultLoadAjax(
AdrSbmtLineMgrUsrVO adrSbmtLineMgrUsrVO
, ModelMap model
, HttpServletResponse response
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
/*
ObjectMapper mapper = new ObjectMapper();
//response.setHeader("Content-Type", "text/html;charset=utf-8");
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
*/
//1depth로 사용자 정보 가져오기
AdrSbmtLineMgrUsrVO resultData = null;
try {
//로그인 정보 획득 - ssoLoginVO 사용
LoginVO loginVO = checkLoginUtil.getLoginVO();
adrSbmtLineMgrUsrVO.setRegisterId(loginVO.getUniqId());
resultData = adrSbmtLineMgrUsrService.selectDefault(adrSbmtLineMgrUsrVO);
modelAndView.addObject("result", "success");
modelAndView.addObject("resultData", resultData);
}catch(Exception ex) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("message", "결재선 생성 실패.-step0");
}
//mapper.writeValue(out, resultList);
//out.flush();
return modelAndView;
}
}

View File

@ -265,5 +265,291 @@
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</select>
<!-- 정보 L -->
<select id="AdrSbmtLineMgrUsrDAO.selectDefault" parameterClass="AdrSbmtLineMgrUsrVO" resultClass="AdrSbmtLineMgrUsrVO">
SELECT *
FROM (
SELECT
a.sbmt_id1 AS sbmtId1
, b1.user_nm userNm1
, a.sbmt_id2 AS sbmtId2
, b2.user_nm userNm2
, a.sbmt_id3 AS sbmtId3
, b3.user_nm userNm3
, a.sbstt_sbmt_id1 AS sbsttSbmtId1
, s1.user_nm sbsttUserNm1
, a.sbstt_sbmt_id2 AS sbsttSbmtId2
, s2.user_nm sbsttUserNm2
, a.sbstt_sbmt_id3 AS sbsttSbmtId3
, s3.user_nm sbsttUserNm3
, '0' AS ord
FROM adr_sbmt_line_mgr_usr a
LEFT OUTER JOIN lettnemplyrinfo b1
ON(a.sbmt_id1=b1.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo b2
ON(a.sbmt_id2=b2.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo b3
ON(a.sbmt_id3=b3.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo s1
ON(a.sbstt_sbmt_id1=s1.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo s2
ON(a.sbstt_sbmt_id2=s2.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo s3
ON(a.sbstt_sbmt_id3=s3.esntl_id)
WHERE a.register_id = #registerId#
AND sbmt_ty_cd = '000000'
UNION ALL
SELECT
aaaaa.sbmtId1
, b1.user_nm userNm1
, aaaaa.sbmtId2
, b2.user_nm userNm2
, aaaaa.sbmtId3
, b3.user_nm userNm3
, '' sbsttSbmtId1
, '' sbsttUserNm1
, '' sbsttSbmtId2
, '' sbsttUserNm2
, '' sbsttSbmtId3
, '' sbsttUserNm3
/*
, a.sbmt_id2 AS sbmtId2
, b2.user_nm userNm2
, a.sbmt_id3 AS sbmtId3
, b3.user_nm userNm3
, a.sbstt_sbmt_id1 AS sbsttSbmtId1
, s1.user_nm sbsttUserNm1
, a.sbstt_sbmt_id2 AS sbsttSbmtId2
, s2.user_nm sbsttUserNm2
, a.sbstt_sbmt_id3 AS sbsttSbmtId3
, s3.user_nm sbsttUserNm3
*/
, '1' AS ord
FROM (
SELECT *
FROM ( SELECT adr_seq AS adrSeq ,
adr_sn AS adrSn ,
MAX(sbmt_seq) AS sbmtSeq ,
MAX(sbmt_ty_cd) AS sbmtTy ,
'10'
/* 10- 조정종결만 */
AS sbmtMemTy ,
MAX(sbmt_line_cnt) AS sbmtStepCnt ,
MAX(IF(num =1,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd1)),NULL)) AS sbmtId1 ,
IF(MAX(sbmt_line_cnt)>=1,'A',NULL) AS sbmtYn1 ,
NULL AS sbmtDe1 ,
MAX(IF(num =2,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd2)),NULL)) AS sbmtId2 ,
IF(MAX(sbmt_line_cnt)>=2,'A',NULL) AS sbmtYn2 ,
NULL AS sbmtDe2 ,
MAX(IF(num =3,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd3)),NULL)) AS sbmtId3 ,
IF(MAX(sbmt_line_cnt)>=3,'A',NULL) AS sbmtYn3 ,
NULL AS sbmtDe3 ,
MAX(IF(num =4,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd4)),NULL)) AS sbmtId4 ,
IF(MAX(sbmt_line_cnt)>=4,'A',NULL) AS sbmtYn4 ,
NULL AS sbmtDe4 ,
MAX(IF(num =5,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd5)),NULL)) AS sbmtId5 ,
IF(MAX(sbmt_line_cnt)>=5,'A',NULL) AS sbmtYn5 ,
NULL AS sbmtDe5 ,
MAX(IF(num =6,IFNULL(sbmt_id, IFNULL(mem_seq, sbmt_grade_cd6)),NULL)) AS sbmtId6 ,
IF(MAX(sbmt_line_cnt)>=6,'A',NULL) AS sbmtYn6 ,
NULL AS sbmtDe6 ,
NOW() AS frstRegistPnttm ,
'USRCNFRM_00000002060' AS frstRegisterId ,
NULL AS lastUpdtPnttm ,
NULL AS lastUpdusrId
FROM ( SELECT 'ADR_0000000000003231' adr_seq ,
'1' adr_sn ,
cc.* ,
CONCAT( IF(num=1, IF(sbmt_grade_cd1='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) , IF(num=2, IF(sbmt_grade_cd2='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) , IF(num=3, IF(sbmt_grade_cd3='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) , IF(num=4, IF(sbmt_grade_cd4='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) , IF(num=5, IF(sbmt_grade_cd5='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) , IF(num=6, IF(sbmt_grade_cd6='10', IFNULL(usr_101050, bb.sbmt_id) , bb.sbmt_id),'' ) ) sbmt_id
/* , bb.sbmt_id */
,
aa.* ,
dd.*
FROM ( SELECT b.* ,
a.*
FROM adr_sbmt_line_mgr a
/*기준 결재선 */
,
( SELECT 1 AS NUM
UNION ALL
SELECT 2
UNION ALL
SELECT 3
UNION ALL
SELECT 4
UNION ALL
SELECT 5
UNION ALL
SELECT 6
)
b
WHERE 1 =1
AND a.sbmt_ty_cd =#sbmtTyCd#
AND a.sbmt_line_cnt>=b.NUM
)
aa
LEFT OUTER JOIN adr_sbmt_grade_mgr bb
/* 기본 결재자 연결 */
ON (
(
aa.sbmt_grade_cd1=bb.sbmt_grade_cd
AND aa.num =1
)
OR
(
aa.sbmt_grade_cd2=bb.sbmt_grade_cd
AND aa.num =2
)
OR
(
aa.sbmt_grade_cd3=bb.sbmt_grade_cd
AND aa.num =3
)
OR
(
aa.sbmt_grade_cd4=bb.sbmt_grade_cd
AND aa.num =4
)
OR
(
aa.sbmt_grade_cd5=bb.sbmt_grade_cd
AND aa.num =5
)
OR
(
aa.sbmt_grade_cd6=bb.sbmt_grade_cd
AND aa.num =6
)
)
LEFT OUTER JOIN
( SELECT c.mem_grade,
d.mem_seq
FROM adr_mgr_detail a ,
adr_mem_dept_mgr b ,
adr_mem_dept_map c ,
adr_mem_mgr d
WHERE a.adr_seq ='ADR_0000000000003231'
AND a.adr_sn ='1'
AND a.mem_dept_seq=b.mem_dept_seq
AND b.mem_dept_seq=c.mem_dept_seq
AND c.mem_grade ='01'
AND c.mem_seq =d.mem_seq
)
cc
ON (
(
aa.sbmt_grade_cd1='50'
AND cc.mem_grade ='01'
AND aa.num =1
)
OR
(
aa.sbmt_grade_cd2='50'
AND cc.mem_grade ='01'
AND aa.num =2
)
OR
(
aa.sbmt_grade_cd3='50'
AND cc.mem_grade ='01'
AND aa.num =3
)
OR
(
aa.sbmt_grade_cd4='50'
AND cc.mem_grade ='01'
AND aa.num =4
)
OR
(
aa.sbmt_grade_cd5='50'
AND cc.mem_grade ='01'
AND aa.num =5
)
OR
(
aa.sbmt_grade_cd6='50'
AND cc.mem_grade ='01'
AND aa.num =6
)
)
/* 조정부장 연결 */
,
( SELECT IFNULL(MAX(sbmt_seq),0)+1 sbmt_seq
FROM adr_sbmt_mgr
WHERE adr_seq='ADR_0000000000003231'
AND adr_sn ='1'
)
dd
LEFT OUTER JOIN
( SELECT MAX(last_updusr_id) usr_101050
FROM adr_hstry a
WHERE adr_seq='ADR_0000000000003231'
AND stat_cd='101050'
)
ee
ON (
1=1
)
)
aaa
GROUP BY adr_seq,
adr_sn
)
aaaa
WHERE 1=1
AND
(
TRIM(aaaa.sbmtId1)!='50' OR aaaa.sbmtId1 IS NULL
)
AND
(
TRIM(aaaa.sbmtId2)!='50' OR aaaa.sbmtId2 IS NULL
)
AND
(
TRIM(aaaa.sbmtId3)!='50' OR aaaa.sbmtId3 IS NULL
)
AND
(
TRIM(aaaa.sbmtId4)!='50' OR aaaa.sbmtId4 IS NULL
)
AND
(
TRIM(aaaa.sbmtId5)!='50' OR aaaa.sbmtId5 IS NULL
)
AND
(
TRIM(aaaa.sbmtId6)!='50' OR aaaa.sbmtId6 IS NULL
)
)aaaaa
LEFT OUTER JOIN lettnemplyrinfo b1
ON(aaaaa.sbmtId1=b1.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo b2
ON(aaaaa.sbmtId2=b2.esntl_id)
LEFT OUTER JOIN lettnemplyrinfo b3
ON(aaaaa.sbmtId3=b3.esntl_id)
)aaaaaa
ORDER BY aaaaaa.ord
LIMIT 1
</select>
</sqlMap>

View File

@ -81,9 +81,33 @@ function jstreeInit() {
] */
})
.bind('loaded.jstree', function(e, data) {
$('#kccadr_sbmt').jstree('open_node' , $('#0') );
$('#kccadr_sbmt').jstree('open_node' , $('#0') );
//$('#kccadr_sbmt').jstree('open_all' );
//alert("loaded");
//alert(data.);
/*
$.ajax({
type:"POST",
url:"<c:url value='/kccadr/aprvlMgr202210/advcAprvlReqDefaultLoadAjax.do' />",
data:{ "menuNo" : nodeId, "menuNm" : newText },
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
alert("메뉴명이 변경되었습니다.");
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("메뉴명이 변경이 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
*/
})
.on('select_node.jstree', function (e, data) {
@ -320,6 +344,9 @@ $( document ).ready(function() {
*/
jstreeInit();
//기본 데이터 로드
fn_load_default();
});
//직원 상세 초기화
@ -834,7 +861,7 @@ function fn_save_aprvl() {
success : function(returnData, status) {
if (returnData.status == "success") {
alert("결재요청 완료되었습니다.");
fncGoClose();
}else{
alert("ERROR");
}
@ -891,6 +918,54 @@ function fn_save_menuInfo() {
});
}
//기본 결재선 저장
function fn_load_default() {
//결재자 ID 체크
var smbtForm = document.smbtForm;
var url = "";
url = "<c:url value='/kccadr/aprvlMgr202210/advcAprvlReqDefaultLoadAjax.do' />";
var params = $(smbtForm).serialize();
$.ajax({
type:"POST",
url:url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
//alert("기본결재선 가져오기 완료되었습니다.");
setSbmtPerson(returnData.resultData);
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("기본결재선 가져오기 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
}
function setSbmtPerson(pram){
$('#sbmtPerson1').text(pram.userNm1);
$('#sbmtId1').val(pram.sbmtId1);
$('#sbmtPerson2').text(pram.userNm2);
$('#sbmtId2').val(pram.sbmtId2);
$('#sbmtPerson3').text(pram.userNm3);
$('#sbmtId3').val(pram.sbmtId3);
//대결
//$('#confront1').text(pram.sbsttUserNm1);
//$('#sbsttSbmtId1').val(pram.sbsttSbmtId1);
}
</script>
<title>○○○ 결재 요청</title>
</head>

View File

@ -28,6 +28,12 @@
*********************************
*/
var newNodeId = "";
var selectedNm = ""; //선택된 이름
var selectedId = ""; //선택된 id pk
var parentId = ""; //선택된 parentId
function jstreeInit() {
$('#kccadr_sbmt').jstree({
"core" : {
@ -41,7 +47,13 @@ function jstreeInit() {
"data" : function (node) {
console.log("node.id :: " + node.id);
console.log("authorCode :: " + $('#authorCode').val());
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
//alert($("#authorCodeSelect option:selected").text());
//authorCodeSelect
return {
'id' : $("#authorCodeSelect option:selected").val() //node.id
, 'authorCode' : $('#authorCode').val()
//, 'codeNm' : $("#authorCodeSelect option:selected").text()
};
}
}
},
@ -69,9 +81,36 @@ function jstreeInit() {
] */
})
.bind('loaded.jstree', function(e, data) {
$('#kccadr_sbmt').jstree('open_node' , $('#0') )
$('#kccadr_sbmt').jstree('open_node' , $('#0') );
//$('#kccadr_sbmt').jstree('open_all' );
//alert("loaded");
//alert(data.);
/*
$.ajax({
type:"POST",
url:"<c:url value='/kccadr/aprvlMgr202210/advcAprvlReqDefaultLoadAjax.do' />",
data:{ "menuNo" : nodeId, "menuNm" : newText },
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
alert("메뉴명이 변경되었습니다.");
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("메뉴명이 변경이 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
*/
})
.on('select_node.jstree', function (e, data) {
if(!$('.organ_rightbox').is(":visible")){
$(".organ_rightbox").show();
}
@ -98,6 +137,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' />",
@ -114,11 +159,13 @@ function jstreeInit() {
error : function(request , status, error) {
},
complete : function () {
deleteLodingBar();
deleteLodingBar();
}
});
*/
})
.on('rename_node.jstree', function (e, data) { //메뉴명 변경
var nodeId = data.node.id;
var oldText = data.old;
var newText = data.text;
@ -154,6 +201,7 @@ function jstreeInit() {
}
})
.on('delete_node.jstree', function (e, data) {
/* 메뉴 삭제 */
if(data.node.children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
@ -188,6 +236,7 @@ function jstreeInit() {
})
.on('create_node.jstree', function(e, data) {
if (confirm("메뉴를 추가하시겠습니까?")){
var instance = data.instance;
var menuNm = data.text;
@ -234,6 +283,7 @@ function jstreeInit() {
}
})
.on('move_node.jstree', function (e, data) {
/* 메뉴 위치 변경 */
var instance = data.instance;
var menuNo = data.node.id;
@ -265,13 +315,38 @@ function jstreeInit() {
} else {
data.instance.refresh();
}
}) ;
})
.on("refresh.jstree", function (e,data) {
//alert("refresh.jstree");
$('#kccadr_sbmt').jstree('open_all' );
})
;
}
$( document ).ready(function() {
jstreeInit();
$('#authorCodeSelect').on('change',function(){
$("#kccadr_sbmt").jstree("refresh");
});
/*
$('#authorCodeSelect').change(function(){
alert("1");
$("#kccadr_sbmt").jstree("refresh");
alert("21");
});
*/
jstreeInit();
//기본 데이터 로드
fn_load_default();
});
//직원 상세 초기화
@ -426,82 +501,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();
@ -814,14 +813,159 @@ 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("결재요청 완료되었습니다.");
fncGoClose();
}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();
}
});
}
//기본 결재선 저장
function fn_load_default() {
//결재자 ID 체크
var smbtForm = document.smbtForm;
var url = "";
url = "<c:url value='/kccadr/aprvlMgr202210/advcAprvlReqDefaultLoadAjax.do' />";
var params = $(smbtForm).serialize();
$.ajax({
type:"POST",
url:url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (status == "success") {
//alert("기본결재선 가져오기 완료되었습니다.");
setSbmtPerson(returnData.resultData);
} else { alert("ERROR"); }
},
error : function(request , status, error) {
alert("기본결재선 가져오기 실패되었습니다.");
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
}
function setSbmtPerson(pram){
$('#sbmtPerson1').text(pram.userNm1);
$('#sbmtId1').val(pram.sbmtId1);
$('#sbmtPerson2').text(pram.userNm2);
$('#sbmtId2').val(pram.sbmtId2);
$('#sbmtPerson3').text(pram.userNm3);
$('#sbmtId3').val(pram.sbmtId3);
//대결
//$('#confront1').text(pram.sbsttUserNm1);
//$('#sbsttSbmtId1').val(pram.sbsttSbmtId1);
}
</script>
<title>○○○ 결재 요청</title>
</head>
@ -829,12 +973,31 @@ 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">
<div class="menu_select">
<select name="authorCodeSelect" id="authorCodeSelect" class="select" title="검색조건선택">
<option value="부서별">부서별</option>
<option value="CC401">직급별</option>
<option value="CC402">부서별</option>
</select>
</div>
@ -849,16 +1012,16 @@ function addSbmtPerson(pram, type){
<div class="menu_detail">
<ul class="appreq_list">
<li>
<div class="title">팀장</div>
<div class="title">대결</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08" onclick="addSbmtPerson('1', 'sbmt');">추가</button>
<!-- <button type="button" class="btnType08" onclick="addSbmtPerson('1', 'sbmt');">추가</button> -->
</div>
<div class="list_box">
<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>
@ -867,7 +1030,25 @@ function addSbmtPerson(pram, type){
</dl>
</div>
</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08" onclick="addSbmtPerson('1', 'confront');">추가</button>
</div>
<div class="list_box">
<dl>
<dt>대결자</dt>
<dd>
<span id="confront1">결재자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>
</div>
</dd>
</dl>
</div>
</div>
</li>
<!--
<li>
<div class="title">부서장</div>
<div class="appreq_box">
@ -908,12 +1089,13 @@ function addSbmtPerson(pram, type){
</div>
</div>
</li>
-->
</ul>
</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>