feat: 우편번호 관리 반영
parent
70d3a56666
commit
c4a8607f23
@ -1,49 +0,0 @@
|
||||
package kr.xit.framework.biz.mng.code.mapper;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngSearchVO;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 우편번호관리 Mapper
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 16. 오전 9:38:07
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Mapper
|
||||
public interface XitZipCodeMngMapper {
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitZipCodeMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public List<XitZipCodeMngVO> findList(XitZipCodeMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public int findListTotCnt(XitZipCodeMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitZipCodeMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public XitZipCodeMngVO findView(XitZipCodeMngVO vo) throws SQLException;
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package kr.xit.framework.biz.mng.code.model;
|
||||
|
||||
import kr.xit.framework.core.model.XitBaseSearchVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 우편번호관리 SearchVO
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 16. 오전 9:44:22
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
public class XitZipCodeMngSearchVO extends XitBaseSearchVO{
|
||||
|
||||
/**
|
||||
* serialVersionUID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
package kr.xit.framework.biz.mng.code.service;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngSearchVO;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 우편번호관리 Service
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 16. 오전 9:38:56
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
public interface XitZipCodeMngService {
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitZipCodeMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public List<XitZipCodeMngVO> findList(XitZipCodeMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public int findListTotCnt(XitZipCodeMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitZipCodeMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public XitZipCodeMngVO findView(XitZipCodeMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 등록</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public void addProc(XitZipCodeMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 일괄 등록</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public void addsProc(InputStream fis) throws Exception;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 수정</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public void modifyProc(XitZipCodeMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 삭제</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public void removeProc(XitZipCodeMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 다건 삭제</pre>
|
||||
* @param zips
|
||||
* @param sns
|
||||
* @return void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
public void removesProc(String zips, String sns);
|
||||
}
|
@ -1,158 +0,0 @@
|
||||
package kr.xit.framework.biz.mng.code.service.impl;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.excel.EgovExcelService;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kr.xit.framework.biz.cmm.model.XitZipVO;
|
||||
import kr.xit.framework.biz.cmm.service.XitFrameCrudService;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngSearchVO;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO;
|
||||
import kr.xit.framework.biz.mng.code.service.XitZipCodeMngService;
|
||||
import kr.xit.framework.biz.mng.code.mapper.XitZipCodeMngMapper;
|
||||
import kr.xit.framework.core.message.XitMessageSource;
|
||||
|
||||
@Service
|
||||
public class XitZipCodeMngServiceImpl implements XitZipCodeMngService {
|
||||
|
||||
@Resource
|
||||
private XitZipCodeMngMapper xitZipCodeMngMapper;
|
||||
@Resource
|
||||
private XitFrameCrudService xitFrameCrudService;
|
||||
@Resource(name="groupIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
@Resource
|
||||
private XitMessageSource xitMessageSource;
|
||||
@Resource(name = "egovExcelService")
|
||||
private EgovExcelService excelZipService;
|
||||
|
||||
@Override
|
||||
public List<XitZipCodeMngVO> findList(XitZipCodeMngSearchVO searchVO) {
|
||||
List<XitZipCodeMngVO> result = null;
|
||||
try {
|
||||
result = xitZipCodeMngMapper.findList(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("사용자그룹관리 목록 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int findListTotCnt(XitZipCodeMngSearchVO searchVO) {
|
||||
int result = 0;
|
||||
try {
|
||||
result = xitZipCodeMngMapper.findListTotCnt(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("사용자그룹관리 목록 총건수 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public XitZipCodeMngVO findView(XitZipCodeMngVO vo) {
|
||||
XitZipCodeMngVO result = null;
|
||||
try {
|
||||
result = xitZipCodeMngMapper.findView(vo);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("사용자그룹관리 상세정보 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProc(XitZipCodeMngVO vo) {
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitZipVO zipVO = convertToCrudVO(vo);
|
||||
zipVO.setFrst_register_id(vo.getFrstRegisterId());
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.addXitZip(zipVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addsProc(InputStream fis) throws Exception {
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.removesXitZip(new XitZipVO());
|
||||
excelZipService.uploadExcel("kr.xit.framework.biz.cmm.dao.XitFrameCrudMapper.addXitZip", fis, 2, 5000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyProc(XitZipCodeMngVO vo) {
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitZipVO zipVO = convertToCrudVO(vo);
|
||||
zipVO.setLast_updusr_id(vo.getLastUpdusrId());
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.modifyXitZip(zipVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeProc(XitZipCodeMngVO vo) {
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitZipVO zipVO = convertToCrudVO(vo);
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.removeXitZip(zipVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removesProc(String zips, String sns) {
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
String [] arrZip = zips.split(";");
|
||||
String [] arrSn = sns.split(";");
|
||||
for(int i=0; i<arrZip.length;i++) {
|
||||
XitZipCodeMngVO vo = new XitZipCodeMngVO();
|
||||
vo.setZip(arrZip[i]);
|
||||
vo.setSn(Integer.valueOf(arrSn[i]));
|
||||
this.removeProc(vo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 메소드 설명: 메뉴VO를 CRUD Service의 VO로 변환 한다.
|
||||
* </pre>
|
||||
*
|
||||
* @return XitZipVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
private XitZipVO convertToCrudVO(XitZipCodeMngVO vo) {
|
||||
XitZipVO crudVO = new XitZipVO();
|
||||
crudVO.setZip (vo.getZip()); //우편번호
|
||||
crudVO.setSn (String.valueOf(vo.getSn())); //순번
|
||||
crudVO.setCtprvn_nm (vo.getCtprvnNm()); //시도 명
|
||||
crudVO.setSigngu_nm (vo.getSignguNm()); //시군구 명
|
||||
crudVO.setEmd_nm (vo.getEmdNm()); //읍면동 명
|
||||
crudVO.setLi_buld_nm (vo.getLiBuldNm()); //리 건물 명
|
||||
crudVO.setLnbr_dong_ho (vo.getLnbrDongHo()); //번지 동 호
|
||||
|
||||
return crudVO;
|
||||
}
|
||||
}
|
@ -1,380 +0,0 @@
|
||||
package kr.xit.framework.biz.mng.code.web;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.support.SessionStatus;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kr.xit.framework.biz.cmm.model.XitLoginVO;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngSearchVO;
|
||||
import kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO;
|
||||
import kr.xit.framework.biz.mng.code.service.XitZipCodeMngService;
|
||||
import kr.xit.framework.core.constants.FrameworkConstants;
|
||||
import kr.xit.framework.core.constants.FrameworkConstants.TILES_TYPE;
|
||||
import kr.xit.framework.core.message.XitMessageSource;
|
||||
import kr.xit.framework.core.utils.XitCmmnUtil;
|
||||
import kr.xit.framework.core.utils.attachfile.XitAttachFileUtil;
|
||||
import kr.xit.framework.core.utils.attachfile.XitAttachFileVO;
|
||||
import kr.xit.framework.core.validation.XitBeanValidator;
|
||||
import kr.xit.framework.support.util.AjaxUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 우편번호관리 Controller
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 16. 오전 9:39:52
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/framework/biz/mng/ccode/")
|
||||
public class XitZipCodeMngController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(XitZipCodeMngController.class);
|
||||
|
||||
@Resource
|
||||
private XitZipCodeMngService xitZipCodeMngService;
|
||||
@Autowired
|
||||
private XitBeanValidator beanValidator;
|
||||
@Resource(name = "xitMessageSource")
|
||||
XitMessageSource xitMessageSource;
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 목록 페이지</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
@GetMapping(value = "ZipCodeMng_list")
|
||||
public void ZipCodeMng_list() {
|
||||
}
|
||||
/*
|
||||
<pre>메소드 설명: 우편번호 관리 목록 페이지 조회</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 최유수
|
||||
* @date: 2020. 8.04.
|
||||
*/
|
||||
@RequestMapping(value = "ZipCodeMng_list.ajax", method={RequestMethod.GET, RequestMethod.POST})
|
||||
@ResponseBody
|
||||
public Map<String, Object> ZipCodeMng_listAjax(@ModelAttribute("searchVO") XitZipCodeMngSearchVO searchVO, ModelMap model) {
|
||||
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(searchVO.getPage()>-1?searchVO.getPage():searchVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(searchVO.getPerPage()>-1?searchVO.getPerPage():searchVO.getPageUnit());
|
||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
try {
|
||||
/**
|
||||
* 조회
|
||||
*/
|
||||
int totCnt = xitZipCodeMngService.findListTotCnt(searchVO);
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
/* ***************************
|
||||
* tui Grid Response Set
|
||||
*************************** */
|
||||
resultMap.put("result", true); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("success.common.select")); //[tui Grid] result message
|
||||
Map<String, Object> data = new HashMap<String, Object>();
|
||||
data.put("contents", xitZipCodeMngService.findList(searchVO)); //[tui Grid] data-contents
|
||||
Map<String, Integer> pagination = new HashMap<String, Integer>();
|
||||
pagination.put("page", searchVO.getPage());
|
||||
pagination.put("totalCount", totCnt);
|
||||
data.put("pagination", pagination); //[tui Grid] data-paging
|
||||
resultMap.put("data", data); //[tui Grid] data
|
||||
/* ***************************
|
||||
* //tui Grid Response Set
|
||||
*************************** */
|
||||
} catch (Exception e) {
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
//tui Grid Response Set
|
||||
resultMap.put("result", false); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("fail.common.select")); //[tui Grid] result message
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 페이지로 이동 한다.</pre>
|
||||
* @param page
|
||||
* @param tilesDef 타일즈 적용 Type(none: tiles 미적용)
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
@RequestMapping(value = "ZipCodeMng_{cmd}", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String ZipCodeMng_page(@PathVariable String cmd
|
||||
, @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef
|
||||
, @ModelAttribute("zip") XitZipCodeMngVO vo
|
||||
, @ModelAttribute XitZipCodeMngSearchVO searchVO
|
||||
, ModelMap model) {
|
||||
switch (cmd) {
|
||||
case "input": //등록 페이지
|
||||
case "inputs": //다건 등록 페이지
|
||||
break;
|
||||
case "edit": //수정 페이지
|
||||
case "view": //상세 페이지
|
||||
model.addAttribute("zip", xitZipCodeMngService.findView(vo));
|
||||
model.addAttribute("message", xitMessageSource.getMessage("success.common.select"));
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
if(!"".equals(tilesDef))
|
||||
tilesDef = "."+tilesDef;
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/code/XitZipCodeMng_"+cmd+tilesDef;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 팝업 페이지 이동 한다.</pre>
|
||||
* @param page
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
@RequestMapping(value = "ZipCodeMng_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String ZipCodeMng_page_popup(@PathVariable String cmd
|
||||
, @ModelAttribute("zip") XitZipCodeMngVO vo
|
||||
, @ModelAttribute XitZipCodeMngSearchVO searchVO
|
||||
, ModelMap model) {
|
||||
switch (cmd) {
|
||||
case "": //
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/code/XitZipCodeMng_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 우편번호관리 CUD 처리</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 16.
|
||||
*/
|
||||
@RequestMapping(value = "ZipCodeMng_{cmd}_proc", method=RequestMethod.POST)
|
||||
public void ZipCodeMng_cmd_proc(@PathVariable String cmd
|
||||
,@ModelAttribute("vo") XitZipCodeMngVO vo
|
||||
,@ModelAttribute("searchVO") XitZipCodeMngSearchVO searchVO
|
||||
,@RequestParam(value="zips", required=false, defaultValue="") String zips
|
||||
,@RequestParam(value="sns", required=false, defaultValue="") String sns
|
||||
,BindingResult bindingResult
|
||||
,SessionStatus status
|
||||
,Model model
|
||||
,HttpServletRequest request
|
||||
,HttpServletResponse response
|
||||
) throws ServletException, IOException {
|
||||
|
||||
/**
|
||||
* 처리 분기
|
||||
*/
|
||||
XitLoginVO loginVO = (XitLoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_list";
|
||||
String message = null;
|
||||
switch (cmd) {
|
||||
case "insert": //등록
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("zip", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_input";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
vo.setFrstRegisterId(loginVO.getUniqId());
|
||||
xitZipCodeMngService.addProc(vo);
|
||||
status.setComplete();
|
||||
message = xitMessageSource.getMessage("success.common.insert");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_input";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_input";
|
||||
}
|
||||
break;
|
||||
|
||||
case "inserts": //다건 등록
|
||||
List<XitAttachFileVO> listAttchFile = null;
|
||||
try {
|
||||
listAttchFile = XitAttachFileUtil.fileUpload(request, XitCmmnUtil.setOsPath("/home/tempUpload"), true, 5);
|
||||
} catch (RuntimeException | IOException e1) {
|
||||
message = xitMessageSource.getMessage("fail.common.msg");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_inputs";
|
||||
}
|
||||
|
||||
if(XitCmmnUtil.isEmpty(listAttchFile)) {
|
||||
message = xitMessageSource.getMessage("fail.common.msg");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_inputs";
|
||||
}else {
|
||||
FileInputStream fis = null;
|
||||
try {
|
||||
XitAttachFileVO fileVO = listAttchFile.get(0);
|
||||
File file = new File(fileVO.getFileFullPath());
|
||||
fis = new FileInputStream(file);
|
||||
if (!"".equals(fileVO.getFileName())) {
|
||||
// 2011.10.07 업로드 파일에 대한 확장자를 체크
|
||||
if (fileVO.getFileName().toLowerCase().endsWith(".xls") || fileVO.getFileName().toLowerCase().endsWith(".xlsx")) {
|
||||
xitZipCodeMngService.addsProc(fis);
|
||||
status.setComplete();
|
||||
message = xitMessageSource.getMessage("success.common.insert");
|
||||
} else {
|
||||
//log.info("xls, xlsx 파일 타입만 등록이 가능합니다.");
|
||||
message = xitMessageSource.getMessage("fail.common.msg");
|
||||
model.addAttribute("message", message);
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_inputs";
|
||||
}
|
||||
|
||||
} else {
|
||||
message = xitMessageSource.getMessage("fail.common.msg");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} finally {
|
||||
try {
|
||||
if (fis != null) {
|
||||
fis.close();
|
||||
}
|
||||
} catch (IOException ee) {
|
||||
logger.debug("{}", ee);
|
||||
}
|
||||
}
|
||||
}
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_inputs";
|
||||
break;
|
||||
|
||||
case "update": //수정
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("zip", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_edit";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
vo.setLastUpdusrId(loginVO.getUniqId());
|
||||
xitZipCodeMngService.modifyProc(vo);
|
||||
status.setComplete();
|
||||
message = xitMessageSource.getMessage("success.common.update");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "delete": //삭제
|
||||
//처리
|
||||
try {
|
||||
xitZipCodeMngService.removeProc(vo);
|
||||
status.setComplete();
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
break;
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
sLocationUrl = "forward:/framework/biz/mng/code/ZipCodeMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "deletes": //다건 삭제
|
||||
//처리
|
||||
try {
|
||||
xitZipCodeMngService.removesProc(zips, sns);
|
||||
status.setComplete();
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 응답 설정
|
||||
*/
|
||||
/* ============================
|
||||
* 2020.09.10 박민규
|
||||
* 서버 호출 방식에 관계 없이 응답처리가 가능하도록 개선
|
||||
* -기존 호출방식도 유지하며 ajax로 서버호출 시 json 으로 응답처리가 가능하도록 개선
|
||||
* [AS-IS] 반환타입 String, return url에 "forward"구문으로 처리
|
||||
* [TO-BE] 반환타입 void, DispatchServlet으로 forward 처리, ajax 호출인 경우 json응답처리 서비스로 forward
|
||||
============================ */
|
||||
//2020.09.10 주석처리
|
||||
// model.addAttribute("message", message);
|
||||
// return sLocationUrl;
|
||||
model.addAttribute("message", message);
|
||||
if(AjaxUtils.isAjaxRequest(request)){ //ajax 요청시
|
||||
//반환 데이터 설정
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("message", message);
|
||||
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
|
||||
}else { //submit 요청 시
|
||||
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="kr.xit.framework.biz.mng.code.mapper.XitZipCodeMngMapper">
|
||||
<!-- SQL 페이징 코드 -->
|
||||
<sql id="pageBefore">
|
||||
SELECT LIST.* FROM(
|
||||
</sql>
|
||||
|
||||
<sql id="pageAfter">
|
||||
) LIST LIMIT #{firstIndex}, #{recordCountPerPage}
|
||||
</sql>
|
||||
|
||||
|
||||
<sql id="findList_SELECT">
|
||||
SELECT A.ZIP AS "zip"
|
||||
,A.SN AS "sn"
|
||||
,A.CTPRVN_NM AS "ctprvnNm"
|
||||
,A.SIGNGU_NM AS "signguNm"
|
||||
,A.EMD_NM AS "emdNm"
|
||||
,A.LI_BULD_NM AS "liBuldNm"
|
||||
,A.LNBR_DONG_HO AS "lnbrDongHo"
|
||||
</sql>
|
||||
<sql id="findList_FROM">
|
||||
FROM XIT_ZIP A
|
||||
</sql>
|
||||
<sql id="findList_WHERE">
|
||||
<if test="@kr.xit.framework.core.utils.XitCmmnUtil@notEmpty(searchKeyword)">
|
||||
<if test="'1'.toString() == searchCondition">
|
||||
AND A.ZIP = #{searchKeyword}
|
||||
</if>
|
||||
<if test="'2'.toString() == searchCondition">
|
||||
AND A.CTPRVN_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</if>
|
||||
<if test="'3'.toString() == searchCondition">
|
||||
AND A.SIGNGU_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</if>
|
||||
<if test="'4'.toString() == searchCondition">
|
||||
AND A.EMD_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</if>
|
||||
<if test="'5'.toString() == searchCondition">
|
||||
AND A.LI_BULD_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</if>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findList" resultType="kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO">
|
||||
/** XitZipCodeMngMapper.findList */
|
||||
/** 우편번호관리 목록 조회 */
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageBefore" />
|
||||
</if>
|
||||
|
||||
<include refid="findList_SELECT"/>
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1=1
|
||||
<include refid="findList_WHERE"/>
|
||||
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageAfter" />
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findListTotCnt" resultType="int">
|
||||
/** XitZipCodeMngMapper.findListTotCnt */
|
||||
/** 우편번호관리 목록 총건수 조회 */
|
||||
SELECT COUNT(1) AS "CNT"
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1=1
|
||||
<include refid="findList_WHERE"/>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findView" resultType="kr.xit.framework.biz.mng.code.model.XitZipCodeMngVO">
|
||||
/** XitZipCodeMngMapper.findView */
|
||||
/** 우편번호관리 상세정보 조회 */
|
||||
<include refid="findList_SELECT"/>
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1=1
|
||||
AND ZIP = #{zip}
|
||||
AND SN = #{sn }
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
@ -1,263 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ufn" uri="/WEB-INF/tlds/egovfn.tld"%>
|
||||
<%@ taglib prefix="orderby" uri="/WEB-INF/tlds/orderby.tld" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
|
||||
<c:url var="ImgUrl" value="/resources/"/>
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
|
||||
<validator:javascript formName="zip" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
<form:form commandName="zip" name="zip" method="post">
|
||||
|
||||
<input name="cmd" type="hidden" value="Modify">
|
||||
<input name="zip" type="hidden" value="${zip.zip}">
|
||||
<form:hidden path="sn"/>
|
||||
<form:hidden path="ctprvnNm"/>
|
||||
<form:hidden path="signguNm"/>
|
||||
<form:hidden path="emdNm"/>
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="popup_inner" style="max-width: 600px;">
|
||||
<p class="pop_title">우편번호 상세</p>
|
||||
|
||||
<table class="tbl03">
|
||||
<caption>우편번호 상세</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap >우편번호<img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap>
|
||||
<c:out value='${fn:substring(zip.zip, 0,3)}'/>-<c:out value='${fn:substring(zip.zip, 3,6)}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap >시도명<img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<c:out value='${zip.ctprvnNm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap >시군구명<img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<c:out value='${zip.signguNm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap >읍면동명<img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<c:out value='${zip.emdNm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" nowrap scope="row" ><label for="liBuldNm">리건물명</label></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<input name="liBuldNm" type="text" size="60" value="<c:out value='${zip.liBuldNm}'/>" maxlength="60" id="liBuldNm" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" scope="row" nowrap ><label for="lnbrDongHo">번지동호</label></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<input name="lnbrDongHo" type="text" size="20" value="<c:out value='${zip.lnbrDongHo}'/>" maxlength="20" id="lnbrDongHo">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="popup_btn">
|
||||
<span class="flr">
|
||||
<a href="#" class="btn blue" id="update_btn">변경</a>
|
||||
<a href="#" class="btn red" id="btnRemove">삭제</a>
|
||||
<a href="#" class="btn lightgray" id="btnClose">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
</form:form>
|
||||
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
$(document).ready(function(){
|
||||
XitZipCodeMng_edit.init();
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* 우편번호 관리 수정화면 Functions
|
||||
******************************* */
|
||||
var XitZipCodeMng_edit = {
|
||||
/* ========================
|
||||
* 초기화
|
||||
======================== */
|
||||
init : function(){
|
||||
//닫기 버튼 EVENT 설정
|
||||
$("#btnClose").on({
|
||||
click : function(){
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
//입력값 유효성 설정
|
||||
XitZipCodeMng_edit.fn_setInputLimit();
|
||||
|
||||
//저장 버튼 Event 설정
|
||||
$('#btnSave').on({
|
||||
click: function(){
|
||||
if (confirm('등록하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_edit.addData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#update_btn').on({
|
||||
click: function(){
|
||||
if (confirm('수정하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_edit.modifyData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#btnRemove').on({
|
||||
click: function(){
|
||||
if (confirm('삭제하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_edit.removeData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 입력값 언어 선택
|
||||
======================== */
|
||||
fn_setInputLimit : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 조회
|
||||
======================== */
|
||||
findData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 등록
|
||||
======================== */
|
||||
addData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_proc.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 수정
|
||||
======================== */
|
||||
modifyData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_update_proc.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 삭제
|
||||
======================== */
|
||||
removeData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_delete_proc.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 유효성 검증
|
||||
-flag에 따라 유효성 검증을 분기처리한다.
|
||||
======================== */
|
||||
validate : function(flag){
|
||||
switch(flag){
|
||||
case 'update' : //수정
|
||||
break;
|
||||
default : break;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 이동
|
||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
||||
======================== */
|
||||
pageLink: function(flag, url, params){
|
||||
switch (flag) {
|
||||
case "move": //페이지 이동
|
||||
break;
|
||||
case "popup": //팝업 OPEN
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 Open
|
||||
-팝업페이지를 Open 한다.
|
||||
======================== */
|
||||
pagePopup: function(flag, url, params){
|
||||
var popUrl = url;
|
||||
if(!(params == undefined || params == null)){
|
||||
popUrl += "?";
|
||||
popUrl += params;
|
||||
}
|
||||
var popTitle = '';
|
||||
var popOption = '';
|
||||
switch (flag) {
|
||||
case "": //주소 팝업 OPEN
|
||||
popTitle = "";
|
||||
popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px;";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
window.open(popUrl, popTitle ,popOption);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
@ -1,260 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ufn" uri="/WEB-INF/tlds/egovfn.tld"%>
|
||||
<%@ taglib prefix="orderby" uri="/WEB-INF/tlds/orderby.tld" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
|
||||
<c:url var="ImgUrl" value="/resources/"/>
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
|
||||
<validator:javascript formName="zip" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
<form:form commandName="zip" name="zip" method="post">
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="popup_inner" style="max-width: 600px;">
|
||||
<p class="pop_title">우편번호 등록</p>
|
||||
|
||||
<table class="tbl03">
|
||||
<caption>우편번호 등록</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap ><label for="zip">우편번호</label><img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<input style="width: 30%" type="text" id="zip" name="zip" size="6" maxlength="6" />
|
||||
<form:errors path="zip"/> * 우편번호의 '-'를 제외하고 입력하시오.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap ><label for="ctprvnNm">시도명</label><img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<form:input path="ctprvnNm" size="20" maxlength="20" id="ctprvnNm"/>
|
||||
<form:errors path="ctprvnNm"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap ><label for="signguNm">시군구명</label><img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<form:input path="signguNm" size="20" maxlength="20" id="signguNm"/>
|
||||
<form:errors path="signguNm"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap ><label for="emdNm">읍면동명</label><img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<form:input path="emdNm" size="30" maxlength="30" id="emdNm"/>
|
||||
<form:errors path="emdNm"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" scope="row" nowrap ><label for="liBuldNm">리건물명</label></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<form:input path="liBuldNm" size="60" maxlength="60" id="liBuldNm"/>
|
||||
<form:errors path="liBuldNm"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="20%" height="23" scope="row" nowrap ><label for="lnbrDongHo">번지동호</label></th>
|
||||
<td width="80%" nowrap="nowrap">
|
||||
<form:input path="lnbrDongHo" size="20" maxlength="20" id="lnbrDongHo"/>
|
||||
<form:errors path="lnbrDongHo"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="popup_btn">
|
||||
<span class="flr">
|
||||
<a href="#" class="btn blue" id="btnSave">저장</a>
|
||||
<a href="#" class="btn lightgray" id="btnClose">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
</form:form>
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
$(document).ready(function(){
|
||||
XitZipCodeMng_input.init();
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* 우편번호 관리 등록화면 Functions
|
||||
******************************* */
|
||||
var XitZipCodeMng_input = {
|
||||
/* ========================
|
||||
* 초기화
|
||||
======================== */
|
||||
init : function(){
|
||||
//닫기 버튼 EVENT 설정
|
||||
$("#btnClose").on({
|
||||
click : function(){
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
//입력값 유효성 설정
|
||||
XitZipCodeMng_input.fn_setInputLimit();
|
||||
|
||||
//저장 버튼 Event 설정
|
||||
$('#btnSave').on({
|
||||
click: function(){
|
||||
if (confirm('등록하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_input.addData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#update_btn').on({
|
||||
click: function(){
|
||||
if (confirm('수정하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_input.modifyData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#btnRemove').on({
|
||||
click: function(){
|
||||
if (confirm('삭제하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_input.removeData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 입력값 언어 선택
|
||||
======================== */
|
||||
fn_setInputLimit : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 조회
|
||||
======================== */
|
||||
findData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 등록
|
||||
======================== */
|
||||
addData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_proc.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 수정
|
||||
======================== */
|
||||
modifyData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_update.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 삭제
|
||||
======================== */
|
||||
removeData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_delete.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 유효성 검증
|
||||
-flag에 따라 유효성 검증을 분기처리한다.
|
||||
======================== */
|
||||
validate : function(flag){
|
||||
switch(flag){
|
||||
case 'update' : //수정
|
||||
break;
|
||||
default : break;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 이동
|
||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
||||
======================== */
|
||||
pageLink: function(flag, url, params){
|
||||
switch (flag) {
|
||||
case "move": //페이지 이동
|
||||
break;
|
||||
case "popup": //팝업 OPEN
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 Open
|
||||
-팝업페이지를 Open 한다.
|
||||
======================== */
|
||||
pagePopup: function(flag, url, params){
|
||||
var popUrl = url;
|
||||
if(!(params == undefined || params == null)){
|
||||
popUrl += "?";
|
||||
popUrl += params;
|
||||
}
|
||||
var popTitle = '';
|
||||
var popOption = '';
|
||||
switch (flag) {
|
||||
case "": //주소 팝업 OPEN
|
||||
popTitle = "";
|
||||
popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px;";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
window.open(popUrl, popTitle ,popOption);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
@ -1,231 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ufn" uri="/WEB-INF/tlds/egovfn.tld"%>
|
||||
<%@ taglib prefix="orderby" uri="/WEB-INF/tlds/orderby.tld" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
|
||||
<c:url var="ImgUrl" value="/resources/"/>
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
|
||||
<validator:javascript formName="zip" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
<form name="Form" action="<c:url value='/framework/biz/mng/code/ZipCodeMng_inserts_proc.do'/>" method="post" enctype="multipart/form-data" >
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="popup_inner" style="max-width: 600px;">
|
||||
<p class="pop_title">우편번호 등록</p>
|
||||
|
||||
<table class="tbl03">
|
||||
<caption>우편번호 등록</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th width="20%" height="23" class="required" scope="row" nowrap ><label for="fileNm">우편번호 엑셀파일</label><img src="${ImgUrl}/required.gif" alt="필수" width="15" height="15"></th>
|
||||
<td><input name="fileNm" type="file" id="fileNm"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="popup_btn">
|
||||
<span class="flr">
|
||||
<a href="#" class="btn blue" id="btnSave">저장</a>
|
||||
<a href="#" class="btn lightgray" id="btnClose">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
</form>
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
$(document).ready(function(){
|
||||
XitZipCodeMng_inputs.init();
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* 우편번호 관리 다건 등록 Functions
|
||||
******************************* */
|
||||
var XitZipCodeMng_inputs = {
|
||||
/* ========================
|
||||
* 초기화
|
||||
======================== */
|
||||
init : function(){
|
||||
//닫기 버튼 EVENT 설정
|
||||
$("#btnClose").on({
|
||||
click : function(){
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
//입력값 유효성 설정
|
||||
XitZipCodeMng_inputs.fn_setInputLimit();
|
||||
|
||||
//저장 버튼 Event 설정
|
||||
$('#btnSave').on({
|
||||
click: function(){
|
||||
var varForm = document.all["Form"];
|
||||
|
||||
// 파일 확장명 확인
|
||||
var arrExt = "xls";
|
||||
var objInput = varForm.elements["fileNm"];
|
||||
var strFilePath = objInput.value;
|
||||
var arrTmp = strFilePath.split(".");
|
||||
var strExt = arrTmp[arrTmp.length-1].toLowerCase();
|
||||
|
||||
if (arrExt != strExt) {
|
||||
alert("엑셀 파일을 첨부하지 않았습니다.\n확인후 다시 처리하십시오. ");
|
||||
abort;
|
||||
}
|
||||
|
||||
varForm.action = "/framework/biz/mng/code/ZipCodeMng_inserts_proc.do";
|
||||
varForm.submit();
|
||||
}
|
||||
});
|
||||
$('#update_btn').on({
|
||||
click: function(){
|
||||
if (confirm('수정하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_inputs.modifyData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#btnRemove').on({
|
||||
click: function(){
|
||||
if (confirm('삭제하시겠습니까?')) {
|
||||
if(!validateZip(document.zip)){
|
||||
return;
|
||||
}else{
|
||||
XitZipCodeMng_inputs.removeData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 입력값 언어 선택
|
||||
======================== */
|
||||
fn_setInputLimit : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 조회
|
||||
======================== */
|
||||
findData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 등록
|
||||
======================== */
|
||||
addData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_proc.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 수정
|
||||
======================== */
|
||||
modifyData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_update.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 삭제
|
||||
======================== */
|
||||
removeData : function(){
|
||||
var param = $("#zip").serialize();
|
||||
$.ajax({
|
||||
url : "<c:url value='/framework/biz/mng/code/ZipCodeMng_insert_delete.do'/>",
|
||||
data : param,
|
||||
type : "post",
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
alert(data.resp.message);
|
||||
window.opener.XitZipCodeMng_list.findData();
|
||||
window.close();
|
||||
},
|
||||
error: function(){
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 유효성 검증
|
||||
-flag에 따라 유효성 검증을 분기처리한다.
|
||||
======================== */
|
||||
validate : function(flag){
|
||||
switch(flag){
|
||||
case 'update' : //수정
|
||||
break;
|
||||
default : break;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 이동
|
||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
||||
======================== */
|
||||
pageLink: function(flag, url, params){
|
||||
switch (flag) {
|
||||
case "move": //페이지 이동
|
||||
break;
|
||||
case "popup": //팝업 OPEN
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 Open
|
||||
-팝업페이지를 Open 한다.
|
||||
======================== */
|
||||
pagePopup: function(flag, url, params){
|
||||
var popUrl = url;
|
||||
if(!(params == undefined || params == null)){
|
||||
popUrl += "?";
|
||||
popUrl += params;
|
||||
}
|
||||
var popTitle = '';
|
||||
var popOption = '';
|
||||
switch (flag) {
|
||||
case "": //주소 팝업 OPEN
|
||||
popTitle = "";
|
||||
popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px;";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
window.open(popUrl, popTitle ,popOption);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
@ -1,300 +0,0 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
|
||||
<form name="listForm" id="listForm" method="post">
|
||||
<input type="hidden" id="searchAt" name="searchAt" value="Y">
|
||||
<input type="hidden" id="searchGubun" name="searchGubun" value="excel">
|
||||
<div class="search r2">
|
||||
|
||||
<table>
|
||||
<caption>검색조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 8%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 8%;"/>
|
||||
<col style="width: ;"/>
|
||||
<col style="width: 8%;"/>
|
||||
<col style="width: ;"/>
|
||||
<col style="width: 7%;"/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<td colspan="6">
|
||||
<select id="searchCondition" name="searchCondition" onchange="onSearchCondition()" title="조회조건">
|
||||
<option selected value=''>--선택하세요--</option>
|
||||
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>우편번호</option>
|
||||
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>시도명</option>
|
||||
<option value='3' <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>>시군구명</option>
|
||||
<option value='4' <c:if test="${searchVO.searchCondition == '4'}">selected="selected"</c:if>>읍면동명</option>
|
||||
<option value='5' <c:if test="${searchVO.searchCondition == '5'}">selected="selected"</c:if>>리건물명</option>
|
||||
</select>
|
||||
<input name="searchKeyword" title="검색어" type="text" value="<c:out value="${userSearchVO.searchKeyword}"/>" />
|
||||
</td>
|
||||
<td>
|
||||
<input type="button" id="btnSearch" class="btn_search" title="검색" value="검색" />
|
||||
</td>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //검색 -->
|
||||
|
||||
<div class="page_btn">
|
||||
<span class="fll">
|
||||
<a href="#" class="btn darkgray" id="btnRegist" title="권한등록">등록</a>
|
||||
<a href="#" class="btn lightgray" id="excel_btn" title="권한취소">엑셀등록</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //버튼 및 페이지정보 -->
|
||||
|
||||
<!-- 데이터 출력 -->
|
||||
<div id="grid"></div>
|
||||
</form>
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
$(document).ready(function(){
|
||||
XitZipCodeMng_list.init();
|
||||
});
|
||||
/* *******************************
|
||||
* 우편번호 관리 Functions
|
||||
******************************* */
|
||||
var XitZipCodeMng_list = {
|
||||
init : function(){
|
||||
/**
|
||||
* Grid Config Settings
|
||||
*/
|
||||
//Grid Style Set
|
||||
Grid.applyTheme('striped'); // Call API of static method
|
||||
//Grid 체크박스 checked EventListner
|
||||
instance.on('check', function(ev) {
|
||||
// console.log('check!', ev);
|
||||
});
|
||||
//Grid 체크박스 unchecked EventListner
|
||||
instance.on('uncheck', function(ev) {
|
||||
// console.log('uncheck!', ev);
|
||||
});
|
||||
//Grid 체크박스 focus이동 EventListner
|
||||
instance.on('focusChange', function(ev) {
|
||||
// console.log('change focused cell!', ev);
|
||||
});
|
||||
|
||||
/**
|
||||
* Elements EventListener Settings
|
||||
*/
|
||||
//검색 Event 설정
|
||||
$('#btnSearch').on({
|
||||
click: function(){
|
||||
XitZipCodeMng_list.findData();
|
||||
}
|
||||
});
|
||||
//등록 Event 설정
|
||||
$("#btnRegist").click(function(){
|
||||
XitZipCodeMng_list.pagePopup('input', "<c:url value='/framework/biz/mng/code/ZipCodeMng_input.do'/>");
|
||||
});
|
||||
//엑셀등록 Event 설정
|
||||
$("#excel_btn").click(function(){
|
||||
XitZipCodeMng_list.pagePopup('excel', "<c:url value='/framework/biz/mng/code/ZipCodeMng_inputs.do'/>");
|
||||
});
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 조회
|
||||
======================== */
|
||||
findData : function(){
|
||||
instance.reloadData();
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 등록
|
||||
======================== */
|
||||
addData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 수정
|
||||
======================== */
|
||||
modifyData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 데이터 삭제
|
||||
======================== */
|
||||
removeData : function(){
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 이동
|
||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
||||
======================== */
|
||||
pageLink: function(flag, url, params){
|
||||
switch (flag) {
|
||||
case "move": //페이지 이동
|
||||
document.listForm.searchKeyword.value = "";
|
||||
document.listForm.action = url;
|
||||
document.listForm.submit();
|
||||
break;
|
||||
case "popup": //팝업 OPEN
|
||||
XitZipCodeMng_list.pagePopup(flag, url, params);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
/* ========================
|
||||
* 페이지 Open
|
||||
-팝업페이지를 Open 한다.
|
||||
======================== */
|
||||
pagePopup: function(flag, url, params){
|
||||
var popUrl = url;
|
||||
popUrl += "?tilesDef=popup";
|
||||
if(!(params == undefined || params == null)){
|
||||
popUrl += "&";
|
||||
popUrl += params;
|
||||
}
|
||||
var popTitle = '';
|
||||
switch (flag) {
|
||||
case "input": //입력
|
||||
popTitle = "우편번호 등록";
|
||||
popOption = "scrollbars = yes, top=100px, left=100px, height=550px, width=950px;";
|
||||
break;
|
||||
case "excel"://엑셀
|
||||
popTitle = "우편번호 상세";
|
||||
popOption = "scrollbars = yes, top=100px, left=100px, height=550px, width=950px;";
|
||||
break;
|
||||
case "detail"://상세
|
||||
popTitle = "우편번호 상세";
|
||||
popOption = "scrollbars = yes, top=100px, left=100px, height=550px, width=950px;";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
window.open(popUrl, popTitle ,popOption);
|
||||
},
|
||||
/* ========================
|
||||
* 상세 팝업 오픈 버튼 클릭
|
||||
-상세 팝업을 OPEN 한다.
|
||||
======================== */
|
||||
fnClickZipBtn: function(props){
|
||||
var rowData = props.grid.getRow(props.rowKey);
|
||||
var params = "";
|
||||
params += "zip=" + rowData.zip;
|
||||
params += "&sn=" + rowData.sn;
|
||||
XitZipCodeMng_list.pagePopup('detail', "<c:url value='/framework/biz/mng/code/ZipCodeMng_edit.do'/>", params);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ******************************
|
||||
* Grid 환경 설정
|
||||
****************************** */
|
||||
var GridConfig = new XitTuiGridConfig();
|
||||
GridConfig.setOptGridId('grid'); //Grid를 출력할 Element ID(해당 Element에 Grid가 출력 됨)
|
||||
GridConfig.setOptGridHeight(270); //Grid 높이(단위: px)
|
||||
GridConfig.setOptRowHeight(20); //Grid row 높이(단위: px)
|
||||
GridConfig.setOptRowHeaderType('rowNum'); //Row 첫번째 Cell 타입(rowNum: 순번, checkbox: 체크박스, '': 아무것도 출력 안함)
|
||||
GridConfig.setOptPageOptions({ //페이징(Pagination) 옵션
|
||||
useClient: true //Client Paging 여부(true 설정 시 클라이언트 자체 페이징 처리. 서버호출 X)
|
||||
,perPage: 10 //페이지당 표시 건수
|
||||
});
|
||||
GridConfig.setOptColumnOptions({ //컬럼고정 옵션
|
||||
});
|
||||
GridConfig.setOptDataSource({ //DataSource
|
||||
/* -----------------------
|
||||
* DataSource Config Setting
|
||||
* -설정항목은 Global 적용 되며
|
||||
* -API별 적용을 원할 경우 각 API 안에 작성 가능(우선순위: 개별->글로벌)
|
||||
----------------------- */
|
||||
//contentType: 'application/json',
|
||||
//headers: { 'x-custom-header': 'custom-header' },
|
||||
initialRequest: true, //디폴트 값은 true(false: 인스턴스 생성 시 요청은 보내지 않음. 이런 경우 "instance.reloadData()"를 사용하여 요청 가능)
|
||||
//serializer: function(params) {
|
||||
//return $(document.listForm).serialize();
|
||||
// },
|
||||
/* -----------------------
|
||||
* DataSource API Setting
|
||||
----------------------- */
|
||||
api: {
|
||||
readData : {
|
||||
url: '<c:url value="/framework/biz/mng/code/ZipCodeMng_list.ajax"/>', method: 'GET'
|
||||
,initParams: {}
|
||||
,serializer: function(params) {
|
||||
var form = document.listForm;
|
||||
var serializeParam = $(form).serialize();
|
||||
for(var key in params){
|
||||
if(key=='perPage'){
|
||||
if(params[key]==undefined)
|
||||
serializeParam +='&'+key+'=-1';
|
||||
else
|
||||
serializeParam +='&'+key+'='+params[key];
|
||||
}else
|
||||
serializeParam +='&'+key+'='+params[key];
|
||||
}
|
||||
return serializeParam;
|
||||
}
|
||||
}
|
||||
,createData: { url: '', method: 'POST'}
|
||||
,updateData: { url: '', method: 'PUT'}
|
||||
,modifyData: { url: '', method: 'PUT'}
|
||||
,deleteData: { url: '', method: 'DELETE'}
|
||||
}
|
||||
});
|
||||
GridConfig.setOptHeader({
|
||||
}); //Grid 헤더 정보(헤더 셀 병합 필요 시 설정)
|
||||
GridConfig.setOptColumns([ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
||||
{
|
||||
header: '우편번호',
|
||||
name: 'userId',
|
||||
width: 120,
|
||||
sortable: true,
|
||||
sortingType: 'desc',
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter : function(props){
|
||||
var rowData = props.grid.getRow(props.rowKey);
|
||||
var obj = {
|
||||
formatter : rowData.zip.substring(0,3)+ "-"+ rowData.zip.substring(3,6)
|
||||
,element : "text"
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
,eventFunction: XitZipCodeMng_list.fnClickZipBtn //function(){alert("1234")}
|
||||
,eventType : "click"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '주소',
|
||||
name: 'userNm',
|
||||
minWidth: 300,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter : function(props){
|
||||
var rowData = props.grid.getRow(props.rowKey);
|
||||
var obj = {
|
||||
formatter : rowData.ctprvnNm +' '+ rowData.signguNm +' '+ rowData.emdNm +' '+ rowData.liBuldNm +' '+ rowData.lnbrDongHo
|
||||
,element : "text"
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
,eventFunction: XitZipCodeMng_list.fnClickZipBtn //function(props){XitZipCodeMng_list.fnClickDetail(props)} //function(){alert("1234")}
|
||||
,eventType : "click"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
]);
|
||||
var Grid = tui.Grid;
|
||||
var instance = GridConfig.instance(Grid); //Grid 인스턴스
|
||||
|
||||
/* ********************************************************
|
||||
* 처리결과메시지 출력
|
||||
******************************************************** */
|
||||
<c:if test="${!empty message}">alert("${message}");</c:if>
|
||||
|
||||
</script>
|
@ -0,0 +1,72 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="popup_inner" style="max-width: 500px;">
|
||||
<p class="pop_title">우편번호 Excel 파일 업로드</p>
|
||||
<form>
|
||||
<table class="tbl03">
|
||||
<caption>우편번호 Excel 파일 업로드</caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%"/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="required" scope="row" nowrap >
|
||||
<label for="file">우편번호 엑셀파일</label>
|
||||
</th>
|
||||
<td>
|
||||
<input type="file" name="file" id="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="popup_btn">
|
||||
<span class="flr p_flr">
|
||||
<a href="#" class="btn blue" id="btnSave">엑셀파일 업로드</a>
|
||||
<a href="#" class="btn lightgray" id="btnClose" onclick="window.close(); return false;">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
|
||||
<script type="text/javaScript">
|
||||
|
||||
$('#btnSave').on('click', () => {
|
||||
const uploadFile = $("#file")[0];
|
||||
console.log("uploadFile: ", uploadFile.files)
|
||||
|
||||
if(uploadFile.files.length === 0){
|
||||
alert("파일은 선택해주세요");
|
||||
return false;
|
||||
}
|
||||
const formData = new FormData();
|
||||
formData.append("file", uploadFile.files[0]);
|
||||
|
||||
for(let key of formData.keys()) {
|
||||
console.log(key);
|
||||
}
|
||||
for(let value of formData.values()) {
|
||||
console.log(value);
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: '<c:url value="/framework/biz/mng/code/uploadZipCodeByExcel.do"/>',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data: formData,
|
||||
success: function(res){
|
||||
if(res.result) alert('실제 업로드 처리 구현 필요');
|
||||
},
|
||||
err: function(err){
|
||||
console.log("err:", err)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
</script>
|
Loading…
Reference in New Issue