package com.example.pojo.vo; import com.example.entity.house.LandIdleStatPo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Data public class LandIdleStatVo { @Schema(description = "单位名称") private String city; @Schema(description = "闲置数量") private Integer idleNum; @Schema(description = "土地总面积") private BigDecimal buildingArea; @Schema(description = "土地自用面积") private BigDecimal buildingAreaUseArea; @Schema(description = "土地不可使用面积") private BigDecimal buildingAreaUnavailable; @Schema(description = "土地出租面积") private BigDecimal buildingAreaRentArea; @Schema(description = "土地闲置面积") private BigDecimal buildingAreaIdelArea; @Schema(description = "闲置率") private BigDecimal average; @Schema(description = "子列表") private List children; @Schema(description = "是否变色") private Boolean flag; public LandIdleStatVo(LandIdleStatPo po, Boolean flag) { this.city = po.getCityName(); this.idleNum = po.getIdleCount(); this.buildingArea = po.getTotalLandAreaSum(); this.buildingAreaUseArea = po.getLandAreaSelfUseSum(); this.buildingAreaUnavailable = po.getLandAreaUnusableSum(); this.buildingAreaRentArea = po.getLandAreaRentSum(); this.buildingAreaIdelArea = po.getLandAreaIdleSum(); if (po.getIdlePercent() != null) { this.average = po.getIdlePercent().multiply(new BigDecimal("100")); } this.flag = flag; this.children = new ArrayList<>(); List list = po.getChildren(); int size = list.size(); for (int i = 0; i < size; i++) { LandIdleStatPo t = list.get(i); this.children.add(new LandIdleStatVo(t, flag == (i % 2 != 0))); } } }