From 47e56bf8919dc916b34744e7bb5223b20445378d Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期五, 19 八月 2022 12:11:20 +0800
Subject: [PATCH] 产品下载

---
 src/main/java/com/whyc/service/ProductBomService.java |   42 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/whyc/service/ProductBomService.java b/src/main/java/com/whyc/service/ProductBomService.java
index 24072ee..53f55d3 100644
--- a/src/main/java/com/whyc/service/ProductBomService.java
+++ b/src/main/java/com/whyc/service/ProductBomService.java
@@ -26,6 +26,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -202,9 +203,20 @@
         Product product=productMapper.selectOne(wrapper);
         //璇诲彇浜у搧鐨勫瓙浠跺拰鍏宠仈鐨勭墿鏂欎俊鎭�
         List<ProductBom> list=mapper.getBomAndMaterial(productId,version);
-        //澶勭悊
+        //澶勭悊瀛樺湪鍏宠仈鍏崇郴鐨勭墿鏂�
+        List<ProductBom> endList=new ArrayList<>();
+        list.stream().forEach(bom -> {
+            endList.add(bom);
+            if(bom.getMaterials()!=null&&bom.getMaterials().size()>0){
+                for (Material m:bom.getMaterials()) {
+                    //灏嗙墿鏂欏瓨鏀句负涓�涓猙om涓轰笅杞藉仛鍑嗗
+                    ProductBom copyBom=copyMaterialToBom(m);
+                    endList.add(copyBom);
+                }
+            }
+        });
         //鐢熸垚excel骞跺皢dwg鏂囦欢鏀惧湪鍚屼竴鎶ヤ笅鍘嬬缉
-        creatBomExcel(req,resp,product,list,wb,"bom");
+        creatBomExcel(req,resp,product,endList,wb,"bom");
         //璁板綍鏃ュ織
         DocUser docUser= ActionUtil.getUser();
         String operationDetail="鍏蜂綋浜у搧淇℃伅涓�:"+product.toString();
@@ -212,8 +224,10 @@
         String terminalIp=req.getRemoteAddr();
         logService.recordOperationLog(docUser.getId(),docUser.getName(), UserOperation.TYPE_DOWNLOAD.getType(),new Date(),terminalIp,opreationMsg,operationDetail);
     }
+
+
     //鏍规嵁浜у搧淇℃伅鍒涘缓excel琛ㄦ牸骞跺瓨鏀惧湪鎸囧畾鐩綍
-    public void creatBomExcel(HttpServletRequest req, HttpServletResponse resp,Product product,List list, HSSFWorkbook wb,String type){
+    private void creatBomExcel(HttpServletRequest req, HttpServletResponse resp,Product product,List list, HSSFWorkbook wb,String type){
         String fileDirName = FileDirPath.getFileDirName();
         String rootFace="";
         String excelName="";
@@ -386,4 +400,26 @@
         List<ProductBom> list=mapper.getBomAndMaterial(productId,version);
         return new Response().setII(1,list.size()>0?true:false,list,"杩斿洖鐗╂枡淇℃伅鍙婂叧鑱旂墿鏂�");
     }
+
+    //灏嗙墿鏂欏瓨鏀句负涓�涓猙om涓轰笅杞藉仛鍑嗗
+    private ProductBom copyMaterialToBom(Material m) {
+        ProductBom bom=new ProductBom();
+        bom.setType(m.getType());
+        bom.setCategory(m.getCategory());
+        bom.setSubCode(m.getSubCode());
+        bom.setSubName(m.getSubName());
+        bom.setSubModel(m.getSubModel());
+        bom.setUnit(m.getUnit());
+        bom.setQuantity(m.getQuantity());
+        bom.setProducer(m.getProducer());
+        bom.setMaterial(m.getMaterial());
+        bom.setThickness(m.getThickness());
+        bom.setSurfaceDetail(m.getSurfaceDetail());
+        bom.setNotes(m.getNotes());
+        bom.setPictureUrl(m.getPictureUrl());
+        bom.setDwgUrl(m.getDwgUrl());
+        bom.setFileUrl(m.getFileUrl());
+        bom.setCreateDate(m.getCreateDate());
+        return  bom;
+    }
 }

--
Gitblit v1.9.1