- 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
209 lines
5.4 KiB
Java
209 lines
5.4 KiB
Java
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<partCheckBoxList.length;i++){
|
|
String Objid = CommonUtils.checkNull(partCheckBoxList[i]);
|
|
HashMap sqlParamMap = new HashMap();
|
|
sqlParamMap.put("objId", Objid);
|
|
//제품마스터 삭제
|
|
sqlSession.delete("ecr.ecrDelete",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;
|
|
}
|
|
|
|
}
|