| | |
| | | import com.whyc.dto.FileDirPath; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.dto.ZipUtils; |
| | | import com.whyc.mapper.ComponentMapper; |
| | | import com.whyc.mapper.ProductBomHistoryMapper; |
| | | import com.whyc.pojo.DocUser; |
| | | import com.whyc.pojo.ProductBom; |
| | |
| | | public class ProductBomHistoryService { |
| | | @Autowired(required = false) |
| | | private ProductBomHistoryMapper mapper; |
| | | @Autowired(required = false) |
| | | private ComponentMapper cponentMapper; |
| | | |
| | | @Autowired |
| | | private DocLogService logService; |
| | |
| | | wrapper.le("s_version",version); |
| | | wrapper.ge("e_version",version); |
| | | List<ProductBomHistory> list=mapper.selectList(wrapper); |
| | | //查询出存在替换关系得散装件 |
| | | List<ProductBomHistory> replaceBomHis=cponentMapper.getReplaceHisComponent(parentModel,version); |
| | | //两个集合合并才是最终的BOM |
| | | if(list!=null&&list.size()>0){ |
| | | if(replaceBomHis!=null&&replaceBomHis.size()>0){ |
| | | replaceBomHis.stream().forEach(replaceBom->{ |
| | | replaceBom.setReplaceStatus(1); |
| | | list.add(replaceBom); |
| | | }); |
| | | } |
| | | } |
| | | return new Response().setII(1,list.size()>0?true:false,list,""); |
| | | } |
| | | //下载指定版本的产品 |
| | |
| | | wrapper.le("s_version",version); |
| | | wrapper.ge("e_version",version); |
| | | List<ProductBomHistory> list=mapper.selectList(wrapper); |
| | | //查询出存在替换关系得散装件 |
| | | List<ProductBomHistory> replaceBomHis=cponentMapper.getReplaceHisComponent(parentModel,version); |
| | | //两个集合合并才是最终的BOM |
| | | if(list!=null&&list.size()>0){ |
| | | if(replaceBomHis!=null&&replaceBomHis.size()>0){ |
| | | replaceBomHis.stream().forEach(replaceBom->{ |
| | | list.add(replaceBom); |
| | | }); |
| | | } |
| | | } |
| | | HSSFWorkbook wb = new HSSFWorkbook(); |
| | | //字体格式-加粗 |
| | | HSSFCellStyle cellStyle = wb.createCellStyle(); |
| | |
| | | public void creatBomHsitoryExcel(HttpServletRequest req, HttpServletResponse resp,List<ProductBomHistory> list, HSSFWorkbook wb,int version){ |
| | | String fileDirName = FileDirPath.getFileDirName(); |
| | | String rootFace=""; |
| | | String pictureName=""; |
| | | String excelName=""; |
| | | //创建单个sheet |
| | | HSSFSheet sheet = wb.createSheet("bom_"+version+"信息"); |
| | | sheet.setColumnWidth(1,5000); |
| | | sheet.setColumnWidth(2,5000); |
| | | sheet.setColumnWidth(3,5000); |
| | | sheet.setColumnWidth(4,5000); |
| | | sheet.setColumnWidth(6,5000); |
| | | sheet.setColumnWidth(7,5000); |
| | | sheet.setColumnWidth(8,5000); |
| | | sheet.setColumnWidth(16,6000); |
| | | sheet.setDefaultRowHeight((short)(1000)); |
| | | //图片元素 |
| | |
| | | ProductBomHistory bomHistory= (ProductBomHistory) list.get(i); |
| | | String dwgUrl=bomHistory.getDwgUrl(); |
| | | if(i==0){ |
| | | excelName=bomHistory.getParentCode()+"_"+version; |
| | | excelName=bomHistory.getParentCode()+"_"+bomHistory.getParentModel()+"_"+version; |
| | | rootFace=fileDirName+ File.separator+excelName; |
| | | File destfile = new File(rootFace); |
| | | if(!destfile.exists()) { |
| | |
| | | } |
| | | } |
| | | if((dwgUrl!=null)&&(!dwgUrl.isEmpty())){ |
| | | pictureName+=dwgUrl.substring(dwgUrl.lastIndexOf("\\")+1)+","; |
| | | File sourceFile=new File(fileDirName+ File.separator+dwgUrl); |
| | | bomService.copyFile(sourceFile,rootFace); |
| | | } |
| | |
| | | sheet.getRow(rownum+i+1).createCell(4).setCellValue(bomHistory.getParentModel()); |
| | | sheet.getRow(rownum+i+1).createCell(5).setCellValue(bomHistory.getCategory()); |
| | | sheet.getRow(rownum+i+1).createCell(6).setCellValue(bomHistory.getSubCode()); |
| | | sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName()); |
| | | if(bomHistory.getOldSubName()!=null&&!bomHistory.getOldSubName().isEmpty()){ |
| | | sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName()+"("+bomHistory.getOldSubName()+")"); |
| | | }else{ |
| | | sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName()); |
| | | } |
| | | sheet.getRow(rownum+i+1).createCell(8).setCellValue(bomHistory.getSubModel()); |
| | | sheet.getRow(rownum+i+1).createCell(9).setCellValue(bomHistory.getUnit()==null?"":bomHistory.getUnit()); |
| | | sheet.getRow(rownum+i+1).createCell(10).setCellValue(bomHistory.getQuantity()); |