package org.sxkj.gd.workorder.service.impl;
|
|
import com.alibaba.nacos.common.utils.StringUtils;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springframework.stereotype.Service;
|
import org.sxkj.gd.workorder.entity.GdOperationalRevenue;
|
import org.sxkj.gd.workorder.mapper.GdOperationalRevenueMapper;
|
import org.sxkj.gd.workorder.service.GdOperationalRevenueService;
|
import org.sxkj.gd.workorder.vo.GdOperationalRevenueVo;
|
import org.sxkj.system.cache.SysCache;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 运营收益Service实现类
|
*/
|
@Service
|
public class GdOperationalRevenueServiceImpl extends ServiceImpl<GdOperationalRevenueMapper, GdOperationalRevenue>
|
implements GdOperationalRevenueService {
|
|
@Override
|
public IPage<GdOperationalRevenue> selectPage(Page<GdOperationalRevenue> page, String operatingIncome, String totalCost, String netProfit, String financialIrr, String marketSpace, String earnForecast, String nickName) {
|
LambdaQueryWrapper<GdOperationalRevenue> queryWrapper = new LambdaQueryWrapper<>();
|
|
// 根据营业收入查询 (转换为精确查询)
|
if (StringUtils.hasText(operatingIncome)) {
|
try {
|
queryWrapper.eq(GdOperationalRevenue::getOperatingIncome, new BigDecimal(operatingIncome));
|
} catch (NumberFormatException e) {
|
// 如果转换失败,可以忽略或记录日志
|
}
|
}
|
|
// 根据综合总成本费用查询 (转换为精确查询)
|
if (StringUtils.hasText(totalCost)) {
|
try {
|
queryWrapper.eq(GdOperationalRevenue::getTotalCost, new BigDecimal(totalCost));
|
} catch (NumberFormatException e) {
|
//
|
}
|
}
|
|
// 根据净利润查询 (转换为精确查询)
|
if (StringUtils.hasText(netProfit)) {
|
try {
|
queryWrapper.eq(GdOperationalRevenue::getNetProfit, new BigDecimal(netProfit));
|
} catch (NumberFormatException e) {
|
//
|
}
|
}
|
|
// 根据财务内部收益率查询 (转换为精确查询)
|
if (StringUtils.hasText(financialIrr)) {
|
try {
|
queryWrapper.eq(GdOperationalRevenue::getFinancialIrr, new BigDecimal(financialIrr));
|
} catch (NumberFormatException e) {
|
//
|
}
|
}
|
|
// 根据市场空间模糊查询
|
if (StringUtils.hasText(marketSpace)) {
|
queryWrapper.like(GdOperationalRevenue::getMarketSpace, marketSpace);
|
}
|
|
// 根据收益预测模糊查询
|
if (StringUtils.hasText(earnForecast)) {
|
queryWrapper.like(GdOperationalRevenue::getEarnForecast, earnForecast);
|
}
|
|
// 根据创建人名称模糊查询
|
if (StringUtils.hasText(nickName)) {
|
queryWrapper.like(GdOperationalRevenue::getNickName, nickName);
|
}
|
// 创建部门
|
List<Long> deptList = new ArrayList<>();
|
if (!AuthUtil.isAdministrator()) {
|
deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
|
}
|
queryWrapper.in(GdOperationalRevenue::getCreateDept, deptList);
|
// 按创建时间倒序
|
queryWrapper.orderByDesc(GdOperationalRevenue::getCreateTime);
|
|
return this.page(page, queryWrapper);
|
}
|
|
@Override
|
public GdOperationalRevenueVo convertToVo(GdOperationalRevenue entity) {
|
GdOperationalRevenueVo vo = new GdOperationalRevenueVo();
|
vo.setId(String.valueOf(entity.getId()));
|
vo.setOperatingIncome(entity.getOperatingIncome());
|
vo.setTotalCost(entity.getTotalCost());
|
vo.setNetProfit(entity.getNetProfit());
|
vo.setFinancialIrr(entity.getFinancialIrr());
|
vo.setMarketSpace(entity.getMarketSpace());
|
vo.setEarnForecast(entity.getEarnForecast());
|
vo.setNickName(entity.getNickName());
|
vo.setCreateTime(entity.getCreateTime());
|
return vo;
|
}
|
}
|