892 lines
31 KiB
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*/
|
|
/*************************************************************************************************************************/
|
|
|
|
}
|