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

2249 lines
64 KiB
Java
Raw Normal View History

2025-08-21 09:41:46 +09:00
package com.pms.service;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
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.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.utils.CommonUtils;
import com.pms.common.utils.Constants;
@Service
public class MaterialMgmtService {
CommonService commonService = null;
@Autowired
ProjectService projectService;
@Autowired
ProductionMngService productionMngService;
@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 ArrayList<HashMap> makeGoalList(Map paramMap){
ArrayList resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("projectConcept.getmakeGoalList", 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();
System.out.println("paramMap : "+paramMap);
//접속자
String userId = CommonUtils.checkNull(info.get("userId"));
paramMap.put("userId", userId);
int 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 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별 날짜 저장
Iterator it = paramMap.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
if(key.startsWith("milestoneDate")){
if(key.contains("_")){
String milestoneObjId = key.substring(key.indexOf("_")+1);
String milestoneDate = CommonUtils.checkNull(paramMap.get(key));
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);
System.out.println("milestoneParamMap : "+milestoneParamMap);
//milestone 정보 저장
sqlSession.update("projectConcept.mergeProjectConceptMilestoneInfo", milestoneParamMap);
}
}
}
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 savePartMgmtTempInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
Map resultList = null;
Map sqlMap = new HashMap();
Map specMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//PART TEMP 수정
int cnt = sqlSession.update("part.updatePartTempInfo", 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;
}
public void savePartMaster(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//작성중 데이터 모두삭제
sqlSession.delete("part.deleteAlltempData", paramMap);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
Map fileMap = new HashMap();
String PART_MGMT_OBJID = CommonUtils.createObjId();
insertMap.put("PART_MGMT_OBJID", PART_MGMT_OBJID);
insertMap.put("CONNECTUSERID", (String)paramMap.get("CONNECTUSERID"));
insertMap.put("PROJECT_MGMT_OBJID", (String)paramMap.get("PROJECT_MGMT_OBJID"));
if(CommonUtils.nullToEmpty((String)insertMap.get("PARENT_PART_NO")).equals("")){
insertMap.put("PARENT_PART_NO", (String)gridDataList.get(i).get("PART_NO"));
}
System.out.println("insertMap --->"+ insertMap);
//part 저장
sqlSession.insert("part.insertpartInfo", insertMap);
//pdf
fileMap.put("OBJID", CommonUtils.createObjId());
fileMap.put("TARGET_OBJID", PART_MGMT_OBJID);
fileMap.put("SAVED_FILE_NAME", (String)gridDataList.get(i).get("PART_NO")+"_"+(String)gridDataList.get(i).get("PART_NAME")+".pdf");
fileMap.put("REAL_FILE_NAME",(String)gridDataList.get(i).get("PART_NO")+"_"+(String)gridDataList.get(i).get("PART_NAME")+".pdf");
fileMap.put("DOC_TYPE" ,"PART_FILE");
fileMap.put("DOC_TYPE_NAME","PART_FILE");
fileMap.put("FILE_SIZE","167941");
fileMap.put("FILE_EXT","PDF");
String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\"+(String)paramMap.get("PROJECT_NAME");
fileMap.put("FILE_PATH",filepath);
fileMap.put("WRITER",(String)paramMap.get("CONNECTUSERID"));
//첨부저장 PDF 저장
sqlSession.insert("part.insertpartfileInfo", fileMap);
//dwg
fileMap.put("OBJID", CommonUtils.createObjId());
fileMap.put("SAVED_FILE_NAME", (String)gridDataList.get(i).get("PART_NO")+"_"+(String)gridDataList.get(i).get("PART_NAME")+".dwg");
fileMap.put("REAL_FILE_NAME",(String)gridDataList.get(i).get("PART_NO")+"_"+(String)gridDataList.get(i).get("PART_NAME")+".dwg");
fileMap.put("DOC_TYPE" ,"PART_FILE");
fileMap.put("DOC_TYPE_NAME","PART_FILE");
fileMap.put("FILE_SIZE","167941");
fileMap.put("FILE_EXT","DWG");
//첨부저장 DWG 저장
sqlSession.insert("part.insertpartfileInfo", fileMap);
}
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/** 목표등록
* @param request
* @param paramMap
* @return
*/
public Map savegoalMgmtInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
int cnt = 0;
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
String Year = request.getParameter("Year");
String[] objId = request.getParameterValues("objId");
String[] user_id = request.getParameterValues("user_id");
String[] month1 = request.getParameterValues("month1");
String[] month2 = request.getParameterValues("month2");
String[] month3 = request.getParameterValues("month3");
String[] month4 = request.getParameterValues("month4");
String[] month5 = request.getParameterValues("month5");
String[] month6 = request.getParameterValues("month6");
String[] month7 = request.getParameterValues("month7");
String[] month8 = request.getParameterValues("month8");
String[] month9 = request.getParameterValues("month9");
String[] month10 = request.getParameterValues("month10");
String[] month11 = request.getParameterValues("month11");
String[] month12 = request.getParameterValues("month12");
String[] total = request.getParameterValues("total");
if(null != objId && 0 < objId.length){
for(int i=0;i<objId.length;i++){
HashMap sqlParamMap = new HashMap();
String objid = CommonUtils.checkNull(objId[i]);
if("".equals(objid)){
objid = CommonUtils.createObjId();
}
sqlParamMap.put("Year", Year);
sqlParamMap.put("objId", objid);
sqlParamMap.put("user_id", user_id[i]);
sqlParamMap.put("month1", month1[i].replaceAll(",", ""));
sqlParamMap.put("month2", month2[i].replaceAll(",", ""));
sqlParamMap.put("month3", month3[i].replaceAll(",", ""));
sqlParamMap.put("month4", month4[i].replaceAll(",", ""));
sqlParamMap.put("month5", month5[i].replaceAll(",", ""));
sqlParamMap.put("month6", month6[i].replaceAll(",", ""));
sqlParamMap.put("month7", month7[i].replaceAll(",", ""));
sqlParamMap.put("month8", month8[i].replaceAll(",", ""));
sqlParamMap.put("month9", month9[i].replaceAll(",", ""));
sqlParamMap.put("month10", month10[i].replaceAll(",", ""));
sqlParamMap.put("month11", month11[i].replaceAll(",", ""));
sqlParamMap.put("month12", month12[i].replaceAll(",", ""));
sqlParamMap.put("writer", person.getUserId());
cnt = sqlSession.update("projectConcept.mergegoalMgmtInfo", 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 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 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 matermgmtList(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("material.matermgmtListCnt", 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 = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("material.matermgmtList", paramMap));
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
*입고 금액 토탈
* @param paramMap
* @return
*/
public Map recsum(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.recsum", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List materDetailList(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("material.materDetailListCnt", 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("material.materDetailList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List materDetailList2(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("material.materDetailList2Cnt", 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("material.materDetailList2", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List materPartDetailList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
Map pageMap = new HashMap();
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));
if("all".equals(CommonUtils.checkNull(paramMap.get("gubun"))) || "balju".equals(CommonUtils.checkNull(paramMap.get("gubun"))) || "mibalju".equals(CommonUtils.checkNull(paramMap.get("gubun")))){
pageMap= (HashMap)sqlSession.selectOne("material.partMgmtListCnt", paramMap);
}else{
pageMap= (HashMap)sqlSession.selectOne("material.materialListCnt", 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")));
if("all".equals(CommonUtils.checkNull(paramMap.get("gubun"))) || "balju".equals(CommonUtils.checkNull(paramMap.get("gubun"))) || "mibalju".equals(CommonUtils.checkNull(paramMap.get("gubun")))){
resultList = (ArrayList)sqlSession.selectList("material.partMgmtList", paramMap);
}else{
resultList = (ArrayList)sqlSession.selectList("material.materialList", paramMap);
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 발주서 물리적 삭제
* @param request
* @param paramMap
* @return
*/
public Map materDelete(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String partCheckBoxList[] = request.getParameter("materOrdObjId").split(",");
if(null != partCheckBoxList && 0 < partCheckBoxList.length){
for(int i=0;i<partCheckBoxList.length;i++){
String Objid = CommonUtils.checkNull(partCheckBoxList[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("objId", Objid);
//마스터삭제
sqlSession.delete("material.deleteRealmaterMa",sqlParamMap);
//상세 삭제
sqlSession.delete("material.deleteRealmaterDe",sqlParamMap);
}
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 request
* @param paramMap
* @return
*/
public HashMap packgeingPartFile(HttpServletRequest request, Map paramMap){
HashMap fileMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
String objId = CommonUtils.checkNull(paramMap.get("objId"));
String order_no = CommonUtils.checkNull(paramMap.get("order_no"));
System.out.println("******************");
System.out.println("******************");
System.out.println(objId);
System.out.println("******************");
System.out.println("******************");
File zipStorage = new File(Constants.PART_ATTACH_FILE_PAKEGE);
if(!zipStorage.exists()) zipStorage.mkdirs();
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 zipFileName = order_no+".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];
ArrayList fileList = new ArrayList();
fileList = (ArrayList)sqlSession.selectList("material.getPartFileList", paramMap);
if(null != fileList && 0 < fileList.size()){
for(int j=0;j<fileList.size();j++){
HashMap fileListMap = (HashMap)fileList.get(j);
String savedFileName = CommonUtils.checkNull(fileListMap.get("SAVED_FILE_NAME"));
String saveFilePath = CommonUtils.checkNull(fileListMap.get("FILE_PATH"));
String realFileName = CommonUtils.checkNull(fileListMap.get("REAL_FILE_NAME"));
String targetFilePath = saveFilePath+File.separator+savedFileName;
FileInputStream fis = new FileInputStream(targetFilePath);
//ZIP 파일에 들어갈 파일명을 실제 파일명으로 저장
zout.putNextEntry(new ZipEntry(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 paramMap
* @return
*/
public List matermgmttotalList(HttpServletRequest request,Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
setMaterialDashBoardColumn(request, paramMap);
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("material.matermgmtTotalListCnt", paramMap);
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
request.setAttribute("SUM_MONTH_TOTAL", CommonUtils.checkNull(pageMap.get("sum_month_total")));
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
System.out.println("matermgmttotalList(paramMap):"+paramMap);
resultList = (ArrayList)sqlSession.selectList("material.matermgmtTotalList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
/**
* 발주관리 현황
* @param paramMap
* @return
*/
public List dashboardMatermgmttotalList(HttpServletRequest request,Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
setMaterialDashBoardColumn(request, paramMap);
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("material.dashboardMatermgmtTotalListCnt", paramMap);
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
request.setAttribute("SUM_MONTH_TOTAL", CommonUtils.checkNull(pageMap.get("sum_month_total")));
System.out.println("matermgmttotalList(paramMap):"+paramMap);
resultList = (ArrayList)sqlSession.selectList("material.dashboardMatermgmtTotalList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
// public List matermgmttotalList(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("material.matermgmtTotalListCnt", 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("material.matermgmtTotalList", paramMap);
//
// }catch(Exception e){
// e.printStackTrace();
// }finally{
// sqlSession.close();
// }
//
// return resultList;
// }
/**
* 부가세 현황 조회
* @param paramMap
* @return
*/
public List surtaxInfo(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.surtaxInfoList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 부가세 상제 조회
* @param paramMap
* @return
*/
public List surtaxDetail(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.surtaxDetail", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/** 부가세 저장
* @param request
* @param paramMap
* @return
*/
public Map saveSurtaxInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
Map resultList = null;
Map sqlMap = new HashMap();
Map specMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("userId", person.getUserId());
String objId = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objId)){
objId = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
String result_cd= CommonUtils.checkNull(paramMap.get("result_cd"));
int cnt = sqlSession.update("material.mergeSurtaxInfo", 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 invenmgmtList(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("material.invenmgmtListCnt", 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("material.invenmgmtList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
*재고 금액 토탈
* @param paramMap
* @return
*/
public Map qtysum(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.qtysum", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 수주관리 목록조회
* @param paramMap
* @return
*/
public List getPartMgntTempList(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("part.partMgmtTempListCnt", 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("part.partMgmtTempList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* part 배포전 리스트
* @param paramMap
* @return
*/
public List getPartMgntTempFormList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("part.partMgmtTempFormList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* PART 성세 조회
* @param paramMap
* @return
*/
public Map getPartMgmtInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("part.getpartMgmtInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 파트를 확정상태로 변경한다.
* @param request
* @param paramMap
* @return
*/
public Map changeMultiPartStatus(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String partCheckBoxList[] = request.getParameterValues("partCheckBox");
String rev[] = request.getParameterValues("REV");
if(null != partCheckBoxList && 0 < partCheckBoxList.length){
for(int i=0;i<partCheckBoxList.length;i++){
String partObjid = CommonUtils.checkNull(partCheckBoxList[i]);
String REV = CommonUtils.checkNull(rev[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("targetObjId", partObjid);
//동일 Part No를 가진 Part의 is_last를 0으로 변경한다.
sqlSession.update("part.changeSamePartNoIsLast",sqlParamMap);
//확정대상 Part의 is_last를 1로 변경한다.
sqlParamMap.put("isLast", "1");
sqlParamMap.put("REV", REV);
sqlSession.update("part.changePartStatus",sqlParamMap);
}
sqlSession.commit();
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 파트를 확정상태로 변경한다.(단건)
* @param request
* @param paramMap
* @return
*/
public Map changePartStatus(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String part_mgmt_objid = (String)paramMap.get("objId");
String REV = CommonUtils.checkNull((String)paramMap.get("rev"),"RE");
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("targetObjId", part_mgmt_objid);
sqlSession.update("part.changeSamePartNoIsLast",sqlParamMap);
sqlParamMap.put("REV", REV);
sqlParamMap.put("isLast", "1");
sqlSession.update("part.changeOnePartStatus",paramMap);
sqlSession.commit();
resultMap.put("result", true);
resultMap.put("msg", Message.SAVE_SUCCESS);
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.SAVE_FAILED);
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 파트 설계 변경
* @param request
* @param paramMap
* @return
*/
public Map changePartInfo(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String part_mgmt_objid = (String)paramMap.get("objId");
HashMap sqlParamMap = new HashMap();
String REV = (String)paramMap.get("rev");
if(REV.equals("RE")){
sqlParamMap.put("rev", "A");
}else{
sqlParamMap.put("rev", CommonUtils.getNextRevision(REV));
}
String objId = CommonUtils.createObjId();
sqlParamMap.put("part_mgmt_objid", part_mgmt_objid);
sqlParamMap.put("objId", objId);
sqlSession.insert("part.insertNewPartRevision",sqlParamMap);
sqlSession.commit();
resultMap.put("result", true);
resultMap.put("objId", objId);
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("objId", null);
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 파트 물리적 삭제
* @param request
* @param paramMap
* @return
*/
public Map deletePart(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String partCheckBoxList[] = request.getParameterValues("partCheckBox");
if(null != partCheckBoxList && 0 < partCheckBoxList.length){
for(int i=0;i<partCheckBoxList.length;i++){
String partObjid = CommonUtils.checkNull(partCheckBoxList[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("partObjid", partObjid);
sqlSession.delete("part.deleteRealPart",sqlParamMap);
}
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 getStructureAscendingList(Map paramMap){
List resultList = new ArrayList();
List resultListSet1 = new ArrayList();
List resultListSet2 = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
if(paramMap != null && !paramMap.isEmpty()){
String search_partName = CommonUtils.checkNull(paramMap.get("search_partName"));
String search_partNo = CommonUtils.checkNull(paramMap.get("search_partNo"));
String search_oemObjId = CommonUtils.checkNull(paramMap.get("search_oemObjId"));
String search_carObjId = CommonUtils.checkNull(paramMap.get("search_carObjId"));
/*String search_productGroupObjId = CommonUtils.checkNull(paramMap.get("search_productGroupObjId"));*/
String search_productObjId = CommonUtils.checkNull(paramMap.get("search_productObjId"));
if((search_partName != null && !search_partName.isEmpty()) || (search_partNo != null && !search_partNo.isEmpty())){
resultList = sqlSession.selectList("part.aaaaa", paramMap);
for(int i = 0; i<resultList.size(); i++) {
Map temp1 = new HashMap();
Map temp2 = new HashMap();
temp1 = (Map)resultList.get(i);
temp2.put("search_partNo", (String)temp1.get("PART_NO"));
temp2.put("search_partName", (String)temp1.get("PART_NAME"));
temp2.put("objid", temp1.get("PART_MGMT_OBJID"));
temp2.put("parent_objid", temp1.get("PART_MGMT_PARENT_OBJID"));
temp2.put("search_partLevel", temp1.get("LEVEL"));
System.out.println("PART_NAME : " + temp1.get("PART_NO"));
System.out.println("PART_NAME : " + temp1.get("PART_NAME"));
System.out.println("OBJID : " + temp1.get("OBJID"));
System.out.println("PARENT_OBJID : " + temp1.get("PART_MGMT_PARENT_OBJID"));
System.out.println("LEVEL : " + temp1.get("LEVEL"));
resultListSet1 = sqlSession.selectList("part.bbbbb", temp2);
resultListSet2.addAll(resultListSet1);
}
}
else{
resultListSet2 = sqlSession.selectList("part.selectStructureAscendingList", paramMap);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultListSet2;
}
/**
* 역전개 조회
* @param paramMap
* @return
*/
public List getStructureDescendingList(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
if(paramMap != null && !paramMap.isEmpty()){
String partNo = CommonUtils.checkNull(paramMap.get("search_partNo"));
String partName = CommonUtils.checkNull(paramMap.get("search_partName"));
if(!"".equals(partNo) || !"".equals(partName)){
paramMap.put("isStartDevPart", "1");
resultList = sqlSession.selectList("part.selectStructureDescendingList", paramMap);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/** 영업활동삭제
* @param request
* @param paramMap
* @return
*/
public Map delOrderMgmt(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
Map sqlMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
String Key = (String) paramMap.get("delKey");
String [] delKey = Key.split(",");
sqlMap.put("delObjKeyarr", delKey);
int cnt = sqlSession.delete("projectConcept.deleteOrdermgmt", 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 Map getmaterMgmtUpdateFormInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.getmaterMgmtUpdateFormInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 상세 조회
* @param paramMap
* @return
*/
public Map openreleaseFormPopup(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.getopenreleaseFormPopup", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 발주관리 상세 조회
* @param paramMap
* @return
*/
public Map openmaterModify(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.getopenmaterModify", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultMap);
}
/**
* 발주관리 상세 조회
* @param paramMap
* @return
*/
public Map getsurtaxInfo(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("material.getgetsurtaxInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
public ArrayList<HashMap> getregioncd(Map paramMap){
ArrayList resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.getregioncd", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
/**
* 발주서 다운 결재 라인 조회
* @param paramMap
* @return
*/
public List getApprovalLine(Map paramMap){
List resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultList = sqlSession.selectList("common.getApprovalLine", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.keyChangeUpperList(resultList);
}
/** 자재 등록 수정
* @param request
* @param paramMap
* @return
*/
public Map savematerMgmtInfo(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
Map resultList = null;
Map sqlMap = new HashMap();
Map specMap = new HashMap();
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("userId", person.getUserId());
String objId = CommonUtils.checkNull(paramMap.get("objId"));
if("".equals(objId)){
objId = CommonUtils.createObjId();
}
paramMap.put("objId", objId);
int cnt = sqlSession.update("material.mergematerMgmtInfo", 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 void saverelmaterMgmtInfo(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
String inventory_mgmt_objid = CommonUtils.nullToEmpty((String)paramMap.get("inventory_mgmt_objid"));
String userId =CommonUtils.nullToEmpty((String)paramMap.get("connectUserId"));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
int cnt = sqlSession.delete("material.deleteRelmaterMgmtInfoAll", paramMap);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
insertMap.put("MATERIAL_RELEASE_OBJID", CommonUtils.createObjId());
insertMap.put("INVENTORY_MGMT_OBJID", inventory_mgmt_objid);
insertMap.put("USERID", userId);
sqlSession.insert("material.insertRelmaterMgmtInfo", insertMap);
}
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
public List searchreleaseList(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.searchreleaseList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public List searchPartMgmt(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("part.materpartMgmtList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public List searchSupMgmt(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("part.searchSupMgmt", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public List searchPartSupMgmt(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("part.materpartSupMgmtList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public List modifysearchPartMgmt(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.modifysearchPartMgmt", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.keyChangeUpperList(resultList);
}
public List searchMaterPartMgmt(HttpServletRequest request,Map paramMap){
List<Map> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("material.searchMaterPartMgmt", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public void savematerMgmtSupSave(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
/*if(i==0){
sqlSession.delete("material.deletematerMgmtSupAll", insertMap);
}
insertMap.put("connectUserId", paramMap.get("connectUserId"));
insertMap.put("MATERIAL_COMPANY_OBJID", CommonUtils.createObjId());
sqlSession.insert("material.insertmaterMgmtSupSave", insertMap);*/
System.out.println("insertMap " + insertMap);
sqlSession.update("material.updatePartSupSave", insertMap);
sqlSession.commit();
}
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
public void savematerMgmtSaveMaster(HttpServletRequest request,Map paramMap) throws Exception{
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
int cnt = sqlSession.update("material.mergematerMgmtSaveMaster", paramMap);
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
String MATERIAL_MASTER_OBJID = CommonUtils.nullToEmpty((String)paramMap.get("material_master_objid"));
String recv_date = CommonUtils.nullToEmpty((String)paramMap.get("recv_date"));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
cnt = sqlSession.delete("material.deletematerMgmtDetailAll", paramMap);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
insertMap.put("MATERIAL_DETAIL_OBJID", CommonUtils.createObjId());
insertMap.put("MATERIAL_MASTER_OBJID", MATERIAL_MASTER_OBJID);
insertMap.put("REQ_DATE", recv_date);
System.out.println("insertMap--------------------->" +insertMap);
sqlSession.insert("material.insertmaterMgmtSaveDetail", insertMap);
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
e.printStackTrace();
throw new Exception(e);
}finally{
sqlSession.close();
}
}
public void savematerMgmtSaveRegMaster(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
int cnt = sqlSession.update("material.updatematerMgmtSaveRegMaster", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
public void savematerMgmtRecSaveDetail(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
//List<Map<String, Object>> MgmtDetailList = sqlSession.selectList("material.getmaterMgmtDetailList", paramMap);
boolean checkQty = true;
for(int i=0; i<gridDataList.size(); i++){
Map sqlMap = new HashMap();
Map insertMap = gridDataList.get(i);
//Map MgmtDetailListMap = MgmtDetailList.get(i);
if(!insertMap.get("WARE_QTY").equals(insertMap.get("QTY"))){
checkQty = false;
//PART상태 : 발주
//sqlMap.put("status", "PRTS00200");
//sqlMap.put("objId", CommonUtils.checkNull(MgmtDetailListMap.get("PART_MGMT_OBJID")));
}else{
if(!"RCR00100".equals(CommonUtils.checkNull(insertMap.get("RESULT")))){
checkQty = false;
}
}
//입고 내용 저장
sqlSession.update("material.updatetmaterMgmtSaveDetail", insertMap);
}
//실제 업데이트 및 작업
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
//재고 관리 인서트
if(checkQty){
//재고 관리 최상단 가져오기
Map invenmap = sqlSession.selectOne("material.inventoryMng", insertMap);
String INVENQTY="0";
if(invenmap!=null){
INVENQTY = CommonUtils.checkNull(invenmap.get("qty"),"0");
}
//모든 재고 N업데이트
sqlSession.update("material.InventoryAllupdate", insertMap);
String WARE_QTY = CommonUtils.checkNull(insertMap.get("WARE_QTY"),"0");
insertMap.put("WARE_QTY", Integer.parseInt(WARE_QTY)+Integer.parseInt(INVENQTY));
//재고 관리 insert division
//키생성
insertMap.put("OBJID", CommonUtils.createObjId());
insertMap.put("WRITER", CommonUtils.checkNull(paramMap.get("connectUserId")));
insertMap.put("IS_LAST", "Y");
sqlSession.insert("material.mergematerRecInventory", insertMap);
//입고 내용에 재고 키값 업데이트
sqlSession.update("material.updatetmaterMgmtInvenKeySave", insertMap);
}
}
if(checkQty){
//입고완료
paramMap.put("status","PURSTCD00900");
}else{
//미입고
paramMap.put("status","PURSTCD00800");
}
sqlSession.update("material.updatetmaterMgmtSaveMasterStatus", paramMap);
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
public void savematerMgmtSaveDetail(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
String MATERIAL_MASTER_OBJID = CommonUtils.nullToEmpty((String)paramMap.get("material_master_objid"));
String recv_date = CommonUtils.nullToEmpty((String)paramMap.get("recv_date"));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
int cnt = sqlSession.delete("material.deletematerMgmtDetailAll", paramMap);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
insertMap.put("MATERIAL_DETAIL_OBJID", CommonUtils.createObjId());
insertMap.put("MATERIAL_MASTER_OBJID", MATERIAL_MASTER_OBJID);
insertMap.put("REQ_DATE", recv_date);
System.out.println("insertMap--------------------->" +insertMap);
sqlSession.insert("material.insertmaterMgmtSaveDetail", insertMap);
}
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 발주상태를 접수상태로 변경 한다
* @param request
* @param paramMap
* @return
*/
public void changeMaterRegStatus(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String partCheckBoxList[] = request.getParameter("materRegObjId").split(",");
if(null != partCheckBoxList && 0 < partCheckBoxList.length){
for(int i=0;i<partCheckBoxList.length;i++){
String Objid = CommonUtils.checkNull(partCheckBoxList[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("targetObjId", Objid);
sqlSession.update("material.changeMaterRegStatus",sqlParamMap);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
/**
* 발주상태를 발주완료상태로 변경 한다
* @param request
* @param paramMap
* @return
*/
public void changeMaterOrdStatus(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String partCheckBoxList[] = request.getParameter("materOrdObjId").split(",");
if(null != partCheckBoxList && 0 < partCheckBoxList.length){
for(int i=0;i<partCheckBoxList.length;i++){
String Objid = CommonUtils.checkNull(partCheckBoxList[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("targetObjId", Objid);
sqlSession.update("material.changeMaterOrdStatus",sqlParamMap);
}
sqlSession.commit();
}
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
/**
* 발주상태를 발주완료상태로 변경 한다
* @param request
* @param paramMap
* @return
*/
public void changeMaterOrdOneStatus(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
paramMap.put("targetObjId",CommonUtils.checkNull(paramMap.get("objId")));
sqlSession.update("material.changeMaterOrdStatus",paramMap);
//part 상태 발주로 변경
//sqlSession.update("material.changePartStatus",paramMap);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
/**
* 현황에 사용된 기본정보를 set 한다.
* @param request
* @param paramMap
*/
public void setMaterialDashBoardColumn(HttpServletRequest request, Map paramMap){
ArrayList<HashMap<String,Object>> monthList = new ArrayList();
try{
for(int i=0;i<12;i++){
HashMap monthMap = new HashMap();
String month = String.valueOf(i+1);
String monthTitle = month+"";
monthMap.put("MONTH_TITLE", monthTitle);
if(i+1 < 10){
month = "0"+month;
}
monthMap.put("MONTH", month);
monthMap.put("MONTH_COL_NAME", "MONTH_"+month);
monthList.add(monthMap);
}
}catch(Exception e){
e.printStackTrace();
}
paramMap.put("monthList", monthList);
request.setAttribute("monthList", monthList);
}
/*************************************************************************************************************************/
public ArrayList getListMATERIAL_DETAIL_MGMT(Map paramMap){
ArrayList resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
resultList = (ArrayList)sqlSession.selectList("material.getMATERIAL_DETAIL_MGMT", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
}