견문관리 tab 요청사항 반영.
parent
b01b021370
commit
32e0d1890a
|
|
@ -114,8 +114,8 @@ public class BaseController {
|
|||
}
|
||||
|
||||
public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
|
||||
loginUser.setDownOrganCdList(organConfigService.selectDownOrganListWhereUserOgCd(loginUser.getOgCd()));
|
||||
loginUser.setUpOrganCdList(organConfigService.selectUpOrganListWhereUserOgCd(loginUser.getOgCd()));
|
||||
loginUser.setDownOrganCdList(organConfigService.selectDownOrganList(loginUser.getOgCd()));
|
||||
loginUser.setUpOrganCdList(organConfigService.selectUpOrganList(loginUser.getOgCd()));
|
||||
session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq()));
|
||||
Map<String, List<CodeMgt>> codeMap = codeMgtService.getCommonCode();
|
||||
session.setAttribute("commonCode", codeMap);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ public class BaseModel {
|
|||
@Transient
|
||||
private List<String> upOrganCdList;
|
||||
@Transient
|
||||
private List<String> groupOrganCdList;
|
||||
@Transient
|
||||
private List<String> downOrganCdList;
|
||||
@Transient
|
||||
private Integer pageIndex=1; //요청페이지
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
|||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairRating;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.TypeStatistics;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
|
||||
import com.dbnt.faisp.main.organMgt.service.OrganConfigService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
|
@ -31,135 +32,79 @@ import java.util.zip.ZipOutputStream;
|
|||
public class AffairController { // 첩보수집활동 > 외사경찰 견문관리 > 견문관리
|
||||
private final AffairService affairService;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
private final OrganConfigService organConfigService;
|
||||
|
||||
@GetMapping("/affairMgt")
|
||||
public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affairBoard){
|
||||
@GetMapping("/affairMgt/{tab}")
|
||||
public ModelAndView affairMgtPage(@AuthenticationPrincipal UserInfo loginUser,
|
||||
@PathVariable("tab") String tab, AffairBoard affairBoard){
|
||||
ModelAndView mav;
|
||||
mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt");
|
||||
mav.addObject("page", "main");
|
||||
mav.addObject("searchUrl", "/affair/affairMgt");
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
||||
switch (accessAuth){
|
||||
case "ACC001": // 조회
|
||||
case "ACC002": // 작성
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
||||
//결재권한 확인
|
||||
String apprvAuth = authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
switch (tab){
|
||||
case "myReport":
|
||||
affairBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affairBoard.setRatingOrgan(loginUser.getOgCd());
|
||||
break;
|
||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
||||
case "stayReport":
|
||||
if(apprvAuth==null) {
|
||||
affairBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affairBoard.setQueryType("normalStayList");
|
||||
}else {
|
||||
affairBoard.setRatingOrgan(loginUser.getOgCd());
|
||||
switch (apprvAuth) {
|
||||
case "APC004": // 계장대행
|
||||
case "APC003": // 계장 // 결재대기 문서 조회
|
||||
affairBoard.setAffairStatus("DST002");
|
||||
break;
|
||||
case "APC002": // 부장대행
|
||||
case "APC001": // 부장 // 계장승인 문서 조회
|
||||
affairBoard.setAffairStatus("DST004");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "commitReport":
|
||||
if(apprvAuth==null) {
|
||||
affairBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affairBoard.setQueryType("normalCommitList");
|
||||
}else{
|
||||
affairBoard.setRatingOrgan(loginUser.getOgCd());
|
||||
switch (apprvAuth) {
|
||||
case "APC004": // 계장대행
|
||||
case "APC003": // 계장 // 계장반려, 계장승인 문서 조회
|
||||
affairBoard.setQueryType("sectionCommitList");
|
||||
break;
|
||||
case "APC002": // 부장대행
|
||||
case "APC001": // 부장 // 부장반려, 부장승인 문서 조회
|
||||
affairBoard.setQueryType("headCommitList");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "openReport":
|
||||
affairBoard.setWrtOrgan(loginUser.getOgCd());
|
||||
affairBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
String parentOrgan = organConfigService.selectParentOrgan(loginUser.getOgCd());
|
||||
if(!parentOrgan.equals("OG001")){
|
||||
affairBoard.setGroupOrganCdList(organConfigService.selectChildOrgan(parentOrgan));
|
||||
}
|
||||
affairBoard.setQueryType("openReportList");
|
||||
break;
|
||||
case "allReport":
|
||||
if(accessAuth.equals("ACC003")){
|
||||
affairBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
}
|
||||
break;
|
||||
}
|
||||
//결재권한 확인
|
||||
String apprvAuth = authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("apprvAuth", apprvAuth);
|
||||
affairBoard.setQueryInfo();
|
||||
mav.addObject("affairList", affairService.selectAffairBoardList(affairBoard));
|
||||
affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard));
|
||||
affairBoard.setPaginationInfo();
|
||||
mav.addObject("searchParams", affairBoard);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/stayPage")
|
||||
public ModelAndView apprvStayPage(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affairBoard){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt");
|
||||
mav.addObject("page", "stay");
|
||||
mav.addObject("searchUrl", "/affair/stayPage");
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
||||
switch (accessAuth){
|
||||
case "ACC001": // 조회
|
||||
case "ACC002": // 작성
|
||||
affairBoard.setRatingOrgan(loginUser.getOgCd());
|
||||
break;
|
||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
||||
affairBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
break;
|
||||
}
|
||||
//결재권한 확인
|
||||
String apprvAuth = authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
if(apprvAuth==null) {
|
||||
if(!accessAuth.equals("ACC003")){
|
||||
affairBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affairBoard.setUserType("normalStayList");
|
||||
}else{
|
||||
affairBoard.setUserType("managerStayList");
|
||||
}
|
||||
}else{
|
||||
mav.addObject("userNm", loginUser.getUserNm());
|
||||
switch (apprvAuth){
|
||||
case "APC004": // 계장대행
|
||||
case "APC003": // 계장 // 결재대기 문서 조회
|
||||
affairBoard.setAffairStatus("DST002");
|
||||
break;
|
||||
case "APC002": // 부장대행
|
||||
case "APC001": // 부장 // 계장승인 문서 조회
|
||||
affairBoard.setAffairStatus("DST004");
|
||||
break;
|
||||
}
|
||||
}
|
||||
mav.addObject("userOrgan", loginUser.getOgCd());
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("apprvAuth", apprvAuth);
|
||||
affairBoard.setQueryInfo();
|
||||
mav.addObject("affairList", affairService.selectAffairBoardList(affairBoard));
|
||||
affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard));
|
||||
affairBoard.setPaginationInfo();
|
||||
mav.addObject("searchParams", affairBoard);
|
||||
mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR"));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/commitPage")
|
||||
public ModelAndView apprvCommitPage(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affairBoard){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairMgt");
|
||||
mav.addObject("page", "commit");
|
||||
mav.addObject("searchUrl", "/affair/commitPage");
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth();
|
||||
switch (accessAuth){
|
||||
case "ACC001": // 조회
|
||||
case "ACC002": // 작성
|
||||
affairBoard.setRatingOrgan(loginUser.getOgCd());
|
||||
break;
|
||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
||||
affairBoard.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
break;
|
||||
}
|
||||
//결재권한 확인
|
||||
String apprvAuth = authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
if(apprvAuth==null) {
|
||||
if(!accessAuth.equals("ACC003")){
|
||||
affairBoard.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affairBoard.setUserType("normalCommitList");
|
||||
}else{
|
||||
affairBoard.setUserType("managerCommitList");
|
||||
}
|
||||
}else{
|
||||
switch (apprvAuth) {
|
||||
case "APC004": // 계장대행
|
||||
case "APC003": // 계장 // 계장반려, 계장승인 문서 조회
|
||||
affairBoard.setUserType("sectionCommitList");
|
||||
break;
|
||||
case "APC002": // 부장대행
|
||||
case "APC001": // 부장 // 부장반려, 부장승인 문서 조회
|
||||
affairBoard.setUserType("headCommitList");
|
||||
break;
|
||||
}
|
||||
}
|
||||
mav.addObject("page", tab);
|
||||
mav.addObject("searchUrl", "/affair/affairMgt/"+tab);
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("apprvAuth", apprvAuth);
|
||||
affairBoard.setQueryInfo();
|
||||
|
|
@ -193,9 +138,9 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
//메뉴권한 확인
|
||||
mav.addObject("userOrgan", loginUser.getOgCd());
|
||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth());
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth());
|
||||
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth());
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth());
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
|
@ -221,9 +166,9 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
mav.addObject("userOrgan", loginUser.getOgCd());
|
||||
//메뉴권한 확인
|
||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth());
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getAccessAuth());
|
||||
String apprvAuth = authMgtService.selectApprovalConfigList
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
(loginUser.getUserSeq(), "/affair/affairMgt/myReport?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
|
||||
mav.addObject("apprvAuth", apprvAuth);
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class AffairBoard extends BaseModel {
|
|||
@Transient
|
||||
private Integer fileCnt;
|
||||
@Transient
|
||||
private String userType;
|
||||
private String queryType;
|
||||
@Transient
|
||||
private List<AffairFile> fileList;
|
||||
@Transient
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ import java.util.List;
|
|||
|
||||
@Mapper
|
||||
public interface OrganConfigMapper {
|
||||
List<String> selectDownOrganListWhereUserOgCd(String ogCd);
|
||||
List<String> selectUpOrganListWhereUserOgCd(String ogCd);
|
||||
List<String> selectDownOrganList(String ogCd);
|
||||
List<String> selectUpOrganList(String ogCd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,12 @@ import com.dbnt.faisp.main.organMgt.model.OrganConfig;
|
|||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface OrganConfigRepository extends JpaRepository<OrganConfig, String> {
|
||||
@Transactional
|
||||
void deleteByOrganType(String organType);
|
||||
|
||||
List<OrganConfig> findByParentOrgan(String ogCd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.dbnt.faisp.main.organMgt.repository.OrganConfigRepository;
|
|||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -29,17 +30,26 @@ public class OrganConfigService {
|
|||
return organConfigRepository.saveAll(organConfigList).size();
|
||||
}
|
||||
|
||||
public List<String> selectDownOrganListWhereUserOgCd(String ogCd) {
|
||||
return organConfigMapper.selectDownOrganListWhereUserOgCd(ogCd);
|
||||
public List<String> selectDownOrganList(String ogCd) {
|
||||
return organConfigMapper.selectDownOrganList(ogCd);
|
||||
}
|
||||
public List<String> selectUpOrganListWhereUserOgCd(String ogCd) {
|
||||
List<String> upOrganList = organConfigMapper.selectUpOrganListWhereUserOgCd(ogCd);
|
||||
public List<String> selectUpOrganList(String ogCd) {
|
||||
List<String> upOrganList = organConfigMapper.selectUpOrganList(ogCd);
|
||||
upOrganList.add(ogCd);
|
||||
return upOrganList;
|
||||
}
|
||||
public String selectParentOrgan(String ogCd){
|
||||
return organConfigRepository.findById(ogCd).orElse(new OrganConfig()).getParentOrgan();
|
||||
}
|
||||
public List<String> selectChildOrgan(String ogCd){
|
||||
List<OrganConfig> organConfigList = organConfigRepository.findByParentOrgan(ogCd);
|
||||
List<String> organList = new ArrayList<>();
|
||||
organList.add(ogCd);
|
||||
for(OrganConfig organ: organConfigList){
|
||||
organList.add(organ.getOrganCd());
|
||||
}
|
||||
return organList;
|
||||
}
|
||||
|
||||
public List<OrganConfig> selectOrganList() {
|
||||
List<CodeMgt> codeList = codeMgtService.selectCodeMgtList("OG");
|
||||
|
|
|
|||
|
|
@ -15,8 +15,10 @@
|
|||
<if test='wrtUserNm != null and wrtUserNm != ""'>
|
||||
and a.wrt_user_nm like '%'||#{wrtUserNm}||'%'
|
||||
</if>
|
||||
<if test='wrtOrgan != null and wrtOrgan != ""'>
|
||||
and a.wrt_organ = #{wrtOrgan}
|
||||
<if test='queryType != "openReportList"'>
|
||||
<if test='wrtOrgan != null and wrtOrgan != ""'>
|
||||
and a.wrt_organ = #{wrtOrgan}
|
||||
</if>
|
||||
</if>
|
||||
<if test='affairType1 != null and affairType1 != ""'>
|
||||
and a.affair_type1 = #{affairType1}
|
||||
|
|
@ -50,30 +52,45 @@
|
|||
and (c.organ_up != 'T' or c.organ_up is null)
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="downOrganCdList != null">
|
||||
and a.wrt_organ in
|
||||
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||
#{organCd}
|
||||
</foreach>
|
||||
<if test='queryType != "openReportList"'>
|
||||
<if test="downOrganCdList != null">
|
||||
and a.wrt_organ in
|
||||
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||
#{organCd}
|
||||
</foreach>
|
||||
</if>
|
||||
</if>
|
||||
<if test='userType != null and userType != ""'>
|
||||
<if test='userType == "normalStayList"'>
|
||||
<if test='queryType != null and queryType != ""'>
|
||||
<if test='queryType == "normalStayList"'>
|
||||
and c.affair_status in ('DST002', 'DST004')
|
||||
</if>
|
||||
<if test='userType == "normalCommitList"'>
|
||||
<if test='queryType == "normalCommitList"'>
|
||||
and c.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "sectionCommitList"'>
|
||||
<if test='queryType == "sectionCommitList"'>
|
||||
and c.affair_status in ('DST003', 'DST004', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "headCommitList"'>
|
||||
<if test='queryType == "headCommitList"'>
|
||||
and c.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
</if>
|
||||
<if test='userType == "managerStayList"'>
|
||||
and c.affair_status in ('DST002', 'DST004')
|
||||
</if>
|
||||
<if test='userType == "managerCommitList"'>
|
||||
and c.affair_status in ('DST003', 'DST005', 'DST006')
|
||||
<if test='queryType == "openReportList"'>
|
||||
and view_status <> 'AVS001'
|
||||
and (
|
||||
(view_status = 'AVS002' and a.wrt_organ = #{wrtOrgan}) or
|
||||
(view_status = 'AVS003' and a.wrt_organ in
|
||||
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||
#{organCd}
|
||||
</foreach>
|
||||
) or
|
||||
<if test='groupOrganCdList!=null'>
|
||||
(view_status = 'AVS005' and a.wrt_organ in
|
||||
<foreach collection="groupOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||
#{organCd}
|
||||
</foreach>
|
||||
) or
|
||||
</if>
|
||||
(view_status = 'AVS004')
|
||||
)
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.dbnt.faisp.main.organMgt.mapper.OrganConfigMapper">
|
||||
<select id="selectDownOrganListWhereUserOgCd" resultType="string" parameterType="string">
|
||||
<select id="selectDownOrganList" resultType="string" parameterType="string">
|
||||
with recursive organ_list (
|
||||
organ_cd
|
||||
) as(
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
)
|
||||
select * from organ_list
|
||||
</select>
|
||||
<select id="selectUpOrganListWhereUserOgCd" resultType="string" parameterType="string">
|
||||
<select id="selectUpOrganList" resultType="string" parameterType="string">
|
||||
with recursive organ_list (
|
||||
parent_organ
|
||||
) as(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
$(function(){
|
||||
if(location.search.includes("refDocKey")){
|
||||
const params = location.search.split('&');
|
||||
|
|
@ -15,15 +14,10 @@ $(function(){
|
|||
autoclose: true
|
||||
});
|
||||
})
|
||||
$(document).on('click', '#affairTab', function (){
|
||||
location.href = "/affair/affairMgt?affairCategory="+$("#affairCategory").val();
|
||||
})
|
||||
$(document).on('click', '#stayTab', function (){
|
||||
location.href = "/affair/stayPage?affairCategory="+$("#affairCategory").val();
|
||||
})
|
||||
$(document).on('click', '#commitTab', function (){
|
||||
location.href = "/affair/commitPage?affairCategory="+$("#affairCategory").val();
|
||||
$(document).on('click', '.reportTypeTab', function (){
|
||||
location.href = "/affair/affairMgt/"+$(this).attr("data-reporttype")+"?affairCategory="+$("#affairCategory").val();
|
||||
})
|
||||
|
||||
$(document).on('click', '.affairTr', function (event){
|
||||
const target = event.target;
|
||||
if(!(target.className === "apprvTd" || $(target).parents(".apprvTd").length>0)){
|
||||
|
|
@ -35,13 +29,16 @@ $(document).on('click', '.affairTr', function (event){
|
|||
getAffairViewModal(Number($(this).find(".affairKey").val()));
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#addAffairBtn', function (){
|
||||
getAffairEditModal(null)
|
||||
})
|
||||
|
||||
$(document).on('click', '#editAffairBtn', function (){
|
||||
$("#affairViewModal").modal('hide');
|
||||
getAffairEditModal(Number($("#affairViewBody").find("[name='affairKey']").val()));
|
||||
})
|
||||
|
||||
$(document).on('click', '#modifyRatingViewBtn', function (){
|
||||
const modifyRatingDiv = $("#modifyRatingDiv")
|
||||
const ratingViewDiv = $("#ratingViewDiv")
|
||||
|
|
@ -55,6 +52,7 @@ $(document).on('click', '#modifyRatingViewBtn', function (){
|
|||
ratingViewDiv.show();
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('change', '.sectionApprv', function (){
|
||||
if(this.value === "" || this.value==="DST003"){
|
||||
$(this).parents(".affairRatingRow").find("input, select").attr("disabled", "disabled")
|
||||
|
|
@ -63,6 +61,7 @@ $(document).on('change', '.sectionApprv', function (){
|
|||
$(this).parents(".affairRatingRow").find("input, select").removeAttr("disabled")
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('change', '.headApprv', function (){
|
||||
if(this.value === "" || this.value==="DST005"){
|
||||
$(this).parents(".row").find("input, select").attr("disabled", "disabled")
|
||||
|
|
@ -71,6 +70,7 @@ $(document).on('change', '.headApprv', function (){
|
|||
$(this).parents(".row").find("input, select").removeAttr("disabled")
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('change', '.organUp', function (){
|
||||
if(!this.checked){
|
||||
if(confirm("상위관서 결재정보가 삭제됩니다. 계속하시겠습니까?")){
|
||||
|
|
@ -99,6 +99,7 @@ $(document).on('change', '.organUp', function (){
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#modifyRatingBtn', function (){
|
||||
modifyAffairRating();
|
||||
})
|
||||
|
|
@ -118,9 +119,11 @@ $(document).on('change', '#autoDeleteSelector', function (){
|
|||
$(document).on('click', '#saveAffairBtn', function (){
|
||||
saveAffair($(this).attr("data-status"))
|
||||
})
|
||||
|
||||
$(document).on('click', '#saveTempBtn', function (){
|
||||
saveAffair('DST001')
|
||||
})
|
||||
|
||||
$(document).on('click', '.apprvBtn', function (){
|
||||
const affairState = $(this).attr("data-affairstate");
|
||||
let flag = true;
|
||||
|
|
|
|||
|
|
@ -24,13 +24,19 @@
|
|||
<div class="card-body">
|
||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" th:classappend="${page eq 'main'?' active':''}" id="affairTab" data-bs-toggle="tab" type="button" role="tab">전체 목록</button>
|
||||
<button class="nav-link reportTypeTab" th:classappend="${page eq 'myReport'?' active':''}" data-reporttype="myReport" id="myTab" data-bs-toggle="tab" type="button" role="tab">내 보고서</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation" th:if="${apprvAuth ne null or accessAuth eq 'ACC003'}">
|
||||
<button class="nav-link reportTypeTab" th:classappend="${page eq 'stayReport'?' active':''}" data-reporttype="stayReport" id="stayTab" data-bs-toggle="tab" type="button" role="tab">결재대기목록</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" th:classappend="${page eq 'stay'?' active':''}" id="stayTab" data-bs-toggle="tab" type="button" role="tab">결재대기목록</button>
|
||||
<button class="nav-link reportTypeTab" th:classappend="${page eq 'commitReport'?' active':''}" data-reporttype="commitReport" id="commitTab" data-bs-toggle="tab" type="button" role="tab">결재처리목록</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" th:classappend="${page eq 'commit'?' active':''}" id="commitTab" data-bs-toggle="tab" type="button" role="tab">결재처리목록</button>
|
||||
<button class="nav-link reportTypeTab" th:classappend="${page eq 'openReport'?' active':''}" data-reporttype="openReport" id="openTab" data-bs-toggle="tab" type="button" role="tab">공개 보고서</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation" th:if="${accessAuth eq 'ACC003'}">
|
||||
<button class="nav-link reportTypeTab" th:classappend="${page eq 'allReport'?' active':''}" data-reporttype="allReport" id="allTab" data-bs-toggle="tab" type="button" role="tab">전체(관리자)</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content bg-white border border-top-0 p-2">
|
||||
|
|
@ -50,13 +56,13 @@
|
|||
<div class="col-11">
|
||||
<div class="row justify-content-end">
|
||||
<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 'allReport'}">
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||
<option value="">관서 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${#lists.contains(mgtOrganList, code.itemCd)}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.wrtOrgan}"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</select>
|
||||
|
|
@ -69,32 +75,32 @@
|
|||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="affairType1">
|
||||
<option value="">분야1 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC01')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType1}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('DC01')}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.affairType1}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="affairType2">
|
||||
<option value="">분야2 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC02')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType2}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('DC02')}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.affairType2}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="affairType3">
|
||||
<option value="">분야3 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC03')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType3}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('DC03')}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.affairType3}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="affairType4">
|
||||
<option value="">분야4 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC04')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType4}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('DC04')}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.affairType4}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -106,8 +112,8 @@
|
|||
<div class="col-2">
|
||||
<select class="form-select form-select-sm" name="affairStatus">
|
||||
<option value="">상태 선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairStatus}"></option>
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq searchParams.affairStatus}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -146,13 +152,8 @@
|
|||
<th>작성일시</th>
|
||||
<th>첨부파일</th>
|
||||
<th>상태</th>
|
||||
<th:block th:if="${page eq 'stay' and apprvAuth ne null}">
|
||||
<th>평가</th>
|
||||
</th:block>
|
||||
<th:block th:if="${page eq 'commit'}">
|
||||
<th>평가</th>
|
||||
<th>상보</th>
|
||||
</th:block>
|
||||
<th>평가</th>
|
||||
<th>상보</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-group-divider">
|
||||
|
|
@ -161,47 +162,55 @@
|
|||
<td><input type="checkbox" class="trChkBox"></td>
|
||||
<td th:text="|해양경찰청외사-${affair.affairKey}|"></td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC01')}">
|
||||
<th:block th:if="${affair.affairType1 eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('DC01')}">
|
||||
<th:block th:if="${affair.affairType1 eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC02')}">
|
||||
<th:block th:if="${affair.affairType2 eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('DC02')}">
|
||||
<th:block th:if="${affair.affairType2 eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC03')}">
|
||||
<th:block th:if="${affair.affairType3 eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('DC03')}">
|
||||
<th:block th:if="${affair.affairType3 eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC04')}">
|
||||
<th:block th:if="${affair.affairType4 eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('DC04')}">
|
||||
<th:block th:if="${affair.affairType4 eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td th:text="${affair.title}"></td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${affair.wrtOrgan eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${affair.wrtOrgan eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
|
||||
<th:block th:if="${affair.wrtPart eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('OFC')}">
|
||||
<th:block th:if="${affair.wrtPart eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td th:text="${affair.wrtUserNm}"></td>
|
||||
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
<td th:text="${affair.fileCnt eq null?'파일 없음':#strings.concat(affair.fileCnt,' 건')}"></td>
|
||||
<td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${affair.affairStatus eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${affair.affairStatus eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<th:block th:if="${page eq 'stay'}">
|
||||
<th:block th:unless="${page eq 'stayReport'}">
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('AAR')}">
|
||||
<th:block th:if="${code.itemCd eq affair.affairRate}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td th:text="${affair.organUp eq 'T'?'O':'X'}"></td>
|
||||
</th:block>
|
||||
<th:block th:if="${page eq 'stayReport'}">
|
||||
<th:block th:if="${apprvAuth eq 'APC004' or apprvAuth eq 'APC003'}">
|
||||
<td class="apprvTd">
|
||||
<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>
|
||||
|
|
@ -212,7 +221,7 @@
|
|||
</td>
|
||||
</th:block>
|
||||
<th:block th:if="${apprvAuth eq 'APC002' or apprvAuth eq 'APC001'}">
|
||||
<td class="apprvTd">
|
||||
<td colspan="2" class="apprvTd">
|
||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
|
|
@ -226,8 +235,8 @@
|
|||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm ratingSelector" disabled>
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="ratingCode:${ratingCodeList}">
|
||||
<option th:value="${ratingCode.itemCd}" th:text="${ratingCode.itemValue}"></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>
|
||||
|
|
@ -239,18 +248,6 @@
|
|||
</td>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${page eq 'commit'}">
|
||||
<th:block th:if="${affair.affairStatus eq 'DST006'}">
|
||||
<th:block th:each="ratingCode:${session.commonCode.get('AAR')}">
|
||||
<td th:if="${ratingCode.itemCd eq affair.affairRate}" th:text="${ratingCode.itemValue}"></td>
|
||||
</th:block>
|
||||
<td th:text="${affair.organUp eq 'T'?'O':'X'}"></td>
|
||||
</th:block>
|
||||
<th:block th:unless="${affair.affairStatus eq 'DST006'}">
|
||||
<td></td>
|
||||
<td></td>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -287,7 +284,7 @@
|
|||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-success" value="등록" id="addAffairBtn" th:unless="${accessAuth eq 'ACC001'}">
|
||||
<input type="button" class="btn btn-warning" value="결재" id="tableApprvBtn" th:if="${page eq 'stay' and apprvAuth ne null}" th:data-apprvauth="${apprvAuth}">
|
||||
<input type="button" class="btn btn-warning" value="결재" id="tableApprvBtn" th:if="${page eq 'stayReport' and apprvAuth ne null}" th:data-apprvauth="${apprvAuth}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -311,7 +311,7 @@
|
|||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">기타의견</label>
|
||||
<div class="col-6">
|
||||
<input type="text" class="form-control form-control-sm sectionEtc" th:value="${rate.sectionEtc}">
|
||||
<input type="text" class="form-control form-control-sm sectionEtc" th:value="${rate.sectionEtc}" th:disabled="${#strings.isEmpty(rate.sectionApprv)}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
|
@ -333,7 +333,7 @@
|
|||
<option value="DST005" th:selected="${rate.headApprv eq 'DST005'}">반려</option>
|
||||
<option value="DST006" th:selected="${rate.headApprv eq 'DST006'}">승인</option>
|
||||
</select>
|
||||
<select class="form-select form-select-sm affairRate w-30">
|
||||
<select class="form-select form-select-sm affairRate w-30" th:disabled="${#strings.isEmpty(rate.headApprv)}">
|
||||
<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}" th:selected="${code.itemCd eq rate.affairRate}"></option>
|
||||
|
|
@ -342,14 +342,14 @@
|
|||
<div class="w-40">
|
||||
<th:block th:unless="${rate.ratingOrgan eq 'OG001'}">
|
||||
<label for="organUp" class="form-check-label px-1 pt-1">상보여부</label>
|
||||
<input type="checkbox" class="organUp" value="T" th:checked="${rate.organUp eq 'T'}">
|
||||
<input type="checkbox" class="organUp" value="T" th:checked="${rate.organUp eq 'T'}" th:disabled="${#strings.isEmpty(rate.headApprv)}">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">기타의견</label>
|
||||
<div class="col-6">
|
||||
<input type="text" class="form-control form-control-sm headEtc" th:value="${rate.headEtc}">
|
||||
<input type="text" class="form-control form-control-sm headEtc" th:value="${rate.headEtc}" th:disabled="${#strings.isEmpty(rate.headApprv)}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue