- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
1814 lines
52 KiB
Java
1814 lines
52 KiB
Java
package com.pms.service;
|
|
|
|
import java.sql.Clob;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
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.service.BaseService;
|
|
import com.pms.common.utils.CommonUtils;
|
|
import com.pms.common.utils.Constants;
|
|
|
|
@Service
|
|
public class ProductDevMngService extends BaseService{
|
|
|
|
CommonService commonService = null;
|
|
|
|
@Autowired
|
|
public void setCommonService(CommonService commonService){
|
|
this.commonService = commonService;
|
|
}
|
|
|
|
/*jmpark start*/
|
|
|
|
/**
|
|
* EO 적용현황 목록 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getEOApplyStatusList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
Map pageMap = new HashMap();
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
boolean isFirstOpen = false;
|
|
|
|
//최초로딩시 데이터 조회하지않는다.
|
|
Map sqlParamMap = new HashMap();
|
|
sqlParamMap = paramMap;
|
|
|
|
//메뉴정보를 Map에서 삭제한다.
|
|
sqlParamMap.remove("menuObjId");
|
|
if(sqlParamMap == null || sqlParamMap.isEmpty()){
|
|
isFirstOpen = true;
|
|
}
|
|
|
|
//paging start
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("connectedUserId", person.getUserId());
|
|
|
|
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.EO_COUNT_PER_PAGE+"");
|
|
|
|
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
|
|
|
|
pageMap = (HashMap)sqlSession.selectOne("productDev.getEOApplyStatusListCnt", 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
|
|
|
|
if(!isFirstOpen){
|
|
resultList = sqlSession.selectList("productDev.getEOApplyStatusList", sqlParamMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 기본 Object 생성
|
|
* @return
|
|
*/
|
|
public String createEOApplyBaseObject(Map paramMap){
|
|
String result = "";
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
result = CommonUtils.createObjId();
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
sqlParamMap.put("objId", result);
|
|
sqlParamMap.put("targetObjId", paramMap.get("targetObjId"));
|
|
|
|
sqlSession.insert("productDev.createEOApplyBaseObject", sqlParamMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 > EO 적용관리 정보 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getEOApplyPointInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getEOApplyPointInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 EO 적용관리 저장
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveEOApplyPointInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("objId"));
|
|
if("".equals(objId)){
|
|
objId = createEOApplyBaseObject(paramMap);
|
|
paramMap.put("objId", objId);
|
|
}
|
|
|
|
int cnt = sqlSession.update("productDev.saveEOApplyPointInfo", 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);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
e.printStackTrace();
|
|
}finally{
|
|
|
|
}
|
|
|
|
return resultMap;
|
|
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 > 금형/JIG 수정승인관리 정보 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getEOApplyModifyConfirmInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getEOApplyModifyConfirmInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
|
|
/**
|
|
* EO 적용현황 > 금형/JIG 수정승인관리 정보 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveEOApplyModifyConfirmInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("objId"));
|
|
if("".equals(objId)){
|
|
objId = createEOApplyBaseObject(paramMap);
|
|
paramMap.put("objId", objId);
|
|
}
|
|
|
|
int cnt = sqlSession.update("productDev.saveEOApplyModifyConfirmInfo", 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);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 > EO 적용완료 점검결과 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getEOApplyCheckInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getEOApplyCheckInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* EO 적용현황 > EO 적용완료 점검결과 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveEOApplyCheckInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("objId"));
|
|
if("".equals(objId)){
|
|
objId = createEOApplyBaseObject(paramMap);
|
|
paramMap.put("objId", objId);
|
|
}
|
|
|
|
int cnt = sqlSession.update("productDev.saveEOApplyCheckInfo", 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);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 갑지 중복등록 count 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkDuplicateMoldHistoryInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.checkDuplicateMoldHistoryInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 갑지 목록 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getMoldHistoryList(Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultList = sqlSession.selectList("productDev.getMoldHistoryList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 갑지 정보조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getMoldHistoryInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getMoldHistoryInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 금형이력정보 갑지저장
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveMoldHistoryInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
int cnt = 0;
|
|
System.out.println("paramMap : "+paramMap);
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
//갑지정보 저장.
|
|
cnt = sqlSession.update("productDev.saveMoldHistoryInfo", 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);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.SYSTEM_ERROR);
|
|
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 갑지별 제품목록 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getMoldHistoryRelProductList(Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultList = sqlSession.selectList("productDev.getMoldHistoryRelProductList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 갑지에 제품연결
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map connectMoldHistoryRelProduct(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 objId = CommonUtils.createObjId();
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
paramMap.put("objId", objId);
|
|
paramMap.put("writer", writer);
|
|
|
|
Map duplicateMap = sqlSession.selectOne("productDev.getDuplicateMoldHistoryRelProductCnt", paramMap);
|
|
int duplicateCnt = Integer.parseInt(CommonUtils.checkNull(duplicateMap.get("CNT"), "0"));
|
|
|
|
if(duplicateCnt == 0){
|
|
int cnt = sqlSession.insert("productDev.connectMoldHistoryRelProduct", 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);
|
|
}
|
|
}else{
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.ALREADY_REGISTED);
|
|
}
|
|
|
|
|
|
}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 disconnectMoldHistoryRelProduct(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
int cnt = sqlSession.insert("productDev.disconnectMoldHistoryRelProduct", 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 request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getMoldHistoryRelProdAttrInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getMoldHistoryRelProdAttrInfo", paramMap);
|
|
|
|
if(resultMap == null){
|
|
resultMap = new HashMap();
|
|
resultMap.put("MOLD_HISTORY_OBJID", CommonUtils.checkNull(paramMap.get("moldHistoryObjId")));
|
|
resultMap.put("MASTER_OBJID", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
|
resultMap.put("SUB_OBJID", CommonUtils.createObjId());
|
|
|
|
//등록일(today)
|
|
resultMap.put("REGDATE", new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
|
|
|
|
//담당자(접속자)
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String userId = CommonUtils.checkNull(person.getUserId());
|
|
String deptName = CommonUtils.checkNull(person.getDeptName());
|
|
String userName = CommonUtils.checkNull(person.getUserName());
|
|
|
|
resultMap.put("PIC", userId);
|
|
resultMap.put("PIC_DEPT_NAME", deptName);
|
|
resultMap.put("PIC_USER_NAME", userName);
|
|
|
|
//개정차수(해당 target별 max+1)
|
|
Map nextRevMap = sqlSession.selectOne("productDev.getMoldHistoryRelProdAttrNextRev", paramMap);
|
|
String nextRev = CommonUtils.checkNull(nextRevMap.get("NEXT_REV"), "0");
|
|
|
|
resultMap.put("REV", nextRev);
|
|
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 차종/제품별 첨부이력 목록조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getMoldHistoryRelProdAttrList(Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultList = sqlSession.selectList("productDev.getMoldHistoryRelProdAttrList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 금형이력 파일첨부 내용 저장
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveMoldHistoryRelProdAttrInfo(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
int cnt = sqlSession.update("productDev.saveMoldHistoryRelProdAttrInfo", 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;
|
|
}
|
|
|
|
/*jmpark end*/
|
|
|
|
|
|
|
|
|
|
|
|
/*edhwang start*/
|
|
/**
|
|
* DFMEA 갑지의 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDFMEABaseInfoList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
Map pageMap = new HashMap();
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
//paging start
|
|
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+"");
|
|
|
|
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
|
|
|
|
pageMap = (HashMap)sqlSession.selectOne("productDev.getDFMEABaseInfoListCnt", 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("productDev.getDFMEABaseInfoList", paramMap);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 갑지의 중복여부를 확인한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkDFMEABaseInfoDuplicate(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
resultMap = sqlSession.selectOne("productDev.checkDFMEABaseInfoDuplicate", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 갑지의 정보를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveDFMEABaseInfo(HttpSession session,HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
sqlSession.update("productDev.saveDFMEABaseInfo", paramMap);
|
|
resultMap.put("result", true);
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 갑지의 상세 단건정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDFMEABaseInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("productDev.getDFMEABaseInfo", paramMap);
|
|
}else{
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 갑지에 연결된 DFMEA 정보 목록를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDFMEAList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
if(!"".equals(targetObjId)){
|
|
resultList = sqlSession.selectList("productDev.getDFMEAList", paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 정보를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveDFMEAInfoList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
String dfmeaObjId = CommonUtils.checkNull(request.getParameter("dfmeaObjId"));
|
|
String[] dfmeaObjIds = null;
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
if(!"".equals(dfmeaObjId)){
|
|
dfmeaObjIds = request.getParameterValues("dfmeaObjId");
|
|
if(0<dfmeaObjIds.length){
|
|
for(int i=0;i<dfmeaObjIds.length;i++){
|
|
String objId = CommonUtils.checkNull(dfmeaObjIds[i]);
|
|
String deleteObjId = CommonUtils.checkNull(request.getParameter("deleteDFMEAObjId_"+objId));
|
|
|
|
Map dfmeaSqlMap = new HashMap();
|
|
|
|
dfmeaSqlMap.put("objId", objId);
|
|
|
|
if(!"".equals(deleteObjId)){
|
|
dfmeaSqlMap.put("objId", deleteObjId);
|
|
sqlSession.delete("productDev.deleteDFMEAInfo", dfmeaSqlMap);
|
|
}else{
|
|
String groupPartNo = CommonUtils.checkNull(request.getParameter("dfmeaGroupPart_"+objId));
|
|
String groupObjId = CommonUtils.checkNull(request.getParameter("dfmeaGroup_"+objId));
|
|
String categoryPartNo = CommonUtils.checkNull(request.getParameter("dfmeaCategoryPart_"+objId));
|
|
String categoryObjId = CommonUtils.checkNull(request.getParameter("dfmeaCategory_"+objId));
|
|
String attrPartNo = CommonUtils.checkNull(request.getParameter("dfmeaAttrPart_"+objId));
|
|
String attrPartComment = CommonUtils.checkNull(request.getParameter("dfmeaAttrComment_"+objId));
|
|
String dfmeaAttribute = CommonUtils.checkNull(request.getParameter("dfmeaAttribute_"+objId));
|
|
|
|
String potentialImpact = CommonUtils.checkNull(request.getParameter("potentialImpact_"+objId));
|
|
String severityScore = CommonUtils.checkNull(request.getParameter("severityScore_"+objId));
|
|
String specialSpec = CommonUtils.checkNull(request.getParameter("specialSpec_"+objId));
|
|
String potentialCause = CommonUtils.checkNull(request.getParameter("potentialCause_"+objId));
|
|
String incidenceScore = CommonUtils.checkNull(request.getParameter("incidenceScore_"+objId));
|
|
String currentMngPrevent = CommonUtils.checkNull(request.getParameter("currentMngPrevent_"+objId));
|
|
String currentMngDetect = CommonUtils.checkNull(request.getParameter("currentMngDetect_"+objId));
|
|
String detectScore = CommonUtils.checkNull(request.getParameter("detectScore_"+objId));
|
|
String recommendOption = CommonUtils.checkNull(request.getParameter("recommendOption_"+objId));
|
|
|
|
dfmeaSqlMap.put("targetObjId", targetObjId);
|
|
dfmeaSqlMap.put("groupPartNo", groupPartNo);
|
|
dfmeaSqlMap.put("groupObjId", groupObjId);
|
|
dfmeaSqlMap.put("categoryPartNo", categoryPartNo);
|
|
dfmeaSqlMap.put("categoryObjId", categoryObjId);
|
|
dfmeaSqlMap.put("attrPartNo", attrPartNo);
|
|
dfmeaSqlMap.put("attrPartComment", attrPartComment);
|
|
dfmeaSqlMap.put("attrObjId", dfmeaAttribute);
|
|
|
|
dfmeaSqlMap.put("potentialImpact", potentialImpact);
|
|
dfmeaSqlMap.put("severityScore", severityScore);
|
|
dfmeaSqlMap.put("specialSpec", specialSpec);
|
|
dfmeaSqlMap.put("potentialCause", potentialCause);
|
|
dfmeaSqlMap.put("incidenceScore", incidenceScore);
|
|
dfmeaSqlMap.put("currentMngPrevent", currentMngPrevent);
|
|
dfmeaSqlMap.put("currentMngDetect", currentMngDetect);
|
|
dfmeaSqlMap.put("detectScore", detectScore);
|
|
dfmeaSqlMap.put("recommendOption", recommendOption);
|
|
|
|
dfmeaSqlMap.put("status", "");
|
|
dfmeaSqlMap.put("writer", writer);
|
|
|
|
sqlSession.update("productDev.saveDFMEAInfo", dfmeaSqlMap);
|
|
}
|
|
}
|
|
sqlSession.commit();
|
|
}
|
|
}
|
|
resultMap.put("result", true);
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 대분류 목록을 가져온다.(활성화)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDFMEACategoryGroupList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultList = sqlSession.selectList("productDev.getDFMEACategoryGroupList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 중분류 목록을 가져온다.(활성화)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDFMEACategoryList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("categoryGroupObjId"));
|
|
if(!"".equals(targetObjId)){
|
|
resultList = sqlSession.selectList("productDev.getDFMEACategoryList", paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 필터 목록을 가져온다.(활성화)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDFMEAAttributeList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("categoryObjId"));
|
|
if(!"".equals(targetObjId)){
|
|
resultList = sqlSession.selectList("productDev.getDFMEAAttributeList", paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 필터의 상세내용을 가져온다.(활성화)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDFMEAAttributeInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("productDev.getDFMEAAttributeList", paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 설변 적용 상세내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getStructureChangeInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("productDev.getStructureChangeInfo", paramMap);
|
|
}else{
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
resultMap.put("TARGET_OBJID", targetObjId);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 설변 적용 내용의 중복여부를 확인한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkStructureChangeInfoDuplicate(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.checkStructureChangeInfoDuplicate",paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 설변 적용내용을 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveStructureChangeInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
sqlSession.update("productDev.saveStructureChangeInfo", paramMap);
|
|
sqlSession.commit();
|
|
resultMap.put("result", true);
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* DFMEA 설변 적용내용 이력 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List dfmeaChangeStructureListPopUp(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultList = sqlSession.selectList("productDev.dfmeaChangeStructureList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지의 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List designCheckListBaseInfoList(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("productDev.designCheckListBaseInfoListCnt", 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("productDev.designCheckListBaseInfoList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지의 상세내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListBaseInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListBaseInfo", paramMap);
|
|
}else{
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지 내용을 저장한다.(진행중)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveCheckListBaseInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
String actionType = CommonUtils.checkNull(request.getParameter("actionType"));
|
|
|
|
if("regist".equals(actionType)){
|
|
paramMap.put("status","create");
|
|
}
|
|
|
|
sqlSession.update("productDev.saveCheckListBaseInfo",paramMap);
|
|
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
String productObjId = CommonUtils.checkNull(request.getParameter("productObjId"));
|
|
|
|
//갑지 정보와 제품정보가 있는지 확인한다.
|
|
if(!"".equals(objId) && !"".equals(productObjId)){
|
|
|
|
//해당 갑지에 제품정보에 해당하는 체크리스트가 있는지 확인한다.
|
|
Map connectMap = sqlSession.selectOne("productDev.getConnectCheckListCnt",paramMap);
|
|
int cnt = Integer.parseInt(CommonUtils.checkNull(connectMap.get("CNT"),"0"));
|
|
|
|
if(cnt == 0){
|
|
List templateCheckList = new ArrayList();
|
|
templateCheckList = sqlSession.selectList("productDev.getDesignCheckListTemplate", paramMap);
|
|
|
|
for(int i=0;i<templateCheckList.size();i++){
|
|
Map templateMap = (HashMap)templateCheckList.get(i);
|
|
|
|
Map checkListSqlMap = new HashMap();
|
|
checkListSqlMap.put("objId", CommonUtils.createObjId());
|
|
checkListSqlMap.put("targetObjId", objId);
|
|
checkListSqlMap.put("groupObjId", CommonUtils.checkNull(templateMap.get("GROUP_OBJID")));
|
|
checkListSqlMap.put("categoryObjId", CommonUtils.checkNull(templateMap.get("CATEGORY_OBJID")));
|
|
checkListSqlMap.put("attributeObjId", CommonUtils.checkNull(templateMap.get("ATTRIBUTE_OBJID")));
|
|
checkListSqlMap.put("checkOption", CommonUtils.checkNull(templateMap.get("CHECK_OPTION")));
|
|
checkListSqlMap.put("checkBase", CommonUtils.checkNull(templateMap.get("CHECK_BASE")));
|
|
|
|
System.out.println("saveCheckListBaseInfo(checkListSqlMap):"+checkListSqlMap);
|
|
|
|
sqlSession.update("productDev.mergeCheckListInfo", checkListSqlMap);
|
|
}
|
|
}
|
|
}
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지 내용의 종복여부를 확인한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkCheckListBaseInfoDuplicate(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.checkCheckListBaseInfoDuplicate",paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지에 해당하는 체크리스트 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDesignCheckList(HttpServletRequest request, Map paramMap){
|
|
List<Map> resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
paramMap.put("l1DocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L1_CODE);
|
|
paramMap.put("l2DocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L2_CODE);
|
|
paramMap.put("l3DocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L3_CODE);
|
|
paramMap.put("l4DocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L4_CODE);
|
|
paramMap.put("instlDocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_INSTL_CODE);
|
|
paramMap.put("eoDocType", Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_EO_CODE);
|
|
|
|
resultList = sqlSession.selectList("productDev.getDesignCheckList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트를 추가한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map createCheckList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
String productObjId = CommonUtils.checkNull(request.getParameter("productObjId"));
|
|
|
|
Map checkListSqlMap = new HashMap();
|
|
|
|
String objId = CommonUtils.createObjId();
|
|
|
|
checkListSqlMap.put("objId", objId);
|
|
checkListSqlMap.put("targetObjId", targetObjId);
|
|
checkListSqlMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
sqlSession.update("productDev.mergeCheckListInfo",checkListSqlMap);
|
|
|
|
sqlSession.commit();
|
|
|
|
Map sqlMap = new HashMap();
|
|
sqlMap.put("objId", objId);
|
|
sqlMap.put("targetObjId", targetObjId);
|
|
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListDetailInfo",sqlMap);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
sqlSession.rollback();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트를 삭제한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map deleteCheckList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
|
|
if(!"".equals(objId) && !"".equals(targetObjId)){
|
|
Map sqlMap = new HashMap();
|
|
|
|
sqlMap.put("objId",objId);
|
|
sqlMap.put("targetObjId",targetObjId);
|
|
|
|
sqlSession.delete("productDev.deleteCheckListInfo",sqlMap);
|
|
}
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
sqlSession.rollback();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 소분류의 상세 내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListAttributeInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListAttributeInfo",paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트(갑지X)를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveCheckList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
System.out.println("saveCheckList(paramMap):"+paramMap);
|
|
|
|
String[] checkLists = request.getParameterValues("checkListObjId");
|
|
|
|
System.out.println("saveCheckList(checkLists):"+checkLists);
|
|
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
|
|
if(null != checkLists && 0 < checkLists.length){
|
|
for(int i=0;i<checkLists.length;i++){
|
|
String checkObjId = CommonUtils.checkNull(checkLists[i].toString());
|
|
|
|
if(!"".equals(checkObjId)){
|
|
Map checkListMap = new HashMap();
|
|
|
|
checkListMap.put("objId", checkObjId);
|
|
checkListMap.put("targetObjId", targetObjId);
|
|
checkListMap.put("groupObjId", CommonUtils.checkNull(request.getParameter("group_"+checkObjId)));
|
|
checkListMap.put("categoryObjId", CommonUtils.checkNull(request.getParameter("category_"+checkObjId)));
|
|
checkListMap.put("attributeObjId", CommonUtils.checkNull(request.getParameter("attribute_"+checkObjId)));
|
|
checkListMap.put("checkOption", CommonUtils.checkNull(request.getParameter("checkOption_"+checkObjId)));
|
|
checkListMap.put("checkBase", CommonUtils.checkNull(request.getParameter("checkBase_"+checkObjId)));
|
|
checkListMap.put("relationType", CommonUtils.checkNull(request.getParameter("relationType_"+checkObjId)));
|
|
|
|
sqlSession.update("productDev.mergeCheckListInfo",checkListMap);
|
|
}
|
|
}
|
|
sqlSession.commit();
|
|
resultMap.put("result", true);
|
|
}
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트(갑지X) 평가결과를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveTestResult(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
System.out.println("saveTestResult(paramMap):"+paramMap);
|
|
|
|
sqlSession.update("productDev.mergeCheckListTestResult",paramMap);
|
|
|
|
sqlSession.commit();
|
|
resultMap.put("result", true);
|
|
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트(갑지X)의 상세 내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListDetailInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListDetailInfo",paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트(갑지X)의 평가결과 상세 내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListTestResultInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListDetailInfo",paramMap);
|
|
|
|
String step = CommonUtils.checkNull(request.getParameter("step"));
|
|
|
|
System.out.println("getCheckListTestResultInfo(paramMap):"+paramMap);
|
|
|
|
if(!"".equals(step)){
|
|
resultMap.put("TARGET_RATING", CommonUtils.checkNull(resultMap.get("RATING_"+step)));
|
|
resultMap.put("TARGET_COMMENT", CommonUtils.checkNull(resultMap.get("COMMENT_"+step)));
|
|
resultMap.put("TARGET_RATING_TITLE", CommonUtils.checkNull(resultMap.get("RATING_"+step+"_TITLE")));
|
|
resultMap.put("TARGET_RESULT_DATE_TITLE", CommonUtils.checkNull(resultMap.get("RESULT_DATE_"+step+"_TITLE")));
|
|
}
|
|
|
|
String docType = "";
|
|
String docName = "";
|
|
|
|
System.out.println("getCheckListTestResultInfo(resultMap):"+resultMap);
|
|
|
|
if(!"".equals(step)){
|
|
if("L1".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L1_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L1_NAME;
|
|
}else if("L2".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L2_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L2_NAME;
|
|
}else if("L3".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L3_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L3_NAME;
|
|
}else if("L4".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L4_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_L4_NAME;
|
|
}else if("INSTL".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_INSTL_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_INSTL_NAME;
|
|
}else if("EO".equals(step)){
|
|
docType = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_EO_CODE;
|
|
docName = Constants.FILE_DOC_TYPE_DESIGN_CHECK_LIST_EO_NAME;
|
|
}
|
|
}
|
|
|
|
request.setAttribute("docType",docType);
|
|
request.setAttribute("docName",docName);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트의 평가결과 확인 내용을 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveCheckListConfirmInfo(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
sqlSession.update("productDev.mergeComfirmTestResultInfo",paramMap);
|
|
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 과거차 문제점 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getProblemContinualList(HttpServletRequest request, Map paramMap){
|
|
List<Map> resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
resultList = sqlSession.selectList("productDev.getProblemContinualList", 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("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
|
|
* @return
|
|
*/
|
|
public Map connectProblemContinual(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
if(!"".equals(targetObjId)){
|
|
String[] problemContinuals = request.getParameterValues("problemChkBox");
|
|
|
|
if(null != problemContinuals && 0 < problemContinuals.length){
|
|
for(int i=0;i<problemContinuals.length;i++){
|
|
String problemContinualObjId = CommonUtils.checkNull(problemContinuals[i].toString());
|
|
String dataType = CommonUtils.checkNull(request.getParameter("dataType_"+problemContinualObjId));
|
|
|
|
Map relSqlMap = new HashMap();
|
|
relSqlMap.put("objId", CommonUtils.createObjId());
|
|
relSqlMap.put("targetObjId", targetObjId);
|
|
relSqlMap.put("problemContinualObjId", problemContinualObjId);
|
|
relSqlMap.put("dataType", dataType);
|
|
relSqlMap.put("writer", writer);
|
|
|
|
sqlSession.update("productDev.mergeCheckListRelProblemContinual", relSqlMap);
|
|
}
|
|
}
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
|
|
}
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 과거차 문제점과 설계 체크리스트를 연결해제한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map disConnectProblemContinual(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
if(!"".equals(targetObjId)){
|
|
String[] problemContinuals = request.getParameterValues("problemChkBox");
|
|
|
|
if(null != problemContinuals && 0 < problemContinuals.length){
|
|
for(int i=0;i<problemContinuals.length;i++){
|
|
String problemContinualObjId = CommonUtils.checkNull(problemContinuals[i].toString());
|
|
String dataType = CommonUtils.checkNull(request.getParameter("dataType_"+problemContinualObjId));
|
|
|
|
Map relSqlMap = new HashMap();
|
|
relSqlMap.put("targetObjId", targetObjId);
|
|
relSqlMap.put("problemContinualObjId", problemContinualObjId);
|
|
relSqlMap.put("dataType", dataType);
|
|
|
|
sqlSession.delete("productDev.deleteCheckListRelProblemContinual", relSqlMap);
|
|
}
|
|
}
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
|
|
}
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
resultMap.put("result", false);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트와 연결된 과거차 문제점 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getConnectProblemContinualList(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
resultList = sqlSession.selectList("productDev.getConnectProblemContinualList", paramMap);
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 연결된 첨부파일 정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getConnectAttachFileInfo(HttpServletRequest request, Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
resultList = sqlSession.selectList("productDev.getFileList", paramMap);
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 체크리스트의 단계별 상태 정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListStepStatus(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = null;
|
|
Map resultMap = new HashMap();
|
|
boolean flag = true;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListStepStatus", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* ㅔㅊ크리스트를 제출 처리한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map submitCheckList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
try{
|
|
String step = CommonUtils.checkNull(request.getParameter("step")).toUpperCase();
|
|
String status = "submit";
|
|
|
|
paramMap.put("status", status);
|
|
|
|
resultMap = changeCheckListStatus(request, paramMap);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지의 상태를 변경한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map changeCheckListStatus(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = null;
|
|
Map resultMap = new HashMap();
|
|
boolean flag = true;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
sqlSession.update("productDev.changeCheckListStatus", paramMap);
|
|
|
|
sqlSession.commit();
|
|
|
|
resultMap.put("result", true);
|
|
|
|
}catch(Exception e){
|
|
|
|
sqlSession.rollback();
|
|
|
|
resultMap.put("result", false);
|
|
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 설계 체크리스트 갑지의 상태를 변경한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getCheckListConfirmHistoryInfo(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = null;
|
|
Map resultMap = new HashMap();
|
|
boolean flag = true;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
resultMap = sqlSession.selectOne("productDev.getCheckListBaseInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
/*edhwang end*/
|
|
|
|
}
|