Kaynağa Gözat

优化报表

donglang 1 gün önce
ebeveyn
işleme
35df087a92

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/WaybillOrderRawOreReportResp.java

@@ -22,6 +22,12 @@ public class WaybillOrderRawOreReportResp implements Serializable {
     @Serial
     private static final long serialVersionUID = 7250765223450002067L;
 
+    /**
+     * 序号(导出用,汇总行设为null)
+     */
+    @Schema(description = "序号")
+    private Integer serialNumber;
+
     /**
      * 运单id
      */

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/WaybillOrderReportResp.java

@@ -21,6 +21,12 @@ public class WaybillOrderReportResp implements Serializable {
     @Serial
     private static final long serialVersionUID = 7250765223450002066L;
 
+    /**
+     * 序号(导出用,汇总行设为null)
+     */
+    @Schema(description = "序号")
+    private Integer serialNumber;
+
     /**
      * 运单id
      */

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillOrderRawOreReportRespExcelVO.java

@@ -23,6 +23,12 @@ public class WaybillOrderRawOreReportRespExcelVO implements Serializable {
     @Serial
     private static final long serialVersionUID = 7250765223450002068L;
 
+    /**
+     * 序号(汇总行显示为空)
+     */
+    @ExcelProperty(value = "序号", index = 0)
+    private Integer serialNumber;
+
 
     @ExcelProperty(value = "运单订单编号")
     private String logisticsNo;

+ 4 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillOrderReportRespExcelVO.java

@@ -24,16 +24,16 @@ public class WaybillOrderReportRespExcelVO implements Serializable {
     private static final long serialVersionUID = 7250765223450002066L;
 
     /**
-     * 运单id
+     * 序号(汇总行显示为空)
      */
-    @ExcelProperty(value = "序号" )
-    private Long id;
+    @ExcelProperty(value = "序号", index = 0)
+    private Integer serialNumber;
 
     /**
      * 采购单位名称
      */
     @ExcelProperty(value = "客户名称" )
-    private String ProcurementEntName;
+    private String procurementEntName;
 
     /**
      * 贸易订单编号

+ 20 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/WaybillOrderService.java

@@ -2225,6 +2225,7 @@ public class WaybillOrderService {
                 ));
 
         List<WaybillOrderReportResp> resultList = new ArrayList<>();
+        int serialNumber = 1; // 序号从1开始
 
         // 3. 遍历组装:【汇总行】 -> 【明细行】
         for (Map.Entry<String, List<WaybillOrderReportResp>> entry : groupedMap.entrySet()) {
@@ -2234,11 +2235,15 @@ public class WaybillOrderService {
             }
 
             WaybillOrderReportResp firstItem = details.get(0);
-            // A. 添加【明细行】 ---
-            resultList.addAll(details);
+            // A. 添加明细行和设置序号
+            for (WaybillOrderReportResp detail : details) {
+                detail.setSerialNumber(serialNumber++);
+                resultList.add(detail);
+            }
 
-            // B. 创建并添加【汇总行】 ---
+            // B. 创建并添加汇总行
             WaybillOrderReportResp summaryRow = createSummaryRow(firstItem, details);
+            summaryRow.setSerialNumber(null);
             resultList.add(summaryRow);
         }
         log.info("[报表]销售报表分组汇总结束!");
@@ -2357,13 +2362,13 @@ public class WaybillOrderService {
                 .toMap(ticket -> ticket.getWOrderId() + "-" + ticket.getType(), Function.identity(), (x, y) -> x));
 
         // 5.门卫
-        List<KwtGatekeeperWaybillOrder> gatekeepers = gatekeeperWaybillOrderRepository.queryGatekeeperByWaybillOrders(wOrderIds, Global.ADDRESS_LOAD);
+        List<KwtGatekeeperWaybillOrder> gatekeepers = gatekeeperWaybillOrderRepository.queryGatekeeperWaybillOrderByWOrderIds(wOrderIds);
         if (CollectionUtils.isEmpty(gatekeepers)) {
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_NOT_FOUND, "门卫运单不存在,wOrderIds:" + JSON.toJSONString(wOrderIds));
         }
         log.info("门卫,size:{}", gatekeepers.size());
         Map<String, KwtGatekeeperWaybillOrder> gatekeeperMap = gatekeepers.stream().collect(Collectors
-                .toMap(gate ->gate.getWOrderId() + "-" + gate.getType(), Function.identity(), (x, y) -> x));
+                .toMap(gate -> gate.getWOrderId() + "-" + gate.getType(), Function.identity(), (x, y) -> x));
 
         //6.铲车
         List<KwtForkliftWaybillOrder> forklifts = forkliftWaybillOrderRepository.queryForkliftByWOrderIdsAndType(wOrderIds, Global.NUMERICAL_ZERO);
@@ -2411,6 +2416,7 @@ public class WaybillOrderService {
         resp.setId(waybillOrder.getId());
         resp.setLogisticsNo(logOrder.getLOrderNo());
         resp.setTruckNo(waybillOrder.getTruckNo());
+        resp.setWaybillNo(waybillOrder.getWOrderNo());
         resp.setAcceptTime(forklift.getWaybillAcceptTime());
         resp.setLoadTareAmount(loadTicket.getTareAmount());
         resp.setLoadGrossAmount(loadTicket.getGrossAmount());
@@ -2481,8 +2487,9 @@ public class WaybillOrderService {
                 ));
 
         List<WaybillOrderRawOreReportResp> resultList = new ArrayList<>();
+        int serialNumber = 1; // 序号从1开始
 
-        // 3. 遍历组装:汇总行 -> 明细行
+        // 3. 遍历组装:汇总行 -> 明细行
         for (Map.Entry<String, List<WaybillOrderRawOreReportResp>> entry : groupedMap.entrySet()) {
             List<WaybillOrderRawOreReportResp> details = entry.getValue();
             if (details.isEmpty())  {
@@ -2490,11 +2497,15 @@ public class WaybillOrderService {
             }
 
             WaybillOrderRawOreReportResp firstItem = details.get(0);
-            // A. 添加【明细行】 ---
-            resultList.addAll(details);
+            // A. 添加明细行和设置序号
+            for (WaybillOrderRawOreReportResp detail : details) {
+                detail.setSerialNumber(serialNumber++);
+                resultList.add(detail);
+            }
 
-            // B. 创建并添加【汇总行】 ---
+            // B. 创建并添加汇总行 ---
             WaybillOrderRawOreReportResp summaryRow = createRawOreSummaryRow(firstItem, details);
+            summaryRow.setSerialNumber(null);
             resultList.add(summaryRow);
         }
         log.info("[报表]原矿运单分组汇总结束!");