chenlu
2025-11-07 2abec00842a87162186406af7c2014aae948af49
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -30,6 +30,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.SQLOutput;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -1041,15 +1042,30 @@
        date.add(startDate);
        date.add(endDate);
        List<Order> list = orderMapper.selectList(new LambdaQueryWrapper<Order>()
                .gt(Order::getCreateOrder,0)
                .between(Order::getCreateTime,startDate, endDate)
                .apply("create_order > 0")
                .apply("date(create_time) between {0} and {1}",startDate, endDate)
        );
        Integer quantity = 0;
        Double area = 0.00;
        Double perimeter = 0.00;
        for(Order order:list){
            quantity += Integer.parseInt(String.valueOf(order.getQuantity()));
            area += Double.parseDouble(String.valueOf(order.getArea()));
            perimeter += order.getPerimeter();
        }
        Map<String, Object> totalSum  = new HashMap<>();
        DecimalFormat df = new DecimalFormat("#.00");
        totalSum.put("quantity",quantity);
        totalSum.put("area", df.format(area));
        totalSum.put("perimeter", df.format(perimeter));
        totalSum.put("count", list.size());
        Map<String,Object> map = new HashMap<>();
        map.put("data",list);
        map.put("date",date);
        map.put("totalSum",totalSum);
        return map;
    }