Selaa lähdekoodia

增页上限调到30

yangyj 11 kuukautta sitten
vanhempi
commit
e513dc73cf

+ 2 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ReportResult.java

@@ -60,7 +60,8 @@ public class ReportResult {
     }
     public void pathInit(String sysLocalFileUrl){
         this.pdfPath=sysLocalFileUrl + "/pdf//" +getId() + ".pdf";
-        this.excelPath=sysLocalFileUrl + "/pdf//" + getId() + ".xlsx";
+        /*this.excelPath=sysLocalFileUrl + "/pdf//" + getId() + ".xlsx";*/
+        this.excelPath=sysLocalFileUrl + "/pdf//" + getName().trim()+ ".xlsx";
     }
     /*添加公共部分*/
     public void putCommon(){

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/SubTable.java

@@ -210,7 +210,7 @@ public class SubTable {
                 if (StringUtils.isNotEmpty(x) && !x.equals(name) || (i == itemName.size() - 1)) {
                    /* String des =designs.subList(head, i).stream().filter(StringUtils::isNotEmpty).distinct().collect(Collectors.joining("/"));*/
                     Item item = new Item(name);
-                    if(designs!=null) {
+                    if(designs!=null&&designs.size()>0) {
                         item.setDesign(designs.subList(head, i).stream().filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList()));
                     }
                    /* original.put(name + StringPool.AT + des, new ArrayList<>(data.subList(head*15,  i*ROW_SIZE)));*/

+ 11 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -336,7 +336,14 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                     }else{
                                         values=  itemBlockList.stream().map(ItemBlock::getData).flatMap(v -> v.stream().flatMap(Collection::stream)).map(Func::toStr).collect(Collectors.toList());
                                     }
-
+                                    if(t.getPoint().contains("榀数")){
+                                        if(values.size()>0) {
+                                            double x=values.stream().mapToDouble(Double::parseDouble).sum() / 3.0;
+                                            if(x!=0) {
+                                                values = Collections.singletonList(StringUtils.number2String(x, 0));
+                                            }
+                                        }
+                                    }
                                     int scale = StringUtils.getScale(values);
                                     FormulaUtils.write(t.getValue(), values.stream().filter(StringUtils::isNotEmpty).map(u -> {
                                               if(StringUtils.isNumber(u)){
@@ -1486,8 +1493,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
 
     /**加页增容*/
    public void copy(FormData fd,TableElementConverter tec){
-       if(fd.getAddPages()>20){
-           /*最大页数20*/
+       if(fd.getAddPages()>30){
+           /*最大页数30*/
+           StaticLog.error("{}超过最大30页限制",fd.getTableChName()+fd.getEName());
            return;
        }
        int pageAdd=fd.getAddPages();

+ 14 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -3,6 +3,7 @@ package org.springblade.meter.controller;
 
 import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.JSON;
+import com.aspose.cells.PageSetup;
 import com.aspose.cells.SaveFormat;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -2822,11 +2823,23 @@ public class TaskController extends BladeController {
                                 sheet.setPrintGridlines(false);
                                 //设置 整个工作表为一页
                                 sheet.setFitToPage(true);
-                                sheet.getPrintSetup().setPaperSize(PrintSetup.A4_PAPERSIZE);
+                                PrintSetup printSetup = sheet.getPrintSetup();
+                                /*printSetup.setFitHeight((short) 1);
+                                printSetup.setFitWidth((short) 1);*/
+                                // 设置页边距,单位为厘米
+                                printSetup.setPaperSize(PrintSetup.A4_PAPERSIZE);
+
                                 ByteArrayOutputStream out = new ByteArrayOutputStream();
                                 workbook.write(out);
                                 workbook.write(new FileOutputStream(rs.getExcelPath()));
                                 com.aspose.cells.Workbook wb = new com.aspose.cells.Workbook(new ByteArrayInputStream(out.toByteArray()));
+                                PageSetup pageSetup =wb.getWorksheets().get(0).getPageSetup();
+                                pageSetup.setLeftMargin(0.5);   // 左边距
+                                pageSetup.setRightMargin(0.5);  // 右边距
+                                pageSetup.setTopMargin(1.5);    // 上边距
+                                pageSetup.setBottomMargin(1.5); // 下边距*/
+                                pageSetup.setCenterHorizontally(true);
+                                pageSetup.setCenterVertically(true);
                                 out.reset();
                                 wb.save(out, SaveFormat.PDF);
                                 reader = new PdfReader(new ByteArrayInputStream(out.toByteArray()));