Selaa lähdekoodia

投资效益系统-项目自定义分页查询

LHB 4 kuukautta sitten
vanhempi
commit
e1c6f2acc1

+ 6 - 0
src/main/java/org/springblade/modules/investment/mapper/IbaProjectMapper.java

@@ -1,10 +1,14 @@
 package org.springblade.modules.investment.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.investment.pojo.entity.IbaProject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springblade.modules.investment.pojo.entity.IbaProjectVolume;
 import org.springblade.modules.investment.pojo.query.IbaProjectIncomeQuery;
+import org.springblade.modules.investment.pojo.query.IbaProjectQuery;
 import org.springblade.modules.investment.pojo.query.IbaProjectVolumeQuery;
 import org.springblade.modules.investment.pojo.vo.IbaProjectCompanyTotalVo;
 import org.springblade.modules.investment.pojo.vo.IbaProjectTypeTotalVo;
@@ -57,6 +61,8 @@ public interface IbaProjectMapper extends BaseMapper<IbaProject> {
      * @return
      */
     List<IbaProjectVolume> companyList(IbaProjectVolumeQuery query);
+
+    IPage<IbaProject> selectMyPage(Page<IbaProject> page,@Param("query") IbaProjectQuery query);
 }
 
 

+ 28 - 0
src/main/java/org/springblade/modules/investment/mapper/IbaProjectMapper.xml

@@ -187,4 +187,32 @@
             b.`month`
         order by b.month
     </select>
+    <select id="selectMyPage" resultType="org.springblade.modules.investment.pojo.entity.IbaProject">
+        SELECT
+            a.*,
+            b.dict_value typeName,
+            c.dict_value routeTypeName
+        FROM
+            iba_project a
+            LEFT JOIN blade_dict_biz b ON a.type = b.id
+            LEFT JOIN blade_dict_biz c ON a.route_type = c.id
+        <where>
+            a.is_deleted = 0
+            <if test="query.projectName != null and query.projectName != ''">
+                AND a.project_name LIKE CONCAT('%',#{query.projectName},'%')
+            </if>
+            <if test="query.type != null">
+                AND a.type = #{query.type}
+            </if>
+            <if test="query.routeType != null">
+                AND a.route_type = #{query.routeType}
+            </if>
+            <if test="query.stage != null">
+                AND a.stage = #{query.stage}
+            </if>
+            <if test="query.operationCompany != null">
+                AND a.operation_company = #{query.operationCompany}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 12 - 0
src/main/java/org/springblade/modules/investment/pojo/entity/IbaProject.java

@@ -74,6 +74,18 @@ public class IbaProject extends BaseEntity {
      */
     private Integer lane;
 
+    /**
+     * 类型名称
+     */
+    @TableField(exist = false)
+    private String typeName;
+
+    /**
+     * 路线名称
+     */
+    @TableField(exist = false)
+    private String routeTypeName;
+
 
     @TableField(exist = false)
     private Long createDept;

+ 1 - 11
src/main/java/org/springblade/modules/investment/service/impl/IbaProjectServiceImpl.java

@@ -70,17 +70,7 @@ public class IbaProjectServiceImpl extends ServiceImpl<IbaProjectMapper, IbaProj
     @Override
     public IPage<IbaProject> queryByPage(IbaProjectQuery query) {
         Page<IbaProject> page = new Page<>(query.getCurrent(), query.getSize());
-        QueryWrapper<IbaProject> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda()
-                .eq(IbaProject::getIsDeleted, 0)
-                .like(StringUtils.isNotEmpty(query.getProjectName()), IbaProject::getProjectName, query.getProjectName())
-                .eq(query.getType() != null, IbaProject::getType, query.getType())
-                .eq(query.getRouteType() != null, IbaProject::getRouteType, query.getRouteType())
-                .eq(query.getStage() != null, IbaProject::getStage, query.getStage())
-                .eq(query.getOperationCompany() != null, IbaProject::getOperationCompany, query.getOperationCompany())
-                .orderByDesc(IbaProject::getCreateTime);
-
-        IPage<IbaProject> ibaProjectIPage = baseMapper.selectPage(page, queryWrapper);
+        IPage<IbaProject> ibaProjectIPage = baseMapper.selectMyPage(page, query);
         return ibaProjectIPage;
     }