From bfa320956f20988fe671b0c4d25aa82fe766a98d Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期一, 23 六月 2025 20:17:51 +0800
Subject: [PATCH] 验收报告添加信息

---
 src/main/java/com/whyc/service/BomAcceptanceService.java |  575 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 555 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/whyc/service/BomAcceptanceService.java b/src/main/java/com/whyc/service/BomAcceptanceService.java
index dd12aff..c189711 100644
--- a/src/main/java/com/whyc/service/BomAcceptanceService.java
+++ b/src/main/java/com/whyc/service/BomAcceptanceService.java
@@ -14,15 +14,21 @@
 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.io.File;
-import java.io.IOException;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -35,7 +41,10 @@
 
     //涓婁紶浜у搧楠屾敹淇℃伅
     public Response uploadBomAcceptance(MultipartFile fileLeft, MultipartFile fileRight, MultipartFile fileFront, MultipartFile fileBack
-            ,MultipartFile agreement, List<MultipartFile> multipartFileList, BomAcceptance bomAcceptance) throws IOException {
+            ,MultipartFile agreement,MultipartFile bomManual,MultipartFile testReport
+            ,MultipartFile icdFile,MultipartFile cadPicpart,MultipartFile namePlate
+            , List<MultipartFile> multipartFileList,List<MultipartFile> installCasePics
+            , BomAcceptance bomAcceptance) throws IOException {
         Date date = new Date();
         bomAcceptance.setCreateTime(date);
         long time = date.getTime();
@@ -60,6 +69,27 @@
             }
             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;
         //宸﹁鍥�
@@ -119,6 +149,71 @@
             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,"涓婁紶鎴愬姛");
     }
@@ -148,10 +243,15 @@
         String rootFile = CommonUtil.getRootFile();//涓昏矾寰�
         if(list!=null&&list.size()>0){
             for (BomAcceptance acceptance:list) {
-                String filePath=rootFile+acceptance.getSparePicpart();
+                String sparefilePath=rootFile+acceptance.getSparePicpart();
                 acceptance.setSparePicpart("doc_file"+File.separator+acceptance.getSparePicpart());
                 //鑾峰彇鏂囦欢澶逛笅鎵�鏈夌殑鍥剧墖鍚�
-                acceptance.setNameList(FileUtil.getFileNameWithOutDirectory(filePath));
+                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);
@@ -204,7 +304,6 @@
     }
    //鍒犻櫎鍥�
     public void delPic(int num, int picNum,String picUrl,String newPicUrl) {
-        String rootFile = CommonUtil.getRootFile();//涓昏矾寰�
         UpdateWrapper wrapper=new UpdateWrapper();
         wrapper.eq("num",num);
         if(picNum==1){
@@ -225,21 +324,74 @@
         if(picNum==6){
             wrapper.set("bom_agreement",newPicUrl);
         }
+        if(picNum==7){
+            wrapper.set("bom_manual",newPicUrl);
+        }
+        if(picNum==8){
+            wrapper.set("test_report",newPicUrl);
+        }
+        if(picNum==9){
+            wrapper.set("icd_file",newPicUrl);
+        }
+        if(picNum==10){
+            wrapper.set("cad_picpart",newPicUrl);
+        }
+        if(picNum==11){
+            wrapper.set("name_plate",newPicUrl);
+        }
+        if(picNum==12){
+            wrapper.set("install_pic",newPicUrl);
+        }
         int flag=mapper.update(null,wrapper);
-        if(flag>0){
-            rootFile=rootFile.replace("doc_file","");
+        if(flag>0&&picUrl.length()>0){
+            String rootFile = CommonUtil.getRootFile();//涓昏矾寰�
+            picUrl=picUrl.replace("doc_file","");
             //鍒犻櫎鍥剧墖
             FileUtil.deleteFile(new File(rootFile+picUrl));
         }
     }
     //缂栬緫鍗曚釜鍥剧墖涓婁紶
-    public Response updateDevPic(MultipartFile filePic, int num,int picNum,String picUrl) throws IOException {
+    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+ "dev" + File.separator;
         String devDir = rootFile + devDirSuffix;
-        //鍚庨潰鍥�
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("num",num);
+        wrapper.last("limit 1");
+        BomAcceptance bomAcceptance=mapper.selectOne(wrapper);
+        String picUrl="";
+        if(picNum==1){
+            picUrl=bomAcceptance.getDevPicleft();
+        }
+        if(picNum==2){
+            picUrl=bomAcceptance.getDevPicright();
+        }
+        if(picNum==3){
+            picUrl=bomAcceptance.getDevPicfront();
+        }
+        if(picNum==4){
+            picUrl=bomAcceptance.getDevPicback();
+        }
+        if(picNum==6){
+            picUrl=bomAcceptance.getBomAgreement();
+        }
+        if(picNum==7){
+            picUrl=bomAcceptance.getBomManual();
+        }
+        if(picNum==8){
+            picUrl=bomAcceptance.getTestReport();
+        }
+        if(picNum==9){
+            picUrl=bomAcceptance.getIcdFile();
+        }
+        if(picNum==10){
+            picUrl=bomAcceptance.getCadPicpart();
+        }
+        if(picNum==11){
+            picUrl=bomAcceptance.getNamePlate();
+        }
         if(filePic!=null){
             //瀛樺偍鏂囦欢
             String originalFilename = filePic.getOriginalFilename();
@@ -257,9 +409,13 @@
         }
     }
     //缂栬緫澶氫釜鍥剧墖涓婁紶
-    public Response updatePartPic(List<MultipartFile> multipartFileList, String picUrl) throws IOException {
+    public Response updatePartPic(List<MultipartFile> multipartFileList, int num) throws IOException {
         String rootFile = CommonUtil.getRootFile();
-        rootFile=rootFile.replace("doc_file","");
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("num",num);
+        wrapper.last("limit 1");
+        BomAcceptance bomAcceptance=mapper.selectOne(wrapper);
+        String picUrl=bomAcceptance.getSparePicpart();
         //閰嶄欢瀛樺偍
         if(multipartFileList!=null && multipartFileList.size()!=0){
             for (int i = 0; i < multipartFileList.size(); i++) {
@@ -277,6 +433,32 @@
             return new Response().set(1,false,"鍥剧墖涓嶅瓨鍦�");
         }
     }
+    //缂栬緫鐜板満瀹夎鍥剧墖澶氫釜鍥剧墖涓婁紶
+    public Response updateInstallPic(List<MultipartFile> 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(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) {
         //璇诲彇浜у搧淇℃伅
@@ -285,29 +467,382 @@
         wrapper.last("limit 1");
         BomAcceptance bomAcceptance=mapper.selectOne(wrapper);
         //鐢熸垚excel
-        creatBomAcceptanceExcel(req,resp,bomAcceptance);
+        creatBomAcceptanceExcel(resp,bomAcceptance);
     }
     //鐢熸垚excel
-    private void creatBomAcceptanceExcel(HttpServletRequest req, HttpServletResponse resp, BomAcceptance bomAcceptance) {
+    private void creatBomAcceptanceExcel( HttpServletResponse resp, BomAcceptance bomAcceptance) {
+        String rootFile = CommonUtil.getRootFile();
+        List<String> sparePicList=new ArrayList<>();
+        if(bomAcceptance.getSparePicpart()!=null||!bomAcceptance.getSparePicpart().isEmpty()){
+            String filePath=rootFile+bomAcceptance.getSparePicpart();
+            //鑾峰彇鏂囦欢澶逛笅鎵�鏈夌殑鍥剧墖鍚�
+            sparePicList=FileUtil.getFileNameWithOutDirectory(filePath);
+        }
+        List<String> 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<String> 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.setFillForegroundColor(IndexedColors.GOLD.getIndex());//娣诲姞鍓嶆櫙鑹�,鍐呭鐪嬬殑娓呮
-        cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+        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(1,10000);
+        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();
-        HSSFRow row=sheet.createRow(1);
+        int rowNum=0;
+        HSSFRow row=sheet.createRow(rowNum);
         HSSFCell cell=row.createCell(0);
-        cell=row.createCell(0);
-        cell.setCellValue("浜у搧楠屾敹淇℃伅璁板綍");
+        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("闀縳瀹絰楂�(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("涓绘満鐓х墖(宸︿晶鍥撅紝姝i潰鍥撅紝鍙充晶鍥撅紝鍚庨潰鍥�)");
+        cell.setCellStyle(cellStyle);
+        if(devPicList!=null&&devPicList.size()>0){
+            ByteArrayOutputStream byteArrayOut = null;
+            for(int i=0;i<devPicList.size();i++){
+                String picUrl=devPicList.get(i);
+                if(picUrl.length()==0){
+                    continue;
+                }
+                try {
+                    byteArrayOut = new ByteArrayOutputStream();
+                    String path=devRoot+File.separator+picUrl;
+                    BufferedImage bufferImg = ImageIO.read(new FileInputStream(new File(path)));
+                    ImageIO.write(bufferImg, "png", byteArrayOut);
+                    //anchor涓昏鐢ㄤ簬璁剧疆鍥剧墖鐨勫睘鎬�
+                    HSSFClientAnchor anchor = new HSSFClientAnchor(50, 20, 1000, 230,(short) (i+1), rowNum, (short) (i+1), rowNum);
+                    anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE);
+                    //鎻掑叆鍥剧墖
+                    patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }finally {
+                    if (byteArrayOut != null) {
+                        try {
+                            byteArrayOut.close();
+                        } catch (IOException e) {
+                            System.out.println("鍏抽棴ByteArrayOutputStream澶辫触");
+                        }
+                    }
+                }
+            }
+        }
+
+        rowNum++;
+        row=sheet.createRow(rowNum);
+        cell=row.createCell(0);
+        cell.setCellValue("閰嶄欢鐓х墖");
+        cell.setCellStyle(cellStyle);
+        if(sparePicList!=null&&sparePicList.size()>0){
+            ByteArrayOutputStream byteArrayOut = null;
+            for(int i=0;i<sparePicList.size();i++){
+                String picUrl=sparePicList.get(i);
+                try {
+                    byteArrayOut = new ByteArrayOutputStream();
+                    String path=rootFile+File.separator+bomAcceptance.getSparePicpart()+File.separator+picUrl;
+                    BufferedImage bufferImg = ImageIO.read(new FileInputStream(new File(path)));
+                    ImageIO.write(bufferImg, "png", byteArrayOut);
+                    //anchor涓昏鐢ㄤ簬璁剧疆鍥剧墖鐨勫睘鎬�
+                    HSSFClientAnchor anchor = new HSSFClientAnchor(50, 20, 1000, 230,(short) (i+1), rowNum, (short) (i+1), rowNum);
+                    anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE);
+                    //鎻掑叆鍥剧墖
+                    patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }finally {
+                    if (byteArrayOut != null) {
+                        try {
+                            byteArrayOut.close();
+                        } catch (IOException e) {
+                            System.out.println("鍏抽棴ByteArrayOutputStream澶辫触");
+                        }
+                    }
+                }
+            }
+        }
+
+        rowNum++;
+        row=sheet.createRow(rowNum);
+        cell=row.createCell(0);
+        cell.setCellValue("閰嶄欢鍨嬪彿瑙勬牸");
+        cell.setCellStyle(cellStyle);
+        cell=row.createCell(1);
+        cell.setCellValue(bomAcceptance.getSparePartmodel());
+        cell.setCellStyle(cellStyle);
+
+        rowNum++;
+        row=sheet.createRow(rowNum);
+        cell=row.createCell(0);
+        cell.setCellValue("绔彛鍗忚鏂囨湰");
+        cell.setCellStyle(cellStyle);
+        cell=row.createCell(1);
+        if(bomAcceptance.getBomAgreement()!=null&&bomAcceptance.getBomAgreement().length()>0){
+            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<installPicList.size();i++){
+                String picUrl=installPicList.get(i);
+                try {
+                    byteArrayOut = new ByteArrayOutputStream();
+                    String path=rootFile+File.separator+bomAcceptance.getInstallPic()+File.separator+picUrl;
+                    BufferedImage bufferImg = ImageIO.read(new FileInputStream(new File(path)));
+                    ImageIO.write(bufferImg, "png", byteArrayOut);
+                    //anchor涓昏鐢ㄤ簬璁剧疆鍥剧墖鐨勫睘鎬�
+                    HSSFClientAnchor anchor = new HSSFClientAnchor(50, 20, 1000, 230,(short) (i+1), rowNum, (short) (i+1), rowNum);
+                    anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE);
+                    //鎻掑叆鍥剧墖
+                    patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }finally {
+                    if (byteArrayOut != null) {
+                        try {
+                            byteArrayOut.close();
+                        } catch (IOException e) {
+                            System.out.println("鍏抽棴ByteArrayOutputStream澶辫触");
+                        }
+                    }
+                }
+            }
+        }
+
+        //灏嗘枃浠跺瓨鍒版寚瀹氫綅缃�
+        OutputStream os = null;
+        try {
+            os = resp.getOutputStream();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        try {
+            resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (fileName+ ".xls", "utf-8"));
+            resp.setCharacterEncoding("UTF-8");
+            //涓嶄繚瀛樼紦瀛樹俊鎭笌response.reset鍚屾牱鏁堟灉
+            resp.addHeader("Pragma", "no-cache");
+            resp.addHeader("Cache-Control", "no-cache");
+            wb.write(os);
+            os.flush();
+            os.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+    //璺宠浆璇︽儏
+    public Response getBomAcceptanceByNum(int num) {
+        String rootFile = CommonUtil.getRootFile();
+        //璇诲彇浜у搧淇℃伅
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("num",num);
+        wrapper.last("limit 1");
+        BomAcceptance bomAcceptance=mapper.selectOne(wrapper);
+        String sparefilePath=rootFile+bomAcceptance.getSparePicpart();
+        bomAcceptance.setSparePicpart("doc_file"+File.separator+bomAcceptance.getSparePicpart());
+        //鑾峰彇鏂囦欢澶逛笅鎵�鏈夌殑鍥剧墖鍚�
+        bomAcceptance.setNameList(FileUtil.getFileNameWithOutDirectory(sparefilePath));
+
+        String installfilePath=rootFile+bomAcceptance.getInstallPic();
+        bomAcceptance.setInstallPic("doc_file"+File.separator+bomAcceptance.getInstallPic());
+        //鑾峰彇鏂囦欢澶逛笅鎵�鏈夌殑鍥剧墖鍚�
+        bomAcceptance.setInstallList(FileUtil.getFileNameWithOutDirectory(installfilePath));
+        return new Response().set(1,bomAcceptance,"璺宠浆璇︽儏");
     }
 
 }
\ No newline at end of file

--
Gitblit v1.9.1