This commit is contained in:
ls
2025-02-22 13:57:23 +08:00
parent 5571e3b1e5
commit 94bea76d83
6 changed files with 50 additions and 14 deletions

View File

@@ -1,9 +1,7 @@
package org.jeecg.modules.database.controller; package org.jeecg.modules.database.controller;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -15,8 +13,6 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.modules.database.constant.ExperimentStatus; import org.jeecg.modules.database.constant.ExperimentStatus;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
@@ -85,17 +81,17 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
public Result<IPage<Experiment>> queryPageList(Experiment experiment, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, public Result<IPage<Experiment>> queryPageList(Experiment experiment, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>(); //Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义duoXuan字段的查询规则为LIKE_WITH_OR // 自定义duoXuan字段的查询规则为LIKE_WITH_OR
customeRuleMap.put("startDate", QueryRuleEnum.RIGHT_LIKE); //customeRuleMap.put("startDate", QueryRuleEnum.RIGHT_LIKE);
//
Map<String, String[]> parameterMap = req.getParameterMap(); //Map<String, String[]> parameterMap = req.getParameterMap();
QueryWrapper<Experiment> queryWrapper = QueryGenerator.initQueryWrapper(experiment, parameterMap, customeRuleMap); //QueryWrapper<Experiment> queryWrapper = QueryGenerator.initQueryWrapper(experiment, parameterMap, customeRuleMap);
Page<Experiment> page = new Page<>(pageNo, pageSize); Page<Experiment> page = new Page<>(pageNo, pageSize);
if (!parameterMap.containsKey("column") || StringUtils.isBlank(parameterMap.get("column")[0])) { //if (!parameterMap.containsKey("column") || StringUtils.isBlank(parameterMap.get("column")[0])) {
page.addOrder(OrderItem.asc("index_no")); // page.addOrder(OrderItem.asc("index_no"));
} //}
IPage<Experiment> pageList = experimentService.page(page, queryWrapper); IPage<Experiment> pageList = experimentService.join(page, experiment, null);
pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v)); pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v));
return Result.OK(pageList); return Result.OK(pageList);
} }

View File

@@ -195,7 +195,7 @@ public class Experiment implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String sampleName; private String sampleName;
@TableField(exist = false) @TableField(exist = false)
private String equipmentMode; private String equipmentModel;
private String sampleModel; private String sampleModel;
//@TableField(exist = false) //@TableField(exist = false)

View File

@@ -1,6 +1,8 @@
package org.jeecg.modules.database.mapper; package org.jeecg.modules.database.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.Experiment;
/** /**
@@ -11,4 +13,5 @@ import org.jeecg.modules.database.entity.Experiment;
*/ */
public interface ExperimentMapper extends BaseMapper<Experiment> { public interface ExperimentMapper extends BaseMapper<Experiment> {
IPage<Experiment> join(Page<Experiment> page, Experiment experiment);
} }

View File

@@ -2,4 +2,29 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.database.mapper.ExperimentMapper"> <mapper namespace="org.jeecg.modules.database.mapper.ExperimentMapper">
<select id="join" resultType="org.jeecg.modules.database.entity.Experiment">
select *
from experiment e
LEFT JOIN experiment_sample_info s ON s.experiment_id = e.id
left join experiment_deviation_equipment d on d.experiment_id = e.id
<where>
<if test="experiment.sampleType != null and experiment.sampleType != ''">
and s.sample_type like concat('%', #{experiment.sampleType}, '%')
</if>
<if test="experiment.sampleModel != null and experiment.sampleModel != ''">
and s.sample_model like concat('%', #{experiment.sampleModel}, '%')
</if>
<if test="experiment.sampleName != null and experiment.sampleName != ''">
and s.sample_name like concat('%', #{experiment.sampleName}, '%')
</if>
<if test="experiment.equipmentModel != null and experiment.equipmentModel != ''">
and d.equipment_model like concat('%', #{experiment.equipmentModel}, '%')
</if>
</where>
</select>
</mapper> </mapper>

View File

@@ -1,5 +1,8 @@
package org.jeecg.modules.database.service; package org.jeecg.modules.database.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.Experiment;
@@ -21,4 +24,5 @@ public interface IExperimentService extends IService<Experiment> {
Integer getLastIndex(); Integer getLastIndex();
IPage<Experiment> join(Page<Experiment> page, Experiment experiment, QueryWrapper<Experiment> queryWrapper);
} }

View File

@@ -4,6 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentStatus; import org.jeecg.modules.database.constant.ExperimentStatus;
@@ -270,4 +273,9 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
return one.getIndexNo(); return one.getIndexNo();
} }
@Override
public IPage<Experiment> join(Page<Experiment> page, Experiment experiment, QueryWrapper<Experiment> queryWrapper) {
return baseMapper.join(page, experiment);
}
} }