package org.springblade.modules.farmplant.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.farm.entity.Farm; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.mapper.FarmPlantMapper; import org.springblade.modules.farmplant.service.FarmPlantService; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springblade.modules.farmplant.vo.StrainVO; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.List; /** * 农场养殖记录表服务实现类 * @since 2022-05-12 * @author zhongrj */ @Service public class FarmPlantServiceImpl extends ServiceImpl implements FarmPlantService { /** * 自定义分页 * * @param page * @param farm * @return */ @Override public IPage selectFarmPlantPage(IPage page, FarmPlantVO farm) { List farmPlantVOS = baseMapper.selectFarmPlantPage(page, farm); //遍历 farmPlantVOS.forEach(farmPlantVO -> { if (farmPlantVO.getLandUnit().equals("1")){ farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea())*0.1)); } if (farmPlantVO.getLandUnit().equals("2")){ farmPlantVO.setArea(String.format("%.2f",Double.parseDouble(farmPlantVO.getArea())*0.0015)); } }); return page.setRecords(farmPlantVOS); } /** * 农产品种养统计 * @param farm 农产品种植对象 * @param page 分页查询对象 * @return */ @Override public IPage getFarmPlantStatistics(IPage page, FarmPlantVO farm) { List farmPlantVOS = baseMapper.getFarmPlantStatistics(page, farm); //遍历 farmPlantVOS.forEach(farmPlantVO -> { if (farmPlantVO.getLandUnit().equals("1")){ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1); farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); } if (farmPlantVO.getLandUnit().equals("2")){ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015); farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); } }); return page.setRecords(farmPlantVOS); } /** * 农产品列表 * @param farm 农产品对象 * @return */ @Override public List strainTree(FarmPlantVO farm) { return baseMapper.strainTree(farm); } /** * 农产品种养统计(累计和) * @param farm 农产品种植对象 * @return */ @Override public FarmPlantVO getFarmPlantStatisticsCount(FarmPlantVO farm) { List farmPlantVOS = baseMapper.getFarmPlantStatisticsCount(farm); FarmPlantVO plantVO = new FarmPlantVO(); if (farmPlantVOS.size()>0){ BigDecimal decimal = new BigDecimal(0.0); //遍历 for (FarmPlantVO farmPlantVO : farmPlantVOS) { if (farmPlantVO.getLandUnit().equals("0")){ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*1); decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP)); } if (farmPlantVO.getLandUnit().equals("1")){ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1); decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP)); } if (farmPlantVO.getLandUnit().equals("2")){ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015); decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP)); } } //求和 plantVO.setArea(decimal.toString()); }else { //求和 plantVO.setArea("0"); } //返回 return plantVO; } }