feat (farm): 基地规划
- 计算地块占比
This commit is contained in:
@@ -62,8 +62,10 @@ public class BaseInfoRespVO {
|
||||
private Integer cropCount;
|
||||
@Schema(description = "在种地块数量")
|
||||
private Integer plotCount;
|
||||
@Schema(description = "地块总数")
|
||||
private Integer plotTotalCount;
|
||||
@Schema(description = "在种地块占比")
|
||||
private Integer plotRatio;
|
||||
private Double plotRatio;
|
||||
}
|
||||
|
||||
@Data
|
||||
|
||||
@@ -181,19 +181,24 @@ public class BaseInfoServiceImpl implements BaseInfoService {
|
||||
String baseId = obj.getId();
|
||||
String baseName = obj.getName();
|
||||
BigDecimal baseArea = obj.getArea();
|
||||
List<PlotInfoDO> plotList = plotInfoMapper.selectList("base_id", baseId);
|
||||
|
||||
// 在种作物数量
|
||||
Integer cropCount = speciesLibraryMapper.getSpeciesCount(tenantId,baseId);;
|
||||
// 在种地块数量
|
||||
Integer plotCount = 0; // todo
|
||||
Integer cropCount = speciesLibraryMapper.getSpeciesCount(tenantId,baseId);
|
||||
// 在种地块占比
|
||||
Integer plotRatio = 0; // todo
|
||||
double plotRatio = 0.00;
|
||||
// 在种地块数量
|
||||
int plotCount = 1;
|
||||
// 地块总数
|
||||
int plotTotalCount = plotList.size();
|
||||
if (plotTotalCount > 0) {
|
||||
plotRatio = Math.round((plotCount * 10000.0) / plotTotalCount) / 100.0;
|
||||
}
|
||||
|
||||
obj.setBaseOverview(new BaseInfoRespVO.BaseInfo(baseId,baseName,baseArea,cropCount,plotCount,plotRatio));
|
||||
obj.setBaseOverview(new BaseInfoRespVO.BaseInfo(baseId,baseName,baseArea,cropCount,plotCount,plotTotalCount,plotRatio));
|
||||
|
||||
// 地块集合
|
||||
List<BaseInfoRespVO.PlotInfo> targetList = new ArrayList<>();
|
||||
List<PlotInfoDO> plotList = plotInfoMapper.selectList("base_id", baseId);
|
||||
for (PlotInfoDO aDo : plotList) {
|
||||
String plotManager = employeeMap.getOrDefault(aDo.getEmployeeId(), "系统");
|
||||
BaseInfoRespVO.PlotInfo target = new BaseInfoRespVO.PlotInfo(aDo.getPlotId(), aDo.getPlotName(), aDo.getPlotArea(), plotManager);
|
||||
|
||||
Reference in New Issue
Block a user