- 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
1182 lines
39 KiB
Java
1182 lines
39 KiB
Java
package com.pms.service;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.FileOutputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.sql.Clob;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.zip.ZipEntry;
|
|
import java.util.zip.ZipOutputStream;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import org.apache.ibatis.session.SqlSession;
|
|
import org.codehaus.jackson.map.ObjectMapper;
|
|
import org.json.simple.JSONArray;
|
|
import org.json.simple.JSONValue;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import com.pms.common.JsonUtil;
|
|
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;
|
|
import com.pms.common.utils.MailUtil;
|
|
|
|
@Service
|
|
public class DevMngService extends BaseService{
|
|
|
|
CommonService commonService = null;
|
|
|
|
@Autowired
|
|
public void setCommonService(CommonService commonService){
|
|
this.commonService = commonService;
|
|
}
|
|
|
|
/**
|
|
* 공통코드 조회 시 부모에 해당하는 키를 설정한다.
|
|
* @param request
|
|
* @param paramMap
|
|
*/
|
|
public void setDevMngCommonCD(HttpServletRequest request, Map paramMap){
|
|
paramMap.put("PRODUCT_CD", Constants.PRODUCT_CD);
|
|
paramMap.put("PRODUCT_GROUP_CODE", Constants.PRODUCT_GROUP_CODE);
|
|
paramMap.put("OEM_FACTROY_CODE", Constants.OEM_FACTROY_CODE);
|
|
}
|
|
|
|
public void setPartMngCommonCD(Map paramMap){
|
|
paramMap.put("PRODUCT_GROUP_CODE", Constants.PRODUCT_GROUP_CODE);
|
|
paramMap.put("MATERIAL_CODE", Constants.MATERIAL_CODE);
|
|
paramMap.put("SPEC_NO_CODE", Constants.SPEC_NO_CODE);
|
|
paramMap.put("DESIGN_APPLY_POINT_CODE", Constants.DESIGN_APPLY_POINT_CODE);
|
|
}
|
|
|
|
/**
|
|
* 프로젝트 베이스 내외작검토 목록 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List externalWorkReviewList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devMng.externalWorkReviewList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* 내외작검토 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveExternalWorkReview(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("gridData")));
|
|
|
|
for(int i=0;i<gridDataList.size();i++){
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
sqlParamMap = gridDataList.get(i);
|
|
|
|
String objId = CommonUtils.checkNull(sqlParamMap.get("OBJID"),CommonUtils.createObjId());
|
|
|
|
sqlParamMap.put("OBJID",objId);
|
|
sqlParamMap.put("WRITER",writer);
|
|
|
|
System.out.println("sqlParamMap:"+sqlParamMap);
|
|
|
|
sqlSession.update("devMng.saveExternalWorkReview", sqlParamMap);
|
|
}
|
|
|
|
resultMap.put("result",true);
|
|
resultMap.put("message", Message.SAVE_SUCCESS);
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
resultMap.put("message", Message.SAVE_FAILED);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 내외작 검토용 정전개 목록 조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getStructureAscendingList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> spareList = new ArrayList();
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
if(paramMap != null && !paramMap.isEmpty())
|
|
setPartMngCommonCD(paramMap);
|
|
spareList = sqlSession.selectList("devMng.structureAscendingList", paramMap);
|
|
|
|
spareList = CommonUtils.toUpperCaseMapKey(spareList);
|
|
|
|
int maxLevel = 0;
|
|
|
|
if(null != spareList && 0 < spareList.size()){
|
|
for(int i=0;i<spareList.size();i++){
|
|
Map resultMap = new HashMap();
|
|
resultMap = (HashMap)spareList.get(i);
|
|
|
|
int resultLevel = Integer.parseInt(CommonUtils.checkNull(resultMap.get("LEV"),"0"));
|
|
|
|
if(maxLevel < resultLevel){
|
|
maxLevel = resultLevel;
|
|
}
|
|
}
|
|
|
|
for(int i=0;i<spareList.size();i++){
|
|
Map resultMap = new HashMap();
|
|
resultMap = (HashMap)spareList.get(i);
|
|
|
|
resultMap.put("MAX_LEVEL", maxLevel);
|
|
|
|
int level = Integer.parseInt(CommonUtils.checkNull(resultMap.get("LEV"),"0"));
|
|
|
|
|
|
for(int j=0;j<maxLevel;j++){
|
|
String levelSymbol = "";
|
|
|
|
if((j+1) == level){
|
|
levelSymbol = "*";
|
|
}else{
|
|
levelSymbol = "";
|
|
}
|
|
resultMap.put("LEV_"+Integer.toString((j+1)), levelSymbol);
|
|
}
|
|
|
|
resultList.add(resultMap);
|
|
}
|
|
}
|
|
|
|
System.out.println("resultList:"+resultList);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
|
|
/**
|
|
* 금형제작의뢰 목록 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List moldDevRequestList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devMng.moldDevRequestList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* 금형제작의뢰 상세 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map moldDevRequestInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultMap = sqlSession.selectOne("devMng.moldDevRequestInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
/**
|
|
* 내외작검토 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveMoldDevRequestInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("OBJID"),CommonUtils.createObjId());
|
|
|
|
paramMap.put("OBJID",objId);
|
|
paramMap.put("WRITER",writer);
|
|
|
|
sqlSession.update("devMng.saveMoldDevRequestInfo", paramMap);
|
|
|
|
resultMap.put("result",true);
|
|
resultMap.put("message", Message.SAVE_SUCCESS);
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
resultMap.put("message", Message.SAVE_FAILED);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 업체발송처리
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map sendMoldDevRequest(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
paramMap.put("WRITER",writer);
|
|
sqlSession.update("devMng.changeMoldDevRequestStatus", paramMap);
|
|
|
|
resultMap.put("result",true);
|
|
resultMap.put("message", Message.COMPLETE_SUCCESS);
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
resultMap.put("message", Message.FAILED);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 도면일괄다운로드
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public HashMap getDrawingDownload(HttpServletRequest request, Map paramMap){
|
|
HashMap fileMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
|
|
System.out.println("paramMap:"+paramMap);
|
|
|
|
String targetPartObjId = CommonUtils.checkNull(paramMap.get("TARGET_DRAWING_DOWNLOAD"));
|
|
String targetList[] = targetPartObjId.split(",");
|
|
|
|
if(null == targetList || 0 == targetList.length){
|
|
targetList[0] = targetPartObjId;
|
|
}
|
|
|
|
List docTypeList = new ArrayList();
|
|
docTypeList.add("3D_CAD");
|
|
docTypeList.add("2D_DRAWING_CAD");
|
|
docTypeList.add("2D_PDF_CAD");
|
|
|
|
File zipStorage = new File(Constants.PART_ATTACH_FILE_PAKEGE);
|
|
if(!zipStorage.exists()) zipStorage.mkdirs();
|
|
|
|
//선택된 part 목록
|
|
if(null != targetList && 0 < targetList.length){
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_kkmmss");
|
|
Calendar cal = Calendar.getInstance();
|
|
|
|
String timeStamp = sdf.format(cal.getTime());
|
|
|
|
//다운받을 zip 파일 set
|
|
String zipFileName = "금형제작의뢰_"+timeStamp+".zip";
|
|
String zipFilePath = Constants.PART_ATTACH_FILE_PAKEGE+File.separator+zipFileName;
|
|
|
|
ZipOutputStream zout = null;
|
|
zout = new ZipOutputStream(new FileOutputStream(zipFilePath));
|
|
|
|
byte[] buf = new byte[1024];
|
|
|
|
//선택된 파트의 첨부파일 정보를 가져온다.
|
|
for(int i=0;i<targetList.length;i++){
|
|
|
|
String targetObjId = CommonUtils.checkNull(targetList[i]);
|
|
|
|
for(int j=0;j<docTypeList.size();j++){
|
|
String targetDocType = CommonUtils.checkNull(docTypeList.get(j));
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
sqlParamMap.put("TARGET_OBJID", targetObjId);
|
|
sqlParamMap.put("TARGET_DOC_TYPE", targetDocType);
|
|
|
|
ArrayList<HashMap<String,Object>> fileList = (ArrayList)sqlSession.selectList("devMng.getPartFileList", sqlParamMap);
|
|
|
|
if(0 < fileList.size()){
|
|
fileList = CommonUtils.toUpperCaseMapKey(fileList);
|
|
}
|
|
|
|
|
|
if(null != fileList && 0 < fileList.size()){
|
|
for(int k=0;k<fileList.size();k++){
|
|
HashMap fileListMap = (HashMap)fileList.get(k);
|
|
|
|
String savedFileName = CommonUtils.checkNull(fileListMap.get("SAVED_FILE_NAME"));
|
|
String saveFilePath = CommonUtils.checkNull(fileListMap.get("FILE_PATH"));
|
|
String docType = CommonUtils.checkNull(fileListMap.get("DOC_TYPE"));
|
|
String partNo = CommonUtils.checkNull(fileListMap.get("PART_NO"));
|
|
String partRevision = CommonUtils.checkNull(fileListMap.get("REV"));
|
|
String realFileName = CommonUtils.checkNull(fileListMap.get("REAL_FILE_NAME"));
|
|
String targetFilePath = saveFilePath+File.separator+savedFileName;
|
|
|
|
System.out.println("targetFilePath:"+targetFilePath);
|
|
|
|
FileInputStream fis = new FileInputStream(targetFilePath);
|
|
|
|
//ZIP 파일에 들어갈 파일명을 "품번_revision_문서타입_실제업로드 파일명" 형식으로 지정한다.
|
|
zout.putNextEntry(new ZipEntry(partNo+"_"+partRevision+"_"+realFileName));
|
|
|
|
int len;
|
|
while((len = fis.read(buf)) > 0){
|
|
zout.write(buf, 0, len);
|
|
}
|
|
zout.closeEntry();
|
|
fis.close();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
zout.close();
|
|
|
|
fileMap.put("SAVED_FILE_NAME", zipFileName);
|
|
fileMap.put("REAL_FILE_NAME", zipFileName);
|
|
fileMap.put("FILE_PATH", Constants.PART_ATTACH_FILE_PAKEGE);
|
|
}
|
|
}catch(Exception e){
|
|
try {
|
|
throw e;
|
|
} catch (Exception e1) {
|
|
// TODO Auto-generated catch block
|
|
e1.printStackTrace();
|
|
}
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return fileMap;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List eoChangeHistoryList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devMng.eoChangeHistoryList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* EO 수정이력 대상 Project 정보 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map eoChangeHistoryTargetProjectInfo(HttpServletRequest request,Map paramMap){
|
|
Map<String,Object> resultMap = new HashMap();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultMap = sqlSession.selectOne("devMng.eoChangeHistoryTargetProjectInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
/**
|
|
* EO 수정이력 Project 대상 Part 정보 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map eoChangeHistoryTargetPartInfo(HttpServletRequest request,Map paramMap){
|
|
Map<String,Object> resultMap = new HashMap();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultMap = sqlSession.selectOne("devMng.eoChangeHistoryTargetProjectInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
/**
|
|
* EO 수정이력 대상 Part 목록 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List eoChangeHistoryPartList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devMng.eoChangeHistoryPartList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* EO 수정이력 대상 Part 목록 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List eoChangeHistoryTargetPartList(HttpServletRequest request,Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
|
|
setDevMngCommonCD(request, paramMap);
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devMng.eoChangeHistoryTargetPartList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* EO 수정이력을 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveEOChangeHistoryPart(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
System.out.println("paramMap:"+paramMap);
|
|
|
|
String targetColumnArr1[] = {
|
|
"PROJECT_OBJID","OEM_OBJID","CAR_OBJID","PRODUCT_GROUP_OBJID","PRODUCT_OBJID"
|
|
};
|
|
String targetColumnArr2[] ={
|
|
"PART_OBJID","PART_NO","EO_NO","EO_PUBLISHED_DATE","EO_APPLY_DATE","EO_STEP","CHANGE_CONTENTS","MEASURE_TYPE","MEASURE_DATE",
|
|
"CVT","SET","PARTNER_CODE","OEM_ATTRITION_RATE","MY_ATTRITION_RATE","PARTNER_ATTRITION_RATE","PARTNER_ESTIMATE_COST",
|
|
"MY_COST","OEM_CONTRIBUTION_AMOUNT","MY_CONTRIBUTION_AMOUNT","PARTNER_CONTRIBUTION_AMOUNT"
|
|
};
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
String objIdArr[] = request.getParameterValues("OBJID");
|
|
|
|
if(null != objIdArr && 0 < objIdArr.length){
|
|
for(int i=0;i<objIdArr.length;i++){
|
|
String objId = CommonUtils.checkNull(objIdArr[i]);
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
sqlParamMap.put("OBJID", objId);
|
|
sqlParamMap.put("STATUS", "create");
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
for(int j=0;j<targetColumnArr1.length;j++){
|
|
String colName = CommonUtils.checkNull(targetColumnArr1[j]);
|
|
|
|
sqlParamMap.put(colName, CommonUtils.checkNull(request.getParameter(colName)));
|
|
}
|
|
|
|
for(int k=0;k<targetColumnArr2.length;k++){
|
|
String colName = CommonUtils.checkNull(targetColumnArr2[k]);
|
|
|
|
sqlParamMap.put(colName, CommonUtils.checkNull(request.getParameter(colName+"_"+objId)));
|
|
}
|
|
|
|
sqlSession.update("devMng.saveEOChangeHistoryPart", sqlParamMap);
|
|
}
|
|
}
|
|
|
|
resultMap.put("result",true);
|
|
resultMap.put("message", Message.COMPLETE_SUCCESS);
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
resultMap.put("message", Message.FAILED);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 등록된 개발 Master의 상세내용을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDevMasterInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultMap = sqlSession.selectOne("devInfoMng.getDevMasterInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 등록된 Part Master의 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getPartMasterList(HttpServletRequest request,Map paramMap){
|
|
List resultList = new ArrayList();
|
|
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devInfoMng.getPartMasterList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveDevMasterInfo(HttpSession session,HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
try{
|
|
sqlSession.update("devInfoMng.saveDevMasterInfo", paramMap);
|
|
resultMap.put("result",true);
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master 갑지의 중복여부를 확인한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkDevMasterDuplicate(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
resultMap = sqlSession.selectOne("devInfoMng.checkDevMasterDuplicate", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master와 연결된 Part Master를 확인하여 개발 Master와 연결해준다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map checkDevMasterConnectedPartMasterPart(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
String partMasterObjId = CommonUtils.checkNull(paramMap.get("partMasterObjId"));
|
|
String devMasterObjId = CommonUtils.checkNull(paramMap.get("objId"));
|
|
if(!"".equals(partMasterObjId)){
|
|
|
|
List notConnectPartList = new ArrayList();
|
|
|
|
//Part Master의 정보가 있을 경우 연결된 Part의 정보 목록을 가져온다.
|
|
notConnectPartList = getDevMasterNotConnectPartList(sqlSession, paramMap);
|
|
|
|
//연결되지 않은 Part가 있을 경우 Part 별 구분(공법승인,실제작,HMC Nego)에 해당하는 데이터를 insert 하여준다.
|
|
for(int i=0;i<notConnectPartList.size();i++){
|
|
Map partMap = (HashMap)notConnectPartList.get(i);
|
|
String partNo = CommonUtils.checkNull(partMap.get("PART_NO"));
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
sqlParamMap.put("targetObjId", devMasterObjId);
|
|
sqlParamMap.put("partNo", partNo);
|
|
sqlParamMap.put("writer", CommonUtils.checkNull(paramMap.get("writer")));
|
|
|
|
|
|
//공법승인
|
|
sqlParamMap.put("objId", CommonUtils.createObjId());
|
|
sqlParamMap.put("devPoint", "1methodAccept");
|
|
sqlSession.insert("devInfoMng.saveDevMasterNotConnectPartInfo",sqlParamMap);
|
|
|
|
//실제작
|
|
sqlParamMap.put("objId", CommonUtils.createObjId());
|
|
sqlParamMap.put("devPoint", "2realisticProduce");
|
|
sqlSession.insert("devInfoMng.saveDevMasterNotConnectPartInfo",sqlParamMap);
|
|
|
|
//HMC Nego
|
|
sqlParamMap.put("objId", CommonUtils.createObjId());
|
|
sqlParamMap.put("devPoint", "3hmcNego");
|
|
sqlSession.insert("devInfoMng.saveDevMasterNotConnectPartInfo",sqlParamMap);
|
|
}
|
|
sqlSession.commit();
|
|
}
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master의 저장,수정에 따른 메일을 발송한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map sendDevMasterInfoSaveMail(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
String[] receivers = request.getParameterValues("chk");
|
|
String objId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
|
|
if(!"".equals(objId)){
|
|
Map devMasterMap = new HashMap();
|
|
|
|
Map sqlMap = new HashMap();
|
|
sqlMap.put("objId", objId);
|
|
devMasterMap = sqlSession.selectOne("mail.getDevMasterInfo", sqlMap);
|
|
|
|
Map mailParamMap = new HashMap();
|
|
|
|
String subject = "["+CommonUtils.checkNull(devMasterMap.get("CAR_CODE"))+" ("+CommonUtils.checkNull(devMasterMap.get("CAR_NAME"))+")] ["+CommonUtils.checkNull(devMasterMap.get("PRODUCT_GROUP_NAME"))+"] ["+CommonUtils.checkNull(devMasterMap.get("PRODUCT_NAME"))+"] "+Message.MAIL_SUBJECT_DEV_MASTER_CHANGE;
|
|
mailParamMap.put("SUBJECT", subject);
|
|
mailParamMap.putAll(devMasterMap);
|
|
|
|
String bodyContents = MailUtil.getHTMLContents("devMasterChangeMailTemplate", mailParamMap);
|
|
|
|
//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;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master의 가소요 적용 작성 및 수정 시 메일배포
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map sendDevMasterApplyEOInfoSaveMail(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
String[] receivers = request.getParameterValues("chk");
|
|
String objId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
|
|
if(!"".equals(objId)){
|
|
Map devMasterMap = new HashMap();
|
|
|
|
Map sqlMap = new HashMap();
|
|
sqlMap.put("objId", objId);
|
|
devMasterMap = sqlSession.selectOne("mail.getDevMasterApplyEOInfo", sqlMap);
|
|
|
|
Map mailParamMap = new HashMap();
|
|
|
|
String subject = "["+CommonUtils.checkNull(devMasterMap.get("CAR_CODE"))+" ("+CommonUtils.checkNull(devMasterMap.get("CAR_NAME"))+")] ["+CommonUtils.checkNull(devMasterMap.get("PRODUCT_GROUP_NAME"))+"] ["+CommonUtils.checkNull(devMasterMap.get("PRODUCT_NAME"))+"] "+Message.MAIL_SUBJECT_DEV_MASTER_APPLY_EO_CHANGE;
|
|
mailParamMap.put("SUBJECT", subject);
|
|
mailParamMap.putAll(devMasterMap);
|
|
|
|
String bodyContents = MailUtil.getHTMLContents("devMasterApplyEOInfoSaveMailTemplate", mailParamMap);
|
|
|
|
//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;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part별 개발마스터 정보를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveDevMasterConnectPartListInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
String[] connectedParts = request.getParameterValues("connectedPartObjId");
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
|
|
if(null != connectedParts && 0 < connectedParts.length){
|
|
for(int i=0;i<connectedParts.length;i++){
|
|
|
|
String connectPartObjId = CommonUtils.checkNull(connectedParts[i].toString());
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
sqlParamMap.put("objId",connectPartObjId);
|
|
sqlParamMap.put("targetObjId",targetObjId);
|
|
sqlParamMap.put("devPoint",CommonUtils.checkNull(request.getParameter("connectedPartDevPoint_"+connectPartObjId)));
|
|
sqlParamMap.put("partNo",CommonUtils.checkNull(request.getParameter("connectedPartNo_"+connectPartObjId)));
|
|
sqlParamMap.put("eoObjId",CommonUtils.checkNull(request.getParameter("eoObjId_"+connectPartObjId)));
|
|
sqlParamMap.put("rate",CommonUtils.checkNull(request.getParameter("rate_"+connectPartObjId)));
|
|
sqlParamMap.put("commonType",CommonUtils.checkNull(request.getParameter("commonType_"+connectPartObjId)));
|
|
sqlParamMap.put("prodCount",CommonUtils.checkNull(request.getParameter("prodCount_"+connectPartObjId)));
|
|
sqlParamMap.put("netWeight",CommonUtils.checkNull(request.getParameter("netWeight_"+connectPartObjId)));
|
|
sqlParamMap.put("widthPitch",CommonUtils.checkNull(request.getParameter("widthPitch_"+connectPartObjId)));
|
|
sqlParamMap.put("sourcingMake",CommonUtils.checkNull(request.getParameter("sourcingMake_"+connectPartObjId)));
|
|
sqlParamMap.put("sourcingProd",CommonUtils.checkNull(request.getParameter("sourcingProd_"+connectPartObjId)));
|
|
sqlParamMap.put("prodSizeHorizon",CommonUtils.checkNull(request.getParameter("prodSizeHorizon_"+connectPartObjId)));
|
|
sqlParamMap.put("prodSizeVertical",CommonUtils.checkNull(request.getParameter("prodSizeVertical_"+connectPartObjId)));
|
|
sqlParamMap.put("prodSizeHeight",CommonUtils.checkNull(request.getParameter("prodSizeHeight_"+connectPartObjId)));
|
|
sqlParamMap.put("blkExpandSizeWidth",CommonUtils.checkNull(request.getParameter("blkExpandSizeWidth_"+connectPartObjId)));
|
|
sqlParamMap.put("blkExpandSizePitch",CommonUtils.checkNull(request.getParameter("blkExpandSizePitch_"+connectPartObjId)));
|
|
sqlParamMap.put("blkMarginSizeWidth",CommonUtils.checkNull(request.getParameter("blkMarginSizeWidth_"+connectPartObjId)));
|
|
sqlParamMap.put("blkMarginSizePitch",CommonUtils.checkNull(request.getParameter("blkMarginSizePitch_"+connectPartObjId)));
|
|
sqlParamMap.put("blkSizeRealWidth",CommonUtils.checkNull(request.getParameter("blkSizeRealWidth_"+connectPartObjId)));
|
|
sqlParamMap.put("blkSizeViewWidth",CommonUtils.checkNull(request.getParameter("blkSizeViewWidth_"+connectPartObjId)));
|
|
sqlParamMap.put("blkSizeRealPitch",CommonUtils.checkNull(request.getParameter("blkSizeRealPitch_"+connectPartObjId)));
|
|
sqlParamMap.put("blkSizeViewPitch",CommonUtils.checkNull(request.getParameter("blkSizeViewPitch_"+connectPartObjId)));
|
|
sqlParamMap.put("blkArrayType",CommonUtils.checkNull(request.getParameter("blkArrayType_"+connectPartObjId)));
|
|
sqlParamMap.put("blkCVT",CommonUtils.checkNull(request.getParameter("blkCVT_"+connectPartObjId)));
|
|
sqlParamMap.put("inputWeightRealValue",CommonUtils.checkNull(request.getParameter("inputWeightRealValue_"+connectPartObjId)));
|
|
sqlParamMap.put("inputWeightViewValue",CommonUtils.checkNull(request.getParameter("inputWeightViewValue_"+connectPartObjId)));
|
|
sqlParamMap.put("yield",CommonUtils.checkNull(request.getParameter("yield_"+connectPartObjId)));
|
|
sqlParamMap.put("targetYield",CommonUtils.checkNull(request.getParameter("targetYield_"+connectPartObjId)));
|
|
sqlParamMap.put("plasticTheoryTon",CommonUtils.checkNull(request.getParameter("plasticTheoryTon_"+connectPartObjId)));
|
|
sqlParamMap.put("prodTon",CommonUtils.checkNull(request.getParameter("prodTon_"+connectPartObjId)));
|
|
sqlParamMap.put("moldPlasticType",CommonUtils.checkNull(request.getParameter("moldPlasticType_"+connectPartObjId)));
|
|
sqlParamMap.put("moldProdType",CommonUtils.checkNull(request.getParameter("moldProdType_"+connectPartObjId)));
|
|
sqlParamMap.put("moldSubType1",CommonUtils.checkNull(request.getParameter("moldSubType1_"+connectPartObjId)));
|
|
sqlParamMap.put("moldSubType2",CommonUtils.checkNull(request.getParameter("moldSubType2_"+connectPartObjId)));
|
|
sqlParamMap.put("op05",CommonUtils.checkNull(request.getParameter("op05_"+connectPartObjId)));
|
|
sqlParamMap.put("op10",CommonUtils.checkNull(request.getParameter("op10_"+connectPartObjId)));
|
|
sqlParamMap.put("op20",CommonUtils.checkNull(request.getParameter("op20_"+connectPartObjId)));
|
|
sqlParamMap.put("op30",CommonUtils.checkNull(request.getParameter("op30_"+connectPartObjId)));
|
|
sqlParamMap.put("op40",CommonUtils.checkNull(request.getParameter("op40_"+connectPartObjId)));
|
|
sqlParamMap.put("op50",CommonUtils.checkNull(request.getParameter("op50_"+connectPartObjId)));
|
|
sqlParamMap.put("op60",CommonUtils.checkNull(request.getParameter("op60_"+connectPartObjId)));
|
|
sqlParamMap.put("op70",CommonUtils.checkNull(request.getParameter("op70_"+connectPartObjId)));
|
|
sqlParamMap.put("op80",CommonUtils.checkNull(request.getParameter("op80_"+connectPartObjId)));
|
|
sqlParamMap.put("moldMakeCompany",CommonUtils.checkNull(request.getParameter("moldMakeCompany_"+connectPartObjId)));
|
|
sqlParamMap.put("prodCompany",CommonUtils.checkNull(request.getParameter("prodCompany_"+connectPartObjId)));
|
|
sqlParamMap.put("remarks",CommonUtils.checkNull(request.getParameter("remarks_"+connectPartObjId)));
|
|
|
|
System.out.println("saveDevMasterConnectPartListInfo(sqlParamMap):"+sqlParamMap);
|
|
|
|
sqlSession.update("devInfoMng.saveDevMasterConnectPartInfo", sqlParamMap);
|
|
}
|
|
sqlSession.commit();
|
|
}
|
|
resultMap.put("result",true);
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part별 적용 EO 정보를 저장한다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveDevMasterPartApplyEOInfo(HttpSession session,HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
try{
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
|
paramMap.put("writer", CommonUtils.checkNull(person.getUserId()));
|
|
|
|
sqlSession.update("devInfoMng.mregeDevMasterPartApplyEOInfo", paramMap);
|
|
sqlSession.commit();
|
|
resultMap.put("result",true);
|
|
}catch(Exception e){
|
|
resultMap.put("result",false);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 개발 Master Part의 상세 정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDevMasterPartInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
if(!"".equals(objId)){
|
|
resultMap = sqlSession.selectOne("devInfoMng.getDevMasterPartInfo", paramMap);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part별 EO 적용 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDevMasterPartApplyEOInfoList(HttpServletRequest request,Map paramMap){
|
|
List resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
resultList = sqlSession.selectList("devInfoMng.getDevMasterPartEOInfoList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part별 EO 적용 상세내용을 가져온다(단건).
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDevMasterPartApplyEOInfo(HttpServletRequest request,Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
try{
|
|
String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId"));
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
|
|
if("".equals(objId)){
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
}else{
|
|
resultMap = sqlSession.selectOne("devInfoMng.getDevMasterPartEOInfo", paramMap);
|
|
}
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* Part Master에 해당하는 Part정보를 가져온다.
|
|
* @param sqlSession
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getPartMasterConnectedPartList(SqlSession sqlSession,Map paramMap){
|
|
List resultList = new ArrayList();
|
|
try{
|
|
resultList = sqlSession.selectList("devInfoMng.getPartMasterConnectedPartList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part Master의 Part중
|
|
* 개발 Master와 연결되지 않은 Part의 목록을 가져온다.
|
|
* @param sqlSession
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDevMasterNotConnectPartList(SqlSession sqlSession,Map paramMap){
|
|
List resultList = new ArrayList();
|
|
try{
|
|
resultList = sqlSession.selectList("devInfoMng.getDevMasterNotConnectPartList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 개발 Master에 연결된 Part Master의 Part List목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getDevMasterConnectPartInfoList(HttpServletRequest request,Map paramMap){
|
|
List<Map> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("devInfoMng.getDevMasterConnectPartInfoList", paramMap);
|
|
|
|
if(null != resultList && 0 < resultList.size()){
|
|
|
|
for(Map partMap : resultList){
|
|
partMap.put("REMARKS", CommonUtils.getClobToString((Clob)partMap.get("REMARKS")));
|
|
|
|
String partObjId = CommonUtils.checkNull(partMap.get("PART_OBJID"));
|
|
String drawingPartObjId = CommonUtils.checkNull(partMap.get("DRAWING_NO_OBJID"));
|
|
String targetObjId = "";
|
|
|
|
if(!"".equals(drawingPartObjId)){
|
|
targetObjId = drawingPartObjId;
|
|
}else{
|
|
targetObjId = partObjId;
|
|
}
|
|
|
|
Map shapeFileMap = new HashMap();
|
|
shapeFileMap.put("targetObjId", targetObjId);
|
|
shapeFileMap.put("docType", CommonUtils.checkNull(Constants.FILE_DOC_TYPE_PART_SHAPE_CODE));
|
|
|
|
//해당 Row에 해당하는 첨부파일을 가져온다.
|
|
ArrayList<HashMap> shapeFileList = commonService.getFileList(shapeFileMap);
|
|
if(null != shapeFileList && 0 < shapeFileList.size()){
|
|
for(int i = 0 ; i < shapeFileList.size() ; i++){
|
|
Map fileResultMap = (HashMap)shapeFileList.get(i);
|
|
|
|
partMap.put("DEV_MASTER_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH")));
|
|
partMap.put("DEV_MASTER_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME")));
|
|
partMap.put("DEV_MASTER_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT")));
|
|
partMap.put("DEV_MASTER_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME")));
|
|
}
|
|
}
|
|
|
|
String partNo = CommonUtils.checkNull(partMap.get("PART_NO"));
|
|
|
|
List connectEOList = new ArrayList();
|
|
|
|
if(!"".equals(partNo)){
|
|
Map eoSqlMap = new HashMap();
|
|
eoSqlMap.put("partNo", partNo);
|
|
connectEOList = sqlSession.selectList("devInfoMng.getConnectPartEOList", eoSqlMap);
|
|
partMap.put("EO_LIST",connectEOList);
|
|
}
|
|
}
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return resultList;
|
|
}
|
|
|
|
/**
|
|
* 개발마스터 Part별 시점정보조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getDevMasterPartDetailByDevPoint(Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("devInfoMng.getDevMasterPartDetailByDevPoint", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
public List getCostSystemYieldInfoList(HttpServletRequest request,Map paramMap){
|
|
List costYieldList = new ArrayList();
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
String partNo = CommonUtils.checkNull(request.getParameter("partNo"));
|
|
|
|
String url = "http://cost.iljitech.co.kr/Api/yield?SID=ILJIAPI2ca144c2137&partNo="+partNo;
|
|
|
|
System.out.println("getCostSystemYieldInfoList(url):"+url);
|
|
|
|
try{
|
|
URL jsonUrl = new URL(url);
|
|
|
|
HttpURLConnection conn = (HttpURLConnection)jsonUrl.openConnection();
|
|
|
|
Object obj = JSONValue.parse(new InputStreamReader(conn.getInputStream()));
|
|
|
|
JSONArray jsonArr = (JSONArray)obj;
|
|
|
|
System.out.println("getCostSystemYieldInfoList(jsonArr):"+jsonArr);
|
|
|
|
costYieldList = jsonArr;
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return costYieldList;
|
|
}
|
|
|
|
}
|