/** * FaEquipmentServiceImpl.java * @author 임새미 * @since 2016. 10. 13. * * 수정일 수정자 수정내용 * ------------- -------- --------------------------- * 2016. 10. 13. 임새미 최초생성 * */ package kcg.faics.equip.service.impl; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import kcg.faics.board.util.BoardVOHandler; import kcg.faics.board.vo.BoardFileVO; import kcg.faics.cmmn.bbs.BaseFileService; import kcg.faics.cmmn.egov.file.EgovFileMngUtil; import kcg.faics.cmmn.file.FileUploadUtil; import kcg.faics.cmmn.service.impl.CodeMapper; import kcg.faics.equip.service.EquipmentService; import kcg.faics.equip.vo.EquipSearchVO; import kcg.faics.equip.vo.EquipVO; /** * FaEquipmentServiceImpl.java * @author 임새미 * @since 2016. 10. 13. * * 수정일 수정자 수정내용 * ------------- -------- --------------------------- * 2016. 10. 13. 임새미 최초생성 * */ @Service("equipmentService") public class EquipmentServiceImpl implements EquipmentService { @Resource(name = "equipmentMapper") EquipmentMapper equipmentMapper; @Resource(name = "codeMapper") CodeMapper codeMapper; /** * EgovFileMngUtil - 파일 업로드 처리에 관한 Util 클래스 **/ @Resource(name = "EgovFileMngUtil") private EgovFileMngUtil fileUtil; /** * BoardFileService - 게시판 파일에 관한 인터페이스 **/ @Resource(name = "boardFileService") private BaseFileService boardFileService; /** * 파일 업로드 유틸리티. */ @Resource(name = "fileUploadUtil") private FileUploadUtil fileUploadUtil; /** * 전자정부 표준프레임워크 파일관리 유틸리티. */ @Resource(name = "EgovFileMngUtil") private EgovFileMngUtil fileMngUtil; /** * 사용자 사진 저장 경로. */ public static final String EQUIP_SAVE_PATH = "Equip.fileStorePath"; /** * 외사 경찰의 장비 보유 현황을 가져온다. * * @return 결과 데이터를 담은 map 리스트 */ @Override public List> getEquipmentList() throws Exception { HashMap params = new HashMap(); params.put("place1", codeMapper.getPlace1List(true)); return equipmentMapper.getEquipmentList(params); } /** * 외사장비의 사용실적을 가져온다. * * @param params 파라미터 맵 * type - 사용 or 점검, year - 대상 연도, quater - 대상 분기 * @return 결과 데이터를 담은 map 리스트 */ @Override public List> getEquipUseStateList(final EquipSearchVO searchVO) throws Exception { List> result = null; HashMap params = new HashMap(); params.put("place1", codeMapper.getPlace1List(true)); params.put("criteria", searchVO); params.put("type", (searchVO.getType().equals("a")) ? "EU_CNT" : "EU_CHECK"); result = equipmentMapper.getEquipUseStateList(params); return result; } /** * 외사장비의 사용실적 기록 연도 리스트를 가져온다. * * @return 결과 데이터를 담은 map 리스트 */ @Override public List> getEquipYearList() throws Exception { List> result = null; result = equipmentMapper.getEquipYearList(); return result; } /** * 외사장비 목록 가져온다. * * @return 결과 데이터를 담은 map 리스트 */ @Override public List> getEquipmentCodeList() throws Exception { List> result = null; result = equipmentMapper.getEquipmentCodeList(); return result; } /** * 선택한 조건에 해당되는 사용실적을 가져온다. * * @param params 파라미터 맵 * place1 - 기관코드 or 점검, year - 대상 연도, quater - 대상 분기 * @return 리턴값 설명 * @throws Exception 기본 예외 처리 */ @Override public List> getEquipUseStateInfo(EquipSearchVO searchVO) throws Exception { List> result = null; result = equipmentMapper.getEquipUseStateInfo(searchVO); return result; } /** * 사용실적을 입력 or 수정한다. * * @param paramMap 장비별 실적 리스트 * @return 결과 데이터를 담은 map 리스트 * @throws Exception 기본 예외 처리 */ @Override @Transactional public int insertEquipUseState(final EquipSearchVO searchVO, final HashMap> paramMap) throws Exception { int success = 0; Set keySet = paramMap.keySet(); Iterator it = keySet.iterator(); while (it.hasNext()) { HashMap value = paramMap.get(it.next()); HashMap record = equipmentMapper.getEquipUseStateInfoByCode(value); boolean isInsert = (record == null) ? true : false; if (isInsert) { success = equipmentMapper.insertEquipUseState(value); } else { success = equipmentMapper.updateEquipUseState(value); } if (success != 1) { throw new Exception(); } } return success; }; /** * 외사장비 목록 조회 * * @param arrestSearchVO * @return 외사장비목록 반환 * @throws Exception 기본 예외 처리 */ @Override public List getEquipList(final EquipSearchVO EquipSearchVO) throws Exception { return equipmentMapper.getEquipList(EquipSearchVO); } /** * 외사장비 목록 조회 * * @param arrestSearchVO * @return 외사장비단건 반환 * @throws Exception 기본 예외 처리 */ @Override public EquipVO getEquipment(final EquipVO equipVO) throws Exception { return equipmentMapper.getEquipment(equipVO); } /** * 외사장비 등록 * * @param equipVO * @return 외사장비목록 반환 * @throws Exception 기본 예외 처리 */ @Override public HashMap insertEquipment(final EquipVO equipVO, final Map fileMap) throws Exception { HashMap map = new HashMap(); try{ /* 파일 업로드 */ //BoardFileVO boardFileVO = BoardVOHandler.getBFileVO("EQUIPMENT", serNo, 0); //result = boardFileService.insertAndSaveFiles(boardFileVO, fileMap); if (fileMap != null && fileMap.get("file1").getSize() > 0) { String fileName1 = fileUploadUtil.uploadWithExt(fileMap.get("file1"), EQUIP_SAVE_PATH); System.out.println("fileName1 : " + fileName1); equipVO.setFileName1(fileName1); } if (fileMap != null && fileMap.get("file2").getSize() > 0) { String fileName2 = fileUploadUtil.uploadWithExt(fileMap.get("file2"), EQUIP_SAVE_PATH); equipVO.setFileName2(fileName2); } if (fileMap != null && fileMap.get("file3").getSize() > 0) { String fileName3 = fileUploadUtil.uploadWithExt(fileMap.get("file3"), EQUIP_SAVE_PATH); equipVO.setFileName3(fileName3); } map = equipmentMapper.insertEquipment(equipVO); if ((Integer)map.get("result") != 1) { throw new Exception(); } else { map.put("result", 1); } }catch(Exception e){ e.printStackTrace(); } return map; } /** * 외사장비 삭제 * * @param equipVO * @return 처리결과 반환 * @throws Exception 기본 예외 처리 */ @Override public HashMap deleteEquipment(final EquipVO equipVO) throws Exception { try{ /* 파일을 삭제한다. */ //boardFileService.deleteAndRemoveFiles(BoardVOHandler.getBFileVO(boardVO)(equipVO)); }catch(Exception e){ } return equipmentMapper.deleteEquipment(equipVO); } /** * 외사장비 수정 * * @param equipVO * @return 처리결과 반환 * @throws Exception 기본 예외 처리 */ @Override public HashMap updateEquipment(final EquipVO dataVO, final Map fileMap, final String[] deleteFiles) throws Exception { HashMap map = new HashMap(); try{ System.out.println(deleteFiles); if( deleteFiles != null ){ for (int i = 0; i < deleteFiles.length; i++) { if( deleteFiles[i].equals("1") ){ if (dataVO.getFileName1() != null || dataVO.getFileName1().equals("")) { fileMngUtil.deleteFile(dataVO.getFileName1(), EQUIP_SAVE_PATH); dataVO.setFileName1(null); } }else if( deleteFiles[i].equals("2") ){ // file2 삭제 if (dataVO.getFileName2() != null || dataVO.getFileName2().equals("")) { fileMngUtil.deleteFile(dataVO.getFileName2(), EQUIP_SAVE_PATH); dataVO.setFileName2(null); } }else if( deleteFiles[i].equals("3") ){ // file3 삭제 if (dataVO.getFileName3() != null || dataVO.getFileName2().equals("")) { fileMngUtil.deleteFile(dataVO.getFileName2(), EQUIP_SAVE_PATH); dataVO.setFileName3(null); } } } } if( fileMap != null ){ if ( fileMap.get("file1") != null ) { if( fileMap.get("file1").getSize() > 0){ String fileName1 = fileUploadUtil.uploadWithExt(fileMap.get("file1"), EQUIP_SAVE_PATH); System.out.println("fileName1 : " + fileName1); dataVO.setFileName1(fileName1); } } if ( fileMap.get("file2") != null ) { if( fileMap.get("file2").getSize() > 0){ String fileName2 = fileUploadUtil.uploadWithExt(fileMap.get("file2"), EQUIP_SAVE_PATH); dataVO.setFileName2(fileName2); } } if ( fileMap.get("file3") != null ) { if( fileMap.get("file3").getSize() > 0){ String fileName3 = fileUploadUtil.uploadWithExt(fileMap.get("file3"), EQUIP_SAVE_PATH); dataVO.setFileName3(fileName3); } } } map = equipmentMapper.updateEquipment(dataVO); if ((Integer)map.get("result") != 1) { throw new Exception(); } else { map.put("result", 1); } }catch(Exception e){ } return map; } }