package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.BomAcceptanceMapper; import com.whyc.pojo.BOMFeedback; import com.whyc.pojo.BomAcceptance; import com.whyc.pojo.DefectiveProducts; import com.whyc.pojo.ProductHistory; import com.whyc.util.ActionUtil; import com.whyc.util.CommonUtil; import com.whyc.util.FileUtil; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.util.CellRangeAddress; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.*; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; import java.util.List; import static com.whyc.util.ActionUtil.createFilefolderIFNotExist; @Service public class BomAcceptanceService { @Autowired(required = false) private BomAcceptanceMapper mapper; //上传产品验收信息 public Response uploadBomAcceptance(MultipartFile fileLeft, MultipartFile fileRight, MultipartFile fileFront, MultipartFile fileBack ,MultipartFile agreement,MultipartFile bomManual,MultipartFile testReport ,MultipartFile icdFile,MultipartFile cadPicpart,MultipartFile namePlate , List multipartFileList,List installCasePics , BomAcceptance bomAcceptance) throws IOException { Date date = new Date(); bomAcceptance.setCreateTime(date); long time = date.getTime(); String rootFile = CommonUtil.getRootFile(); //配件存储 if(multipartFileList!=null && multipartFileList.size()!=0){ String spareDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "spare" + File.separator; String spareDir = rootFile + spareDirSuffix; File fileDir = new File(spareDir); if (!fileDir.exists()) { fileDir.mkdirs(); } for (int i = 0; i < multipartFileList.size(); i++) { MultipartFile multipartFile = multipartFileList.get(i); //存储文件 String originalFilename = multipartFile.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String sparePath = spareDir + fileName + suffix; File file = new File(sparePath); multipartFile.transferTo(file); } bomAcceptance.setSparePicpart(spareDirSuffix); } //现场安装案例照片 if(installCasePics!=null && installCasePics.size()!=0){ String installCasePicDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "install" + File.separator; String installCasePicDir = rootFile + installCasePicDirSuffix; File fileDir = new File(installCasePicDir); if (!fileDir.exists()) { fileDir.mkdirs(); } for (int i = 0; i < installCasePics.size(); i++) { MultipartFile multipartFile = installCasePics.get(i); //存储文件 String originalFilename = multipartFile.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String sparePath = installCasePicDir + fileName + suffix; File file = new File(sparePath); multipartFile.transferTo(file); } bomAcceptance.setInstallPic(installCasePicDirSuffix); } String devDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "dev" + File.separator; String devDir = rootFile + devDirSuffix; //左视图 if(fileLeft!=null){ //存储文件 String originalFilename = fileLeft.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = devDir + fileName + suffix; createFilefolderIFNotExist(path); fileLeft.transferTo(new File(path)); bomAcceptance.setDevPicleft("doc_file" + File.separator + devDirSuffix+originalFilename); } //右视图 if(fileRight!=null){ //存储文件 String originalFilename = fileRight.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = devDir + fileName + suffix; createFilefolderIFNotExist(path); fileRight.transferTo(new File(path)); bomAcceptance.setDevPicright("doc_file" + File.separator + devDirSuffix+originalFilename); } //正面图 if(fileFront!=null){ //存储文件 String originalFilename = fileFront.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = devDir + fileName + suffix; createFilefolderIFNotExist(path); fileFront.transferTo(new File(path)); bomAcceptance.setDevPicfront("doc_file" + File.separator + devDirSuffix+originalFilename); } //后面图 if(fileBack!=null){ //存储文件 String originalFilename = fileBack.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = devDir + fileName + suffix; createFilefolderIFNotExist(path); fileBack.transferTo(new File(path)); bomAcceptance.setDevPicback("doc_file" + File.separator + devDirSuffix+originalFilename); } String agreeDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "agree" + File.separator; String agreeDir = rootFile + agreeDirSuffix; //协议 if(agreement!=null){ //存储文件 String originalFilename = agreement.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = agreeDir + fileName + suffix; createFilefolderIFNotExist(path); agreement.transferTo(new File(path)); bomAcceptance.setBomAgreement("doc_file" + File.separator + agreeDirSuffix+originalFilename); } String bomManualDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "bomManual" + File.separator; String bomManualDir = rootFile + bomManualDirSuffix; //说明书(文件) if(bomManual!=null){ //存储文件 String originalFilename = bomManual.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = bomManualDir + fileName + suffix; createFilefolderIFNotExist(path); bomManual.transferTo(new File(path)); bomAcceptance.setBomManual("doc_file" + File.separator + bomManualDirSuffix+originalFilename); } String testReportDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "testReport" + File.separator; String testReportDir = rootFile + testReportDirSuffix; //检测报告(文件) if(testReport!=null){ //存储文件 String originalFilename = testReport.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = testReportDir + fileName + suffix; createFilefolderIFNotExist(path); testReport.transferTo(new File(path)); bomAcceptance.setTestReport("doc_file" + File.separator + testReportDirSuffix+originalFilename); } String icdFileDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "icdFile" + File.separator; String icdFileDir = rootFile + icdFileDirSuffix; //ICD文件 if(icdFile!=null){ //存储文件 String originalFilename = icdFile.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = icdFileDir + fileName + suffix; createFilefolderIFNotExist(path); icdFile.transferTo(new File(path)); bomAcceptance.setIcdFile("doc_file" + File.separator + icdFileDirSuffix+originalFilename); } String cadPicpartDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "cadPicpart" + File.separator; String cadPicpartDir = rootFile + cadPicpartDirSuffix; //施工图纸(文件) if(cadPicpart!=null){ //存储文件 String originalFilename = cadPicpart.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = cadPicpartDir + fileName + suffix; createFilefolderIFNotExist(path); cadPicpart.transferTo(new File(path)); bomAcceptance.setCadPicpart("doc_file" + File.separator + cadPicpartDirSuffix+originalFilename); } String namePlateDirSuffix = "acceptance_bom" + File.separator + time + File.separator+ "namePlate" + File.separator; String namePlateDir = rootFile + namePlateDirSuffix; //铭牌信息(文件) if(namePlate!=null){ //存储文件 String originalFilename = namePlate.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = namePlateDir + fileName + suffix; createFilefolderIFNotExist(path); namePlate.transferTo(new File(path)); bomAcceptance.setNamePlate("doc_file" + File.separator + namePlateDirSuffix+originalFilename); } mapper.insert(bomAcceptance); return new Response().set(1,true,"上传成功"); } //查询产品验收信息 public Response getBomAcceptance(BomAcceptance bomAcceptance, int pageNum, int pageSize) { PageHelper.startPage(pageNum,pageSize); QueryWrapper wrapper=new QueryWrapper(); if(bomAcceptance.getDirectName()!=null){ wrapper.like("direct_name",bomAcceptance.getDirectName()); } if(bomAcceptance.getBomSeries()!=null){ wrapper.like("bom_series",bomAcceptance.getBomSeries()); } if(bomAcceptance.getBomModel()!=null){ wrapper.like("bom_model",bomAcceptance.getBomModel()); } if(bomAcceptance.getBomVersion()!=null){ wrapper.like("bom_version",bomAcceptance.getBomVersion()); } if(bomAcceptance.getCreateTime()!=null){ wrapper.ge("create_time",bomAcceptance.getCreateTime()); } if(bomAcceptance.getCreateTime1()!=null){ wrapper.le("create_time",bomAcceptance.getCreateTime1()); } wrapper.orderByDesc("create_time"); List list = mapper.selectList(wrapper); String rootFile = CommonUtil.getRootFile();//主路径 if(list!=null&&list.size()>0){ for (BomAcceptance acceptance:list) { String sparefilePath=rootFile+acceptance.getSparePicpart(); acceptance.setSparePicpart("doc_file"+File.separator+acceptance.getSparePicpart()); //获取文件夹下所有的图片名 acceptance.setNameList(FileUtil.getFileNameWithOutDirectory(sparefilePath)); String installfilePath=rootFile+acceptance.getInstallPic(); acceptance.setInstallPic("doc_file"+File.separator+acceptance.getInstallPic()); //获取文件夹下所有的图片名 acceptance.setInstallList(FileUtil.getFileNameWithOutDirectory(installfilePath)); } } PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list.size()>0,pageInfo,"查询产品验收信息"); } //删除产品验收信息 public Response delBomAcceptance(int num) { UpdateWrapper wrapper=new UpdateWrapper(); wrapper.eq("num",num); int bl=mapper.delete(wrapper); return new Response().setII(1,bl>0,bl,"删除产品验收信息"); } //编辑产品验收信息 public Response updateBomAcceptance(BomAcceptance bomAcceptance) { UpdateWrapper wrapper=new UpdateWrapper(); wrapper.eq("num",bomAcceptance.getNum()); if(bomAcceptance.getDirectName()!=null){ wrapper.set("direct_name",bomAcceptance.getDirectName()); } if(bomAcceptance.getBomSeries()!=null){ wrapper.set("bom_series",bomAcceptance.getBomSeries()); } if(bomAcceptance.getBomModel()!=null){ wrapper.set("bom_model",bomAcceptance.getBomModel()); } if(bomAcceptance.getDevParam()!=null){ wrapper.set("dev_param",bomAcceptance.getDevParam()); } if(bomAcceptance.getStandParam()!=null){ wrapper.set("stand_param",bomAcceptance.getStandParam()); } if(bomAcceptance.getBomSize()!=null){ wrapper.set("bom_size",bomAcceptance.getBomSize()); } if(bomAcceptance.getDevWeight()!=null){ wrapper.set("dev_weight",bomAcceptance.getDevWeight()); } if(bomAcceptance.getDevWeightAll()!=null){ wrapper.set("dev_weight_all",bomAcceptance.getDevWeightAll()); } if(bomAcceptance.getSparePartmodel()!=null){ wrapper.set("spare_partmodel",bomAcceptance.getSparePartmodel()); } if(bomAcceptance.getBomVersion()!=null){ wrapper.set("bom_version",bomAcceptance.getBomVersion()); } mapper.update(null,wrapper); return new Response().set(1,true,"编辑成功"); } //删除图 public Response delPic(int num, int picNum,String picUrl) { UpdateWrapper wrapper=new UpdateWrapper(); wrapper.eq("num",num); if(picNum==1){ wrapper.set("dev_picleft",""); } if(picNum==2){ wrapper.set("dev_picright",""); } if(picNum==3){ wrapper.set("dev_picfront",""); } if(picNum==4){ wrapper.set("dev_picback",""); } /*if(picNum==5){ wrapper.set("spare_picpart",newPicUrl); }*/ if(picNum==6){ wrapper.set("bom_agreement",""); } if(picNum==7){ wrapper.set("bom_manual",""); } if(picNum==8){ wrapper.set("test_report",""); } if(picNum==9){ wrapper.set("icd_file",""); } if(picNum==10){ wrapper.set("cad_picpart",""); } if(picNum==11){ wrapper.set("name_plate",""); } /*if(picNum==12){ wrapper.set("install_pic",newPicUrl); }*/ int flag=0; if(picNum!=12&&picNum!=5){//文件时修改表的记录 mapper.update(null,wrapper); flag=1; }else{ String rootFile = CommonUtil.getRootFile();//主路径 picUrl=picUrl.replace("doc_file\\acceptance_bom",""); String picPath=rootFile+File.separator+"acceptance_bom"+File.separator+picUrl; if(picNum==5){ //判断文件路径是否包含spare if(picPath.contains("spare")){ File file = new File(picPath); if(file.isFile()){ //删除图片 FileUtil.deleteFile(file); flag=1; } } } if(picNum==12){ //判断文件路径是否包含install if(picPath.contains("install")){ File file = new File(picPath); if(file.isFile()){ //删除图片 FileUtil.deleteFile(file); flag=1; } } } } return new Response().set(1,flag>0,flag>0?"删除图片成功":"删除图片失败,路径不正确"); } //编辑单个图片上传 public Response updateDevPic(MultipartFile filePic, int num,int picNum) throws IOException { Date date = new Date(); long time = date.getTime(); String rootFile = CommonUtil.getRootFile(); String devDirSuffix = "acceptance_bom" + File.separator + time + File.separator; if(picNum==1){ devDirSuffix=devDirSuffix+"dev"+ File.separator; } if(picNum==2){ devDirSuffix=devDirSuffix+"dev"+ File.separator; } if(picNum==3){ devDirSuffix=devDirSuffix+"dev"+ File.separator; } if(picNum==4){ devDirSuffix=devDirSuffix+"dev"+ File.separator; } if(picNum==6){ devDirSuffix=devDirSuffix+"agree"+ File.separator; } if(picNum==7){ devDirSuffix=devDirSuffix+"bomManual"+ File.separator; } if(picNum==8){ devDirSuffix=devDirSuffix+"testReport"+ File.separator; } if(picNum==9){ devDirSuffix=devDirSuffix+"icdFile"+ File.separator; } if(picNum==10){ devDirSuffix=devDirSuffix+"cadPicpart"+ File.separator; } if(picNum==11){ devDirSuffix=devDirSuffix+"namePlate"+ File.separator; } String devDir = rootFile + devDirSuffix; if(filePic!=null){ //存储文件 String originalFilename = filePic.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String path = devDir + fileName + suffix; createFilefolderIFNotExist(path); filePic.transferTo(new File(path)); String devFile="doc_file" + File.separator + devDirSuffix+originalFilename; UpdateWrapper wrapper=new UpdateWrapper(); if(picNum==1){ wrapper.set("dev_picleft",devFile); } if(picNum==2){ wrapper.set("dev_picright",devFile); } if(picNum==3){ wrapper.set("dev_picfront",devFile); } if(picNum==4){ wrapper.set("dev_picback",devFile); } if(picNum==6){ wrapper.set("bom_agreement",devFile); } if(picNum==7){ wrapper.set("bom_manual",devFile); } if(picNum==8){ wrapper.set("test_report",devFile); } if(picNum==9){ wrapper.set("icd_file",devFile); } if(picNum==10){ wrapper.set("cad_picpart",devFile); } if(picNum==11){ wrapper.set("name_plate",devFile); } wrapper.eq("num",num); mapper.update(null,wrapper); return new Response().set(1,true,"上传新图片成功"); }else{ return new Response().set(1,false,"图片不存在"); } } //编辑多个图片上传 public Response updatePartPic(List multipartFileList, int num) throws IOException { String rootFile = CommonUtil.getRootFile(); QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("num",num); wrapper.last("limit 1"); BomAcceptance bomAcceptance=mapper.selectOne(wrapper); String picUrl=bomAcceptance.getSparePicpart(); if(picUrl==null||picUrl.isEmpty()){ long time =new Date().getTime(); picUrl= "acceptance_bom" + File.separator + time + File.separator+ "spare" + File.separator; String spareDir = rootFile + picUrl; File fileDir = new File(spareDir); if (!fileDir.exists()) { fileDir.mkdirs(); } } //配件存储 if(multipartFileList!=null && multipartFileList.size()!=0){ for (int i = 0; i < multipartFileList.size(); i++) { MultipartFile multipartFile = multipartFileList.get(i); //存储文件 String originalFilename = multipartFile.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String sparePath = rootFile+picUrl + fileName + suffix; File file = new File(sparePath); multipartFile.transferTo(file); } return new Response().set(1,true,"上传成功"); }else{ return new Response().set(1,false,"图片不存在"); } } //编辑现场安装图片多个图片上传 public Response updateInstallPic(List multipartFileList, int num) throws IOException { String rootFile = CommonUtil.getRootFile(); QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("num",num); wrapper.last("limit 1"); BomAcceptance bomAcceptance=mapper.selectOne(wrapper); String picUrl=bomAcceptance.getInstallPic(); if(picUrl==null||picUrl.isEmpty()){ long time =new Date().getTime(); picUrl= "acceptance_bom" + File.separator + time + File.separator+ "install" + File.separator; String spareDir = rootFile + picUrl; File fileDir = new File(spareDir); if (!fileDir.exists()) { fileDir.mkdirs(); } } //配件存储 if(multipartFileList!=null && multipartFileList.size()!=0){ for (int i = 0; i < multipartFileList.size(); i++) { MultipartFile multipartFile = multipartFileList.get(i); //存储文件 String originalFilename = multipartFile.getOriginalFilename(); String fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String installPath = rootFile+picUrl + fileName + suffix; File file = new File(installPath); multipartFile.transferTo(file); } return new Response().set(1,true,"上传成功"); }else{ return new Response().set(1,false,"图片不存在"); } } //导出产品验收信息 public void downloadBomAcceptance(HttpServletRequest req, HttpServletResponse resp, int num) { //读取产品信息 QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("num",num); wrapper.last("limit 1"); BomAcceptance bomAcceptance=mapper.selectOne(wrapper); //生成excel creatBomAcceptanceExcel(resp,bomAcceptance); } //生成excel private void creatBomAcceptanceExcel( HttpServletResponse resp, BomAcceptance bomAcceptance) { String rootFile = CommonUtil.getRootFile(); List sparePicList=new ArrayList<>(); if(bomAcceptance.getSparePicpart()!=null||!bomAcceptance.getSparePicpart().isEmpty()){ String filePath=rootFile+bomAcceptance.getSparePicpart(); //获取文件夹下所有的图片名 sparePicList=FileUtil.getFileNameWithOutDirectory(filePath); } List installPicList=new ArrayList<>(); if(bomAcceptance.getInstallPic()!=null||!bomAcceptance.getInstallPic().isEmpty()){ String filePath=rootFile+bomAcceptance.getInstallPic(); //获取文件夹下所有的图片名 installPicList=FileUtil.getFileNameWithOutDirectory(filePath); } String devRoot=rootFile.replace("doc_file", ""); List devPicList=new ArrayList<>(); devPicList.add(bomAcceptance.getDevPicleft()); devPicList.add(bomAcceptance.getDevPicfront()); devPicList.add(bomAcceptance.getDevPicright()); devPicList.add(bomAcceptance.getDevPicback()); String fileName="产品验收信息记录"; //创建单个sheet HSSFWorkbook wb = new HSSFWorkbook(); //字体格式-加粗 HSSFCellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); cellStyle.setBorderBottom(BorderStyle.THICK); cellStyle.setBorderLeft(BorderStyle.THICK); cellStyle.setBorderRight(BorderStyle.THICK); cellStyle.setBorderTop(BorderStyle.THICK); HSSFFont font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellStyle.setFont(font); HSSFSheet sheet = wb.createSheet("产品验收信息记录"); sheet.setColumnWidth(0,10000); if(sparePicList!=null&&sparePicList.size()>0){ int length = sparePicList.size(); length=length>5?length:4; for (int i = 1; i < length+1; i++){ sheet.setColumnWidth(i,5000); } } sheet.setDefaultRowHeight((short)(1000)); //图片元素 HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); int rowNum=0; HSSFRow row=sheet.createRow(rowNum); HSSFCell cell=row.createCell(0); cell.setCellValue("产品验收信息记录表"); cell.setCellStyle(cellStyle); sheet.addMergedRegion(new CellRangeAddress(0,0,0,1)); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("研发负责人"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getDirectName()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("产品系列"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getBomSeries()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("产品型号"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getBomModel()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("产品版本号"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getBomVersion()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("技术指标"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getDevParam()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("技术指标"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getStandParam()); cell.setCellStyle(cellStyle); sheet.addMergedRegion(new CellRangeAddress(4,5,0,0)); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("长x宽x高(mm)"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getBomSize()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("主机净重(KG)"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getDevWeight()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("整机全重(含包装箱,配件)(KG)"); cell.setCellStyle(cellStyle); cell=row.createCell(1); cell.setCellValue(bomAcceptance.getDevWeightAll()); cell.setCellStyle(cellStyle); rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("主机照片(左侧图,正面图,右侧图,后面图)"); cell.setCellStyle(cellStyle); if(devPicList!=null&&devPicList.size()>0){ ByteArrayOutputStream byteArrayOut = null; for(int i=0;i0){ ByteArrayOutputStream byteArrayOut = null; for(int i=0;i0){ String agreement=bomAcceptance.getBomAgreement(); String agreementName = agreement.substring(agreement.lastIndexOf(File.separator)+1); agreementName = agreementName.substring(0,agreementName.lastIndexOf(".")); cell.setCellValue(agreementName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("说明书"); cell.setCellStyle(cellStyle); cell=row.createCell(1); if(bomAcceptance.getBomManual()!=null&&bomAcceptance.getBomManual().length()>0){ String bomManual=bomAcceptance.getBomManual(); String bomManualName = bomManual.substring(bomManual.lastIndexOf(File.separator)+1); bomManualName = bomManualName.substring(0,bomManualName.lastIndexOf(".")); cell.setCellValue(bomManualName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("检测报告"); cell.setCellStyle(cellStyle); cell=row.createCell(1); if(bomAcceptance.getTestReport()!=null&&bomAcceptance.getTestReport().length()>0){ String testReport=bomAcceptance.getTestReport(); String testReportName = testReport.substring(testReport.lastIndexOf(File.separator)+1); testReportName = testReportName.substring(0,testReportName.lastIndexOf(".")); cell.setCellValue(testReportName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("ICD文件"); cell.setCellStyle(cellStyle); cell=row.createCell(1); if(bomAcceptance.getIcdFile()!=null&&bomAcceptance.getIcdFile().length()>0){ String icdFile=bomAcceptance.getTestReport(); String icdFileName = icdFile.substring(icdFile.lastIndexOf(File.separator)+1); icdFileName = icdFileName.substring(0,icdFileName.lastIndexOf(".")); cell.setCellValue(icdFileName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("施工图纸"); cell.setCellStyle(cellStyle); cell=row.createCell(1); if(bomAcceptance.getCadPicpart()!=null&&bomAcceptance.getCadPicpart().length()>0){ String cadPicpart=bomAcceptance.getCadPicpart(); String cadPicpartName = cadPicpart.substring(cadPicpart.lastIndexOf(File.separator)+1); cadPicpartName = cadPicpartName.substring(0,cadPicpartName.lastIndexOf(".")); cell.setCellValue(cadPicpartName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("铭牌信息"); cell.setCellStyle(cellStyle); cell=row.createCell(1); if(bomAcceptance.getNamePlate()!=null&&bomAcceptance.getNamePlate().length()>0){ String namePlate=bomAcceptance.getNamePlate(); String namePlateName = namePlate.substring(namePlate.lastIndexOf(File.separator)+1); namePlateName = namePlateName.substring(0,namePlateName.lastIndexOf(".")); cell.setCellValue(namePlateName); cell.setCellStyle(cellStyle); } rowNum++; row=sheet.createRow(rowNum); cell=row.createCell(0); cell.setCellValue("现场安装案例照片"); cell.setCellStyle(cellStyle); if(installPicList!=null&&installPicList.size()>0){ ByteArrayOutputStream byteArrayOut = null; for(int i=0;i