package com.pms.service; import java.io.File; import java.io.FileInputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.ibatis.session.SqlSession; import org.apache.poi.ss.usermodel.CellValue; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; 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 ProductMgmtService { CommonService commonService = null; @Autowired ProductionMngService productionMngService; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } /** * 제품마스터 목록 조회 * @param paramMap * @return */ public List getProductMgntList(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("product.productMgmtListCnt", 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("product.productMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 제품마스터 상세조회 * @param paramMap * @return */ public Map getProductMgntInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("product.getproductMgmtInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultMap); } /** * 제품마스터 제원 * @param paramMap * @return */ public List SpecificationList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("product.specificationList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** 제품마스터 저장 * @param request * @param paramMap * @return */ public Map saveproductMgmtInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); Map resultList = null; Map tempMap = null; SqlSession sqlSession = null; String code_id = null; String First_cd = null; String Mid_cd = null; String final_cd = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); //0000069 resultList = sqlSession.selectOne("product.getproductspecList", paramMap); // //standardWBSTaskList = getStandardWBSTask(sqlSession, request, paramMap); if(resultList==null){ List standardSpecList = new ArrayList(); standardSpecList = (ArrayList)sqlSession.selectList("product.standardSpecList", paramMap); if(standardSpecList.size() > 0 ){ for(int i=0;i 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 checkDuplicateProductMgmt(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); resultMap = sqlSession.selectOne("product.checkDuplicateProductMgmt", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 제품마스터 물리적 삭제 * @param request * @param paramMap * @return */ public Map productDelete(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String partCheckBoxList[] = request.getParameter("productobjid").split(","); if(null != partCheckBoxList && 0 < partCheckBoxList.length){ for(int i=0;i"+materCheckBoxList.length); System.out.println("detailCheckBoxList.length --->"+detailCheckBoxList.length); if(null != materCheckBoxList && 0 < materCheckBoxList.length){ for(int i=0;i"+fileName); System.out.println("fileName ---------------->"+fileName); System.out.println("fileName ---------------->"+fileName); FileInputStream fis = new FileInputStream(path + File.separator + fileName); XSSFWorkbook workBook = new XSSFWorkbook(fis); FormulaEvaluator formulaEval = workBook.getCreationHelper().createFormulaEvaluator(); XSSFSheet sheet = workBook.getSheetAt(0); // 데이터 포멧터 DataFormatter formatter = new DataFormatter(); int rows = sheet.getPhysicalNumberOfRows(); for(int rowIndex= 1 ; rowIndex < rows ; rowIndex++){ XSSFRow row = sheet.getRow(rowIndex); if(null != row){ HashMap partMap = new HashMap(); for(int columnIndex = 0 ; columnIndex < 21 ; columnIndex++){ XSSFCell cell = row.getCell(columnIndex); //데이버 유형별 get date String cellValue = ""; if(null == cell){ cellValue = ""; }else{ switch(cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: CellValue evaluate = formulaEval.evaluate(cell); if(15 == columnIndex){ System.out.println("****************************"); cellValue = Integer.toString((int)cell.getNumericCellValue()); System.out.println("cellValue1:"+cellValue); }else{ cellValue = evaluate.formatAsString(); if(!"#N/A".equals(cellValue)){ cellValue = cell.getStringCellValue(); } } System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_FORMULA_____:"+cellValue); break; case XSSFCell.CELL_TYPE_NUMERIC: cellValue = formatter.formatCellValue(cell); /* if(7 == columnIndex){ cellValue = cell.getNumericCellValue()+""; //cellValue = String.format("%.2f", Double.parseDouble(cellValue)); System.out.println("cellValue1:"+cellValue); }else{ cellValue = cell.getNumericCellValue()+""; System.out.println("cellValue2:"+cellValue); }*/ System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_NUMERIC:"+cellValue); break; case XSSFCell.CELL_TYPE_STRING: cellValue = cell.getStringCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_STRING:"+cellValue); break; case XSSFCell.CELL_TYPE_BLANK: cellValue = cell.getBooleanCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_BLANK:"+cellValue); break; case XSSFCell.CELL_TYPE_ERROR: cellValue = cell.getErrorCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_ERROR:"+cellValue); break; } } if("false".equals(cellValue)){ cellValue = ""; } //품번 /*if(0 == columnIndex){ int duplicateCnt = 0; if(null != cellValue){ paramMap.put("PART_NAME", cellValue); paramMap.put("targetObjId", ""); ArrayList duplicateList = new ArrayList(); duplicateList = (ArrayList)getDuplicatePartList(request, paramMap); if(0 < duplicateList.size()){ for(int i=0;i> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid"))); sqlSession = SqlMapConfig.getInstance().getSqlSession(false); byte[] buf = new byte[1024]; for(int i=0; i resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.productMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 제품 사양 목록 조회 * @param paramMap * @return */ public List getProductMgntUpgList(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("product.productMgmtUpgListCnt", 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("product.productMgmtUpgList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 제품사양 제품 양산코드 리스트 * @param paramMap * @return */ public List getProductUpgCodeList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getProductUpgCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * UPG 제품코드 리스트 * @param paramMap * @return */ public List getProductUpgcommcodeList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getProductUpgcommcodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * upg matrix * @param paramMap * @return */ public List getUpgMatrixList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getUpgMatrixList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * upg matrix * @param paramMap * @return */ public List getUpgOneMatrixList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getUpgOneMatrixList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * UPg COde리스트 조회 * @param paramMap * @return */ public List getProductUpgDetailList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getProductUpgDetailList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * UPG Commcode 리스트 * @param paramMap * @return */ public List UpgCodeList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getUpgCodeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } /** * 제품 사양 상세조회 * @param paramMap * @return */ public Map getProductMgntUpgInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("product.productMgmtUpgInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperMap(resultMap); } /** 제품사양 저장 * @param request * @param paramMap * @return */ public Map saveproductMgmtUpgInfo(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("product.saveproductMgmtUpgInfo", 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 SpecificationFormSave(HttpServletRequest request,Map paramMap){ SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); sqlSession.insert("product.updateSpecification",paramMap); // String spec_text[] = request.getParameterValues("spec_text"); // String spec_value[] = request.getParameterValues("spec_value"); // String order_no[] = request.getParameterValues("order_no"); // // sqlSession.delete("product.DeleteSpecification",paramMap); // // // // if(null != spec_text && 0 < spec_text.length){ // for(int i=0;i resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("product.getUpgNoList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.keyChangeUpperList(resultList); } @SuppressWarnings({ "unchecked", "rawtypes" }) public List productPriceHistory(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("product.getproductPriceHistoryCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("product.getproductPriceHistory", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } @SuppressWarnings({ "rawtypes", "unchecked" }) public Map deleteproductMngInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); System.out.println("paramMap : "+paramMap); String[] objIds = request.getParameterValues("chk_objId"); int cnt = 0; for(int i=0; i 0){ resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } }