package com.slcf.service.impl; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.List; import java.util.Map; import com.slcf.bean.WaitPakOutLogCondition; import com.slcf.controller.param.SetEmsParam; import com.slcf.pojo.WaitPakOutLogBean; import com.slcf.util.DateTimeUtil; import org.apache.ibatis.annotations.Param; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.slcf.bean.WaitPakOutCondition; import com.slcf.dao.WaitPakOutDao; import com.slcf.dao.WorkFileDao; import com.slcf.pojo.WaitPakOutBean; import com.slcf.pojo.WorkDetailBean; import com.slcf.pojo.WorkMastBean; import com.slcf.service.WaitPakOutService; import javax.servlet.http.HttpServletResponse; /** * 入库通知档接口实现 * @author admin * @date 2018年11月17日 */ @Service public class WaitPakOutServiceImpl implements WaitPakOutService { @Autowired WaitPakOutDao waitPakOutDao; @Autowired WorkFileDao workFileDao; /** * 添加 */ public int insertWaitPakOut(WaitPakOutBean waitPakOut) { int result=0; try { result=waitPakOutDao.insertWaitPakOut(waitPakOut); }catch(Exception e) { System.out.println(e.getMessage()); } return result; } // /** // * 统计数量 // */ // public int queryWaitPakOutCount(){ // int result = 0; // try { // result = WaitPakOutDao.getWaitPakOutCount(); // }catch(Exception e) { // System.out.println(e.getMessage()); // } // return result; // } /** * 分页查询所有 */ public Map queryWaitPakOutList(WaitPakOutCondition waitPakOutCon) { try { Map map=new HashMap(); List list=waitPakOutDao.queryWaitPakOutList(waitPakOutCon); int count =waitPakOutDao.getWaitPakOutCount(waitPakOutCon); map.put("rows", list); map.put("total", count); return map; }catch(Exception e) { System.out.println(e.getMessage()); return null; } } // public List queryWaitPakOutList(int spage, int epage) { // try { // return WaitPakOutDao.queryWaitPakOutList(spage, epage); // }catch(Exception e) { // System.out.println(e.getMessage()); // return null; // } // } public Integer waitPakOutSetEms(SetEmsParam setEmsParam) { return waitPakOutDao.waitPakOutSetEms(setEmsParam.getLgnum(), setEmsParam.getTanum(), setEmsParam.getTapos()); } public Integer countEmsNum() { return waitPakOutDao.countEmsNum(); } public List queryWaitOutPak(String vlpla, String matnr) { return waitPakOutDao.queryWaitOutPak(vlpla, matnr); } /** * 根据id查找 */ public WaitPakOutBean queryWaitPakOutById(String sheet_no,String mat_no) { try { return waitPakOutDao.getWaitPakOutById(sheet_no,mat_no); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 根据库位号查找 */ public WaitPakOutBean queryWaitPakOutByLocNo(String loc_no) { try { return waitPakOutDao.getWaitPakOutByLocNo(loc_no); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 根据物料号号查找 */ public WaitPakOutBean queryWaitPakOutByMatNo(String mat_no) { try { return waitPakOutDao.getWaitPakOutByMatNo(mat_no); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } //更新 public int upWaitPakOut(WaitPakOutBean WaitPakOut, int type) { int result=0; try { result=waitPakOutDao.upWaitPakOut(WaitPakOut); // if(type==2) { // //如果工作档有数据,调整工作档优先级 // WorkDetailBean workDetail = workFileDao.getWorkDetlByMatNo(WaitPakOut.getMat_no()); // if(workDetail!=null) { // WorkMastBean workMast = workFileDao.getWorkMastById(workDetail.getWrk_no()); // if(workMast!=null) { // workMast.setIo_pri(WaitPakOut.getCtns()); // workFileDao.upWorkMast(workMast); // } // } // // } }catch(Exception e) { // System.out.println("TQSTQS---" + e.getMessage()); System.out.println(e.getMessage()); } return result; } //更新 public int upWaitPakOutByLocNo(WaitPakOutBean WaitPakOut) { int result=0; try { result=waitPakOutDao.upWaitPakOutByLocNo(WaitPakOut); }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 根据id删除 */ public int delWaitPakOut(WaitPakOutBean WaitPakOut) { int result=0; try { result=waitPakOutDao.delWaitPakOutById(WaitPakOut); }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 查询所有 * @return */ public List getWaitPakOutList() { try { return waitPakOutDao.getWaitPakOutList(); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 转历史档 */ // @Transactional(propagation=Propagation.REQUIRED) @Transactional public int moveToLog(WaitPakOutBean WaitPakOut) { int result=0; try { result=waitPakOutDao.insertLog(WaitPakOut); result=waitPakOutDao.delWaitPakOutById(WaitPakOut); }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 查询所有单号 * @return */ public List getSheetNoList() { try { return waitPakOutDao.getSheetNoList(); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 根据编号、行号查 */ public WaitPakOutBean queryWaitPakOutByNum(WaitPakOutBean waitPakOutBean) { try { return waitPakOutDao.getWaitPakOutByNum(waitPakOutBean); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 查询最早一笔待反馈SAP数据 */ public WaitPakOutBean queryWaitPakOutFnh() { try { return waitPakOutDao.getWaitPakOutFnh(); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 查询最早一笔待打印标签数据 */ public WaitPakOutBean getWaitPakOutPrint() { try { return waitPakOutDao.getWaitPakOutPrint(); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } public void ExportWaitPakOutList(WaitPakOutCondition condition, HttpServletResponse response) { //输出Excel文件 try { //HSSFWorkbook对象(excel的文档对象) HSSFWorkbook workBook=new HSSFWorkbook(); //sheet对象(excel的表单) HSSFSheet sheet=workBook.createSheet("出库通知历史档"); //行数,参数为行索引(excel的行) // HSSFRow rowHead=sheet.createRow(0);//第一行 可以是0~65535之间的任何一个 // //创建excel的单元格,参数为列索引,可以是0~255之间的任何一个 // HSSFCell cellOne=rowHead.createCell(0); // cellOne.setCellValue("用户信息");//表头 //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 // sheet.addMergedRegion(new CellRangeAddress(0,0,0,5)); sheet.setColumnWidth(0, (int)((10 + 0.72) * 256)); sheet.setColumnWidth(1, (int)((20 + 0.72) * 256)); sheet.setColumnWidth(2, (int)((15 + 0.72) * 256)); sheet.setColumnWidth(3, (int)((15 + 0.72) * 256)); sheet.setColumnWidth(4, (int)((15 + 0.72) * 256)); sheet.setColumnWidth(5, (int)((25 + 0.72) * 256)); sheet.setColumnWidth(6, (int)((10 + 0.72) * 256)); sheet.setColumnWidth(7, (int)((8 + 0.72) * 256)); sheet.setColumnWidth(8, (int)((10 + 0.72) * 256)); sheet.setColumnWidth(9, (int)((10 + 0.72) * 256)); sheet.setColumnWidth(10, (int)((10 + 0.72) * 256)); sheet.setColumnWidth(11, (int)((25 + 0.72) * 256)); sheet.setColumnWidth(12, (int)((25 + 0.72) * 256)); sheet.setColumnWidth(13, (int)((25 + 0.72) * 256)); HSSFRow rows=sheet.createRow(0);//第二行 //创建单元格并设置单元格内容 rows.createCell(0).setCellValue("仓库号"); rows.createCell(1).setCellValue("转储编号"); rows.createCell(2).setCellValue("行项目"); rows.createCell(3).setCellValue("物料"); rows.createCell(4).setCellValue("物料描述"); rows.createCell(5).setCellValue("工厂"); rows.createCell(6).setCellValue("数量"); rows.createCell(7).setCellValue("单位"); rows.createCell(8).setCellValue("源发地类型"); rows.createCell(9).setCellValue("源发地仓位"); rows.createCell(10).setCellValue("目的地类型"); rows.createCell(11).setCellValue("目的地仓位"); rows.createCell(12).setCellValue("用户ID"); rows.createCell(13).setCellValue("修改时间"); List list=waitPakOutDao.getWaitPakOutAll(condition); for(int i=0;i