whycxzp
2022-08-15 6eda8b2ff2b6748376670e84a14a8656cc1094c6
src/main/java/com/whyc/service/ProductBomHistoryService.java
@@ -6,6 +6,7 @@
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;
@@ -29,6 +30,8 @@
public class ProductBomHistoryService {
    @Autowired(required = false)
    private ProductBomHistoryMapper mapper;
    @Autowired(required = false)
    private ComponentMapper cponentMapper;
    @Autowired
    private DocLogService logService;
@@ -66,6 +69,17 @@
        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,"");
    }
    //下载指定版本的产品
@@ -75,6 +89,16 @@
        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();
@@ -94,10 +118,16 @@
    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));
        //图片元素
@@ -126,7 +156,7 @@
                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()) {
@@ -134,7 +164,6 @@
                    }
                }
                if((dwgUrl!=null)&&(!dwgUrl.isEmpty())){
                    pictureName+=dwgUrl.substring(dwgUrl.lastIndexOf("\\")+1)+",";
                    File sourceFile=new File(fileDirName+ File.separator+dwgUrl);
                    bomService.copyFile(sourceFile,rootFace);
                }
@@ -146,7 +175,11 @@
                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());