|
@@ -0,0 +1,86 @@
|
|
|
+package com.ruoyi.web.service.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.web.domain.dto.SubsidyProjects.SubsidyProjectsQueryRequest;
|
|
|
+import com.ruoyi.web.domain.entity.SubsidyProjects;
|
|
|
+import com.ruoyi.web.mapper.SubsidyProjectsMapper;
|
|
|
+import com.ruoyi.web.service.SubsidyProjectsService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class SubsidyProjectsServiceImpl extends ServiceImpl<SubsidyProjectsMapper, SubsidyProjects>
|
|
|
+ implements SubsidyProjectsService {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页获取补贴-项目列表
|
|
|
+ *
|
|
|
+ * @param subsidyProjectsQueryRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Page<SubsidyProjects> getListSubsidyProjectsByPage(SubsidyProjectsQueryRequest subsidyProjectsQueryRequest) {
|
|
|
+ long current = subsidyProjectsQueryRequest.getCurrent();
|
|
|
+ long size = subsidyProjectsQueryRequest.getPageSize();
|
|
|
+ return this.page(new Page<>(current, size),
|
|
|
+ getQueryWrapper(subsidyProjectsQueryRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取查询条件
|
|
|
+ *
|
|
|
+ * @param subsidyProjectsQueryRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public QueryWrapper<SubsidyProjects> getQueryWrapper(SubsidyProjectsQueryRequest subsidyProjectsQueryRequest) {
|
|
|
+ QueryWrapper<SubsidyProjects> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (subsidyProjectsQueryRequest == null) {
|
|
|
+ return queryWrapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 从对象中取值
|
|
|
+ Integer id = subsidyProjectsQueryRequest.getId();
|
|
|
+ String subsidyType = subsidyProjectsQueryRequest.getSubsidyType();
|
|
|
+ String realname = subsidyProjectsQueryRequest.getRealname();
|
|
|
+ String idCard = subsidyProjectsQueryRequest.getIdCard();
|
|
|
+ Date startDate = subsidyProjectsQueryRequest.getStartDate(); // 开始日期
|
|
|
+ Date endDate = subsidyProjectsQueryRequest.getEndDate(); // 结束日期
|
|
|
+ String status = subsidyProjectsQueryRequest.getStatus();
|
|
|
+ String sortField = subsidyProjectsQueryRequest.getSortField();
|
|
|
+ String sortOrder = subsidyProjectsQueryRequest.getSortOrder();
|
|
|
+
|
|
|
+
|
|
|
+ // 项目名称、项目描述 项目进度
|
|
|
+ queryWrapper.eq(ObjectUtil.isNotEmpty(id), "id", id);
|
|
|
+ queryWrapper.eq(StrUtil.isNotBlank(subsidyType), "subsidy_type", subsidyType);
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(realname), "realname", realname);
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(idCard), "idCard", idCard);
|
|
|
+ // 日期范围查询(优先判断范围)
|
|
|
+ if (startDate != null && endDate != null) {
|
|
|
+ queryWrapper.between("payment_date", startDate, endDate);
|
|
|
+ } else if (startDate != null) {
|
|
|
+ queryWrapper.ge("payment_date", startDate); // >= 开始日期
|
|
|
+ } else if (endDate != null) {
|
|
|
+ queryWrapper.le("payment_date", endDate); // <= 结束日期
|
|
|
+ }
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
|
|
|
+
|
|
|
+ // 排序
|
|
|
+ queryWrapper.orderBy(StrUtil.isNotEmpty(sortField), sortOrder.equals("ascend"), sortField);
|
|
|
+ return queryWrapper;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|