Files
wace_plm/src/com/pms/service/ProjectConceptService.java
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- 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
2025-08-29 15:46:08 +09:00

2143 lines
67 KiB
Java

package com.pms.service;
import java.io.File;
import java.sql.Clob;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.session.ResultHandler;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import com.pms.common.Message;
import com.pms.common.SqlMapConfig;
import com.pms.common.bean.PersonBean;
import com.pms.common.utils.CommonUtils;
import com.pms.common.utils.Constants;
import com.pms.common.utils.MailUtil;
@Service
public class ProjectConceptService {
CommonService commonService = null;
@Autowired
ProjectService projectService;
@Autowired
public void setCommonService(CommonService commonService){
this.commonService = commonService;
}
public boolean saveProjectConceptBasicInfo(Map paramMap){
boolean result = false;
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
int cnt = sqlSession.update("common.getMilestoneList", paramMap);
if(cnt > 0) result = true;
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return result;
}
/*************************************************************************************************************************/
/*jmpark start*/
/**
* 부서정보 조회
* @param paramMap
* @return
*/
public List searchDeptList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = sqlSession.selectList("projectConcept.searchDeptList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 제품별 협조부서 등록
* @param paramMap
* @param checkedDeptList
*/
public int saveProjectConceptProductDeptInfo(Map paramMap, List<String> checkedDeptList){
int resultCnt = 0;
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
if(checkedDeptList != null){
for(String deptCode : checkedDeptList){
String objId = CommonUtils.createObjId();
//set parameter
paramMap.put("deptCode", deptCode);
paramMap.put("objId", objId);
resultCnt += (int)sqlSession.update("projectConcept.mergeProjectConceptProductDeptInfo", paramMap);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultCnt;
}
/**
* 수주활동 제품별 협조부서 목록 조회
* @param paramMap
* @return
*/
public List getProjectConceptProductDeptList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = sqlSession.selectList("projectConcept.getProjectConceptProductDeptList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 제품 정보 저장
* @param paramMap
* @return
*/
public Map saveProjectConceptProductInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
HttpSession session = request.getSession();
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
Map info = person.getLoginInfo();
//int cnt2 = sqlSession.delete("projectConcept.deleteProjectConceptProductEditInfo", paramMap);
//접속자
String userId = CommonUtils.checkNull(info.get("userId"));
String sub_objid_temp = (String)paramMap.get("sub_objid");
String[] sub_objid = sub_objid_temp.split(",");
paramMap.put("userId", userId);
paramMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("objId")));
int cnt = 0;
String rel_objid_temp = (String)paramMap.get("relObjList");
String[] rel_objid = rel_objid_temp.split(",");
for(int i =0; i<sub_objid.length; i++){
String objid = "";
if(null != rel_objid && 0 < rel_objid.length){
objid = CommonUtils.checkNull(rel_objid[i]);
}else{
objid = CommonUtils.createObjId();
}
paramMap.put("objId", objid);
paramMap.put("productObjId", sub_objid[i]);
System.out.println("paramMap : "+paramMap);
cnt = cnt + sqlSession.update("projectConcept.mergeProjectConceptProductInfo", paramMap);
}
//수주활동 제품별 협조부서별 자료회신요청일 수정.
Iterator it = paramMap.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
if(key.startsWith("replyReqDate")){
if(key.contains("_")){
String deptCode = key.substring(key.indexOf("_")+1);
String replyReqDate = CommonUtils.checkNull(paramMap.get(key));
Map deptInfoParamMap = new HashMap();
deptInfoParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("objId")));
deptInfoParamMap.put("deptCode", deptCode);
deptInfoParamMap.put("replyReqDate", replyReqDate);
System.out.println("deptInfoParamMap : "+deptInfoParamMap);
sqlSession.update("projectConcept.updateProjectConceptProductDeptReplyReqDate", deptInfoParamMap);
}
}
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주 연결 제품 정보 삭제
* @param request
* @param paramMap
* @return
*/
public Map deleteProjectConceptInfo(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
//연결 제품 정보 삭제
sqlSession.delete("projectConcept.deleteconceptprod",paramMap);
sqlSession.commit();
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동별 입찰품목 목록 조회(수주활동 상세팝업 內)
* @param paramMap
* @return
*/
public List getProjectConceptProductList_forProjectConcept(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = sqlSession.selectList("projectConcept.getProjectConceptProductList_forProjectConcept", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 정보 저장
* @param request
* @param paramMap
* @return
*/
public Map saveProjectConceptInfo(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("userId", person.getUserId());
System.out.println("paramMap : "+paramMap);
int cnt = sqlSession.update("projectConcept.mergeProjectConceptInfo", paramMap);
//기존에 등록된 milestone 정보 삭제
//sqlSession.delete("projectConcept.deleteProjectConceptMilestoneInfo", paramMap);
//수주활동 Milestone별 날짜 저장
String oemMilestoneObjId = (String) paramMap.get("oemMilestoneObjId");
Iterator it = paramMap.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
//System.out.println("key : " + key);
if(key.startsWith("milestoneDate")){
if(key.contains("_")){
String milestoneObjId = key.substring(key.indexOf("_")+1);
String milestoneDate = CommonUtils.checkNull(paramMap.get(key));
System.out.println("milestoneObjId : " + milestoneObjId + " milestoneDate : " + milestoneDate );
Map milestoneParamMap = new HashMap();
milestoneParamMap.put("objId", CommonUtils.createObjId());
milestoneParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("objId")));
milestoneParamMap.put("oemObjId", CommonUtils.checkNull(paramMap.get("oemObjId")));
milestoneParamMap.put("milestoneObjId", milestoneObjId);
milestoneParamMap.put("milestoneDate", milestoneDate);
//milestone 정보 저장
sqlSession.update("projectConcept.mergeProjectConceptMilestoneInfo", milestoneParamMap);
}
}
}
Map currentResultMap = new HashMap();
String currentStatus = "";
currentResultMap = (HashMap)sqlSession.selectOne("projectConcept.getProjectConceptEditInfo", paramMap);
currentStatus = CommonUtils.checkNull(currentResultMap.get("status_title"));
if("수주".equals(currentStatus)){
createProjectWBSTask(request, paramMap,sqlSession);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 영업의 최초 수주상태로 변경 시 WBS Task를 구성한다.
* @param request
* @param paramMap
*/
public void createProjectWBSTask(HttpServletRequest request, Map paramMap,SqlSession sqlSession){
List<Map<String,Object>> resultList = new ArrayList();
List<Map<String,Object>> connectedTaskList = new ArrayList();
try{
String targetObjId = CommonUtils.checkNull(paramMap.get("objId"));
HashMap tempTaskMap = new HashMap();
tempTaskMap.put("OBJID", targetObjId);
connectedTaskList = sqlSession.selectList("project.getProjectWBSTaskList",tempTaskMap);
if(0 == connectedTaskList.size() || null == connectedTaskList){
//표준 WBS Task 목록을 가져온다.
resultList = sqlSession.selectList("projectConcept.getStandardWBSTaskList");
resultList = CommonUtils.toUpperCaseMapKey(resultList);
for(int i = 0;i<resultList.size();i++){
HashMap wbsTaskMap = new HashMap();
wbsTaskMap = (HashMap)resultList.get(i);
if(null != wbsTaskMap){
String objId = CommonUtils.createObjId();
wbsTaskMap.put("OBJID", objId);
wbsTaskMap.put("TARGET_OBJID", targetObjId);
//표준 WBS Task로 WBS를 구성한다.
sqlSession.insert("projectConcept.createProjectWBSTask", wbsTaskMap);
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
/** 영업활동등록
* @param request
* @param paramMap
* @return
*/
public Map saveOrderMgmtInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
List resultList = new ArrayList();
Map sqlMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("userId", person.getUserId());
System.out.println("paramMap : "+paramMap);
String result_cd = CommonUtils.nullToEmpty((String)paramMap.get("result_cd"));
String spec_cd = CommonUtils.nvl((String)paramMap.get("spec_cd"),"SPE00200");
int cnt = sqlSession.update("projectConcept.mergeOrderMgmtInfo", paramMap);
if("RES00100".equals(result_cd) && !"SPE00200".equals(spec_cd) ){
resultList = (ArrayList)sqlSession.selectList("project.getProjectMgmt", paramMap);
if(resultList.size()==0){
sqlMap.put("objId", CommonUtils.createObjId()); //구분
sqlMap.put("sort_cd", "SOR00100"); //구분
sqlMap.put("customer_cd", CommonUtils.nullToEmpty((String)paramMap.get("customer_cd"))); //발주처
sqlMap.put("target_objid", CommonUtils.nullToEmpty((String)paramMap.get("objId"))); //영업정보 KEY
sqlMap.put("title", CommonUtils.nullToEmpty((String)paramMap.get("order_title"))); //수주명
sqlMap.put("writer", person.getUserId()); //영업담당
sqlMap.put("spec_cd", spec_cd); //영업담당
//프로젝트 등록
cnt = sqlSession.insert("project.insertProjectMgmtInfo", sqlMap);
sqlMap.put("taskobjId", CommonUtils.createObjId()); //구분
//프로젝트 TASK 등록
cnt = sqlSession.insert("project.insertProjectTaskMgmtInfo", sqlMap);
}
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 영업활동등록
* @param request
* @param paramMap
* @return
*/
public Map mergeOrderMgmtSubInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
int cnt = 0;
String[] parentObjId = request.getParameterValues("parentObjId");
String[] objId = request.getParameterValues("objId");
String[] model_name = request.getParameterValues("model_name");
String[] spec_cd = request.getParameterValues("spec_cd");
String[] contract_amount = request.getParameterValues("contract_amount");
String[] delivery_date = request.getParameterValues("delivery_date");
String[] sch_date = request.getParameterValues("sch_date");
String[] count = request.getParameterValues("count");
if(null != parentObjId && 0 < parentObjId.length){
for(int i=0;i<parentObjId.length;i++){
HashMap sqlParamMap = new HashMap();
String objid = CommonUtils.checkNull(objId[i]);
if("".equals(objid)){
objid = CommonUtils.createObjId();
}
sqlParamMap.put("objId", objid);
sqlParamMap.put("parentObjId", CommonUtils.checkNull(parentObjId[i]));
sqlParamMap.put("model_name", CommonUtils.checkNull(model_name[i]));
sqlParamMap.put("spec_cd", CommonUtils.checkNull(spec_cd[i]));
sqlParamMap.put("count", CommonUtils.checkNull(count[i]));
sqlParamMap.put("contract_amount", CommonUtils.checkNull(contract_amount[i]));
sqlParamMap.put("delivery_date", CommonUtils.checkNull(delivery_date[i]));
sqlParamMap.put("delivery_date", CommonUtils.checkNull(delivery_date[i]));
sqlParamMap.put("sch_date", CommonUtils.checkNull(sch_date[i]));
//선택된 기변항목의 목록을 가져와 파트와 연결한다.
cnt = sqlSession.update("projectConcept.mergeOrderMgmtSubInfo", sqlParamMap);
}
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 영업품목 상세 삭제
* @param request
* @param paramMap
* @return
*/
public Map delOrderMgmttSubInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
Map sqlMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("userId", person.getUserId());
System.out.println("paramMap : "+paramMap);
String Key = (String) paramMap.get("delKey");
String [] delKey = Key.split(",");
sqlMap.put("delObjKeyarr", delKey);
int cnt = sqlSession.delete("projectConcept.deleteordermgmttsubinfo", sqlMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동에 연결된 제품갯수 반환
* @param paramMap
* @return
*/
public int getProjectConceptProductCnt(Map paramMap){
int result = 0;
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
Map map = sqlSession.selectOne("projectConcept.getProjectConceptProductCnt", paramMap);
if(map != null){
result = Integer.parseInt(CommonUtils.checkNull(map.get("CNT"), "0"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return result;
}
/**
* 수주활동 삭제
* @param paramMap
* @return
*/
public Map deleteProjectConcept(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//1. 수주활동 제품별 협력부서정보 삭제
// int cnt1 = sqlSession.delete("projectConcept.deleteProjectConceptProductDeptInfo", paramMap);
String checkObjId = (String) paramMap.get("checkArr");
System.out.println("hsbae checkObjId : " + checkObjId);
String[] arrObjId = checkObjId.split(",");
int resultCnt = 0;
for(int i = 0; i< arrObjId.length; i++ ){
paramMap.put("objId", arrObjId[i]);
//2. 수주활동별 제품정보 삭제
int cnt1 = sqlSession.delete("projectConcept.deleteProjectConceptProductInfo", paramMap);
//3. 수주활동 제품별 협력부서정보 삭제
int cnt2 = sqlSession.delete("projectConcept.deleteProjectConcept", paramMap);
resultCnt = resultCnt + cnt1 + cnt2;
}
if((resultCnt) > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
sqlSession.rollback();
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동별 제품 삭제
* @param paramMap
* @return
*/
public Map deleteProjectConceptProductInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//1. 수주활동 제품별 협력부서정보 삭제
int cnt1 = sqlSession.delete("projectConcept.deleteProjectConceptProductDeptInfo", paramMap);
//2. 수주활동별 제품정보 삭제
int cnt2 = sqlSession.delete("projectConcept.deleteProjectConceptProductInfo", paramMap);
if((cnt1+cnt2) > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
sqlSession.rollback();
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동 제품별 협조부서 삭제
* @param paramMap
* @return
*/
public Map deleteProjectConceptProductDeptInfo_byEach(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//수주활동 제품별 협력부서정보 삭제
int cnt = sqlSession.delete("projectConcept.deleteProjectConceptProductDeptInfo_byEach", paramMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
sqlSession.rollback();
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동 목록조회(제품별로 Row 구성)
* @param paramMap
* @return
*/
public List getProjectConceptProductList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
System.out.println("getProjectConceptProductList"+paramMap);
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+"");
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
Map pageMap = (HashMap)sqlSession.selectOne("projectConcept.getProjectConceptProductListCnt", paramMap);
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
resultList = (ArrayList)sqlSession.selectList("projectConcept.getProjectConceptProductList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List getOrderMgntList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+"");
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
Map pageMap = (HashMap)sqlSession.selectOne("projectConcept.getorderMgmtListCnt", paramMap);
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
resultList = (ArrayList)sqlSession.selectList("projectConcept.getorderMgmtList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 상세 조회
* @param paramMap
* @return
*/
public Map getProjectConceptInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
//resultMap = sqlSession.selectOne("projectConcept.getOrderMgmtInfo", paramMap);
resultMap = sqlSession.selectOne("projectConcept.getProjectConceptInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 영업현황 조회
* @param paramMap
* @return
*/
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List getOrderMgntSubList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("projectConcept.getorderMgmtSubList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동의 Milestone 목록 조회
* @param paramMap
* @return
*/
public List getProjectConceptMilestoneList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
if("edit".equals(CommonUtils.checkNull(paramMap.get("mode")))){
resultList = sqlSession.selectList("projectConcept.getProjectConceptMilestoneList", paramMap);
}else{
resultList = sqlSession.selectList("projectConcept.getProjectConceptMilestoneList2", paramMap);
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 제품별 정보 조회
* @param paramMap
* @return
*/
public Map getProjectConceptProductInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("projectConcept.getProjectConceptProductInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동 제품별 수주결과 수정
* @param paramMap
*/
public void updateProjectConceptProdBiddingResult(Map paramMap){
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
sqlSession.update("projectConcept.updateProjectConceptProdBiddingResult", paramMap);
//입찰결과 등록시 해당 값 완료로 변경
String biddingResult = CommonUtils.checkNull(paramMap.get("biddingResult"));
if(!"".equals(biddingResult)) paramMap.put("changeStatus", "complete");
else paramMap.put("changeStatus", "create");
sqlSession.update("projectConcept.updateProjectConceptStatusComplete", paramMap);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 수주활동 메일 발송.
* 지정된 인원에게 메일을 발송한다.
* @param request
* @param paramMap
*/
public void sendMailProjectConceptInfo(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String[] receivers = request.getParameterValues("chk");
System.out.println("paramMap : "+paramMap);
System.out.println("receivers.length : "+receivers.length);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
Map userInfo = person.getLoginInfo();
//1. project concept의 입찰제품 정보 조회
Map info = sqlSession.selectOne("projectConcept.getProjectConceptInfo", paramMap);
//2. 해당 내용을 담은 htmlBody 생성
// String bodyContents = MailUtil.getHTMLContents("", info);
//mail body contents 구성
Map mailParamMap = new HashMap();
//제품정보조회
Map productInfo = sqlSession.selectOne("mail.getProjectConceptProductInfo", paramMap);
mailParamMap.putAll(productInfo);
//제품별 협조부서 목록조회
List<Map> productRelDeptList = sqlSession.selectList("mail.getProjectConceptProductRelDeptList", paramMap);
String subject = "["+CommonUtils.checkNull(productInfo.get("CAR_CODE"))+" ("+CommonUtils.checkNull(productInfo.get("CAR_NAME"))+")] "+Message.MAIL_SUBJECT_PROJECT_CONCEPT_REQ_FILE;
mailParamMap.put("SUBJECT", subject);
String deptList = "";
deptList += "<table border='1' class='table' style='width:450px;'>";
deptList += "<colgroup>";
deptList += "<col width='30%'>";
deptList += "<col width='*%'>";
deptList += "</colgroup>";
for(Map map : productRelDeptList){
String deptCode = CommonUtils.checkNull(map.get("DEPT_CODE"));
String deptName = CommonUtils.checkNull(map.get("DEPT_NAME"));
String replyReqDate = CommonUtils.checkNull(map.get("REPLY_REQ_DATE"));
deptList += "<tr>";
deptList += "<td>"+deptName+"</td>";
deptList += "<td>"+replyReqDate+"</td>";
deptList += "</tr>";
}
deptList += "</table>";
mailParamMap.put("DEPT_LIST", deptList);
String bodyContents = MailUtil.getHTMLContents("projectConceptMailTemplate", 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(CommonUtils.checkNull(productInfo.get("WRITER")), CommonUtils.checkNull(productInfo.get("WRITER_EMAIL")), receiverId, receiverEmail, null, subject, bodyContents, Constants.MAIL_TYPE_PROJECT_CONCEPT);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 수주활동 QNA 메일 발송.
* 지정된 인원에게 메일을 발송한다.
* @param request
* @param paramMap
*/
public void sendMailProjectConceptQNAInfo(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String[] receivers = request.getParameterValues("chk");
System.out.println("paramMap : "+paramMap);
System.out.println("receivers.length : "+receivers.length);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
Map userInfo = person.getLoginInfo();
//1. project concept QNA 정보조회
Map info = sqlSession.selectOne("mail.getProjectConceptQNAInfo", paramMap);
//2. 해당 내용을 담은 htmlBody 생성
// String bodyContents = MailUtil.getHTMLContents("", info);
//mail body contents 구성
Map mailParamMap = new HashMap();
String subject = "["+CommonUtils.checkNull(info.get("CAR_CODE"))+" ("+CommonUtils.checkNull(info.get("CAR_NAME"))+")] "+Message.MAIL_SUBJECT_PROJECT_CONCEPT_QNA;
mailParamMap.put("SUBJECT", subject);
mailParamMap.putAll(info);
String bodyContents = MailUtil.getHTMLContents("projectConceptQNAMailTemplate", 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(CommonUtils.checkNull(info.get("WRITER")), CommonUtils.checkNull(info.get("WRITER_EMAIL")), receiverId, receiverEmail, null, subject, bodyContents, Constants.MAIL_TYPE_PROJECT_CONCEPT);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 수주활동 제품별 확정.
* 모든 제품이 확정되었을경우 수주활동을 종료시킨다.
* @param request
* @param paramMap
*/
public void completeProjectConceptProductInfo(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = null;
try{
System.out.println("paramMap : "+paramMap);
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//입찰품목 상태 complete으로 변경
sqlSession.update("projectConcept.completeProjectConceptProductInfo", paramMap);
//입찰품목의 상태가 create인 CNT 조회
Map cntMap = sqlSession.selectOne("projectConcept.getProjectConceptProductCreateCnt", paramMap);
System.out.println("cntMap : "+cntMap);
int cnt = Integer.parseInt(CommonUtils.checkNull(cntMap.get("CNT"), "0"));
System.out.println("cnt : "+cnt);
if(cnt == 0){
//수주활동 상태 complete으로 변경.
sqlSession.update("projectConcept.completeProjectConceptInfo", paramMap);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 수주활동 중복 등록체크 (false : 중복있음, true : 중복없음)
* @param paramMap
* @return
*/
public Map getProjectConceptDuplicateCnt(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
Map map = sqlSession.selectOne("projectConcept.getProjectConceptDuplicateCnt", paramMap);
if(map != null){
int cnt = Integer.parseInt(CommonUtils.checkNull(map.get("CNT"), "0"));
if(cnt > 0){
resultMap.put("result", false);
}else{
resultMap.put("result", true);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/*jmpark end*/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*edhwang start*/
/*edhwang end*/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*dhchoi start*/
/**
* 수주활동 저장
* @param paramMap
*/
public void saveQnAProjectConcept(Map paramMap){
SqlSession sqlSession =null;
sqlSession = SqlMapConfig.getInstance().getSqlSession();
System.out.println(paramMap);
sqlSession.update("projectConcept.saveQnaProjectConceptInfo", paramMap);
}
/**
* QnaListPage 목록
* @param paramMap
* @return
*/
public List qnaListPage(HttpServletRequest request,Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+"");
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
Map pageMap = (HashMap)sqlSession.selectOne("projectConcept.getQnaListCnt", paramMap);
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
resultList = (ArrayList)sqlSession.selectList("projectConcept.getQnaListPage", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* Qna 수정페이지
* @param paramMap
* @return
*/
public Map getQnADetailInfo(Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = null;
System.out.println("getQnADetailInfo"+paramMap);
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getQnaInfo", paramMap);
if(null != resultMap){
resultMap.put("CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("CONTENTS")));
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주활동 등록 중복 제품군 체크
* @param request
* @param paramMap
* @return
*/
public List getPjtProdListCnt(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
Map pageMap = (HashMap)sqlSession.selectOne("projectConcept.getPjtProdListCnt", paramMap);
System.out.println("pageMap : "+pageMap);
paramMap.put("CNT", CommonUtils.checkNull(pageMap.get("CNT")));
//System.out.println("cntStr : "+cntStr);
resultList = (ArrayList)sqlSession.selectList("projectConcept.getPjtProdListCnt", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주활동 Form 수정 팝업을 호출한다.
* @param request
* @param paramMap
* @return
*/
public Map getProjectConceptEditInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
String objId = CommonUtils.checkNull(paramMap.get("objId"));
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
System.out.println("paramMap:"+paramMap);
try{
if(!"".equals(objId)){
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getProjectConceptEditInfo", paramMap);
}
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 고객사에 해당하는 차종의 Milestone 정보를 가져온다.
* @param request
* @param paramMap
* @return
*/
public List getProjectConceptEditMilestoneList(HttpServletRequest request, Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultList = sqlSession.selectList("projectConcept.getProjectConceptEditMilestoneList", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 제품정보 조회(콤보박스용)
* @param paramMap
* @return
*/
public List getProductEditList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("projectConcept.getProductEditList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 손익산출 통합 Form 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public List getprofitlossPopUpInfo(HttpServletRequest request, Map paramMap){
/*HashMap resultMap = new HashMap();*/
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
List profitlossList = new ArrayList();
try{
/*resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossPopUpInfo", paramMap);*/
profitlossList = sqlSession.selectList("projectConcept.getprofitlossPopUpInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return profitlossList;
}
/**
* 손익산출 통합 Form 경비 추가 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public List getprofitlossaddlistInfo(HttpServletRequest request, Map paramMap){
/*HashMap resultMap = new HashMap();*/
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
List profitlossList = new ArrayList();
try{
/*resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossPopUpInfo", paramMap);*/
profitlossList = sqlSession.selectList("projectConcept.getprofitlossaddlistInfo", paramMap);
System.out.println("profitlossList :: "+profitlossList);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return profitlossList;
}
/**
* 손익산출 통합 Form 재료비 추가 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public List getprofitlossaddlistInfo2(HttpServletRequest request, Map paramMap){
/*HashMap resultMap = new HashMap();*/
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
List profitlossList = new ArrayList();
try{
/*resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossPopUpInfo", paramMap);*/
profitlossList = sqlSession.selectList("projectConcept.getprofitlossaddlistInfo2", paramMap);
System.out.println("profitlossList2 :: "+profitlossList);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return profitlossList;
}
/**
* 손익산출 재료비 Form 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public Map getprofitlossMaterialcostInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossMaterialcostInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 저장
* @param request
* @param paramMap
* @return
*/
public Map saveProfit_loss(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
/*String area[] = request.getParameterValues("area");
String from_value[] = request.getParameterValues("from_value");
String to_value[] = request.getParameterValues("to_value");
String sr_rate[] = request.getParameterValues("sr_rate");
System.out.println("memoarr -->"+area.length);
sqlSession.delete("admin.DeleteSrrateMng");
if(null != area && 0 < area.length){
for(int i=0;i<area.length;i++){
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("area", CommonUtils.checkNull(area[i]));
sqlParamMap.put("from_value", CommonUtils.checkNull(from_value[i]));
sqlParamMap.put("to_value", CommonUtils.checkNull(to_value[i]));
sqlParamMap.put("sr_rate", CommonUtils.checkNull(sr_rate[i]));
sqlSession.insert("admin.insertSrrateMng",sqlParamMap);
}
sqlSession.commit();
}*/
String part_noarr[] = request.getParameterValues("part_no");
String part_namearr[] = request.getParameterValues("part_name");
String photoarr[] = request.getParameterValues("photo");
String processarr[] = request.getParameterValues("process");
String materialarr[] = request.getParameterValues("material");
String scrap_lossarr[] = request.getParameterValues("scrap_loss");
String gradearr[] = request.getParameterValues("grade");
String sourcearr[] = request.getParameterValues("source");
String resin_pricearr[] = request.getParameterValues("resin_price");
String part_weightarr[] = request.getParameterValues("part_weight");
String sr_ratearr[] = request.getParameterValues("sr_rate");
String sr_weightarr[] = request.getParameterValues("sr_weight");
String part_pricearr[] = request.getParameterValues("part_price");
String sr_pricearr[] = request.getParameterValues("sr_price");
String material_specarr[] = request.getParameterValues("material_spec");
/*String rm_pricearr[] = request.getParameterValues("rm_price"); */
String inj_tonarr[] = request.getParameterValues("inj_ton");
String inj_cavarr[] = request.getParameterValues("inj_cav");
String machine_timearr[] = request.getParameterValues("machine_time");
String injection_ctarr[] = request.getParameterValues("injection_ct");
String shot_ctarr[] = request.getParameterValues("shot_ct");
String gram_thicknessarr[] = request.getParameterValues("gram_thickness");
String equip_coefficientarr[] = request.getParameterValues("equip_coefficient");
String mold_coefficientarr[] = request.getParameterValues("mold_coefficient");
String cooling_timearr[] = request.getParameterValues("cooling_time");
String total_cooling_timearr[] = request.getParameterValues("total_cooling_time");
String inj_labor_wage_ratearr[] = request.getParameterValues("inj_labor_wage_rate");
String expensearr[] = request.getParameterValues("expense");
String inj_setup_timearr[] = request.getParameterValues("inj_setup_time");
String inj_setup_personarr[] = request.getParameterValues("inj_setup_person");
String inj_lotarr[] = request.getParameterValues("inj_lot");
String inj_etarr[] = request.getParameterValues("inj_et");
String injection_exparr[] = request.getParameterValues("injection_exp");
String injection_laborarr[] = request.getParameterValues("injection_labor");
String injection_expensearr[] = request.getParameterValues("injection_expense");
String assy_cavarr[] = request.getParameterValues("assy_cav");
String assy_labor_ctarr[] = request.getParameterValues("assy_labor_ct");
/*String assy_expense_ctarr[] = request.getParameterValues("assy_expense_ct");*/
String labor_wage_ratearr[] = request.getParameterValues("labor_wage_rate");
/*String expense_wage_ratearr[] = request.getParameterValues("expense_wage_rate"); */
String setup_timearr[] = request.getParameterValues("setup_time");
String setup_personarr[] = request.getParameterValues("setup_person");
String assy_lotarr[] = request.getParameterValues("assy_lot");
String assy_etarr[] = request.getParameterValues("assy_et");
/*String ind_exparr[] = request.getParameterValues("ind_exp");*/
String assy_labor_pricearr[] = request.getParameterValues("assy_labor_price");
/*String assy_expense_pricearr[] = request.getParameterValues("assy_expense_price");*/
String typearr[] = request.getParameterValues("type");
String custom_pricearr[] = request.getParameterValues("custom_price");
sqlSession.delete("projectConcept.DeleteProfit_loss", paramMap);
String objId = CommonUtils.checkNull(paramMap.get("objId"));
String target_objid = CommonUtils.checkNull(paramMap.get("target_objid"));
if(null != materialarr && 0 < materialarr.length){
int cnt = 0;
for(int i=0;i<materialarr.length;i++){
HashMap sqlParamMap = new HashMap();
objId = CommonUtils.createObjId();
sqlParamMap.put("objId", objId);
sqlParamMap.put("target_objid", target_objid);
sqlParamMap.put("part_no", CommonUtils.checkNull(part_noarr[i]));
sqlParamMap.put("part_name", CommonUtils.checkNull(part_namearr[i]));
sqlParamMap.put("photo", CommonUtils.checkNull(photoarr[i]));
sqlParamMap.put("process", CommonUtils.checkNull(processarr[i]));
sqlParamMap.put("material", CommonUtils.checkNull(materialarr[i]));
sqlParamMap.put("scrap_loss", CommonUtils.nvl(scrap_lossarr[i],"0"));
sqlParamMap.put("grade", CommonUtils.checkNull(gradearr[i]));
sqlParamMap.put("source", CommonUtils.checkNull(sourcearr[i]));
sqlParamMap.put("resin_price", CommonUtils.nvl(resin_pricearr[i],"0"));
sqlParamMap.put("part_weight", CommonUtils.nvl(part_weightarr[i],"0"));
sqlParamMap.put("sr_rate", CommonUtils.nvl(sr_ratearr[i],"0"));
sqlParamMap.put("sr_weight", CommonUtils.nvl(sr_weightarr[i],"0"));
sqlParamMap.put("part_price", CommonUtils.nvl(part_pricearr[i],"0"));
sqlParamMap.put("material_price_1", CommonUtils.nvl(part_pricearr[i],"0"));
sqlParamMap.put("sr_price", CommonUtils.nvl(sr_pricearr[i],"0"));
sqlParamMap.put("material_price_2", CommonUtils.nvl(sr_pricearr[i],"0"));
sqlParamMap.put("material_spec", CommonUtils.checkNull(material_specarr[i]));
/*sqlParamMap.put("rm_price", CommonUtils.nvl(rm_pricearr[i],"0"));*/
sqlParamMap.put("inj_ton", CommonUtils.nvl(inj_tonarr[i],"0"));
sqlParamMap.put("inj_cav", CommonUtils.nvl(inj_cavarr[i],"0"));
sqlParamMap.put("machine_time", CommonUtils.nvl(machine_timearr[i],"0"));
sqlParamMap.put("injection_ct", CommonUtils.nvl(injection_ctarr[i],"0"));
sqlParamMap.put("shot_ct", CommonUtils.nvl(shot_ctarr[i],"0"));
sqlParamMap.put("gram_thickness", CommonUtils.nvl(gram_thicknessarr[i],"0"));
sqlParamMap.put("equip_coefficient", CommonUtils.nvl(equip_coefficientarr[i],"0"));
sqlParamMap.put("mold_coefficient", CommonUtils.nvl(mold_coefficientarr[i],"0"));
sqlParamMap.put("cooling_time", CommonUtils.nvl(cooling_timearr[i],"0"));
sqlParamMap.put("total_cooling_time", CommonUtils.nvl(total_cooling_timearr[i],"0"));
sqlParamMap.put("inj_labor_wage_rate", CommonUtils.nvl(inj_labor_wage_ratearr[i],"0"));
sqlParamMap.put("expense", CommonUtils.nvl(expensearr[i],"0"));
sqlParamMap.put("inj_setup_time", CommonUtils.nvl(inj_setup_timearr[i],"0"));
sqlParamMap.put("inj_setup_person", CommonUtils.nvl(inj_setup_personarr[i],"0"));
sqlParamMap.put("inj_lot", CommonUtils.nvl(inj_lotarr[i],"0"));
sqlParamMap.put("inj_et", CommonUtils.nvl(inj_etarr[i],"0"));
sqlParamMap.put("injection_exp", CommonUtils.nvl(injection_exparr[i],"0"));
sqlParamMap.put("injection_labor", CommonUtils.nvl(injection_laborarr[i],"0"));
sqlParamMap.put("injection_expense", CommonUtils.nvl(injection_expensearr[i],"0"));
sqlParamMap.put("assy_cav", CommonUtils.nvl(assy_cavarr[i],"0"));
sqlParamMap.put("assy_labor_ct", CommonUtils.nvl(assy_labor_ctarr[i],"0"));
//sqlParamMap.put("assy_expense_ct", CommonUtils.nvl(assy_expense_ctarr[i],"0"));
sqlParamMap.put("labor_wage_rate", CommonUtils.nvl(labor_wage_ratearr[i],"0"));
//sqlParamMap.put("expense_wage_rate", CommonUtils.nvl(expense_wage_ratearr[i],"0"));
sqlParamMap.put("setup_time", CommonUtils.nvl(setup_timearr[i],"0"));
sqlParamMap.put("setup_person", CommonUtils.nvl(setup_personarr[i],"0"));
sqlParamMap.put("assy_lot", CommonUtils.nvl(assy_lotarr[i],"0"));
sqlParamMap.put("assy_et", CommonUtils.nvl(assy_etarr[i],"0"));
//sqlParamMap.put("ind_exp", CommonUtils.nvl(ind_exparr[i],"0"));
sqlParamMap.put("assy_labor_price", CommonUtils.nvl(assy_labor_pricearr[i],"0"));
//sqlParamMap.put("assy_expense_price", CommonUtils.nvl(assy_expense_pricearr[i],"0"));
sqlParamMap.put("type", CommonUtils.nvl(typearr[i],"0"));
sqlParamMap.put("custom_price", CommonUtils.nvl(custom_pricearr[i],"0"));
cnt = sqlSession.insert("projectConcept.saveProfit_loss",sqlParamMap);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 경비 추가 저장
* @param request
* @param paramMap
* @return
*/
public Map saveProfit_loss_add_list(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
String add_part_namearr[] = request.getParameterValues("add_part_name");
String add_inj_cavarr[] = request.getParameterValues("add_inj_cav");
String add_machine_typearr[] = request.getParameterValues("add_machine_type");
String add_inj_tonarr[] = request.getParameterValues("add_inj_ton");
String add_expense_total_cooling_timearr[] = request.getParameterValues("add_expense_total_cooling_time");
String add_expensearr[] = request.getParameterValues("add_expense");
String add_expense_costarr[] = request.getParameterValues("add_expense_cost");
sqlSession.delete("projectConcept.DeleteProfit_loss_addlist", paramMap);
String objId = null;
String target_objid = CommonUtils.checkNull(paramMap.get("target_objid"));
if(null != add_expense_costarr && 0 < add_expense_costarr.length){
int cnt = 0;
for(int i=0;i<add_expense_costarr.length;i++){
HashMap sqlParamMap = new HashMap();
objId = CommonUtils.createObjId();
sqlParamMap.put("objId", objId);
sqlParamMap.put("target_objid", target_objid);
sqlParamMap.put("add_part_name", CommonUtils.checkNull(add_part_namearr[i]));
sqlParamMap.put("add_inj_cav", CommonUtils.checkNull(add_inj_cavarr[i]));
sqlParamMap.put("add_machine_type", CommonUtils.checkNull(add_machine_typearr[i]));
sqlParamMap.put("add_inj_ton", CommonUtils.checkNull(add_inj_tonarr[i]));
sqlParamMap.put("add_expense_total_cooling_time", CommonUtils.checkNull(add_expense_total_cooling_timearr[i]));
sqlParamMap.put("add_expense", CommonUtils.nvl(add_expensearr[i],"0"));
sqlParamMap.put("add_expense_cost", CommonUtils.checkNull(add_expense_costarr[i]));
cnt = sqlSession.insert("projectConcept.saveProfit_loss_addlist",sqlParamMap);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 재료비 추가 저장
* @param request
* @param paramMap
* @return
*/
public Map saveProfit_loss_add_list2(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
String sub_part_namearr[] = request.getParameter("sub_part_namearr").split(",");
String sub_usarr[] = request.getParameter("sub_usarr").split(",");
String sub_weightarr[] = request.getParameter("sub_weightarr").split(",");
String sub_part_pricearr[] = request.getParameter("sub_part_pricearr").split(",");
String sub_material_pricearr[] = request.getParameter("sub_material_pricearr").split(",");
sqlSession.delete("projectConcept.DeleteProfit_loss_addlist2", paramMap);
String objId = null;
String target_objid = CommonUtils.checkNull(paramMap.get("target_objid2"));
if(null != sub_material_pricearr && 0 < sub_material_pricearr.length){
int cnt = 0;
for(int i=0;i<sub_material_pricearr.length;i++){
HashMap sqlParamMap = new HashMap();
objId = CommonUtils.createObjId();
sqlParamMap.put("objId", objId);
sqlParamMap.put("target_objid", target_objid);
sqlParamMap.put("sub_part_name", CommonUtils.checkNull(sub_part_namearr[i]));
sqlParamMap.put("sub_us", CommonUtils.checkNull(sub_usarr[i]));
sqlParamMap.put("sub_weight", CommonUtils.checkNull(sub_weightarr[i]));
sqlParamMap.put("sub_part_price", CommonUtils.checkNull(sub_part_pricearr[i]));
sqlParamMap.put("sub_material_price", CommonUtils.checkNull(sub_material_pricearr[i]));
cnt = sqlSession.insert("projectConcept.saveProfit_loss_addlist2",sqlParamMap);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 경비 추가 리스트 삭제
* @param request
* @param paramMap
* @return
*/
public Map delete_add_list(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
int cnt = 0;
cnt = sqlSession.delete("projectConcept.DeleteProfit_loss_addlist", paramMap);
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 재료비 추가 리스트 삭제
* @param request
* @param paramMap
* @return
*/
public Map delete_add_list2(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
int cnt = 0;
cnt = sqlSession.delete("projectConcept.DeleteProfit_loss_addlist2", paramMap);
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 등록 재료비 저장
* @param request
* @param paramMap
* @return
*/
public Map updateProfit_loss(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :: " + paramMap);
String profit_loss_objIdarr[] = request.getParameterValues("profit_loss_objId");
String us_1arr[] = request.getParameterValues("us_1");
String us_2arr[] = request.getParameterValues("us_2");
String material_price_1arr[] = request.getParameterValues("material_price_1");
String material_price_2arr[] = request.getParameterValues("material_price_2");
if(null != profit_loss_objIdarr && 0 < profit_loss_objIdarr.length){
int cnt = 0;
for(int i=0;i<profit_loss_objIdarr.length;i++){
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("profit_loss_objId", CommonUtils.checkNull(profit_loss_objIdarr[i]));
sqlParamMap.put("us_1", CommonUtils.checkNull(us_1arr[i]));
sqlParamMap.put("us_2", CommonUtils.checkNull(us_2arr[i]));
sqlParamMap.put("material_price_1", CommonUtils.checkNull(material_price_1arr[i]));
sqlParamMap.put("material_price_2", CommonUtils.checkNull(material_price_2arr[i]));
cnt = sqlSession.insert("projectConcept.updateProfit_loss",sqlParamMap);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 등록 노무비 저장
* @param request
* @param paramMap
* @return
*/
public Map updateProfit_loss2(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
System.out.println("paramMap :2: " + paramMap);
String profit_loss_objIdarr[] = request.getParameterValues("profit_loss_objId");
String inj_cavarr[] = request.getParameterValues("inj_cav");
String total_cooling_timearr[] = request.getParameterValues("total_cooling_time");
String inj_setup_timearr[] = request.getParameterValues("inj_setup_time");
String inj_labor_wage_ratearr[] = request.getParameterValues("inj_labor_wage_rate");
String labor_costarr[] = request.getParameterValues("labor_cost");
if(null != profit_loss_objIdarr && 0 < profit_loss_objIdarr.length){
int cnt = 0;
for(int i=0;i<profit_loss_objIdarr.length;i++){
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("profit_loss_objId", CommonUtils.checkNull(profit_loss_objIdarr[i]));
sqlParamMap.put("inj_cav", CommonUtils.checkNull(inj_cavarr[i]));
sqlParamMap.put("total_cooling_time", CommonUtils.checkNull(total_cooling_timearr[i]));
sqlParamMap.put("inj_setup_time", CommonUtils.checkNull(inj_setup_timearr[i]));
sqlParamMap.put("inj_labor_wage_rate", CommonUtils.checkNull(inj_labor_wage_ratearr[i]));
sqlParamMap.put("labor_cost", CommonUtils.checkNull(labor_costarr[i]));
cnt = sqlSession.insert("projectConcept.updateProfit_loss2",sqlParamMap);
}
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 재료비 저장
* @param request
* @param paramMap
* @return
*/
public Map saveMaterialcost(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 = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
int cnt = sqlSession.update("projectConcept.saveMaterialcost", paramMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 제품정보 조회(손익산출용)
* @param paramMap
* @return
*/
public List getProductEditProfitList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("projectConcept.getProductEditProfitList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 손익산출 사출비 Form 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public Map getprofitlossInjectioncostInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossInjectioncostInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 사출비 저장
* @param request
* @param paramMap
* @return
*/
public Map saveInjectionCost(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 = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
int cnt = sqlSession.update("projectConcept.saveInjectionCost", paramMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 손익산출 조립비 Form 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public Map getprofitlossAssemblycostInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossAssemblycostInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 조립비 저장
* @param request
* @param paramMap
* @return
*/
public Map saveAssemblyCost(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 = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
int cnt = sqlSession.update("projectConcept.saveAssemblyCost", paramMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 손익산출 통합 데이터를 가져온다
* @param request
* @param paramMap
* @return
*/
public Map profitlossTotalPopUpInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultMap = (HashMap)sqlSession.selectOne("projectConcept.getprofitlossTotalPopUpInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/** 손익산출 통합 저장
* @param request
* @param paramMap
* @return
*/
public Map saveprofitlossTotal(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 = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
int cnt = sqlSession.update("projectConcept.saveprofitlossTotal", paramMap);
if(cnt > 0){
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* Shot_ct 조회
* @param paramMap
* @return
*/
public Map getShot_ct(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("projectConcept.getShot_ct", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* SRrate 조회
* @param paramMap
* @return
*/
public Map getSrRate(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
String part_weight = CommonUtils.checkNull(paramMap.get("part_weight"));
if("".equals(part_weight)){
paramMap.put("part_weight", 0);
}
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("projectConcept.getSrRate", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* SRrate 조회
* @param paramMap
* @return
*/
public Map getMachine_time(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
String inj_ton = CommonUtils.checkNull(paramMap.get("inj_ton"));
if("".equals(inj_ton)){
paramMap.put("inj_ton", 0);
}
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("projectConcept.getMachine_time", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/*dhchoi end*/
/*************************************************************************************************************************/
}