티스토리 뷰

/**
 * 시설물 정보 저장하기
 * @param filterJSON
 * @return
 */
@SuppressWarnings("unchecked")
@RequestMapping(value = "/saveInfo" , method = RequestMethod.POST)
public @ResponseBody ModelAndView saveFacilityInfo(@RequestBody String filterJSON,HttpServletRequest request) {
	ModelAndView mv = new ModelAndView("jsonView");
	try{
		Map<String, Object> filter = JsonUtil.convertJsonToObject(filterJSON);
		List<HashMap<String,Object>> mergeArray = (List<HashMap<String,Object>> ) filter.get("mergeArray");
		List<HashMap<String,Object>> deleteArray = (List<HashMap<String,Object>> ) filter.get("deleteArray");
		for(int i=0;i<mergeArray.size();i++){
			if(mergeArray.get(i) != null){
				HashMap<String,Object> paramMap = mergeArray.get(i);
				paramMap.put("daoNm", _DEFAULT_DAO);
				facilityService.saveFacilityInfo(paramMap);
			}
		}
		
		for(int i=0;i<deleteArray.size();i++){
			if(deleteArray.get(i) != null){
				HashMap<String,Object> paramMap = deleteArray.get(i);
				paramMap.put("daoNm", _DEFAULT_DAO);
				facilityService.deleteFacilityInfo(paramMap);
			}
		}
		mv.addObject("msg","저장되었습니다.");
	}catch(Exception e){
		e.printStackTrace();
		mv.addObject("msg", "저장에 실패하였습니다.");
		mv.addObject("error", "fail");
	}
	return mv;
}
// validation 후 호출
function saveInfo() {
	param = $("#leakInfoForm").serializeObject();
	param.LRS_YMD = param.LRS_YMD.replaceAll('/','');
	param.LEK_YMD = param.LEK_YMD.replaceAll('/','');
	param.RES_YMD = param.RES_YMD.replaceAll('/','');
	param.REE_YMD = param.REE_YMD.replaceAll('/','');
	var allData = {"mergeArray" : [param],"deleteArray" : []};
	var param = JSON.stringify(allData);
	
	$.ajax({
		type : "POST",
		data: param,
		dataType : "json",
		contentType : "application/json;charset=UTF-8",
		url : "/facility/leakPs/saveInfo",
		success : function(data){
			alert(data.msg);
			if (!data.error) doSearch();
		},
		error : function(request, error) {
			console.log("message: " + request.responseText + ", error:" + error);
		}
	});
}
// 삭제 버튼
$('#deleteLeak').on('click', function(e){
	e.preventDefault();
	var dataGrid = gridRoot.getDataGrid();
	var sIndex = dataGrid.getSelectedIndices();
	if (!sIndex) {
		alert("삭제할 누수지점정보를 선택하세요."); 
		return;
	}
	
	if(confirm('삭제를 진행하시겠습니까?')) {
	    var item = gridRoot.getItemAt(sIndex[0]);
	    ftrIds = item.FTR_IDS;
		
		var allData = {"mergeArray" : [],"deleteArray" : [item]};
	    var param = JSON.stringify(allData);
	    
    	$.ajax({
    		type : "POST",
    		data: param,
    		dataType : "json",
    		contentType : "application/json;charset=UTF-8",
    		url : "/facility/leakPs/saveInfo",
    		success : function(data){
    			alert('삭제되었습니다.');
			   	gridRoot.removeItemAt(sIndex[0]);
				gisModule.removeFeatureById("pointLayer",ftrIds);
				$("#leakInfoForm")[0].reset(); // 상세조회 값 reset
    		},
    		error : function(request, error) {
    			console.log("message: " + request.responseText + ", error:" + error);
    		}
    	});
	}
});
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함