package com.pms.service; import java.io.File; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.ParameterMapping; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import com.oreilly.servlet.MultipartRequest; import com.pms.common.JsonUtil; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.service.BaseService; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.common.utils.MailUtil; @Service public class CommonService extends BaseService { public Map setPartMngCommonCD(Map paramMap){ paramMap.put("PRODUCT_GROUP_CODE", Constants.PRODUCT_GROUP_CODE); paramMap.put("MATERIAL_CODE", Constants.MATERIAL_CODE); paramMap.put("SPEC_NO_CODE", Constants.SPEC_NO_CODE); paramMap.put("DESIGN_APPLY_POINT_CODE", Constants.DESIGN_APPLY_POINT_CODE); return paramMap; } /** * upload된 파일에 대한 정보를 DB에 저장한다. * @param session * @param fileList * @param multi */ public void insertUploadFileInfo(HttpSession session, List fileList, MultipartRequest multi){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); System.out.println("DB에 저장될 정보."); for(Map fileMap : fileList){ String objId = CommonUtils.createObjId(); String targetObjId = CommonUtils.checkNull(multi.getParameter("targetObjId")); String parentTargetObjId = CommonUtils.checkNull(multi.getParameter("parentTargetObjId")); String savedFileName = CommonUtils.checkNull(fileMap.get("savedFileName")); String realFileName = CommonUtils.checkNull(fileMap.get("realFileName")); String docType = CommonUtils.checkNull(multi.getParameter("docType")); String docTypeName = CommonUtils.checkNull(multi.getParameter("docTypeName")); String fileSize = "0"; File f = new File(CommonUtils.checkNull(fileMap.get("savedFullFileName"))); if(f.exists()){ fileSize = CommonUtils.checkNull(f.length()); } String fileExt = CommonUtils.checkNull(fileMap.get("fileExt")); String filePath = CommonUtils.checkNull(fileMap.get("filePath")); Map paramMap = new HashMap(); paramMap.put("objId", objId); paramMap.put("targetObjId", targetObjId); paramMap.put("parentTargetObjId", parentTargetObjId); paramMap.put("savedFileName", savedFileName); paramMap.put("realFileName", realFileName); paramMap.put("docType", docType); paramMap.put("docTypeName", docTypeName); paramMap.put("fileSize", fileSize); paramMap.put("fileExt", fileExt); paramMap.put("filePath", filePath); paramMap.put("writer", writer); System.out.println("--------------------------------------------------"); System.out.println("objId : "+objId); System.out.println("targetObjId : "+targetObjId); System.out.println("parentTargetObjId : "+parentTargetObjId); System.out.println("savedFileName : "+savedFileName); System.out.println("realFileName : "+realFileName); System.out.println("docType : "+docType); System.out.println("docTypeName : "+docTypeName); System.out.println("fileSize : "+fileSize); System.out.println("fileExt : "+fileExt); System.out.println("filePath : "+filePath); System.out.println("writer : "+writer); System.out.println("--------------------------------------------------"); sqlSession.insert("common.insertUploadFileInfo", paramMap); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); //FileRenameClass.clear(); } } /** * targetObjId와 docType을 통해 File의 목록을 조회한다.
* docType이 없다면 targetObjId를 통해서만 조회한다. * @param paramMap * @return */ public ArrayList getFileList(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = CommonUtils.keyChangeUpperArrayList((ArrayList)sqlSession.selectList("common.getFileList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * targetObjId으로 결재 라인을 조회한다 * @param paramMap * @return */ public ArrayList getApprovalLine(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = CommonUtils.keyChangeUpperArrayList((ArrayList)sqlSession.selectList("common.getApprovalLine", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 파일을 논리적으로 삭제한다. * @param paramMap * @return */ public String deleteFileInfoLogical(Map paramMap){ String result = ""; SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("common.deleteFileInfo_logical", paramMap); if(cnt > 0) result = "파일이 삭제되었습니다."; else result = "삭제된 파일 데이터가 없습니다.
같은 문제가 발생 시, 관리자에게 문의바랍니다."; }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return result; } /** * 파일을 물리적으로 삭제한다. * @param paramMap * @return */ public String deleteFileInfoPhysical(Map paramMap){ String result = ""; SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.delete("common.deleteFileInfo_physical", paramMap); if(cnt > 0) result = "파일이 물리적으로 삭제되었습니다."; else result = "삭제된 파일 데이터가 없습니다.
같은 문제가 발생 시, 관리자에게 문의바랍니다."; }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return result; } /** * code list * @param paramMap * @return */ public ArrayList> getCodeList(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public ArrayList> getCodeList(String code_id, String sql_id) throws Exception { ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); param.put("codeId",code_id); param.put("code",code_id); //230327추가 resultList = (ArrayList)sqlSession.selectList(sql_id, param); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 해당하는 codeId 공급업체의 정보를 가져온다. * @param paramMap * @return */ public ArrayList> getSupCdList(Map paramMap){ ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getSupCdList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 해당하는 공급업체의 정보를 가져온다. * @param paramMap * @return */ public ArrayList getSupCdList2(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getsupplyselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 해당하는 공급업체의 정보를 가져온다. * @param paramMap * @return */ public ArrayList getSupplyCode(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAdminSupCdList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List> getSupCdList3(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getsupplyselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } System.out.println("resultList:"+resultList); return CommonUtils.toUpperCaseMapKey(resultList); } /** * 파일 단건정보 조회 * @param paramMap * @return */ public Map getFileInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = CommonUtils.keyChangeUpperHashMap((HashMap)sqlSession.selectOne("common.getFileInfo", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 파일 다운로드 로그 기록 * @param request * @param fileMap */ public void setFileDownloadLog(HttpServletRequest request, Map fileMap){ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String objId = CommonUtils.createObjId(); String systemName = Constants.SYSTEM_NAME; String userId = CommonUtils.checkNull(person.getUserId()); String fileObjId = CommonUtils.checkNull(fileMap.get("OBJID")); String remoteAddr = CommonUtils.checkNull(request.getRemoteAddr()); Map paramMap = new HashMap(); paramMap.put("objId", objId); paramMap.put("systemName", systemName); paramMap.put("userId", userId); paramMap.put("fileObjId", fileObjId); paramMap.put("remoteAddr", remoteAddr); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); sqlSession.insert("common.insertFileDownloadLog", paramMap); } /** * OEM정보 조회(콤보박스용) * @param paramMap * @return */ public List getOEMList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOEMList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * Part 정보조회(ajax, 콤보박스용) * existPartNo : 해당 PartNo를 포함한 조회, * notExistPart : 해당 PartNo를 제외한 조회, * isLast : 조회된 Part의 최종여부(0: 배포전,1: 배포 후(최종)) * @param paramMap * @return */ public List getPartMngList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ setPartMngCommonCD(paramMap); sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getPartMngList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 차종정보 조회(콤보박스용) * @param paramMap * @return */ public List getCarTypeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getCarTypeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트 기준 차종정보 조회(ajax, 콤보박스용) * @param paramMap * @return */ public List getProjectBaseCarTypeList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProjectBaseCarTypeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 차종그레이드 조회(콤보박스용) * @param paramMap * @return */ public List getCarGradeList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getCarGrade", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 제품군정보 조회(콤보박스용) * @param paramMap * @return */ public List getProductGroupList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductGroupList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 제품정보 조회(콤보박스용) * @param paramMap * @return */ public List getProductList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 지역사양정보 조회(콤보박스용) * @param paramMap * @return */ public List getRegionList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getRegionList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 사원 목록 조회 * @param paramMap * @return */ public List getUserList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getUserList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 재질정보 조회(콤보박스용) * @param paramMap * @return */ public List getMaterialList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getMaterialList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 자재유형정보 조회(콤보박스용) * @param paramMap * @return */ public List getMaterialTypeList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getMaterialTypeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 사양(option)정보 조회(콤보박스용) * @param paramMap * @return */ public List getOptionSpecList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOptionSpecList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * SPEC정보 조회(콤보박스용) * @param paramMap * @return */ public List getSPECList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getSPECList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 적용지점정보 조회(콤보박스용) * @param paramMap * @return */ public List getApplyPointList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getApplyPointList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 메뉴의 경로를 조회한다. * @param paramMap * @return */ public Map getMenuPath(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultMap = (Map)sqlSession.selectOne("common.getMenuPath", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * milesone 목록을 조회한다. * @param paramMap * @return */ public List getMilestoneList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getMilestoneList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /*jmpark start*/ /** * 검사명정보 조회 * @param paramMap * @return */ public List getTestTypeList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getTestTypeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * Part 목록 조회(objId, partNo, partName) * @param paramMap * @return */ public List getPartList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String partNo = CommonUtils.checkNull(paramMap.get("search_partNo")); String partName = CommonUtils.checkNull(paramMap.get("search_partName")); if(!"".equals(partNo) || !"".equals(partName)){ resultList = sqlSession.selectList("common.getPartList", paramMap); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 일지테크 사업장 목록 조회 * @return */ public List getLocationList(){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("common.getLocationList"); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 가장 먼 SOP의 고객사object id, 차종 object id를 조회한다. * @return */ public Map getCarInfoFarthestSOP(){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = (Map)sqlSession.selectOne("common.getCarInfoFarthestSOP"); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 이름 순으로 가장 앞에 해당하는 제품군의 정보를 가져온다. * @return */ public Map getProductGroupInfoOrderByName(){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = (Map)sqlSession.selectOne("common.getProductGroupInfoOrderByName"); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 차종 object id를 통해 sop날짜를 구한다. * @return */ public Map getSOPDate(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = (Map)sqlSession.selectOne("common.getSOPDate_byCarObjId", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * OEM정보 조회(콤보박스용) * @param paramMap * @return */ public List getOEMList_combo(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOEMList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 차종정보 조회(콤보박스용) * @param paramMap * @return */ public List getCarTypeList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getCarTypeList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 제품군정보 조회(콤보박스용) * @param paramMap * @return */ public List getProductGroupList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); // resultList = (ArrayList)sqlSession.selectList("common.getProductGroupList_combo", paramMap); paramMap.put("PRODUCT_GROUP_CODE",Constants.PRODUCT_GROUP_CODE); resultList = (ArrayList)sqlSession.selectList("common.getProductGroupList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 제품정보 조회(콤보박스용) * @param paramMap * @return */ public List getProductList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 제품정보 조회(콤보박스용) * @param paramMap * @return */ public List getOemList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOEMList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 재질정보 조회(콤보박스용) * @param paramMap * @return */ public List getMaterialList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getMaterialList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 자재유형정보 조회(콤보박스용) * @param paramMap * @return */ public List getMaterialTypeList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getMaterialTypeList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 사양(option)정보 조회(콤보박스용) * @param paramMap * @return */ public List getOptionSpecList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOptionSpecList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 적용지점정보 조회(콤보박스용) * @param paramMap * @return */ public List getApplyPointList_combo(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getApplyPointList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * SPEC정보 조회(콤보박스용) * @param paramMap * @return */ public List getSPECList_combo(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getSPECList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 지역사양정보 조회(콤보박스용) * @param paramMap * @return */ public List getRegionList_combo(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getRegionList_combo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /*jmpark end*/ /*msryu start*/ /** * 생산공장명 정보 조회 * @param paramMap * @return */ public List getFactoryList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getFactoryList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 라인설치장소 정보 조회 * @param paramMap * @return */ public List getLineAreaList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getLineAreaList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 설계체크리스트 대분류 조회(콤보박스용) * @param paramMap * @return */ public List getDesignCheckListGroupList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getDesignCheckListGroupList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 설계체크리스트 중분류 조회(콤보박스용) * @param paramMap * @return */ public List getDesignCheckListCategoryList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getDesignCheckListCategoryList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 설계체크리스트 소분류 조회(콤보박스용) * @param paramMap * @return */ public List getDesignCheckListAttributeList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getDesignCheckListAttributeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /*msryu end*/ /*edhwang start*/ /** * 부서정보 조회 * @param paramMap * @return */ public List getDeptList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("common.searchDeptList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public HashMap getPageAuthInfo(HttpSession session,Map paramMap){ HashMap resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String userId = CommonUtils.checkNull(person.getUserId()); paramMap.put("userId", userId); resultMap = sqlSession.selectOne("common.selectUserViewMenuList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultMap); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * @author 박창현 * @param param selvalue 없을경우 "" , element_id * * @return option select 값을 리턴한다 * @throws */ public String bizMakeLev1OptionList(String selValue) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); String code = ""; String name = ""; String sel = ""; String id = ""; String hide = ""; List rtn_list = new ArrayList(); rtn_list = (ArrayList)sqlSession.selectList("common.getlev1select", param); Map temp = new HashMap(); selValue = CommonUtils.nullToEmpty(selValue); for(int i=0; i" + name + "");*/ sb.append(""); } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return sb.toString(); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * * @param param cod_id , selected value 선택값 없을경우 "" * @author 박창현 * @return option select 값을 리턴한다 * @throws */ public String bizMakeOptionList(String code_id, String selValue, String sql_id) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, false); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, boolean showSelect) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, "code", showSelect, "CODE", "NAME"); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, String [] data_id) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, "code", false, "CODE", "NAME", data_id); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, String param_id) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, param_id, false, "CODE", "NAME"); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, String param_id, boolean showSelect) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, param_id, showSelect, "CODE", "NAME"); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, boolean showSelect, String getCode, String getName) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, "code", showSelect, getCode, getName); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, String param_id, boolean showSelect, String getCode, String getName) throws Exception { return this.bizMakeOptionList(code_id, selValue, sql_id, param_id, showSelect, getCode, getName, null); } public String bizMakeOptionList(String code_id, String selValue, String sql_id, String param_id, boolean showSelect, String getCode, String getName, String [] data_id) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; //SqlSession sqlSessionMs = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); param.put(CommonUtils.nvl(param_id,"code"),code_id); String code = ""; String name = ""; String sel = ""; String id = ""; String dataText = ""; List rtn_list = new ArrayList(); rtn_list = sqlSession.selectList(sql_id, param); Map temp = new HashMap(); selValue =CommonUtils.nullToEmpty(selValue); if(showSelect){ sb.append(""); } for(int i=0; i" + name + "");*/ if(CommonUtils.isNotEmpty(data_id)){ dataText = ""; for (int j=0; j" + name + ""); sb.append(""); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return sb.toString(); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * * @param param cod_id , selected value 선택값 없을경우 "" * @author 허진 * @return option select 값을 리턴한다 * @throws */ public String bizMakeCodeIdOptionList(String code_id, String selValue, String sql_id) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); param.put("code",code_id); String code = ""; String name = ""; String sel = ""; String id = ""; List rtn_list = new ArrayList(); rtn_list = sqlSession.selectList(sql_id, param); Map temp = new HashMap(); selValue =CommonUtils.nullToEmpty(selValue); for(int i=0; i" + name + "");*/ sb.append(""); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return sb.toString(); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * * @param param cod_id , selected value 선택값 없을경우 "" * @author 박창현 * @return option select 값을 리턴한다 * @throws */ public String bizMakeArrOptionList(ArrayList code_id, String selValue, String sql_id) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; Map param = new HashMap(); param.put("code",code_id); String code = ""; String name = ""; String sel = ""; String id = ""; List rtn_list = new ArrayList(); rtn_list = sqlSession.selectList(sql_id, param); Map temp = new HashMap(); selValue = CommonUtils.nullToEmpty(selValue); for(int i=0; i" + name + "");*/ sb.append(""); } return sb.toString(); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * * @param param cod_id , selected value 선택값 없을경우 "" * @author 박창현 * @return option select 값을 리턴한다 * @throws */ public String UpgMakeOptionList(String code_id, String selValue, String sql_id) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); param.put("code",code_id); String code = ""; String name = ""; String sel = ""; String id = ""; String productobjId = ""; List rtn_list = new ArrayList(); rtn_list = sqlSession.selectList(sql_id, param); Map temp = new HashMap(); selValue =CommonUtils.nullToEmpty(selValue); for(int i=0; i" + name + ""); /*sb.append("");*/ } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return sb.toString(); } /** * 쿼리 결과값에 Select option 단건 html 생성 추가 * @param List * @param 조회코드값 * @param 선택코드값 */ public List listAddeEement(List list,String inputString,String parent_code ,String select_Code,String Query){ Map listMap = new HashMap(); if(list.size()>0){ for(int i=0;i * @param 조회코드값 * @param 선택코드값 */ public List listAddlistvaleeEement(List list,String inputString,String parent_code ,String select_Code,String Query){ Map listMap = new HashMap(); if(list.size()>0){ for(int i=0;i * @param 조회코드값 * @param 선택코드값 */ public List listAddeEement2(List list,String inputString,String param_code ,String select_Code,String Query){ Map listMap = new HashMap(); if(list.size()>0){ for(int i=0;i allList = (ArrayList)sqlSession.selectList(sqlId, param); Map _result = new HashMap(); ArrayList listLEV1 = new ArrayList(); ArrayList listLEV2 = new ArrayList(); ArrayList listLEV3 = new ArrayList(); ArrayList listETC = new ArrayList(); for(Map row:allList){ if( CommonUtils.checkNull(row.get("lev")).equals("1")){ listLEV1.add(CommonUtils.keyChangeUpperMap(row)); }else if(CommonUtils.checkNull(row.get("lev")).equals("2")){ listLEV2.add(CommonUtils.keyChangeUpperMap(row)); }else if(CommonUtils.checkNull(row.get("lev")).equals("3")){ listLEV3.add(CommonUtils.keyChangeUpperMap(row)); }else{ listETC.add(CommonUtils.keyChangeUpperMap(row)); } } strJson += "{"; strJson += " \"LEV1\" : "+JsonUtil.ListToJson(listLEV1); strJson += " ,\"LEV2\" : "+JsonUtil.ListToJson(listLEV2); strJson += " ,\"LEV3\" : "+JsonUtil.ListToJson(listLEV3); strJson += " ,\"ETC\" : "+JsonUtil.ListToJson(listETC ); strJson += "}"; } catch (Exception e) { e.printStackTrace(); } finally { sqlSession.close(); } return strJson; } public ArrayList getArrayListBySqlId(String sqlId, Map param){ ArrayList list = new ArrayList<>(); SqlSession sqlSession = null; try { sqlSession = SqlMapConfig.getInstance().getSqlSession(); list = (ArrayList)sqlSession.selectList(sqlId, param); } catch (Exception e) { e.printStackTrace(); } finally { sqlSession.close(); } return list; } public List getProgressProjectNoList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProgressProjectNoList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public List getProjectNoList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProjectNoList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public Map createObjId(){ Map resultMap = new HashMap(); resultMap.put("OBJID", CommonUtils.createObjId()); return resultMap; } /** * 해당하는 자재마스터 값으로 단가를 가져온다 * @param paramMap * @return */ public ArrayList> resourcePrice(Map paramMap){ ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.resourcePrice", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 수주 진행상황 정보 조회(ajax, 콤보박스용) * @param request * @param paramMap * @return */ public List getConceptStatus(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getConceptStatus", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * PM 리스트 정보 조회(ajax, 콤보박스용) * @param request * @param paramMap * @return */ public List getPmList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getPmList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 양산제품 목록 * @param request * @param paramMap * @return */ public List getProductMgmtList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductCodeselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * UPG 목록 * @param request * @param paramMap * @return */ public List getProductUPGList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductUPGselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * UPG 목록 * @param request * @param paramMap * @return */ public List getProductUPGNEWList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductUPGNEWselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * UPG PART 목록 * @param request * @param paramMap * @return */ public List getProductUPGPARTList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductUPGPARTselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 양산제품에 해당하는 SPEC 정보 조회 * @param request * @param paramMap * @return */ public List getProductSPECList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProductSPECSelect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** *

code 값을 바탕으로 option list 를 만들어주는 메서드

* Precondition : param에 해당 파라메터가 들어 있어야한다 * 쿼리가 정의되어야한다 * Postcondition: 조회한 결과 map에 담아서 리턴 * * @param param cod_id , selected value 선택값 없을경우 "" * @author 박창현 * @return option select 값을 리턴한다 * @throws */ public String bizMakeCheckBoxMultiList(String code_id,String selector_id ,String selValues[], String sql_id) throws Exception { StringBuffer sb = new StringBuffer(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map param = new HashMap(); param.put("code",code_id); String selValue =""; String code = ""; String name = ""; String checked = ""; String id = ""; List rtn_list = new ArrayList(); rtn_list = sqlSession.selectList(sql_id, param); Map temp = new HashMap(); for(int i=0; i" + name + "");*/ sb.append("" + name+"  "); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return sb.toString(); } /** * 템플릿 리스트 조회 * @param request * @param paramMap * @return */ public List gettemplate_code_detailList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.gettemplate_code_detailList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * AS 제품 리스트 조회 * @param request * @param paramMap * @return */ public List getAsProductList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAsProductList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 고객 정보 조회 * @param request * @param paramMap * @return */ public List getCustomerInfo(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getCustomerInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 계약 옵션 리스트 조회 * @param request * @param paramMap * @return */ public List getContractOptionList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getContractOptionList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 계약 제품 조회 * @param request * @param paramMap * @return */ public List getContractcodeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getContractcodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 계약 제품 조회 * @param request * @param paramMap * @return */ public List getContractProductList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getContractProductList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 옵션 리스트 조회 * @param request * @param paramMap * @return */ public List getOptionChildList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOptionChildList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 옵션 최신 금액 조회 * @param request * @param paramMap * @return */ public List getOptionLastPrice(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOptionLastPrice", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 옵션 리스트 조회 * @param request * @param paramMap * @return */ public List getOptionHighselect(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getOptionHighselect", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * AS 제품 년도 리스트 조회 * @param request * @param paramMap * @return */ public List getAsContractYearList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAsContractYearList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 고객 정보 조회 * @param request * @param paramMap * @return */ public List getPartInfo(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getPartInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 구조등록의 기종에 해당하는 스펙 목록을 가져온다. * @param paramMap * @return */ public ArrayList> getSpecNameList(Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getSpecNameList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 해당하는 codeId 공급업체의 정보를 가져온다. * @param paramMap * @return */ public ArrayList> getAdminSupCdList(Map paramMap){ ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAdminSupCdList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 양산제품 목록 * @param request * @param paramMap * @return */ public List getAjaxProductMgmtList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAjaxProductMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 해당하는 codeId 공급업체의 정보를 가져온다. * @param paramMap * @return */ public ArrayList> getAdminSupplyCodeList(Map paramMap){ ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAdminSupplyCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 상담지역2 조회 * @param request * @param paramMap * @return */ public List getAddress2List(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getAddress2List", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 계약 제품 코드 조회 * @param request * @param paramMap * @return */ public List getproductcode(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getproductcode", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트목록 * @param request * @param paramMap * @return */ public List getProjectNameList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProjectNameList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * UNIT 목록 * @param request * @param paramMap * @return */ public List getUnitCodeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getUnitCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * UNIT 목록 * @param request * @param paramMap * @return */ public List getProjectUnitCodeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getProjectUnitCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * Bom UNIT 목록 * @param request * @param paramMap * @return */ public List getBomUnitCodeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getBomUnitCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * Bom PART 목록 * @param request * @param paramMap * @return */ public List getBomPartList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getBomPartList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public List getBomPartLastList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getBomPartLastList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 해당하는 part_objid 발주 정보를 가져온다. */ public ArrayList> getPurchaseOrderCdList(Map paramMap){ ArrayList> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getPurchaseOrderCdList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public ArrayList selectListPaging(String sqlId, HttpServletRequest request, Map paramMap) { return selectListPagingAct(sqlId, request, paramMap, false); } public ArrayList selectListPagingNew(String sqlId, HttpServletRequest request, Map paramMap) { return selectListPagingAct(sqlId, request, paramMap, true); } /** * sqlId 하나로 페이징 정보 처리하고 List를 반환 * @author 밧밧이 */ public ArrayList selectListPagingAct(String sqlId, HttpServletRequest request, Map paramMap, boolean isNew) { ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; Logger log = Logger.getLogger(this.getClass()); StringBuffer qryCnt = new StringBuffer(); StringBuffer qryList = new StringBuffer(); try { sqlSession = SqlMapConfig.getInstance().getSqlSession(); //#GET Query /////////////////////////////////////////////////////// String query = getSqlByParams(sqlSession, sqlId, request, paramMap); //#GET COUNT /////////////////////////////////////////////////////// String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+""); qryCnt.append("SELECT CEIL(TOTAL_CNT/"+countPerPage+")::integer as MAX_PAGE_SIZE "); qryCnt.append(" ,TOTAL_CNT::integer "); qryCnt.append(" FROM ( "); qryCnt.append(" SELECT COUNT(1)::float as TOTAL_CNT "); qryCnt.append(" FROM ( "); qryCnt.append( query); qryCnt.append(" ) AS SQL_TABLE "); qryCnt.append(" ) AS RESULT_TABLE "); ResultSet rsCnt = sqlSession.getConnection().prepareStatement(qryCnt.toString()).executeQuery(); // log.debug("##selectListAndPaging["+sqlId+"]## COUNT Query :: \n"+qryCnt.toString()); ResultSetMetaData mdCnt = rsCnt.getMetaData(); int columnsCnt = mdCnt.getColumnCount(); rsCnt.next(); HashMap rowCnt = new HashMap(columnsCnt); for(int i=1; i<=columnsCnt; ++i) { rowCnt.put(mdCnt.getColumnName(i), rsCnt.getObject(i)); //rowCnt.put(mdCnt.getColumnName(i).toUpperCase(), rsCnt.getObject(i)); } rowCnt.putAll(paramMap); Map pageMap = CommonUtils.setPagingInfo(request, rowCnt); String TOTAL_CNT = CommonUtils.checkNull(CommonUtils.checkNull(pageMap.get("TOTAL_CNT"), ""+pageMap.get("total_cnt")),"0"); int TOTAL_CNT_INT = Integer.parseInt(TOTAL_CNT); paramMap.put("TOTAL_CNT", CommonUtils.checkNull(pageMap.get("TOTAL_CNT"),"0")); paramMap.put("MAX_PAGE_SIZE", CommonUtils.checkNull(pageMap.get("MAX_PAGE_SIZE"),"1")); paramMap.put("COUNT_PER_PAGE", CommonUtils.checkNull(pageMap.get("COUNT_PER_PAGE"),"0")); //#GET Query /////////////////////////////////////////////////////// query = getSqlByParams(sqlSession, sqlId, request, pageMap); //240913추가 //#GET LIST /////////////////////////////////////////////////////// //qryList = new StringBuffer(); selectListPaging2(sqlSession, log, sqlId, request, pageMap, query, resultList); //결과 없으면 재검색 1번(240723 추가) if(TOTAL_CNT_INT > 0 && (resultList == null || resultList.isEmpty()) ) { //!isFirstRecursive && pageMap.put("page", "1"); //1페이지 검색 pageMap = CommonUtils.setPagingInfo(request, rowCnt); //reset //return selectListPagingAct(sqlId, request, paramMap, isNew, true); selectListPaging2(sqlSession, log, sqlId, request, pageMap, query, resultList); } //#SET PAGE_HTML /////////////////////////////////////////////////////// String PAGE_HTML = ""; if(isNew){ PAGE_HTML = CommonUtils.getPageingHtml2(request, resultList, false, pageMap); }else{ PAGE_HTML = CommonUtils.getPageingHtml(request, resultList, false); } paramMap.put("PAGE_HTML", PAGE_HTML); request.setAttribute("PAGE_HTML" , PAGE_HTML); } catch (SQLException e) { // TODO Auto-generated catch block log.error("selectListAndPaging##[ "+sqlId+" ]## LIST Query :: \n"+qryCnt.toString()); log.error("selectListAndPaging##[ "+sqlId+" ]## LIST Query :: \n"+qryList.toString()); e.printStackTrace(); }finally{ sqlSession.close(); } paramMap.put("RESULTLIST", resultList); return resultList; } public String getSqlByParams(SqlSession sqlSession, String sqlId, HttpServletRequest request, Map paramMap) { //#GET Query /////////////////////////////////////////////////////// BoundSql boundSql = sqlSession.getConfiguration().getMappedStatement(sqlId).getBoundSql(paramMap); String query = boundSql.getSql(); Object pObj = boundSql.getParameterObject(); //System.out.println("query:"+query); //System.out.println("pObj:"+pObj); if(pObj != null) { List parameterMapping = boundSql.getParameterMappings(); // String parameter = ""; // Object object; for (ParameterMapping p : parameterMapping) { String propertyName = p.getProperty(); //System.out.println("propertyName:"+propertyName); //__frch_item_0 __frch_item_1... Object parameterObject = paramMap.get(propertyName); //System.out.println("parameterObject1:"+parameterObject); if (boundSql.hasAdditionalParameter(propertyName)) { parameterObject = boundSql.getAdditionalParameter(propertyName); } else if (paramMap.containsKey(propertyName)) { parameterObject = paramMap.get(propertyName); } //System.out.println("parameterObject2:"+parameterObject); if (parameterObject == null) { query = query.replaceFirst("\\?", "NULL"); }else { if (propertyName.startsWith("__frch_") && parameterObject instanceof Collection) { //__frch_item_0 __frch_item_1... Collection parameterCollection = (Collection) parameterObject; StringBuilder placeholders = new StringBuilder(); for (Object parameter : parameterCollection) { //System.out.println("array param:"+parameter); //if (parameter instanceof String) { //placeholders.append("'").append(parameter).append("', "); query = query.replaceFirst("\\?", "'" + parameter + "'"); //} } } else if (parameterObject instanceof String) { String parameter = (String) parameterObject; if(CommonUtils.isNotBlank(parameter)) query = query.replaceFirst("\\?", "'" + parameter + "'"); } else if (parameterObject instanceof String[]) { String[] parameterArray = (String[]) parameterObject; StringBuilder placeholders = new StringBuilder(); for (String parameter : parameterArray) { placeholders.append("'").append(parameter).append("', "); // query = query.replaceFirst("\\?", "'" + parameter + "'"); } query = query.replaceFirst("\\?", placeholders.substring(0, placeholders.length() - 2)); // 마지막 쉼표 제거 } else { String parameter = ((Object)parameterObject).toString(); if(CommonUtils.isNotBlank(parameter)) query = query.replaceFirst("\\?", "'" + parameter + "'"); } } } } return query; } public ArrayList selectListPaging2(SqlSession sqlSession, Logger log, String sqlId, HttpServletRequest request, Map paramMap, String query, ArrayList resultList) { StringBuffer qryList = new StringBuffer(); qryList.append("SELECT RESULT_TABLE.* "); qryList.append("\n FROM ( "); qryList.append("\n SELECT "); if(query.indexOf("RNUM") == -1) qryList.append("\n ROW_NUMBER() OVER() AS RNUM, "); qryList.append("\n SQL_TABLE.* "); qryList.append("\n FROM ( "); qryList.append("\n"+ query); qryList.append("\n ) AS SQL_TABLE "); qryList.append("\n ) AS RESULT_TABLE "); qryList.append("\n WHERE 1=1 "); qryList.append(" AND RNUM >= "+paramMap.get("PAGE_START")); qryList.append(" AND RNUM <= "+paramMap.get("PAGE_END" )); try { ResultSet rs = sqlSession.getConnection().prepareStatement(qryList.toString()).executeQuery(); log.debug("selectListAndPaging##["+sqlId+"]## LIST Query :: \n"+qryList.toString()); ResultSetMetaData md = rs.getMetaData(); int columns = md.getColumnCount(); while(rs.next()){ HashMap row = new HashMap(columns); for(int i=1; i<=columns; ++i) { row.put(md.getColumnName(i).toUpperCase(), rs.getObject(i)); //컬럼명 대문자처리 } resultList.add(row); } } catch (SQLException e) { // TODO Auto-generated catch block log.error("selectListAndPaging##[ "+sqlId+" ]## LIST Query :: \n"+qryList.toString()); e.printStackTrace(); }finally{ } return resultList; } /** * row 조회 공통 * @author 밧밧이 */ public HashMap selectOne(String sqlId, HttpServletRequest request, Map paramMap){ HashMap resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne(sqlId, paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperHashMap(resultMap); //컬럼명 대문자처리 } /** * list 조회 공통 * @author 밧밧이 */ public ArrayList selectList(String sqlId, HttpServletRequest request, Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList(sqlId, paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperArrayList(resultList); //컬럼명 대문자처리 } /** * user map * @param paramMap * @return */ public Map getUserMap(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = (Map)sqlSession.selectOne("common.getUserInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperHashMap(resultMap); } /** * Bom UNIT 목록 * @param request * @param paramMap * @return */ public List getUnitTitleCodeList(Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("common.getUnitTitleCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 업무 진행중 메일 발송 * @param Map paramMap * @param String mailType 업무별 유니크한 값 * @param String 메일 받을사람 1명지정 (ex 프 로젝트 PM) */ public void SendMail(Map paramMap,String mailType,String sendUser) { SqlSession sqlSession = null; List> resultList = new ArrayList(); Map userMap = new HashMap(); //메일 발송 try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); //제목 String subject = ""; String contents = ""; paramMap.put("MAILTYPE",mailType); if("CONTRACT_REG".equals(mailType)){ subject ="["+CommonUtils.checkNull(paramMap.get("project_name"))+"] 신규 계약건이 등록되었습니다"; contents = "영업관리_계약관리 등록에서 업무 진행 바랍니다."; resultList = (ArrayList)sqlSession.selectList("common.getworkmailList", paramMap); }else if("CONTRACT_COMP".equals(mailType)){ subject = "["+CommonUtils.checkNull(paramMap.get("project_name"))+"] PM으로 지정되었습니다 프로젝트 등록 바랍니다"; contents ="프로젝트관리_진행관리 탭에서 프로젝트 등록 바랍니다."; }else if("PROJECT_REG".equals(mailType)){ subject = "["+CommonUtils.checkNull(paramMap.get("project_name"))+"] 프로젝트가 등록되었습니다."; contents ="유닛 등록(설계), 담당자 지정 바랍니다."; resultList = (ArrayList)sqlSession.selectList("common.getworkmailList", paramMap); }else if("TASK_SAVE".equals(mailType)){ subject = "["+CommonUtils.checkNull(paramMap.get("project_name"))+"] 담당자로 지정되었습니다"; contents ="계획 일정 및 실적 입력 바랍니다."; }else if("INSTRUCTION_MNG_ASSIGN".equals(mailType)){ //지시사항 이행관리 dashboardservice에서 발송 } if(!"".equals(CommonUtils.checkNull(sendUser))){ //유저 메일 가져오기 paramMap.put("email_user", sendUser); userMap = (Map)sqlSession.selectOne("admin.selectUserInfo", paramMap); MailUtil.sendMailNew(CommonUtils.checkNull(userMap.get("email")), subject, contents); } for(Map resultMap:resultList){ String email = CommonUtils.checkNull(resultMap.get("email")); MailUtil.sendMailNew(email, subject, contents); } //to user //ArrayList toUserIdList = new ArrayList(); //to email //ArrayList toEmailList = new ArrayList(); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } } }