첩보수집활동 > 외사경찰 견문관리 > 계획수립, 견문관리 결재 방식 수정.
parent
7972cf12f7
commit
f86d519354
|
|
@ -31,8 +31,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
||||||
@GetMapping("/affairMgt/{tab}")
|
@GetMapping("/affairMgt/{tab}")
|
||||||
public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser,
|
public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser,
|
||||||
@PathVariable("tab") String tab, AffairBoard affairBoard){
|
@PathVariable("tab") String tab, AffairBoard affairBoard){
|
||||||
ModelAndView mav;
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt");
|
||||||
mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt");
|
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
String accessAuth = authMgtService.selectAccessConfigList
|
String accessAuth = authMgtService.selectAccessConfigList
|
||||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
||||||
|
|
|
||||||
|
|
@ -303,8 +303,13 @@ public class AffairService extends BaseService { // 견문보고
|
||||||
affair.setAffairType3(Utils.searchCodeValue(affair.getAffairType3(), codeMap.get("DC03")));
|
affair.setAffairType3(Utils.searchCodeValue(affair.getAffairType3(), codeMap.get("DC03")));
|
||||||
affair.setAffairType4(Utils.searchCodeValue(affair.getAffairType4(), codeMap.get("DC04")));
|
affair.setAffairType4(Utils.searchCodeValue(affair.getAffairType4(), codeMap.get("DC04")));
|
||||||
AffairRating rating = getAffairRating(affair, affair.getWrtOrgan());
|
AffairRating rating = getAffairRating(affair, affair.getWrtOrgan());
|
||||||
affair.setSectionNm(rating.getSectionNm());
|
if(Utils.isEmpty(rating.getSectionNm())){
|
||||||
affair.setHeadNm(rating.getHeadNm());
|
affair.setSectionNm(rating.getHeadNm());
|
||||||
|
affair.setHeadNm("전결");
|
||||||
|
}else{
|
||||||
|
affair.setSectionNm(rating.getSectionNm());
|
||||||
|
affair.setHeadNm(rating.getHeadNm());
|
||||||
|
}
|
||||||
affair.setOrganUp(rating.getOrganUp().equals("T")?"O":"");
|
affair.setOrganUp(rating.getOrganUp().equals("T")?"O":"");
|
||||||
affair.setLastEtc(Utils.isEmpty(rating.getSectionEtc())?rating.getHeadEtc():rating.getSectionEtc());
|
affair.setLastEtc(Utils.isEmpty(rating.getSectionEtc())?rating.getHeadEtc():rating.getSectionEtc());
|
||||||
affair.setReference(rating.getRatingOrgan().equals("OG027")?"경비작전과장":"정보외사과장");
|
affair.setReference(rating.getRatingOrgan().equals("OG027")?"경비작전과장":"정보외사과장");
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,7 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
||||||
|
|
||||||
@GetMapping("/planMgt")
|
@GetMapping("/planMgt")
|
||||||
public ModelAndView monthPlanPage(@AuthenticationPrincipal UserInfo loginUser, PlanBoard planBoard){
|
public ModelAndView monthPlanPage(@AuthenticationPrincipal UserInfo loginUser, PlanBoard planBoard){
|
||||||
ModelAndView mav = null;
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgt");
|
||||||
if(planBoard.getDashboardFlag()){
|
|
||||||
mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgtDashboard");
|
|
||||||
planBoard.setRowCnt(5);
|
|
||||||
}else{
|
|
||||||
mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planMgt");
|
|
||||||
}
|
|
||||||
mav.addObject("page", "main");
|
|
||||||
mav.addObject("searchUrl", "/affairPlan/planMgt");
|
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
||||||
switch (accessAuth){
|
switch (accessAuth){
|
||||||
|
|
@ -50,6 +42,9 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
||||||
}
|
}
|
||||||
//결재권한 확인
|
//결재권한 확인
|
||||||
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
||||||
|
|
||||||
|
mav.addObject("page", "main");
|
||||||
|
mav.addObject("searchUrl", "/affairPlan/planMgt");
|
||||||
mav.addObject("accessAuth", accessAuth);
|
mav.addObject("accessAuth", accessAuth);
|
||||||
mav.addObject("apprvAuth", apprvAuth);
|
mav.addObject("apprvAuth", apprvAuth);
|
||||||
planBoard.setQueryInfo();
|
planBoard.setQueryInfo();
|
||||||
|
|
@ -67,28 +62,19 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
||||||
mav.addObject("searchUrl", "/affairPlan/stayPage");
|
mav.addObject("searchUrl", "/affairPlan/stayPage");
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
||||||
switch (accessAuth){
|
planBoard.setWrtOrgan(loginUser.getOgCd());
|
||||||
case "ACC001": // 조회
|
|
||||||
case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능
|
|
||||||
planBoard.setWrtOrgan(loginUser.getOgCd());
|
|
||||||
break;
|
|
||||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
|
||||||
planBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//결재권한 확인
|
//결재권한 확인
|
||||||
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
||||||
if(apprvAuth==null) {
|
if(Utils.isEmpty(apprvAuth)) {
|
||||||
if(!accessAuth.equals("ACC003")){
|
planBoard.setWrtOrgan(loginUser.getOgCd());
|
||||||
planBoard.setWrtUserSeq(loginUser.getUserSeq());
|
planBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
planBoard.setUserType("normalStayList");
|
planBoard.setUserType("normalStayList");
|
||||||
}else{
|
|
||||||
planBoard.setUserType("managerStayList");
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
mav.addObject("userNm", loginUser.getUserNm());
|
|
||||||
switch (apprvAuth){
|
switch (apprvAuth){
|
||||||
|
case "APC004APC001": // 계장대행+부장
|
||||||
|
case "APC003APC002": // 계장+부장대행
|
||||||
|
planBoard.setUserType("normalStayList");
|
||||||
|
break;
|
||||||
case "APC004": // 계장대행
|
case "APC004": // 계장대행
|
||||||
case "APC003": // 계장 // 결재대기 문서 조회
|
case "APC003": // 계장 // 결재대기 문서 조회
|
||||||
planBoard.setPlanState("DST002");
|
planBoard.setPlanState("DST002");
|
||||||
|
|
@ -116,27 +102,19 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
||||||
mav.addObject("searchUrl", "/affairPlan/commitPage");
|
mav.addObject("searchUrl", "/affairPlan/commitPage");
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth();
|
||||||
switch (accessAuth){
|
planBoard.setWrtOrgan(loginUser.getOgCd());
|
||||||
case "ACC001": // 조회
|
|
||||||
case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능
|
|
||||||
planBoard.setWrtOrgan(loginUser.getOgCd());
|
|
||||||
break;
|
|
||||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
|
||||||
planBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//결재권한 확인
|
//결재권한 확인
|
||||||
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
String apprvAuth = authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth();
|
||||||
if(apprvAuth==null) {
|
if(Utils.isEmpty(apprvAuth)) {
|
||||||
if(!accessAuth.equals("ACC003")){
|
planBoard.setWrtOrgan(loginUser.getOgCd());
|
||||||
planBoard.setWrtUserSeq(loginUser.getUserSeq());
|
planBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
planBoard.setUserType("normalCommitList");
|
planBoard.setUserType("normalCommitList");
|
||||||
}else{
|
|
||||||
planBoard.setUserType("managerCommitList");
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
switch (apprvAuth) {
|
switch (apprvAuth) {
|
||||||
|
case "APC004APC001": // 계장대행+부장
|
||||||
|
case "APC003APC002": // 계장+부장대행
|
||||||
|
planBoard.setUserType("normalCommitList");
|
||||||
|
break;
|
||||||
case "APC004": // 계장대행
|
case "APC004": // 계장대행
|
||||||
case "APC003": // 계장 // 계장반려, 계장승인 문서 조회
|
case "APC003": // 계장 // 계장반려, 계장승인 문서 조회
|
||||||
planBoard.setUserType("sectionCommitList");
|
planBoard.setUserType("sectionCommitList");
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,12 @@ function makePlanPrintData(data){
|
||||||
plan.sectionApprv = apprv.userNm
|
plan.sectionApprv = apprv.userNm
|
||||||
break;
|
break;
|
||||||
case "DST006":
|
case "DST006":
|
||||||
plan.headApprv = apprv.userNm
|
if(plan.sectionApprv === undefined){
|
||||||
|
plan.sectionApprv = apprv.userNm
|
||||||
|
plan.headApprv = "전결"
|
||||||
|
}else{
|
||||||
|
plan.headApprv = apprv.userNm
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,19 +64,6 @@ $(document).on('click', '#planAddBtn', function (){
|
||||||
$(document).on('click', '#detailPlanAddBtn', function (){
|
$(document).on('click', '#detailPlanAddBtn', function (){
|
||||||
const detailPlanDiv = $("#detailPlanDiv");
|
const detailPlanDiv = $("#detailPlanDiv");
|
||||||
detailPlanDiv.append("<textarea type='text' class='form-control' name='detailPlanInfos'></textarea>");
|
detailPlanDiv.append("<textarea type='text' class='form-control' name='detailPlanInfos'></textarea>");
|
||||||
/*const lastAppendTextarea = detailPlanDiv.children()[detailPlanDiv.children().length-1];
|
|
||||||
$(lastAppendTextarea).summernote({
|
|
||||||
lang:'ko-KR',
|
|
||||||
height: 120,
|
|
||||||
disableDragAndDrop: true,
|
|
||||||
toolbar: [
|
|
||||||
['style', ['style']],
|
|
||||||
['font', ['bold', 'underline', 'clear']],
|
|
||||||
['color', ['color']],
|
|
||||||
['para', ['ul', 'ol', 'paragraph']],
|
|
||||||
['table', ['table']]
|
|
||||||
]
|
|
||||||
});*/
|
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#savePlanBtn', function (){
|
$(document).on('click', '#savePlanBtn', function (){
|
||||||
|
|
@ -113,7 +100,6 @@ $(document).on('click', '.apprvBtn', function (){
|
||||||
},
|
},
|
||||||
success : function(result) {
|
success : function(result) {
|
||||||
alert("저장되었습니다")
|
alert("저장되었습니다")
|
||||||
// getPlanViewModal(result);
|
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
location.reload();
|
location.reload();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -210,18 +210,53 @@
|
||||||
<td th:text="${affair.organUp eq 'T'?'O':(affair.wrtOrgan ne affair.ratingOrgan?'O':'X')}"></td>
|
<td th:text="${affair.organUp eq 'T'?'O':(affair.wrtOrgan ne affair.ratingOrgan?'O':'X')}"></td>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${page eq 'stayReport'}">
|
<th:block th:if="${page eq 'stayReport'}">
|
||||||
<th:block th:if="${apprvAuth ne null and (#strings.contains(apprvAuth, 'APC004') or #strings.contains(apprvAuth, 'APC003')) and affair.affairStatus eq 'DST002'}">
|
<th:block th:if="${apprvAuth ne null and affair.affairStatus eq 'DST002'
|
||||||
<td colspan="2" class="apprvTd">
|
and (#strings.contains(apprvAuth, 'APC004') or #strings.contains(apprvAuth, 'APC003'))}">
|
||||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
<!--결재권한 있고 결재대기상태이면서 결재권한이 계장, 계장대행을 가지고있는 경우-->
|
||||||
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST004|" th:name="|apprvChkbox${affair.affairKey}|" value="DST004">
|
<th:block th:if="${#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001')}">
|
||||||
<label th:for="|apprvChkbox${affair.affairKey}DST004|">결재</label>
|
<!--과장, 과장대행 결재권한을 가지고 있는 경우-->
|
||||||
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST003|" th:name="|apprvChkbox${affair.affairKey}|" value="DST003">
|
<td colspan="2" class="apprvTd">
|
||||||
<label th:for="|apprvChkbox${affair.affairKey}DST003|">반려</label>
|
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||||
<input type="radio" th:id="|apprvChkbox${affair.affairKey}|" th:name="|apprvChkbox${affair.affairKey}|" value="" checked>
|
<div class="row justify-content-center">
|
||||||
<label th:for="|apprvChkbox${affair.affairKey}|">해제</label>
|
<div class="col-auto">
|
||||||
</td>
|
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST006|" th:name="|apprvChkbox${affair.affairKey}|" value="DST006">
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}DST006|">승인</label>
|
||||||
|
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST005|" th:name="|apprvChkbox${affair.affairKey}|" value="DST005">
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}DST005|">반려</label>
|
||||||
|
<input type="radio" th:id="|apprvChkbox${affair.affairKey}|" th:name="|apprvChkbox${affair.affairKey}|" value="" checked>
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}|">해제</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm ratingSelector" disabled>
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('AAR')}">
|
||||||
|
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" th:unless="${userOrgan eq 'OG001'}">
|
||||||
|
<label th:for="|organUp${affair.affairKey}|">상보</label>
|
||||||
|
<input type="checkbox" class="organUpChkBox" th:id="|organUp${affair.affairKey}|" value="T" disabled>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001')}">
|
||||||
|
<!--과장, 과장대행 결재권한을 가지고 있지 않은 경우-->
|
||||||
|
<td colspan="2" class="apprvTd">
|
||||||
|
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||||
|
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST004|" th:name="|apprvChkbox${affair.affairKey}|" value="DST004">
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}DST004|">결재</label>
|
||||||
|
<input type="radio" class="apprvChkbox" th:id="|apprvChkbox${affair.affairKey}DST003|" th:name="|apprvChkbox${affair.affairKey}|" value="DST003">
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}DST003|">반려</label>
|
||||||
|
<input type="radio" th:id="|apprvChkbox${affair.affairKey}|" th:name="|apprvChkbox${affair.affairKey}|" value="" checked>
|
||||||
|
<label th:for="|apprvChkbox${affair.affairKey}|">해제</label>
|
||||||
|
</td>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${apprvAuth ne null and (#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001')) and affair.affairStatus eq 'DST004'}">
|
<th:block th:if="${apprvAuth ne null and affair.affairStatus eq 'DST004'
|
||||||
|
and (#strings.contains(apprvAuth, 'APC002') or #strings.contains(apprvAuth, 'APC001'))}">
|
||||||
|
<!--결재권한 있고 계장결재완료 상태이면서 결재권한이 과장, 과장대행을 가지고있는 경우-->
|
||||||
<td colspan="2" class="apprvTd">
|
<td colspan="2" class="apprvTd">
|
||||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
|
|
|
||||||
|
|
@ -128,18 +128,49 @@
|
||||||
<form action="#" method="post" id="apprvForm">
|
<form action="#" method="post" id="apprvForm">
|
||||||
<input type="hidden" name="affairKey" th:value="${affair.affairKey}">
|
<input type="hidden" name="affairKey" th:value="${affair.affairKey}">
|
||||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and affair.affairStatus eq 'DST002' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and affair.affairStatus eq 'DST002' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
||||||
<input type="hidden" name="sectionApprv" id="sectionApprv">
|
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태이고 열람자의 관서가 작성자의 관서와 같을 경우-->
|
||||||
<div class="row border-top-0 border-secondary">
|
<th:block th:if="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">계장결재</label>
|
<!--과장, 과장대행 결재권한이 있을경우-->
|
||||||
<div class="col-10">
|
<input type="hidden" name="headApprv" id="headApprv">
|
||||||
<input type="text" class="form-control form-control-sm etc" name="sectionEtc" placeholder="추가의견, 반려사유 기입">
|
<div class="row border-top-0 border-secondary">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">과장결재</label>
|
||||||
|
<div class="col-8">
|
||||||
|
<input type="text" class="form-control form-control-sm etc" name="headEtc" placeholder="추가의견, 반려사유 기입">
|
||||||
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
|
</div>
|
||||||
|
<div class="col-1">
|
||||||
|
<select class="form-select form-select-sm" name="affairRate" id="affairRate">
|
||||||
|
<option value="">견문평가</option>
|
||||||
|
<th:block th:each="code:${session.commonCode.get('AAR')}">
|
||||||
|
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-1" th:unless="${userOrgan eq 'OG001'}">
|
||||||
|
<label for="organUp" class="form-check-label">상보여부</label>
|
||||||
|
<input type="checkbox" id="organUp" name="organUp" value="T">
|
||||||
|
</div>
|
||||||
|
<div class="col-1">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn me-1" data-apprvtype="head" data-affairstate="DST006" value="승인">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="head" data-affairstate="DST005" value="반려">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-1">
|
</th:block>
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn me-1" data-apprvtype="section" data-affairstate="DST004" value="승인">
|
<th:block th:unless="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section" data-affairstate="DST003" value="반려">
|
<!--과장, 과장대행 결재권한이 없을경우-->
|
||||||
|
<input type="hidden" name="sectionApprv" id="sectionApprv">
|
||||||
|
<div class="row border-top-0 border-secondary">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center ">계장결재</label>
|
||||||
|
<div class="col-10">
|
||||||
|
<input type="text" class="form-control form-control-sm etc" name="sectionEtc" placeholder="추가의견, 반려사유 기입">
|
||||||
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
|
</div>
|
||||||
|
<div class="col-1">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn me-1" data-apprvtype="section" data-affairstate="DST004" value="승인">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-apprvtype="section" data-affairstate="DST003" value="반려">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
|
||||||
<input type="hidden" name="headApprv" id="headApprv">
|
<input type="hidden" name="headApprv" id="headApprv">
|
||||||
|
|
@ -289,10 +320,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<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:if="${#strings.isEmpty(rate.headNm)}">부장 결재 없음</th:block>
|
<th:block th:if="${#strings.isEmpty(rate.headNm)}">과장 결재 없음</th:block>
|
||||||
<th:block th:unless="${#strings.isEmpty(rate.headNm)}">
|
<th:block th:unless="${#strings.isEmpty(rate.headNm)}">
|
||||||
<th:block th:each="code:${session.commonCode.get('JT')}">
|
<th:block th:each="code:${session.commonCode.get('JT')}">
|
||||||
<th:block th:if="${rate.headTitle eq code.itemCd}" th:text="${#strings.concat('부장 ', code.itemValue, ' ', rate.headNm)}"></th:block>
|
<th:block th:if="${rate.headTitle eq code.itemCd}" th:text="${#strings.concat('과장 ', code.itemValue, ' ', rate.headNm)}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</label>
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
<div class="col-8">
|
<div class="col-8">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-11">
|
<div class="col-11">
|
||||||
<div class="row justify-content-end pb-1" th:if="${accessAuth eq 'ACC003'}">
|
<div class="row justify-content-end pb-1" th:if="${accessAuth eq 'ACC003' and page eq 'main'}">
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||||
<option value="">관서 선택</option>
|
<option value="">관서 선택</option>
|
||||||
|
|
|
||||||
|
|
@ -109,11 +109,11 @@
|
||||||
|
|
||||||
<div class="col-12 text-center row border-top-0 border-secondary">
|
<div class="col-12 text-center row border-top-0 border-secondary">
|
||||||
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||||
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center"
|
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center"
|
||||||
th:if="${commonCode.itemCd eq apprv.state}">결재결과:</span>
|
th:if="${code.itemCd eq apprv.state}">결재결과:</span>
|
||||||
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start"
|
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-start"
|
||||||
th:if="${commonCode.itemCd eq apprv.state}" th:text="${commonCode.itemValue}"></span>
|
th:if="${code.itemCd eq apprv.state}" th:text="${#strings.substring(code.itemValue, 2, 4)}"></span>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
||||||
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center">결재자:</span>
|
<span class="col-sm-1 border-end border-secondary col-form-label col-form-label-sm text-center">결재자:</span>
|
||||||
|
|
@ -148,16 +148,36 @@
|
||||||
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
<input type="text" class="form-control form-control-sm" name="etc" placeholder="추가의견, 반려사유 기입">
|
||||||
<input type="text" class="d-none" id="submitPrevention">
|
<input type="text" class="d-none" id="submitPrevention">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and plan.planState eq 'DST002'}">
|
||||||
<input type="button" class="btn btn-sm btn-success apprvBtn"
|
<!--계장, 계장대행, 결재대기-->
|
||||||
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
<th:block th:if="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||||
and plan.planState eq 'DST002'?'DST004':'DST006'}" value="승인">
|
<!--과장, 과장대행-->
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<input type="button" class="btn btn-sm btn-success apprvBtn" data-planstate="DST006" value="승인">
|
||||||
<input type="button" class="btn btn-sm btn-danger apprvBtn"
|
</div>
|
||||||
th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))
|
<div class="col-auto">
|
||||||
and plan.planState eq 'DST002'?'DST003':'DST005'}" value="반려">
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-planstate="DST005" value="반려">
|
||||||
</div>
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||||
|
<!--과장, 과장대행 X-->
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn" data-planstate="DST004" value="승인">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-planstate="DST003" value="반려">
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and plan.planState eq 'DST004'}">
|
||||||
|
<!--과장, 과장대행 계장승인-->
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-success apprvBtn" data-planstate="DST006" value="승인">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="button" class="btn btn-sm btn-danger apprvBtn" data-planstate="DST005" value="반려">
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue