첩보수집활동 결재기능 오류 수정.
parent
617fbfd212
commit
f0b541057c
|
|
@ -181,6 +181,7 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
||||||
planBoard = planService.selectPlanBoard(planBoard.getPlanKey());
|
planBoard = planService.selectPlanBoard(planBoard.getPlanKey());
|
||||||
mav.addObject("plan", planBoard);
|
mav.addObject("plan", planBoard);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
mav.addObject("lineSeparator", '\n');
|
mav.addObject("lineSeparator", '\n');
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth());
|
||||||
|
|
|
||||||
|
|
@ -222,6 +222,7 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
|
||||||
resultBoard = resultService.selectResultBoard(resultBoard.getResultKey());
|
resultBoard = resultService.selectResultBoard(resultBoard.getResultKey());
|
||||||
mav.addObject("result", resultBoard);
|
mav.addObject("result", resultBoard);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairResult/resultMgt").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairResult/resultMgt").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairResult/resultMgt").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairResult/resultMgt").get(0).getApprovalAuth());
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,7 @@ public class IntelligenceNetworkController {
|
||||||
op = intelligenceNetworkService.selectOperationPlan(op.getOpKey());
|
op = intelligenceNetworkService.selectOperationPlan(op.getOpKey());
|
||||||
mav.addObject("op", op);
|
mav.addObject("op", op);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/operationPlanList/all").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/operationPlanList/all").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/operationPlanList/all").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/operationPlanList/all").get(0).getApprovalAuth());
|
||||||
|
|
@ -292,6 +293,7 @@ public class IntelligenceNetworkController {
|
||||||
ia.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(ia));
|
ia.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(ia));
|
||||||
mav.addObject("ia", ia);
|
mav.addObject("ia", ia);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getApprovalAuth());
|
||||||
|
|
@ -444,6 +446,7 @@ public class IntelligenceNetworkController {
|
||||||
fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer);
|
fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer);
|
||||||
mav.addObject("fer", fer);
|
mav.addObject("fer", fer);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getApprovalAuth());
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
||||||
md = monitoringService.selectDesignation(md.getMdKey());
|
md = monitoringService.selectDesignation(md.getMdKey());
|
||||||
mav.addObject("md", md);
|
mav.addObject("md", md);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/designationList/all").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/designationList/all").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/monitoring/designationList/all").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/monitoring/designationList/all").get(0).getApprovalAuth());
|
||||||
|
|
@ -295,6 +296,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
||||||
mr = monitoringService.selectResult(mr.getMrKey());
|
mr = monitoringService.selectResult(mr.getMrKey());
|
||||||
mav.addObject("mr", mr);
|
mav.addObject("mr", mr);
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/resultList/all").get(0).getAccessAuth());
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/resultList/all").get(0).getAccessAuth());
|
||||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/monitoring/resultList/all").get(0).getApprovalAuth());
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/monitoring/resultList/all").get(0).getApprovalAuth());
|
||||||
|
|
|
||||||
|
|
@ -295,23 +295,25 @@
|
||||||
a.content_title as title,
|
a.content_title as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from plan_board a
|
from plan_board a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.plan_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
|
a.plan_state = 'DST002' and
|
||||||
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 29)
|
||||||
|
)
|
||||||
|
or (
|
||||||
|
a.plan_state = 'DST004' and
|
||||||
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
from menu_mgt aa
|
from menu_mgt aa
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
where aa.menu_key = 29)
|
where aa.menu_key = 29)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
or (
|
|
||||||
a.plan_state = 'DST004' and
|
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
|
||||||
from menu_mgt aa
|
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
|
||||||
where aa.menu_key = 29)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 30 as board,
|
select 30 as board,
|
||||||
a.affair_key as key,
|
a.affair_key as key,
|
||||||
|
|
@ -342,44 +344,48 @@
|
||||||
a.clear_title as title,
|
a.clear_title as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from result_board a
|
from result_board a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq} or (
|
a.wrt_organ = #{ogCd}
|
||||||
a.result_state = 'DST002' and
|
and (
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
a.wrt_user_seq = #{userSeq} or (
|
||||||
from menu_mgt aa
|
a.result_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 31)
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.result_state = 'DST004' and
|
where aa.menu_key = 31)
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.result_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 31)
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 31)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 32 as board,
|
select 32 as board,
|
||||||
a.op_key as key,
|
a.op_key as key,
|
||||||
a.op_sdate||' '||a.op_name||' 운영 계획' as title,
|
a.op_sdate||' '||a.op_name||' 운영 계획' as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from operation_plan a
|
from operation_plan a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.op_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
from menu_mgt aa
|
a.op_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 32 )
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.op_state = 'DST004' and
|
where aa.menu_key = 32 )
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.op_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 32
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 32
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 33 as board,
|
select 33 as board,
|
||||||
a.affair_key as key,
|
a.affair_key as key,
|
||||||
|
|
@ -409,22 +415,24 @@
|
||||||
a.ia_sdate||'~'||a.ia_edate||' 운영 실적 분석' as title,
|
a.ia_sdate||'~'||a.ia_edate||' 운영 실적 분석' as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from intelligence_analyze a
|
from intelligence_analyze a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.ia_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
from menu_mgt aa
|
a.ia_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 34 )
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.ia_state = 'DST004' and
|
where aa.menu_key = 34 )
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.ia_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 34 )
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 34 )
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 35 as board,
|
select 35 as board,
|
||||||
a.fer_key as key,
|
a.fer_key as key,
|
||||||
|
|
@ -432,66 +440,72 @@
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from fire_extension_report a
|
from fire_extension_report a
|
||||||
inner join operation_plan b on a.op_key = b.op_key
|
inner join operation_plan b on a.op_key = b.op_key
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.fer_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
from menu_mgt aa
|
a.fer_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 35 )
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.fer_state = 'DST004' and
|
where aa.menu_key = 35 )
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.fer_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 35 )
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 35 )
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 36 as board,
|
select 36 as board,
|
||||||
a.md_key as key,
|
a.md_key as key,
|
||||||
a.md_title as title,
|
a.md_title as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from monitoring_designation a
|
from monitoring_designation a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.md_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
from menu_mgt aa
|
a.md_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 36)
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.md_state = 'DST004' and
|
where aa.menu_key = 36)
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.md_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 36)
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 36)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 37 as board,
|
select 37 as board,
|
||||||
a.mr_key as key,
|
a.mr_key as key,
|
||||||
a.mr_title as title,
|
a.mr_title as title,
|
||||||
a.wrt_dt
|
a.wrt_dt
|
||||||
from monitoring_result a
|
from monitoring_result a
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or (
|
and (
|
||||||
a.mr_state = 'DST002' and
|
a.wrt_user_seq = #{userSeq}
|
||||||
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
or (
|
||||||
from menu_mgt aa
|
a.mr_state = 'DST002' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC003' or ab.approval_auth ~ 'APC004'
|
||||||
where aa.menu_key = 37)
|
from menu_mgt aa
|
||||||
) or (
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
a.mr_state = 'DST004' and
|
where aa.menu_key = 37)
|
||||||
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
) or (
|
||||||
from menu_mgt aa
|
a.mr_state = 'DST004' and
|
||||||
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
( select ab.approval_auth ~ 'APC001' or ab.approval_auth ~ 'APC002'
|
||||||
where aa.menu_key = 37 )
|
from menu_mgt aa
|
||||||
|
left outer join approval_config ab on aa.menu_key = ab.menu_key and ab.user_seq = #{userSeq}
|
||||||
|
where aa.menu_key = 37 )
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
union all
|
union all
|
||||||
select 12 as board,
|
select 12 as board,
|
||||||
b.case_key as key,
|
b.case_key as key,
|
||||||
|
|
@ -499,14 +513,16 @@
|
||||||
b.wrt_dt
|
b.wrt_dt
|
||||||
from activity_case a
|
from activity_case a
|
||||||
inner join activity_case_info b on a.receipt_key = b.receipt_key
|
inner join activity_case_info b on a.receipt_key = b.receipt_key
|
||||||
where (
|
where
|
||||||
a.wrt_user_seq = #{userSeq}
|
a.wrt_organ = #{ogCd}
|
||||||
or b.case_key in (
|
and (
|
||||||
select case_key
|
a.wrt_user_seq = #{userSeq}
|
||||||
from activity_case_apprv
|
or b.case_key in (
|
||||||
where user_seq = #{userSeq}
|
select case_key
|
||||||
|
from activity_case_apprv
|
||||||
|
where user_seq = #{userSeq}
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
order by wrt_dt desc
|
order by wrt_dt desc
|
||||||
limit 9
|
limit 9
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
|
|
@ -137,28 +137,30 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12" th:unless="${apprvAuth eq null}">
|
<div class="col-12" th:unless="${apprvAuth eq null}">
|
||||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and plan.planState eq 'DST002'
|
<th:block th:if="${viewOrgan eq plan.wrtOrgan}">
|
||||||
or (#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and plan.planState eq 'DST004'}">
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and plan.planState eq 'DST002'
|
||||||
<form action="#" method="post" id="apprvForm">
|
or (#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and plan.planState eq 'DST004'}">
|
||||||
<div class="row">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<div class="col-10">
|
<div class="row">
|
||||||
<input type="hidden" name="planKey" id="apprvFormPlanKey">
|
<div class="col-10">
|
||||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
<input type="hidden" name="planKey" id="apprvFormPlanKey">
|
||||||
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
||||||
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn"
|
||||||
|
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
||||||
|
and plan.planState eq 'DST002'?'DST004':'DST006'}" value="승인">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn"
|
||||||
|
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
||||||
|
and plan.planState eq 'DST002'?'DST003':'DST005'}" value="반려">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
</form>
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn"
|
</th:block>
|
||||||
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
|
||||||
and plan.planState eq 'DST002'?'DST004':'DST006'}" value="승인">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn"
|
|
||||||
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
|
||||||
and plan.planState eq 'DST002'?'DST003':'DST005'}" value="반려">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -270,28 +270,30 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<div class="col-12 mt-2" th:if="${apprvAuth ne null}">
|
<div class="col-12 mt-2" th:if="${apprvAuth ne null}">
|
||||||
<th:block th:if="${result.resultState eq 'DST002' and (#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
<th:block th:if="${viewOrgan eq result.wrtOrgan}">
|
||||||
or result.resultState eq 'DST004' and (#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001'))}">
|
<th:block th:if="${result.resultState eq 'DST002' and (#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
||||||
<form action="#" method="post" id="apprvForm">
|
or result.resultState eq 'DST004' and (#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001'))}">
|
||||||
<div class="row">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<div class="col-10">
|
<div class="row">
|
||||||
<input type="hidden" name="resultKey" th:value="${result.resultKey}">
|
<div class="col-10">
|
||||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
<input type="hidden" name="resultKey" th:value="${result.resultKey}">
|
||||||
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
||||||
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn"
|
||||||
|
th:data-resultstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
||||||
|
and result.resultState eq 'DST002'?'DST004':'DST006'}" value="승인">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn"
|
||||||
|
th:data-resultstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
||||||
|
and result.resultState eq 'DST002'?'DST003':'DST005'}" value="반려">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
</form>
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn"
|
</th:block>
|
||||||
th:data-resultstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
|
||||||
and result.resultState eq 'DST002'?'DST004':'DST006'}" value="승인">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn"
|
|
||||||
th:data-resultstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
|
||||||
and result.resultState eq 'DST002'?'DST003':'DST005'}" value="반려">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -131,9 +131,11 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and fer.ferState eq 'DST002'}">
|
<th:block th:if="${fer.wrtOrgan eq viewOrgan}">
|
||||||
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and fer.ferState eq 'DST002'}">
|
||||||
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||||
|
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${fer.ferState eq 'DST004' or fer.ferState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
<th:block th:unless="${fer.ferState eq 'DST004' or fer.ferState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
<th:block th:if="${userSeq eq fer.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq fer.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
|
|
||||||
|
|
@ -196,13 +196,11 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and ia.iaState eq 'DST002'}">
|
<th:block th:if="${ia.wrtOrgan eq viewOrgan}">
|
||||||
<button type="button" class="btn btn-danger apprvBtn"
|
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and ia.iaState eq 'DST002'}">
|
||||||
th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려
|
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||||
</button>
|
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||||
<button type="button" class="btn btn-success apprvBtn"
|
</th:block>
|
||||||
th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인
|
|
||||||
</button>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${ia.iaState eq 'DST004' or ia.iaState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
<th:block th:unless="${ia.iaState eq 'DST004' or ia.iaState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
<th:block th:if="${userSeq eq ia.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq ia.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
|
|
||||||
|
|
@ -134,14 +134,14 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form action="#" method="post" id="apprvForm">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-10">
|
<div class="col-10">
|
||||||
<input type="hidden" name="opKey" th:value="${op.opKey}">
|
<input type="hidden" name="opKey" th:value="${op.opKey}">
|
||||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer justify-content-between bg-light">
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
|
|
@ -153,9 +153,11 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and op.opState eq 'DST002'}">
|
<th:block th:if="${op.wrtOrgan eq viewOrgan}">
|
||||||
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and op.opState eq 'DST002'}">
|
||||||
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||||
|
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${op.opState eq 'DST004' or op.opState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
<th:block th:unless="${op.opState eq 'DST004' or op.opState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
<th:block th:if="${userSeq eq op.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq op.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
|
|
||||||
|
|
@ -21,13 +21,13 @@
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${md.mdDt}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${md.mdDt}"></label>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq md.wrtUserGrd}" th:text="|${commonCode.itemValue} ${md.wrtUserNm}|"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq md.wrtUserGrd}" th:text="|${commonCode.itemValue} ${md.wrtUserNm}|"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(md.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(md.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq md.mdState}" th:text="${commonCode.itemValue}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq md.mdState}" th:text="${commonCode.itemValue}"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -104,9 +104,9 @@
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq apprv.state}" th:text="${commonCode.itemValue}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq apprv.state}" th:text="${commonCode.itemValue}"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<th:block th:if="${commonCode.itemCd eq apprv.userGrd}" th:text="|결제자: ${commonCode.itemValue} ${apprv.userNm}|"></th:block>
|
<th:block th:if="${commonCode.itemCd eq apprv.userGrd}" th:text="|결제자: ${commonCode.itemValue} ${apprv.userNm}|"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<div class="col-12 text-center row border-top-0 border-secondary">
|
<div class="col-12 text-center row border-top-0 border-secondary">
|
||||||
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견 : </span>
|
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">기타의견 : </span>
|
||||||
|
|
@ -122,42 +122,46 @@
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12" th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and md.mdState eq 'DST002'
|
<th:block th:if="${md.wrtOrgan eq viewOrgan}">
|
||||||
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and md.mdState eq 'DST004'}">
|
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and md.mdState eq 'DST002'
|
||||||
<form action="#" method="post" id="apprvForm">
|
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and md.mdState eq 'DST004'}">
|
||||||
<div class="row">
|
<div class="col-12">
|
||||||
<div class="col-10">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<input type="hidden" name="mdKey" th:value="${md.mdKey}">
|
<div class="row">
|
||||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
<div class="col-10">
|
||||||
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
<input type="hidden" name="mdKey" th:value="${md.mdKey}">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
</div>
|
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
||||||
<div class="col-auto">
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</th:block>
|
||||||
</div>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer justify-content-between bg-light">
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<th:block th:unless="${md.mdState eq 'DST004' or md.mdState eq 'DST006'}">
|
<th:block th:unless="${md.mdState eq 'DST004' or md.mdState eq 'DST006'}">
|
||||||
<th:block th:if="${userSeq eq md.wrtUserSeq or accessAuth eq 'ACC003'}">
|
<th:block th:if="${userSeq eq md.wrtUserSeq or accessAuth eq 'ACC003'}">
|
||||||
<button type="button" class="btn btn-danger" th:data-mdkey="${md.mdKey}" id="deleteBtn">삭제</button>
|
<button type="button" class="btn btn-danger" th:data-mdkey="${md.mdKey}" id="deleteBtn">삭제</button>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<th:block th:unless="${md.mdState eq 'DST004' or md.mdState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
<th:block th:unless="${md.mdState eq 'DST004' or md.mdState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
<th:block th:if="${userSeq eq md.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
<th:block th:if="${userSeq eq md.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<button type="button" class="btn btn-warning" th:data-mdkey="${md.mdKey}" id="editBtn">수정</button>
|
||||||
<button type="button" class="btn btn-warning" th:data-mdkey="${md.mdKey}" id="editBtn">수정</button>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -18,17 +18,17 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content bg-white border border-top-0 p-2">
|
<div class="tab-content bg-white border border-top-0 p-2">
|
||||||
<div class="tab-pane fade p-2 show active" id="clearReportViewTabPanel" role="tabpanel" aria-labelledby="clearReportViewTab" tabindex="0">
|
<div class="tab-pane fade p-2 show active" id="clearReportViewTabPanel" role="tabpanel" aria-labelledby="clearReportViewTab" tabindex="0">
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.wrtUserGrd}" th:text="|${commonCode.itemValue} ${mr.wrtUserNm}|"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.wrtUserGrd}" th:text="|${commonCode.itemValue} ${mr.wrtUserNm}|"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(mr.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(mr.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.mrState}" th:text="${commonCode.itemValue}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.mrState}" th:text="${commonCode.itemValue}"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">모니터링<br>지속여부</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">모니터링<br>지속여부</label>
|
||||||
<div class="col-sm-11 form-control-sm">
|
<div class="col-sm-11 form-control-sm">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div th:if="${mr.monitoringYn eq 'Y'}">지속</div>
|
<div th:if="${mr.monitoringYn eq 'Y'}">지속</div>
|
||||||
<div th:if="${mr.monitoringYn eq 'N'}">지정해제</div>
|
<div th:if="${mr.monitoringYn eq 'N'}">지정해제</div>
|
||||||
</div>
|
</div>
|
||||||
<div th:text="|사유 : ${mr.monitoringReason}|" th:if="${mr.monitoringYn eq 'N'}"></div>
|
<div th:text="|사유 : ${mr.monitoringReason}|" th:if="${mr.monitoringYn eq 'N'}"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -75,44 +75,44 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">세부<br>집행내역</label>
|
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">세부<br>집행내역</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<table class="table table-sm table-hover">
|
<table class="table table-sm table-hover">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>구분</th>
|
<th>구분</th>
|
||||||
<th>상세</th>
|
<th>상세</th>
|
||||||
<th>금액</th>
|
<th>금액</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr th:each="clearInfo:${mr.clearInfoList}">
|
<tr th:each="clearInfo:${mr.clearInfoList}">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('RIC')}">
|
<th:block th:each="commonCode:${session.commonCode.get('RIC')}">
|
||||||
<td th:if="${clearInfo.useCatg eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
<td th:if="${clearInfo.useCatg eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('RID')}">
|
<th:block th:each="commonCode:${session.commonCode.get('RID')}">
|
||||||
<td th:if="${clearInfo.useDetail eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
<td th:if="${clearInfo.useDetail eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
||||||
</th:block>
|
</th:block>
|
||||||
<td th:text="${#strings.concat(#numbers.formatInteger(clearInfo.price, 1, 'COMMA'), '원')}"></td>
|
<td th:text="${#strings.concat(#numbers.formatInteger(clearInfo.price, 1, 'COMMA'), '원')}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="tab-pane fade p-2" id="resultReportViewTabPanel" role="tabpanel" aria-labelledby="resultReportViewTab" tabindex="0">
|
<div class="tab-pane fade p-2" id="resultReportViewTabPanel" role="tabpanel" aria-labelledby="resultReportViewTab" tabindex="0">
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.wrtUserGrd}" th:text="|${commonCode.itemValue} ${mr.wrtUserNm}|"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.wrtUserGrd}" th:text="|${commonCode.itemValue} ${mr.wrtUserNm}|"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(mr.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(mr.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.mrState}" th:text="${commonCode.itemValue}"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq mr.mrState}" th:text="${commonCode.itemValue}"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -135,30 +135,30 @@
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row mb-1 justify-content-center">
|
<div class="row mb-1 justify-content-center">
|
||||||
<label for="resultInfoRow" class="col-sm-1 col-form-label col-form-label-sm text-center">활동내용</label>
|
<label for="resultInfoRow" class="col-sm-1 col-form-label col-form-label-sm text-center">활동내용</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 text-center">접촉 일시</div>
|
<div class="col-4 text-center">접촉 일시</div>
|
||||||
<div class="col-5 text-center">접촉 내용</div>
|
<div class="col-5 text-center">접촉 내용</div>
|
||||||
</div>
|
</div>
|
||||||
<hr class="my-1">
|
<hr class="my-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 resultInfoRow" id="resultInfoRow">
|
<div class="col-12 resultInfoRow" id="resultInfoRow">
|
||||||
<th:block th:each="info:${mr.resultInfoList}">
|
<th:block th:each="info:${mr.resultInfoList}">
|
||||||
<div class="row my-1 infoRow">
|
<div class="row my-1 infoRow">
|
||||||
<div class="col-4 text-center">
|
<div class="col-4 text-center">
|
||||||
<div th:text="|${info.contactDate} ${info.contactStime}~${info.contactEtime}"></div>
|
<div th:text="|${info.contactDate} ${info.contactStime}~${info.contactEtime}"></div>
|
||||||
</div>
|
|
||||||
<div class="col-5">
|
|
||||||
<div th:utext="${info.contactInfo}"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<div class="col-5">
|
||||||
</th:block>
|
<div th:utext="${info.contactInfo}"></div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">집행예산</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">집행예산</label>
|
||||||
|
|
@ -169,34 +169,34 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-pane fade p-2" id="affairListViewTabPanel" role="tabpanel" aria-labelledby="affairListViewTab" tabindex="0">
|
<div class="tab-pane fade p-2" id="affairListViewTabPanel" role="tabpanel" aria-labelledby="affairListViewTab" tabindex="0">
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">세부<br>집행내역</label>
|
<label for="clearTitle" class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center fw-bold">세부<br>집행내역</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<table class="table table-sm table-hover">
|
<table class="table table-sm table-hover">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>접촉일자</th>
|
<th>접촉일자</th>
|
||||||
<th>작성일자</th>
|
<th>작성일자</th>
|
||||||
<th>제목</th>
|
<th>제목</th>
|
||||||
<th>첨부파일</th>
|
<th>첨부파일</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr th:each="report:${mr.reportList}">
|
<tr th:each="report:${mr.reportList}">
|
||||||
<td th:text="${report.contactDate}"></td>
|
<td th:text="${report.contactDate}"></td>
|
||||||
<td th:text="${report.writeDate}"></td>
|
<td th:text="${report.writeDate}"></td>
|
||||||
<td th:text="${report.reportTitle}"></td>
|
<td th:text="${report.reportTitle}"></td>
|
||||||
<td>
|
<td>
|
||||||
<th:block th:if="${not #strings.isEmpty(report.origNm)}">
|
<th:block th:if="${not #strings.isEmpty(report.origNm)}">
|
||||||
<a href="#" class="fileDownLink" data-board="monitoringReport"
|
<a href="#" class="fileDownLink" data-board="monitoringReport"
|
||||||
th:data-parentkey="${report.mrKey}" th:data-fileseq="${report.infoSeq}" th:text="|${report.origNm}.${report.fileExtn}|"></a>
|
th:data-parentkey="${report.mrKey}" th:data-fileseq="${report.infoSeq}" th:text="|${report.origNm}.${report.fileExtn}|"></a>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${not #strings.isEmpty(report.origNm)}">등록된 파일이 없습니다.</th:block>
|
<th:block th:unless="${not #strings.isEmpty(report.origNm)}">등록된 파일이 없습니다.</th:block>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h5>증빙자료</h5>
|
<h5>증빙자료</h5>
|
||||||
<table class="table">
|
<table class="table">
|
||||||
|
|
@ -233,57 +233,61 @@
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과: ${commonCode.itemValue}|"></label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과: ${commonCode.itemValue}|"></label>
|
||||||
</th:block>
|
</th:block>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<th:block th:if="${commonCode.itemCd eq apprv.userGrd}" th:text="|결제자: ${commonCode.itemValue} ${apprv.userNm}|"></th:block>
|
<th:block th:if="${commonCode.itemCd eq apprv.userGrd}" th:text="|결제자: ${commonCode.itemValue} ${apprv.userNm}|"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
<th:block th:text="|기타의견: ${apprv.etc}|"></th:block>
|
<th:block th:text="|기타의견: ${apprv.etc}|"></th:block>
|
||||||
</label>
|
</label>
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
<th:block th:text="|결제일시: ${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}|"></th:block>
|
<th:block th:text="|결제일시: ${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}|"></th:block>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12" th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and mr.mrState eq 'DST002'
|
<th:block th:if="${mr.wrtOrgan eq viewOrgan}">
|
||||||
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and mr.mrState eq 'DST004'}">
|
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and mr.mrState eq 'DST002'
|
||||||
<form action="#" method="post" id="apprvForm">
|
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and mr.mrState eq 'DST004'}">
|
||||||
<hr>
|
<div class="col-12">
|
||||||
<div class="row">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<div class="col-10">
|
<hr>
|
||||||
<input type="hidden" name="mrKey" th:value="${mr.mrKey}">
|
<div class="row">
|
||||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
<div class="col-10">
|
||||||
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
<input type="hidden" name="mrKey" th:value="${mr.mrKey}">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
</div>
|
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
||||||
<div class="col-auto">
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</th:block>
|
||||||
</div>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer justify-content-between bg-light">
|
<div class="modal-footer justify-content-between bg-light">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<th:block th:unless="${mr.mrState eq 'DST004' or mr.mrState eq 'DST006'}">
|
<th:block th:unless="${mr.mrState eq 'DST004' or mr.mrState eq 'DST006'}">
|
||||||
<th:block th:if="${userSeq eq mr.wrtUserSeq or accessAuth eq 'ACC003'}">
|
<th:block th:if="${userSeq eq mr.wrtUserSeq or accessAuth eq 'ACC003'}">
|
||||||
<button type="button" class="btn btn-danger" th:data-mrkey="${mr.mrKey}" id="deleteBtn">삭제</button>
|
<button type="button" class="btn btn-danger" th:data-mrkey="${mr.mrKey}" id="deleteBtn">삭제</button>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<th:block th:unless="${mr.mrState eq 'DST004' or mr.mrState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
<th:block th:unless="${mr.mrState eq 'DST004' or mr.mrState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
<th:block th:if="${userSeq eq mr.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
<th:block th:if="${userSeq eq mr.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<button type="button" class="btn btn-warning" th:data-mrkey="${mr.mrKey}" id="editBtn">수정</button>
|
||||||
<button type="button" class="btn btn-warning" th:data-mrkey="${mr.mrKey}" id="editBtn">수정</button>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
Loading…
Reference in New Issue