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.core.mp.support.Condition;
|
import org.springblade.modules.farmplant.entity.FarmProductStock;
|
import org.springblade.modules.farmplant.mapper.FarmProductStockMapper;
|
import org.springblade.modules.farmplant.service.FarmProductStockService;
|
import org.springblade.modules.farmplant.vo.FarmProductStockVO;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 农产品库存服务实现类
|
* @since 2022-05-18
|
* @author zhongrj
|
*/
|
@Service
|
public class FarmProductStockServiceImpl extends ServiceImpl<FarmProductStockMapper, FarmProductStock> implements FarmProductStockService {
|
|
/**
|
* 自定义分页
|
* @param page
|
* @param farmProductStock
|
* @return
|
*/
|
@Override
|
public IPage<FarmProductStockVO> selectFarmProductStockPage(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock) {
|
return page.setRecords(baseMapper.selectFarmProductStockPage(page, farmProductStock));
|
}
|
|
@Override
|
public List<FarmProductStockVO> selectFarmProductStockPages(FarmProductStockVO farmProductStock) {
|
return baseMapper.selectFarmProductStockPages(farmProductStock);
|
}
|
|
@Override
|
public List<FarmProductStock> findFarmProductStockByFarmIdAndStrainId(String farmId, Integer strainId) {
|
return baseMapper.findFarmProductStockByFarmIdAndStrainId(farmId,strainId);
|
}
|
|
/**
|
* 统计产量
|
* @param farmProductStock
|
* @return
|
*/
|
@Override
|
public FarmProductStockVO statisticsProduct(FarmProductStockVO farmProductStock) {
|
List<FarmProductStockVO> stockVOs = baseMapper.statisticsProduct(farmProductStock);
|
FarmProductStockVO stock = new FarmProductStockVO();
|
BigDecimal decimal = new BigDecimal(0.0);
|
//遍历
|
for (FarmProductStockVO stockVO : stockVOs) {
|
BigDecimal bg = new BigDecimal(stockVO.getWeight());
|
decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
|
}
|
stock.setWeight(decimal.toString());
|
//返回
|
return stock;
|
}
|
|
@Override
|
public IPage<FarmProductStockVO> statisticsProductx(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock) {
|
return page.setRecords(baseMapper.statisticsProductx(page, farmProductStock));
|
}
|
|
|
@Override
|
public Map<String, String> selctProductCount(String year) {
|
return baseMapper.selctProductCount(year);
|
}
|
|
@Override
|
public Map<String, String> statisticsStock(String year,String deptId) {
|
return baseMapper.statisticsStock(year,deptId);
|
}
|
@Override
|
public List<Map<String, String>> statisticsStockMonth(String year,String farmId) {
|
//按年统计
|
if (year.length()==4){
|
return baseMapper.statisticsStockYear(year,farmId);
|
}
|
//按月统计
|
if (year.length()==7){
|
return baseMapper.statisticsStockMonth(year,farmId);
|
}
|
//按日统计
|
if (year.length()==10){
|
return baseMapper.statisticsStockDay(year,farmId);
|
}
|
return null;
|
}
|
@Override
|
public Map<String, String> productsSupervise(String year,String deptId) {
|
return baseMapper.productsSupervise(year,deptId);
|
}
|
@Override
|
public List<Map<String, Double>> statisticsYield(String year,String deptId) {
|
return baseMapper.statisticsYield(year,deptId);
|
}
|
|
@Override
|
public boolean stockCompare(double sale,String id) {
|
return baseMapper.stockCompare(sale,id);
|
}
|
@Override
|
public boolean stockReduce(double sale,String id) {
|
return baseMapper.stockReduce(sale,id);
|
}
|
}
|