Prechádzať zdrojové kódy

从第一行开始读表头
增加bucket列,week列放最后
明细根据line tool 优先级排序

SJ 1 deň pred
rodič
commit
61ba2d2e1a

+ 9 - 6
lg-code/src/main/java/org/jeecg/modules/ProdPlan/service/impl/ProdPlanServiceImpl.java

@@ -94,8 +94,8 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
             Sheet sheet = null;
             for(int sheetNum = 0; sheetNum < workbook.getNumberOfSheets(); sheetNum ++) {
                 sheet = workbook.getSheetAt(sheetNum);
-                //第行为表头
-                Row headerRow = sheet.getRow(1);
+                //第行为表头
+                Row headerRow = sheet.getRow(0);
                 if (headerRow == null) {
                     throw new RuntimeException("未找到表头行");
                 }
@@ -423,7 +423,8 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
         // 以第四周为当前周,过滤影响前一周及后两周周的数据
         detailVos = detailVoList.stream().filter(i->{
             return i.getWeek3()!=null||i.getWeek4()!=null||i.getWeek5()!=null||i.getWeek6()!=null;
-        }).collect(Collectors.toList());
+        }).sorted(Comparator.comparing(ReportDetailVo::getLine).thenComparing(ReportDetailVo::getTool).thenComparing(ReportDetailVo::getPst))
+                .collect(Collectors.toList());
 
         List<DeliveredQuantity> deliveredQuantityList = this.deliveredQuantityService.list();
 
@@ -635,7 +636,7 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
             cellStyle = cellStyle.equals(dataStyle) ? darkDataStyle : dataStyle;
             createCell(dataRow,currentColumn++,detailVo.getRegion(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getModel(),cellStyle);
-            createCell(dataRow,currentColumn++,detailVo.getWeek(),cellStyle);
+            createCell(dataRow,currentColumn++,detailVo.getBucket(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getLine(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getTool(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getPo(),cellStyle);
@@ -648,6 +649,7 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
             createCell(dataRow,currentColumn++,detailVo.getOverdueDays()==null?0:detailVo.getOverdueDays(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getDept(),cellStyle);
             createCell(dataRow,currentColumn++,detailVo.getRemark(),cellStyle);
+            createCell(dataRow,currentColumn++,detailVo.getWeek(),cellStyle);
         }
 
 //        // 自动调整列宽
@@ -824,7 +826,7 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
         // 创建第二个表格的表头
         Row headerRow = sheet.createRow(currentRow++);
         String[] headers = {"产品需求", "","", "Line", "Tool", "PO", "周别累计影响数量", "", "","",
-                "当前日期", "要求完成日期", "超出天数", "原因部门", "Remark"};
+                "当前日期", "要求完成日期", "超出天数", "原因部门", "Remark", "Week"};
         for (int i = 0; i < headers.length; i++) {
             Cell cell = headerRow.createCell(startColumn+i);
             cell.setCellValue(headers[i]);
@@ -834,7 +836,7 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
 
         // 第二行表头
         Row headerRow2 = sheet.createRow(currentRow++);
-        String[] headers2 = { "Region","LG Model","Week", "", "", "", "W"+(currentWeek-1), "W"+currentWeek, "W"+(currentWeek+1), "W"+(currentWeek+2), "", "", "", "", ""};
+        String[] headers2 = { "Region","LG Model","Bucket", "", "", "", "W"+(currentWeek-1), "W"+currentWeek, "W"+(currentWeek+1), "W"+(currentWeek+2), "", "", "", "", "", ""};
         for (int i = 0; i < headers2.length; i++) {
             Cell cell = headerRow2.createCell(startColumn+i);
             cell.setCellValue(headers2[i]);
@@ -852,6 +854,7 @@ public class ProdPlanServiceImpl extends ServiceImpl<ProdPlanMapper, ProdPlan> i
         sheet.addMergedRegion(new CellRangeAddress(startRow, startRow + 1, startColumn+12, startColumn+12)); // 超出天数
         sheet.addMergedRegion(new CellRangeAddress(startRow, startRow + 1, startColumn+13, startColumn+13)); // 原因部门
         sheet.addMergedRegion(new CellRangeAddress(startRow, startRow + 1, startColumn+14, startColumn+14)); // Remark
+        sheet.addMergedRegion(new CellRangeAddress(startRow, startRow + 1, startColumn+15, startColumn+15)); // Week
 
         return currentRow;
     }

+ 6 - 3
lg-code/src/main/java/org/jeecg/modules/ProdPlan/vo/ReportDetailVo.java

@@ -16,9 +16,9 @@ public class ReportDetailVo {
     /**model*/
     @Excel(name = "model", width = 15)
     private String model;
-    /**week*/
-    @Excel(name = "week", width = 15)
-    private String week;
+    /**Bucket*/
+    @Excel(name = "Bucket", width = 15)
+    private java.lang.String bucket;
     /**line*/
     @Excel(name = "line", width = 15)
     private String line;
@@ -38,6 +38,9 @@ public class ReportDetailVo {
 
     private String pst;
     private String dueDate;
+    /**week*/
+    @Excel(name = "week", width = 15)
+    private String week;
     /**Overdue Days*/
     @Excel(name = "Overdue Days", width = 15)
     @ApiModelProperty(value = "Overdue Days")