parent
2f487b0dfb
commit
aab3a7b4d9
|
|
@ -12,11 +12,7 @@ package kcg.faics.admin.web;
|
|||
|
||||
import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
|
@ -315,8 +311,68 @@ public class AdminController {
|
|||
|
||||
return "excelView";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* 외사 경찰 삭제.
|
||||
*
|
||||
* @param userIdStr
|
||||
* 삭제 대상 아이디
|
||||
* @return 삭제 결과 수
|
||||
* @throws Exception
|
||||
* 기본 예외 처리
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/faMemberDelete.do", method = RequestMethod.POST)
|
||||
public HashMap<String, Object> faMemberDelete(HttpServletResponse res, String userIdStr) throws Exception {
|
||||
HashMap<String, Object> resultMap = new HashMap<String, Object>();
|
||||
try{
|
||||
List<MemberVO> userList = new ArrayList<>();
|
||||
for(String userId : userIdStr.split("\\|")){
|
||||
MemberVO user = new MemberVO();
|
||||
user.setUserid(userId);
|
||||
userList.add(user);
|
||||
}
|
||||
MemberVO deleteUserInfo = new MemberVO();
|
||||
deleteUserInfo.setDeleteUserList(userList);
|
||||
|
||||
resultMap.put("result", memberService.deleteFaMemberList(deleteUserInfo));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반 경찰 삭제.
|
||||
*
|
||||
* @param userIdStr
|
||||
* 삭제 대상 아이디
|
||||
* @return 삭제 결과 수
|
||||
* @throws Exception
|
||||
* 기본 예외 처리
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/cmmnMemberDelete.do", method = RequestMethod.POST)
|
||||
public HashMap<String, Object> cmmnMemberDelete(HttpServletResponse res, String userIdStr) throws Exception {
|
||||
HashMap<String, Object> resultMap = new HashMap<String, Object>();
|
||||
try{
|
||||
List<MemberVO> userList = new ArrayList<>();
|
||||
for(String userId : userIdStr.split("\\|")){
|
||||
MemberVO user = new MemberVO();
|
||||
user.setUserid(userId);
|
||||
userList.add(user);
|
||||
}
|
||||
MemberVO deleteUserInfo = new MemberVO();
|
||||
deleteUserInfo.setDeleteUserList(userList);
|
||||
|
||||
resultMap.put("result", memberService.deleteCmmnMemberList(deleteUserInfo));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 외사경찰 정보수정 화면을 반환한다.
|
||||
*
|
||||
* "/faMemberUpdateView.do" = 관리자-외사경찰현황
|
||||
|
|
|
|||
|
|
@ -177,4 +177,8 @@ public interface MemberService extends BaseBbsService<MemberSearchVO, MemberVO>
|
|||
* 기본 예외 처리
|
||||
*/
|
||||
HashMap<String, Object> deleteExMember(ExMemberVO dataVO) throws Exception;
|
||||
|
||||
|
||||
int deleteFaMemberList(MemberVO user) throws Exception;
|
||||
int deleteCmmnMemberList(MemberVO user) throws Exception;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -354,4 +354,13 @@ public class MemberMapper extends EgovAbstractMapper {
|
|||
public int insertExMemeber(final MemberVO dataVO) {
|
||||
return insert("Member.insertExMemberByMemberVO", dataVO);
|
||||
}
|
||||
|
||||
|
||||
public int deleteFaMemberList(MemberVO user) {
|
||||
return delete("Member.deleteFaMemberList", user);
|
||||
}
|
||||
|
||||
public int deleteCmmnMemberList(MemberVO user) {
|
||||
return delete("Member.deleteCmmnMemberList", user);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -651,6 +651,11 @@ public class MemberServiceImpl implements MemberService {
|
|||
resultMap.put("result", memberMapper.deleteExMemeber(dataVO));
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int deleteFaMemberList(MemberVO user) throws Exception{
|
||||
return memberMapper.deleteFaMemberList(user);
|
||||
}
|
||||
public int deleteCmmnMemberList(MemberVO user) throws Exception{
|
||||
return memberMapper.deleteCmmnMemberList(user);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import java.text.ParseException;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import kcg.faics.member.UserType;
|
||||
|
|
@ -288,8 +289,21 @@ public class MemberVO implements Serializable {
|
|||
*/
|
||||
private String writer;
|
||||
|
||||
|
||||
/**
|
||||
private List<MemberVO> deleteUserList;
|
||||
|
||||
public void setNowPlaceStr(String nowPlaceStr) {
|
||||
this.nowPlaceStr = nowPlaceStr;
|
||||
}
|
||||
|
||||
public List<MemberVO> getDeleteUserList() {
|
||||
return deleteUserList;
|
||||
}
|
||||
|
||||
public void setDeleteUserList(List<MemberVO> deleteUserList) {
|
||||
this.deleteUserList = deleteUserList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the userid
|
||||
*/
|
||||
public String getUserid() {
|
||||
|
|
|
|||
|
|
@ -202,21 +202,21 @@
|
|||
</select>
|
||||
|
||||
<select id="Member.getCmmnListAll" parameterType="memberSearchVO" resultType="memberVO">
|
||||
select (ROW_NUMBER() OVER()) AS RNUM,
|
||||
aa.*
|
||||
from (select pl1.codenm place1str,
|
||||
b.recentdate,
|
||||
pl2.codenm PLACE2STR,
|
||||
pl3.codenm PLACE3STR,
|
||||
pst.codenm POSITIONSTR,
|
||||
jt.codenm JOBTYPESTR,
|
||||
a.*
|
||||
from tagent a
|
||||
select (ROW_NUMBER() OVER()) AS RNUM, aa.*
|
||||
from (select pl1.codenm || ' ' ||pl2.codenm place3str,
|
||||
a.name,
|
||||
pst.codenm POSITIONSTR,
|
||||
a.userid,
|
||||
a.loginchk,
|
||||
a.chkcnt,
|
||||
a.idno,
|
||||
a.place1,
|
||||
b.io_userid,
|
||||
b.recentdate
|
||||
from tuser a
|
||||
inner join tcode pl1 on pl1.code1 = 'C001' and a.place1 = pl1.code2
|
||||
inner join tcode pl2 on a.place1 = pl2.code1 and a.place2 = pl2.code2
|
||||
inner join tcode pl3 on pl3.code1 = 'C009' and a.place3 = pl3.code2
|
||||
inner join tcode pst on pst.code1 = 'C002' and a.position = pst.code2
|
||||
inner join tcode jt on jt.code1 = 'C003' and a.jobtype = jt.code2
|
||||
left outer join (SELECT IO_USERID, TO_CHAR(MAX(IO_REGDATE), 'YYYY-MM-DD HH24:MI:SS') AS RECENTDATE
|
||||
FROM H3_LOGINOUT_LOG
|
||||
<where>
|
||||
|
|
@ -244,22 +244,22 @@
|
|||
</select>
|
||||
|
||||
<select id="Member.getCmmnMemberList" parameterType="memberSearchVO" resultType="memberVO">
|
||||
select (ROW_NUMBER() OVER()) AS RNUM,
|
||||
aa.*
|
||||
from (select pl1.codenm place1str,
|
||||
b.recentdate,
|
||||
pl2.codenm PLACE2STR,
|
||||
pl3.codenm PLACE3STR,
|
||||
pst.codenm POSITIONSTR,
|
||||
jt.codenm JOBTYPESTR,
|
||||
a.*
|
||||
from tagent a
|
||||
inner join tcode pl1 on pl1.code1 = 'C001' and a.place1 = pl1.code2
|
||||
inner join tcode pl2 on a.place1 = pl2.code1 and a.place2 = pl2.code2
|
||||
inner join tcode pl3 on pl3.code1 = 'C009' and a.place3 = pl3.code2
|
||||
inner join tcode pst on pst.code1 = 'C002' and a.position = pst.code2
|
||||
inner join tcode jt on jt.code1 = 'C003' and a.jobtype = jt.code2
|
||||
left outer join (SELECT IO_USERID, TO_CHAR(MAX(IO_REGDATE), 'YYYY-MM-DD HH24:MI:SS') AS RECENTDATE
|
||||
select (ROW_NUMBER() OVER()) AS RNUM, aa.*
|
||||
from (select pl1.codenm || ' ' ||pl2.codenm place3str,
|
||||
a.name,
|
||||
pst.codenm POSITIONSTR,
|
||||
a.userid,
|
||||
a.loginchk,
|
||||
a.chkcnt,
|
||||
a.idno,
|
||||
a.place1,
|
||||
b.io_userid,
|
||||
b.recentdate
|
||||
from tuser a
|
||||
inner join tcode pl1 on pl1.code1 = 'C001' and a.place1 = pl1.code2
|
||||
inner join tcode pl2 on a.place1 = pl2.code1 and a.place2 = pl2.code2
|
||||
inner join tcode pst on pst.code1 = 'C002' and a.position = pst.code2
|
||||
left outer join (SELECT IO_USERID, TO_CHAR(MAX(IO_REGDATE), 'YYYY-MM-DD HH24:MI:SS') AS RECENTDATE
|
||||
FROM H3_LOGINOUT_LOG
|
||||
<where>
|
||||
<if test="place1 != null and place1 != ''">
|
||||
|
|
@ -982,5 +982,22 @@
|
|||
#{scholarship}, #{excareer}, #{excareer1}, #{excareer2}, #{excareer3}, #{usegrade}, #{inout}, #{comment_}, #{userimg,jdbcType=VARCHAR}, NOW()
|
||||
)
|
||||
]]>
|
||||
</insert>
|
||||
</insert>
|
||||
|
||||
|
||||
<delete id="Member.deleteFaMemberList" parameterType="hashmap">
|
||||
delete from TAGENT
|
||||
where userid in
|
||||
<foreach collection="deleteUserList" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item.userid}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="Member.deleteCmmnMemberList" parameterType="hashmap">
|
||||
delete from TUSER
|
||||
where userid in
|
||||
<foreach collection="deleteUserList" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item.userid}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -44,19 +44,11 @@
|
|||
<ct:pageInfo />
|
||||
<ul class="right btn-style">
|
||||
<li><a class="btn_excel" href="javascript:fn_goExcel();"></a></li>
|
||||
<li><a href="#" class="btn_reset" onclick="location.reload();"></a></li>
|
||||
<li><a href="#" class="btn_reset" onclick="location.reload();"></a></li>
|
||||
<li><a class="btn_delete" href="javascript:fn_goDelete();"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<table class="tbl_list" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<colgroup>
|
||||
<col width="80"/>
|
||||
<col width="200">
|
||||
<col width="100"/>
|
||||
<col width="100">
|
||||
<col width="100"/>
|
||||
<col width="60"/>
|
||||
<col width="60"/>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center"><spring:message code="member.view.seq" /></th>
|
||||
|
|
@ -84,8 +76,11 @@
|
|||
<img src="/images/cmmn/blank_1x1.png" />
|
||||
</span>
|
||||
</th>
|
||||
<th><spring:message code="button.modify"/></th>
|
||||
<th><spring:message code="button.delete"/></th>
|
||||
<c:if test="${userVO.isSysAdmin == true or (userVO.isAdmin == true and result.place1 eq userVO.place1)}">
|
||||
<th><spring:message code="button.modify"/></th>
|
||||
<th><spring:message code="button.delete"/></th>
|
||||
<th><input type="checkbox" id="allChk"></th>
|
||||
</c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -98,18 +93,11 @@
|
|||
<td align="center" class="listtd"><c:out value="${result.positionStr}" /></td>
|
||||
<td align="center" class="listtd"><c:out value="${result.useridStr}"/></td>
|
||||
<td align="center" class="listtd"><c:out value="${result.name}" /></td>
|
||||
|
||||
<td align="center" class="listtd">
|
||||
<c:if test="${userVO.isSysAdmin == true or (userVO.isAdmin == true and result.place1 eq userVO.place1)}">
|
||||
<a href="#" onclick="modifyUser('<c:out value="${result.userid}"/>', '<c:out value="${result.name}"/>', '<c:out value="${result.place3Str}"/>');"><spring:message code="button.modify" /></a>
|
||||
</c:if>
|
||||
</td>
|
||||
<td align="center" class="listtd">
|
||||
<c:if test="${userVO.isSysAdmin == true or (userVO.isAdmin == true and result.place1 eq userVO.place1)}">
|
||||
<a href="#" onclick="deleteUser('<c:out value="${result.userid}"/>', '<c:out value="${result.name}"/>');"><spring:message code="button.delete" /></a>
|
||||
</c:if>
|
||||
</td>
|
||||
|
||||
<c:if test="${userVO.isSysAdmin == true or (userVO.isAdmin == true and result.place1 eq userVO.place1)}">
|
||||
<td align="center" class="listtd"><a href="#" onclick="modifyUser('<c:out value="${result.userid}"/>', '<c:out value="${result.name}"/>', '<c:out value="${result.place3Str}"/>');"><spring:message code="button.modify" /></a></td>
|
||||
<td align="center" class="listtd"><a href="#" onclick="deleteUser('<c:out value="${result.userid}"/>', '<c:out value="${result.name}"/>');"><spring:message code="button.delete" /></a></td>
|
||||
<td align="center"><input type="checkbox" name="userId" class="deleteUser" value="${result.userid}"></td>
|
||||
</c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
|
|
@ -198,7 +186,43 @@
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$(document).on("change", "#allChk", function (){
|
||||
$(".deleteUser").prop("checked", this.checked)
|
||||
})
|
||||
|
||||
/* 사용자 삭제 */
|
||||
function fn_goDelete() {
|
||||
var checkBox = $(".deleteUser:checked")
|
||||
if(checkBox.length>0){
|
||||
if(confirm("사용자 정보 "+checkBox.length+"건 을 삭제하시겠습니까?")){
|
||||
var userIdStr = "";
|
||||
for(var i=0; i<checkBox.length; i++){
|
||||
var user = checkBox[i];
|
||||
userIdStr+=(user.value+"|");
|
||||
}
|
||||
/* ie에서 for of 반복문에서 에러 발생.
|
||||
for(const user of checkBox){
|
||||
userIdStr+=(user.value+"|");
|
||||
}*/
|
||||
$.ajax({
|
||||
url: '<c:out value="/admin/cmmnMemberDelete.do"/>',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data : {userIdStr: userIdStr.slice(0, -1)},
|
||||
success: function (data) {
|
||||
if(data.result>0){
|
||||
alert("삭제되었습니다.")
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
alert("삭제 대상을 선택해주세요.")
|
||||
}
|
||||
}
|
||||
|
||||
/* 글 목록 화면 function */
|
||||
function fn_searchList() {
|
||||
document.searchForm.action = "<c:url value='/admin/cmmnMemberList.do'/>";
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<script type="text/javaScript" defer="defer">
|
||||
<!--
|
||||
//<!--
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
|
|
@ -38,8 +38,12 @@
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
/* 글 상세 화면 function */
|
||||
|
||||
$(document).on('change', '#allChk', function (){
|
||||
$(".deleteUser").prop('checked', this.checked);
|
||||
})
|
||||
|
||||
/* 글 상세 화면 function */
|
||||
function fn_select(id) {
|
||||
document.listForm.userid.value = id;
|
||||
document.listForm.action = "<c:url value='/admin/faMemberInfo.do'/>";
|
||||
|
|
@ -63,7 +67,38 @@
|
|||
document.searchForm.action = "<c:url value='/admin/faMemberListExcel.do'/>";
|
||||
document.searchForm.submit();
|
||||
}
|
||||
|
||||
|
||||
/* 사용자 삭제 */
|
||||
function fn_goDelete() {
|
||||
var checkBox = $(".deleteUser:checked");
|
||||
if(checkBox.length>0){
|
||||
if(confirm("사용자 정보 "+checkBox.length+"건 을 삭제하시겠습니까?")){
|
||||
var userIdStr = "";
|
||||
for(var i=0; i<checkBox.length; i++){
|
||||
var user = checkBox[i];
|
||||
userIdStr+=(user.value+"|");
|
||||
}
|
||||
/* ie에서 for of 반복문이 동작하지 않음.
|
||||
for(var user of checkBox){
|
||||
userIdStr+=(user.value+"|");
|
||||
}*/
|
||||
$.ajax({
|
||||
url: '<c:out value="/admin/faMemberDelete.do"/>',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data : {userIdStr: userIdStr.slice(0, -1)},
|
||||
success: function (data) {
|
||||
if(data.result>0){
|
||||
alert("삭제되었습니다.")
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
alert("삭제 대상을 선택해주세요.")
|
||||
}
|
||||
}
|
||||
/* pagination 페이지 링크 function */
|
||||
function fn_link_page(pageNo) {
|
||||
document.searchForm.pageIndex.value = pageNo;
|
||||
|
|
@ -121,20 +156,22 @@
|
|||
<ct:pageInfo />
|
||||
<ul class="right btn-style">
|
||||
<li><a class="btn_excel" href="javascript:fn_goExcel();"></a></li>
|
||||
<li><a href="#" class="btn_reset" onclick="location.reload();"></a></li>
|
||||
<li><a href="#" class="btn_reset" onclick="location.reload();"></a></li>
|
||||
<li><a class="btn_delete" href="javascript:fn_goDelete();"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<table class="tbl_list" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<colgroup>
|
||||
<col width="70" >
|
||||
<col width="200" >
|
||||
<col width="110" >
|
||||
<col width="100" >
|
||||
<col width="100" >
|
||||
<col width="100" >
|
||||
<col width="100" >
|
||||
<col width="80" >
|
||||
<col width="80" >
|
||||
<col width="70" >
|
||||
<col width="200" >
|
||||
<col width="80" >
|
||||
<col width="100" >
|
||||
<col width="100" >
|
||||
<col width="100" >
|
||||
<col width="80" >
|
||||
<col width="80" >
|
||||
<col width="70" >
|
||||
<col width="70" >
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -188,7 +225,8 @@
|
|||
</span>
|
||||
</th>
|
||||
<c:if test="${userVO.isSysAdmin == true}">
|
||||
<th align="center">수정</th>
|
||||
<th align="center">수정</th>
|
||||
<th><input type="checkbox" id="allChk"></th>
|
||||
</c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -219,6 +257,7 @@
|
|||
<td align="center"><c:out value="${result.usegrade}" /></td>
|
||||
<c:if test="${userVO.isSysAdmin == true}">
|
||||
<td align="center"><a href="javascript:fn_modify('${result.userid}');">수정</a></td>
|
||||
<td align="center"><input type="checkbox" name="userId" class="deleteUser" value="${result.userid}"></td>
|
||||
</c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
|
|
|||
Loading…
Reference in New Issue