diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java index 8fd4588..7d80775 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaProjectBo.java @@ -206,5 +206,9 @@ public class SysOaProjectBo extends BaseEntity { //生产结项状态 private Integer productStatus; + + //时间筛选字段 + private Date beginCreateTime; + private Date endCreateTime; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/SysOaProjectMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/SysOaProjectMapper.java index 2a3fec6..057c37d 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/SysOaProjectMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/SysOaProjectMapper.java @@ -40,7 +40,7 @@ public interface SysOaProjectMapper extends BaseMapperPlus selectProjectDetails(@Param("projectId") Long projectId); - Page selectVoPlus(@Param("page") Page build,@Param(Constants.WRAPPER) LambdaQueryWrapper lqw); + Page selectVoPlus(@Param("page") Page build,@Param(Constants.WRAPPER) QueryWrapper lqw); Page selectFileVoList(@Param("page") Page build, @Param(Constants.WRAPPER) QueryWrapper sysOaProjectQueryWrapper); diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java index fe99ecb..deb1aab 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java @@ -159,8 +159,8 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService { */ @Override public TableDataInfo queryPageList(SysOaProjectBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPlus(pageQuery.build(), lqw); + QueryWrapper qw = buildAliasPQueryWrapper(bo); + Page result = baseMapper.selectVoPlus(pageQuery.build(), qw); // 获取实时汇率 BigDecimal currentExchangeRate = exchangeRateService.getCurrentUsdExchangeRate(); @@ -184,6 +184,28 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService { return TableDataInfo.build(result); } + private QueryWrapper buildAliasPQueryWrapper(SysOaProjectBo bo) { + Map params = bo.getParams(); + QueryWrapper qw = Wrappers.query(); + qw.like(StringUtils.isNotBlank(bo.getProjectName()), "p.project_name", bo.getProjectName()); + qw.like(StringUtils.isNotBlank(bo.getProjectNum()), "p.project_num", bo.getProjectNum()); + qw.like(StringUtils.isNotBlank(bo.getProjectCode()), "p.project_code", bo.getProjectCode()); + qw.eq(bo.getProductStatus() != null, "p.product_status", bo.getProductStatus()); + qw.eq(bo.getTradeType() != null, "p.trade_type", bo.getTradeType()); + if (bo.getPrePay() != null && bo.getPrePay() > 0) { + qw.gt("p.pre_pay", 0); + } + qw.eq(StringUtils.isNotBlank(bo.getProjectType()), "p.project_type", bo.getProjectType()); + qw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), "p.project_status", bo.getProjectStatus()); + qw.eq(StringUtils.isNotBlank(bo.getCreateBy()), "p.create_by", bo.getCreateBy()); + qw.eq(bo.getSigningCompany() != null, "p.signing_company", bo.getSigningCompany()); + if (bo.getBeginCreateTime() != null && bo.getEndCreateTime() != null) { + qw.between("p.create_time", bo.getBeginCreateTime(), bo.getEndCreateTime()); + } + qw.eq(bo.getCustomerId() != null, "p.customer_id", bo.getCustomerId()); + qw.orderByDesc("p.is_top").orderByDesc("p.create_time"); + return qw; + } /** * 查询项目管理列表