package com.pms.service; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; 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; import com.pms.common.utils.MailUtil; @Service public class ProcurStandMgmtService { CommonService commonService = null; @Autowired ProjectService projectService; @Autowired ProductionMngService productionMngService; @Autowired InventoryMngService inventoryMngService; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } /** * 대분류(CODE1) 저장 * @param paramMap * @return */ public Map saveCODE1Info(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); String personId = CommonUtils.checkNull(person.getUserId()); paramMap.put("WRITER", personId); System.out.println("paramMap :: " + paramMap); sqlSession.insert("procurStandMgmt.saveCODE1Info", paramMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 대분류(CODE1) 정보를 가져온다. * @param request * @param paramMap * @return */ public HashMap getCodeInfo(HttpServletRequest request,Map paramMap){ HashMap codeInfo = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ String objid = CommonUtils.checkNull(request.getParameter("OBJID")); if(!"".equals(objid)){ HashMap sqlParamMap = new HashMap(); sqlParamMap.put("OBJID", objid); codeInfo = (HashMap)sqlSession.selectOne("procurStandMgmt.getCodeInfo", sqlParamMap); } }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(codeInfo); } /** * 대분류(CODE1) 삭제한다. * @param paramMap * @return */ public Map deleteCODE1Info(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.delete("procurStandMgmt.deleteCODE1Info", 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(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } public List overlapStandardMng(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); //part 중복확인 resultList = sqlSession.selectList("procurStandMgmt.overlapStandardMng", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List overlapMaterialCode(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); //part 중복확인 resultList = sqlSession.selectList("procurStandMgmt.overlapMaterialCode", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public Map saveMaterialCode(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); String personId = CommonUtils.checkNull(person.getUserId()); paramMap.put("WRITER",personId); System.out.println("paramMap :: " + paramMap); String ACTION_TYPE = CommonUtils.checkNull(paramMap.get("ACTION_TYPE")); String REVISION = CommonUtils.checkNull(paramMap.get("REVISION")); /*if("changeDesign".equals(ACTION_TYPE)){ //설계변경 외건은 전부 라스트 0으로 변경 //sqlSession.update("partMng.updateislast", paramMap); if(REVISION.equals("RE")){ paramMap.put("REVISION", "A"); }else{ paramMap.put("REVISION", CommonUtils.getNextRevision(REVISION)); } paramMap.put("STATUS", "changing"); //create/changing/release paramMap.put("EO_DATE", ""); paramMap.put("EO_NO", ""); //part 저장 int cnt = sqlSession.update("partMng.mergePartMngchangeDesign", paramMap); if(cnt > 0){ paramMap.put("QTY_TEMP", paramMap.get("Q_QTY")); paramMap.put("STATUS", "beforeEdit"); sqlSession.update("partMng.structureQtySave", paramMap); } resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{*/ //part 저장 sqlSession.update("procurStandMgmt.mergeMaterialCode", paramMap); 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; } /** * 대분류(CODE1) 정보를 가져온다. * @param request * @param paramMap * @return */ public HashMap getMaterialCodeInfo(HttpServletRequest request,Map paramMap){ HashMap codeInfo = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ String objid = CommonUtils.checkNull(request.getParameter("OBJID")); if(!"".equals(objid)){ HashMap sqlParamMap = new HashMap(); sqlParamMap.put("OBJID", objid); codeInfo = (HashMap)sqlSession.selectOne("procurStandMgmt.getMaterialCodeInfo", sqlParamMap); } }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(codeInfo); } /** * 자재코드를 삭제한다. * @param paramMap * @return */ public Map deleteMaterialCode(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.delete("procurStandMgmt.deleteMaterialCode", 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(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } }