package com.pms.service; import java.sql.Clob; import java.util.ArrayList; 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.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.pms.common.Message; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.common.utils.MailUtil; @Service public class ProblemService { CommonService commonService = null; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } /*************************************************************************************************************************/ /*jmpark start*/ /** * 통합문제점 검사 그룹 제기 목록조회 * @param paramMap * @return */ public List getProblemGroupRequestList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); //paging start PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); paramMap.put("connectedUserId", person.getUserId()); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("problem.getProblemGroupRequestListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); //paging end resultList = sqlSession.selectList("problem.getProblemGroupRequestList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 통합문제점 검사 그룹 조치 목록조회 * @param paramMap * @return */ public List getProblemGroupResponseList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); paramMap.put("connectedUserId", person.getUserId()); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("problem.getProblemGroupResponseListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = sqlSession.selectList("problem.getProblemGroupResponseList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 통합문제점 검사 그룹 완료 목록조회 * @param paramMap * @return */ public List getProblemGroupList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("problem.getProblemGroupListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = sqlSession.selectList("problem.getProblemGroupList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 통합문제점 검사 그룹 저장 * @param request * @param paramMap * @return */ public Map saveProblemGroupInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ objId = CommonUtils.createObjId(); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("objId", objId); paramMap.put("writer", writer); } int cnt = sqlSession.update("problem.saveProblemGroupInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SYSTEM_ERROR); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점 검사 그룹 상세 * @param paramMap * @return */ public Map getProblemGroupInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("problem.getProblemGroupInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점 검사 배포 * @param paramMap * @return */ public Map distributeProblemGroupInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("problem.distributeProblemGroupInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.DISTRIBUTE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.DISTRIBUTE_FAILED); } // //메일배포 // Map problemGroupInfo = sqlSession.selectOne("problem.getProblemGroupInfo", paramMap); // // String fromUserId = CommonUtils.checkNull(problemGroupInfo.get("WRITER")); // String fromAddr = CommonUtils.checkNull(problemGroupInfo.get("WRITER_EMAIL")); // // String toUserId = CommonUtils.checkNull(problemGroupInfo.get("RES_PIC")); // String toAddr = CommonUtils.checkNull(problemGroupInfo.get("RES_PIC_EMAIL")); // // MailUtil.sendMail(fromUserId, fromAddr, toUserId, toAddr, null, "Title", "Body Contents", Constants.MAIL_TYPE_PROBLEM_REQ_DISTRIBUTE); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SYSTEM_ERROR); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점관리 문제점 저장 * @param request * @param paramMap * @return */ public Map saveProblemInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); objId = CommonUtils.createObjId(); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("objId", objId); paramMap.put("writer", writer); } System.out.println("paramMap : "+paramMap); int cnt = sqlSession.update("problem.saveProblemInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SYSTEM_ERROR); e.printStackTrace(); }finally{ } return resultMap; } /** * 통합문제점관리 검사별 문제점 목록 조회 * targetObjId 필수. * @param paramMap * @return */ public List getProblemList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("problem.getProblemListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = sqlSession.selectList("problem.getProblemList", paramMap); for(Map map : resultList){ map.put("PROBLEM_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_CONTENTS"))); map.put("PROBLEM_REASON_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_REASON_CONTENTS"))); map.put("RESPONSE_CONTENTS", CommonUtils.getClobToString((Clob)map.get("RESPONSE_CONTENTS"))); Map fileMap = new HashMap(); fileMap.put("targetObjId", map.get("OBJID")); ArrayList fileList = commonService.getFileList(fileMap); for(int i = 0 ; i < fileList.size() ; i++){ Map fileResultMap = (HashMap)fileList.get(i); String docType = CommonUtils.checkNull(fileResultMap.get("DOC_TYPE")); if("PROBLEM_ATTACH".equals(docType)){ map.put("PROBLEM_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("PROBLEM_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("PROBLEM_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("PROBLEM_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("RESPONSE_ATTACH".equals(docType)){ map.put("RESPONSE_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("RESPONSE_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("RESPONSE_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("RESPONSE_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("REASON_ATTACH".equals(docType)){ map.put("REASON_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("REASON_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("REASON_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("REASON_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 통합문제점관리 문제점 상세조회 * @param paramMap * @return */ public Map getProblemInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("problem.getProblemInfo", paramMap); if(resultMap != null){ resultMap.put("PROBLEM_CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("PROBLEM_CONTENTS"))); resultMap.put("PROBLEM_REASON_CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("PROBLEM_REASON_CONTENTS"))); resultMap.put("RESPONSE_CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("RESPONSE_CONTENTS"))); } Map responseMap = new HashMap(); responseMap = sqlSession.selectOne("problem.getProblemGroupInfo"); if(responseMap != null){ resultMap.put("RES_PIC_DEPT_NAME", CommonUtils.checkNull(responseMap.get("RES_PIC_DEPT_NAME"))); resultMap.put("RES_PIC_USER_NAME", CommonUtils.checkNull(responseMap.get("RES_PIC_USER_NAME"))); } System.out.println("resultMap = "+resultMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점관리 문제점 상태변경(확인결과 반영) * @param paramMap */ public void changeProblemStatusInfo(Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); sqlSession.update("problem.changeProblemStatusInfo", paramMap); //모든 항목에 대해 완료처리 되었다면 problem group을 완료시킨다. int cnt = sqlSession.selectOne("problem.getUnCompleteProblemCnt", paramMap); if(cnt == 0){ sqlSession.update("problem.updateProblemGroupComplete", paramMap); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } } /** * 통합문제점관리 문제점 과거차대상여부 변경 * @param paramMap */ public void changeProblemContinualMngTypeInfo(Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); sqlSession.update("problem.changeProblemContinualMngTypeInfo", paramMap); //과거차 대상여부를 N에서 Y로 변경 시, 최종 승인결과를 초기화시킨다.(과거차대상여부에 대한 반려 후, 재승인요청시 필요) String type = CommonUtils.checkNull(paramMap.get("type")); if("Y".equals(type)){ sqlSession.update("problem.initializeProblemContinualMngTypeResultInfo", paramMap); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } } /** * 과거차문제점 승인요청 목록 조회 * @param paramMap * @return */ public List getProblemContinualMngApplyReqList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("problem.getProblemContinualMngApplyReqList", paramMap); for(Map map : resultList){ map.put("PROBLEM_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_CONTENTS"))); map.put("PROBLEM_REASON_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_REASON_CONTENTS"))); map.put("RESPONSE_CONTENTS", CommonUtils.getClobToString((Clob)map.get("RESPONSE_CONTENTS"))); map.put("SUGGEST_CONTENTS", CommonUtils.getClobToString((Clob)map.get("SUGGEST_CONTENTS"))); Map fileMap = new HashMap(); fileMap.put("targetObjId", map.get("OBJID")); ArrayList fileList = commonService.getFileList(fileMap); for(int i = 0 ; i < fileList.size() ; i++){ Map fileResultMap = (HashMap)fileList.get(i); String docType = CommonUtils.checkNull(fileResultMap.get("DOC_TYPE")); if("PROBLEM_ATTACH".equals(docType) || "STR_PROBLEM_ATTACH".equals(docType)){ map.put("PROBLEM_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("PROBLEM_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("PROBLEM_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("PROBLEM_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("RESPONSE_ATTACH".equals(docType) || "STR_SUGGEST_ATTACH".equals(docType)){ map.put("RESPONSE_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("RESPONSE_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("RESPONSE_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("RESPONSE_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("REASON_ATTACH".equals(docType)){ map.put("REASON_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("REASON_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("REASON_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("REASON_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 과거차문제점 승인처리 * @param request * @param paramMap */ public void insertProblemContinualMngApplyResult(HttpServletRequest request, Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("objId", CommonUtils.createObjId()); paramMap.put("writer", writer); String targetType = CommonUtils.checkNull(paramMap.get("targetType")); System.out.println("paramMap : "+paramMap); if("problem".equals(targetType)){ //problem table에 과거차 대상결과 update sqlSession.update("problem.updateProblemInfoContinualMngType", paramMap); }else if("structure".equals(targetType)){ //structure review report table에 과거차 대상결과 update sqlSession.update("structureReviewReport.updateStructureReviewReportContinualMngType", paramMap); } sqlSession.insert("problem.insertProblemContinualMngApplyResult", paramMap); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } } /** * 과거차문제점 승인결과 목록조회 * @param paramMap * @return */ public List getProblemContinualMngApplyResultList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"),Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); Map pageMap = (HashMap)sqlSession.selectOne("getProblemContinualMngApplyResultListCnt",paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request,pageMap); paramMap.put("PAGE_END",CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START",CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = sqlSession.selectList("problem.getProblemContinualMngApplyResultList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 과거차문제점 조회 * @param paramMap * @return */ public List getProblemContinualMngList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"),Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); Map pageMap = (HashMap)sqlSession.selectOne("problem.getProblemContinualMngListCnt",paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request,pageMap); paramMap.put("PAGE_END",CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START",CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = (ArrayList)sqlSession.selectList("problem.getProblemContinualMngList", paramMap); for(Map map : resultList){ map.put("PROBLEM_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_CONTENTS"))); map.put("PROBLEM_REASON_CONTENTS", CommonUtils.getClobToString((Clob)map.get("PROBLEM_REASON_CONTENTS"))); map.put("RESPONSE_CONTENTS", CommonUtils.getClobToString((Clob)map.get("RESPONSE_CONTENTS"))); map.put("SUGGEST_CONTENTS", CommonUtils.getClobToString((Clob)map.get("SUGGEST_CONTENTS"))); Map fileMap = new HashMap(); fileMap.put("targetObjId", map.get("OBJID")); ArrayList fileList = commonService.getFileList(fileMap); for(int i = 0 ; i < fileList.size() ; i++){ Map fileResultMap = (HashMap)fileList.get(i); String docType = CommonUtils.checkNull(fileResultMap.get("DOC_TYPE")); if("STR_PROBLEM_ATTACH".equals(docType) || "PROBLEM_ATTACH".equals(docType)){ map.put("PROBLEM_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("PROBLEM_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("PROBLEM_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("PROBLEM_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("RESPONSE_ATTACH".equals(docType) || "STR_SUGGEST_ATTACH".equals(docType)){ map.put("RESPONSE_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("RESPONSE_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("RESPONSE_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("RESPONSE_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); }else if("REASON_ATTACH".equals(docType)){ map.put("REASON_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); map.put("REASON_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); map.put("REASON_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); map.put("REASON_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 조치자가 조치를 완료하고, 제기자에게 다시 알려주기위해 메일을 배포한다. * @param request * @param paramMap */ public void resDistributeProblemGroupInfo(HttpServletRequest request, Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("problem.resDistributeProblemGroupInfo", paramMap); // //메일배포 // Map problemGroupInfo = sqlSession.selectOne("problem.getProblemGroupInfo", paramMap); // // String fromUserId = CommonUtils.checkNull(problemGroupInfo.get("RES_PIC")); // String fromAddr = CommonUtils.checkNull(problemGroupInfo.get("RES_PIC_EMAIL")); // // String toUserId = CommonUtils.checkNull(problemGroupInfo.get("WRITER")); // String toAddr = CommonUtils.checkNull(problemGroupInfo.get("WRITER_EMAIL")); // // MailUtil.sendMail(fromUserId, fromAddr, toUserId, toAddr, null, "Title", "Body Contents", Constants.MAIL_TYPE_PROBLEM_RES_DISTRIBUTE); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } } /** * 과거차 반영이력 목록 조회 * @param paramMap * @return */ public List getProblemContinualReflectList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("problem.getProblemContinualReflectList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 과거차 반영이력 상세조회 * @param paramMap * @return */ public Map getProblemContinualReflectInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if(!"".equals(objId)){ resultMap = sqlSession.selectOne("problem.getProblemContinualRelfectInfo", paramMap); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 과거차 반영이력 저장 * @param request * @param paramMap * @return */ public Map saveProblemContinualReflectHistoryInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ objId = CommonUtils.createObjId(); paramMap.put("objId", objId); } int cnt = sqlSession.update("problem.saveProblemContinualReflectHistoryInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점 제기완료 메일발송 * @param request * @param paramMap */ public Map sendProblemRequestCompleteMail(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String[] receivers = request.getParameterValues("chk"); System.out.println("paramMap : "+paramMap); System.out.println("receivers.length : "+receivers.length); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); Map userInfo = person.getLoginInfo(); //1. 메일 발송할 대상의 정보조회 Map info = sqlSession.selectOne("mail.getProblemGroupInfo", paramMap); //2. 해당 내용을 담은 htmlBody 생성 Map mailParamMap = new HashMap(); String subject = "["+CommonUtils.checkNull(info.get("CAR_CODE"))+" ("+CommonUtils.checkNull(info.get("CAR_NAME"))+")] ["+CommonUtils.checkNull(info.get("PROD_GROUP_NAME"))+"] ["+CommonUtils.checkNull(info.get("PROD_NAME"))+"] "+Message.MAIL_SUBJECT_PROBLEM_REQUEST_COMPLETE; mailParamMap.put("SUBJECT", subject); mailParamMap.putAll(info); String bodyContents = MailUtil.getHTMLContents("problemRequestCompleteMailTemplate", mailParamMap); //조치담당자에게 메일 발송 MailUtil.sendMail(Constants.ADMIN_USER_ID, Constants.FROM_ADDR, CommonUtils.checkNull(info.get("RES_PIC")), CommonUtils.checkNull(info.get("RES_PIC_EMAIL")), null, subject, bodyContents, Constants.MAIL_TYPE_PROBLEM_REQ_DISTRIBUTE); //3. 메일 발송 대상 조회 for(String receiver : receivers){ if(receiver.contains(":")){ String[] receiverSplit = receiver.split(":"); String receiverId = CommonUtils.checkNull(receiverSplit[0]); String receiverEmail = CommonUtils.checkNull(receiverSplit[1]); //4. 메일 발송 MailUtil.sendMail(Constants.ADMIN_USER_ID, Constants.FROM_ADDR, receiverId, receiverEmail, null, subject, bodyContents, Constants.MAIL_TYPE_PROBLEM_REQ_DISTRIBUTE); } } resultMap.put("result", true); resultMap.put("msg", Message.SEND_MAIL_SUCCESS); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점 조치완료 메일발송 * @param request * @param paramMap */ public Map sendProblemResponseCompleteMail(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String[] receivers = request.getParameterValues("chk"); System.out.println("paramMap : "+paramMap); System.out.println("receivers.length : "+receivers.length); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); Map userInfo = person.getLoginInfo(); //1. 메일 발송할 대상의 정보조회 Map info = sqlSession.selectOne("mail.getProblemGroupInfo", paramMap); //2. 해당 내용을 담은 htmlBody 생성 Map mailParamMap = new HashMap(); String subject = "["+CommonUtils.checkNull(info.get("CAR_CODE"))+" ("+CommonUtils.checkNull(info.get("CAR_NAME"))+")] ["+CommonUtils.checkNull(info.get("PROD_GROUP_NAME"))+"] ["+CommonUtils.checkNull(info.get("PROD_NAME"))+"] "+Message.MAIL_SUBJECT_PROBLEM_RESPONSE_COMPLETE; mailParamMap.put("SUBJECT", subject); mailParamMap.putAll(info); String bodyContents = MailUtil.getHTMLContents("problemResponseCompleteMailTemplate", mailParamMap); //조치담당자에게 메일 발송 MailUtil.sendMail(Constants.ADMIN_USER_ID, Constants.FROM_ADDR, CommonUtils.checkNull(info.get("WRITER")), CommonUtils.checkNull(info.get("WRITER_EMAIL")), null, subject, bodyContents, Constants.MAIL_TYPE_PROBLEM_RES_DISTRIBUTE); //3. 메일 발송 대상 조회 for(String receiver : receivers){ if(receiver.contains(":")){ String[] receiverSplit = receiver.split(":"); String receiverId = CommonUtils.checkNull(receiverSplit[0]); String receiverEmail = CommonUtils.checkNull(receiverSplit[1]); //4. 메일 발송 MailUtil.sendMail(Constants.ADMIN_USER_ID, Constants.FROM_ADDR, receiverId, receiverEmail, null, subject, bodyContents, Constants.MAIL_TYPE_PROBLEM_RES_DISTRIBUTE); } } resultMap.put("result", true); resultMap.put("msg", Message.SEND_MAIL_SUCCESS); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /*jmpark end*/ /*************************************************************************************************************************/ /*************************************************************************************************************************/ /*edhwang start*/ /*edhwang end*/ /*************************************************************************************************************************/ /*************************************************************************************************************************/ /*dhchoi start*/ /*dhchoi end*/ /*************************************************************************************************************************/ }