주요사건처리현황 3차

master
DESKTOP-QGC5RJO\DBNT 2023-01-06 14:59:25 +09:00
parent 90911da1ed
commit d858c0ebac
7 changed files with 63 additions and 43 deletions

View File

@ -93,9 +93,9 @@ public class MajorStatusController {
@PostMapping("/deleteContent") @PostMapping("/deleteContent")
@ResponseBody @ResponseBody
public void deleteContent(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<MajorStatus> majorStatuses){ public void deleteContent(@RequestBody MajorStatus majorStatus){
majorStatusService.deleteContent(majorStatuses,loginUser); majorStatusService.deleteContent(majorStatus);
} }

View File

@ -11,4 +11,6 @@ public interface MajorFileRepository extends JpaRepository<MajorFile, MajorFile.
List<MajorFile> findByMajorKey(Integer majorKey); List<MajorFile> findByMajorKey(Integer majorKey);
Optional<MajorFile> findTopByMajorKeyOrderByFileSeq(Integer majorKey); Optional<MajorFile> findTopByMajorKeyOrderByFileSeq(Integer majorKey);
void deleteByMajorKey(Integer majorKey);
} }

View File

@ -6,4 +6,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface MajorStatusRepository extends JpaRepository<MajorStatus, Integer> { public interface MajorStatusRepository extends JpaRepository<MajorStatus, Integer> {
void deleteByMajorKey(Integer majorKey); void deleteByMajorKey(Integer majorKey);
} }

View File

@ -5,6 +5,7 @@ import com.dbnt.faisp.config.BaseService;
import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.config.FileInfo;
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseFile; import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseFile;
import com.dbnt.faisp.main.equip.model.Equip; import com.dbnt.faisp.main.equip.model.Equip;
import com.dbnt.faisp.main.fipTarget.model.VulnFile;
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.BoardInvestigation; import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.BoardInvestigation;
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.IvsgtFile; import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.IvsgtFile;
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.mapper.MajorStatusMapper; import com.dbnt.faisp.main.ivsgtMgt.majorStatus.mapper.MajorStatusMapper;
@ -86,14 +87,17 @@ public class MajorStatusService extends BaseService {
} }
} }
public void deleteContent(MajorStatus majorStatus){
public void deleteContent(List<MajorStatus> majorStatuses, UserInfo loginUser){ //파일삭제
List<MajorFile> MajorFileList = majorFileRepository.findByMajorKey(majorStatus.getMajorKey());
for(MajorStatus majorStatus : majorStatuses){ if(MajorFileList != null) {
for(MajorFile file: MajorFileList){
majorStatusRepository.deleteByMajorKey(majorStatus.getMajorKey()); deleteStoredFile(new File(file.getSavePath(), file.getConvNm()));
} }
}
majorFileRepository.deleteByMajorKey(majorStatus.getMajorKey());
majorStatusRepository.deleteById(majorStatus.getMajorKey());
} }
private void deleteMajorFile(Integer majorKey, List<Integer> deleteFileSeq) { private void deleteMajorFile(Integer majorKey, List<Integer> deleteFileSeq) {

View File

@ -41,41 +41,20 @@ $(function(){
}) })
$(document).on('click', '#deleteMajorBtn', function (){
const majorKey = $('input[name=majorKey]').val();
console.log(majorKey);
$(document).on('click', '#delectMajorBtn', function (){ if(confirm("삭제하시겠습니까?")){
if(confirm("선택한 대상을 삭제처리 하시겠습니까?")){ contentFade("in");
const checkArr = [];
$('input:checkbox[name=equChk]:checked').each(function (idx, el){
checkArr.push({});
const target = $(el);
checkArr[idx].equKey = Number(target.parents('tr').find('.majorKey').val());
})
deleteMajor(checkArr);
}
})
// $(document).on('click', '#deleteEquip', function (){
// if(confirm("선택한 대상을 삭제처리 하시겠습니까?")){
// const checkArr = [];
// checkArr.push({});
// checkArr[0].equKey = Number($('#mEquKey').val());
// deleteEquip(checkArr);
// }
// })
function deleteMajor(checkArr){
$.ajax({ $.ajax({
type : 'POST', type : 'POST',
url : "/ivsgt/deleteContent", url : "/ivsgt/deleteContent",
data : JSON.stringify(checkArr), data : JSON.stringify({majorKey:majorKey}),
contentType: 'application/json', contentType: 'application/json',
beforeSend: function (xhr){ beforeSend: function (xhr){
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
}, },
success : function() { success : function(data) {
alert("삭제 처리되었습니다."); alert("삭제 처리되었습니다.");
location.reload(); location.reload();
}, },
@ -84,6 +63,39 @@ function deleteMajor(checkArr){
} }
}) })
} }
})
// $(document).on('click', '#delectMajorBtn', function (){
// if(confirm("선택한 대상을 삭제처리 하시겠습니까?")){
// const checkArr = [];
// $('input:checkbox[name=equChk]:checked').each(function (idx, el){
// checkArr.push({});
// const target = $(el);
// checkArr[idx].equKey = Number(target.parents('tr').find('.majorKey').val());
// })
// deleteMajor(checkArr);
//
// }
// })
// function deleteMajor(checkArr){
// $.ajax({
// type : 'POST',
// url : "/ivsgt/deleteContent",
// data : JSON.stringify(checkArr),
// contentType: 'application/json',
// beforeSend: function (xhr){
// xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
// },
// success : function() {
// alert("삭제처리 되었습니다.");
// location.reload();
// },
// error : function(xhr, status) {
// alert("삭제처리에 실패하였습니다");
// }
// })
// }
function getEditModal(majorKey){ function getEditModal(majorKey){
$.ajax({ $.ajax({

View File

@ -8,7 +8,7 @@
</th:block> </th:block>
<div layout:fragment="content"> <div layout:fragment="content">
<main> <main>
<h4>주요사건처리현황t</h4> <h4>주요사건처리현황</h4>
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/> <input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/> <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<div class="row mx-0"> <div class="row mx-0">

View File

@ -76,5 +76,6 @@
<th:block th:if="${userSeq eq majorStatus.wrtUserSeq}"><!--작성자일 경우 수정 허용--> <th:block th:if="${userSeq eq majorStatus.wrtUserSeq}"><!--작성자일 경우 수정 허용-->
<button type="button" class="btn btn-warning" id="editBtn" th:data-majorkey="${majorStatus.majorKey}">수정</button> <button type="button" class="btn btn-warning" id="editBtn" th:data-majorkey="${majorStatus.majorKey}">수정</button>
</th:block> </th:block>
<button type="button" class="btn btn-danger" id="deleteMajorBtn">삭제</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
</div> </div>