diff --git a/WebContent/WEB-INF/view/quality/customerCsList.jsp b/WebContent/WEB-INF/view/quality/customerCsList.jsp
index ec3775b..2662b1b 100644
--- a/WebContent/WEB-INF/view/quality/customerCsList.jsp
+++ b/WebContent/WEB-INF/view/quality/customerCsList.jsp
@@ -59,6 +59,11 @@ $(document).ready(function(){
fn_registActionPopUp();
});
+ // 삭제
+ $("#btnDelete").click(function(){
+ fn_delete();
+ });
+
fn_search();
});
@@ -239,6 +244,67 @@ function fn_FileRegist(objId, docType, docTypeName){
fn_centerPopup(popup_width, popup_height, url);
}
+
+// 삭제
+function fn_delete(){
+ var selected = _tabulGrid.getSelectedData();
+ if(selected.length == 0){
+ Swal.fire("삭제할 데이터를 선택해주세요.");
+ return;
+ }
+
+ // 선택된 OBJID 목록 추출
+ var objIds = [];
+ for(var i = 0; i < selected.length; i++){
+ objIds.push(selected[i].OBJID);
+ }
+
+ Swal.fire({
+ title: '삭제 확인',
+ text: selected.length + '건의 데이터를 삭제하시겠습니까?',
+ icon: 'warning',
+ showCancelButton: true,
+ confirmButtonColor: '#d33',
+ cancelButtonColor: '#3085d6',
+ confirmButtonText: '삭제',
+ cancelButtonText: '취소'
+ }).then((result) => {
+ if(result.isConfirmed){
+ $.ajax({
+ url: "/quality/deleteCustomerCs.do",
+ type: "POST",
+ data: {
+ objIds: JSON.stringify(objIds)
+ },
+ dataType: "json",
+ success: function(response){
+ if(response.result){
+ Swal.fire({
+ icon: 'success',
+ title: '삭제 완료',
+ text: response.msg
+ }).then(function(){
+ fn_search();
+ });
+ } else {
+ Swal.fire({
+ icon: 'error',
+ title: '삭제 실패',
+ text: response.msg
+ });
+ }
+ },
+ error: function(xhr, status, error){
+ Swal.fire({
+ icon: 'error',
+ title: '오류',
+ text: '삭제 중 오류가 발생했습니다.'
+ });
+ }
+ });
+ }
+ });
+}
@@ -257,6 +323,7 @@ function fn_FileRegist(objId, docType, docTypeName){
+
@@ -284,25 +351,22 @@ function fn_FileRegist(objId, docType, docTypeName){
-->
|
- |
+ |
|
|
- |
+
|
|
|
|
-
+
+
|
- |
|
-
+
diff --git a/src/com/pms/controller/QualityController.java b/src/com/pms/controller/QualityController.java
index ab9efce..59e6636 100644
--- a/src/com/pms/controller/QualityController.java
+++ b/src/com/pms/controller/QualityController.java
@@ -840,6 +840,15 @@ public class QualityController {
return service.saveCustomerCsAction(request, paramMap);
}
+ /**
+ * 고객 CS 삭제
+ */
+ @ResponseBody
+ @RequestMapping("/quality/deleteCustomerCs.do")
+ public Map deleteCustomerCs(HttpServletRequest request, @RequestParam Map paramMap){
+ return service.deleteCustomerCs(paramMap);
+ }
+
// =====================================================
// ECR 관리
// =====================================================
diff --git a/src/com/pms/mapper/quality.xml b/src/com/pms/mapper/quality.xml
index abf423f..1688de3 100644
--- a/src/com/pms/mapper/quality.xml
+++ b/src/com/pms/mapper/quality.xml
@@ -2092,6 +2092,18 @@
WHERE OBJID = #{OBJID}
+
+
+ DELETE FROM CUSTOMER_CS WHERE OBJID = #{OBJID}
+
+
+
+
+ DELETE FROM ATTACH_FILE_INFO
+ WHERE TARGET_OBJID = #{OBJID}
+ AND DOC_TYPE IN ('CUSTOMER_CS_IMAGE', 'CUSTOMER_CS_ACTION')
+
+
diff --git a/src/com/pms/service/QualityService.java b/src/com/pms/service/QualityService.java
index 000c524..0c7dd6d 100644
--- a/src/com/pms/service/QualityService.java
+++ b/src/com/pms/service/QualityService.java
@@ -1605,6 +1605,58 @@ public class QualityService extends BaseService{
return resultMap;
}
+ /**
+ * 고객 CS 삭제
+ */
+ public Map deleteCustomerCs(Map paramMap){
+ Map resultMap = new HashMap();
+ SqlSession sqlSession = null;
+
+ try{
+ sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
+
+ String objIdsJson = CommonUtils.checkNull(paramMap.get("objIds"));
+
+ if(!objIdsJson.equals("") && !objIdsJson.equals("[]")){
+ org.json.simple.parser.JSONParser parser = new org.json.simple.parser.JSONParser();
+ org.json.simple.JSONArray objIdArr = (org.json.simple.JSONArray) parser.parse(objIdsJson);
+
+ int deletedCount = 0;
+ for(int i = 0; i < objIdArr.size(); i++){
+ String objId = CommonUtils.checkNull(objIdArr.get(i));
+ if(!objId.equals("")){
+ Map deleteParam = new HashMap();
+ deleteParam.put("OBJID", objId);
+
+ // 첨부파일 삭제 (이미지, 조치첨부)
+ sqlSession.delete("quality.deleteCustomerCsAttachFiles", deleteParam);
+
+ // 고객 CS 데이터 삭제
+ int cnt = sqlSession.delete("quality.deleteCustomerCs", deleteParam);
+ if(cnt > 0) deletedCount++;
+ }
+ }
+
+ sqlSession.commit();
+ resultMap.put("result", true);
+ resultMap.put("msg", deletedCount + "건이 삭제되었습니다.");
+ } else {
+ resultMap.put("result", false);
+ resultMap.put("msg", "삭제할 데이터가 없습니다.");
+ }
+
+ }catch(Exception e){
+ resultMap.put("result", false);
+ resultMap.put("msg", "삭제 중 오류가 발생했습니다.");
+ if(sqlSession != null) sqlSession.rollback();
+ e.printStackTrace();
+ }finally{
+ if(sqlSession != null) sqlSession.close();
+ }
+
+ return resultMap;
+ }
+
// =====================================================
// ECR 관리
// =====================================================
|