ERP-node/src/com/pms/service/ProblemService.java

892 lines
31 KiB
Java

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<Map> 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<Map> 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<Map> 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*/
/*************************************************************************************************************************/
}