package com.pms.service; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.net.URLDecoder; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.ibatis.session.SqlSession; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.pms.common.Message; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; @Service public class ECRService { @Autowired CommonService commonService; /** * ECR 정보를 merge 한다. * @param request * @param paramMap */ public void mergeECR(HttpServletRequest request, Map paramMap){ SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ //EO 정보를 Merge 한다. sqlSession.update("ecr.mergeECR",paramMap); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } /** * ECR 정보를 merge 한다. * @param request * @param paramMap */ public void completeecr(HttpServletRequest request, Map paramMap){ SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ //EO 정보를 Merge 한다. sqlSession.update("ecr.completeECR",paramMap); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } /** * EO를 삭제한다. * @param request * @param paramMap */ public void deleteEO(HttpServletRequest request, Map paramMap){ SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ sqlSession.update("eo.deleteEO",paramMap); String objId = CommonUtils.checkNull(paramMap.get("objId")); paramMap.put("eoObjId", objId); sqlSession.update("ecr.disConnectAllPart",paramMap); sqlSession.update("ecr.deleteEORelPartInfo",paramMap); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } /** * ECR의 목록을 가져온다.(페이징 O) * @param request * @param paramMap * @return */ public ArrayList getECRListPaging(HttpServletRequest request, Map paramMap){ ArrayList eoList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); HashMap pageMap = new HashMap(); try{ String page = CommonUtils.checkNull(request.getParameter("page")); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("ecr.getECRListCnt", 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"))); eoList = (ArrayList)sqlSession.selectList("ecr.getECRListPaging",paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return eoList; } /** * ECR의 단건 정보를 가져온다. * @param request * @param paramMap * @return */ public HashMap getECRInfo(HttpServletRequest request, Map paramMap){ HashMap eoMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ eoMap = sqlSession.selectOne("ecr.getECRInfo",paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return eoMap; } /** * ECR의 결재 정보를 가져온다. * @param request * @param paramMap * @return */ public ArrayList getECRApprovalList(HttpServletRequest request, Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = (ArrayList)sqlSession.selectList("ecr.getEOApprovalList",paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return resultList; } /** * ecr 삭제 * @param request * @param paramMap * @return */ public Map ecrDelete(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String partCheckBoxList[] = request.getParameter("ecrobjid").split(","); if(null != partCheckBoxList && 0 < partCheckBoxList.length){ for(int i=0;i