diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java index 880bc40..84b7e79 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java @@ -25,9 +25,7 @@ import org.jeecg.modules.database.service.*; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.util.*; @@ -81,7 +79,7 @@ public class ExperimentReportController extends JeecgController page = new Page<>(pageNo, pageSize); - IPage pageList = experimentReportService.page(page, queryWrapper); + IPage pageList = experimentReportService.join(page, experimentReport, queryWrapper); pageList.getRecords().forEach(v -> { ExperimentDoc experimentDoc = experimentDocService.getByExperimentId(v.getExperimentId(), ExperimentDocType.sybg.getType()); v.setFileUrl(Optional.ofNullable(experimentDoc).map(ExperimentDoc::getFilePath).orElse(null)); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentReportMapper.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentReportMapper.java index 0b84b54..22aeca7 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentReportMapper.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentReportMapper.java @@ -1,6 +1,9 @@ package org.jeecg.modules.database.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Select; import org.jeecg.modules.database.entity.ExperimentReport; /** @@ -11,4 +14,9 @@ import org.jeecg.modules.database.entity.ExperimentReport; */ public interface ExperimentReportMapper extends BaseMapper { + @Select("SELECT r.* " + + "FROM experiment_report r LEFT JOIN experiment e ON r.experiment_id = e.id " + + "WHERE r.status = #{report.status}") + IPage join(Page page, ExperimentReport report); + } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentReportService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentReportService.java index 97f6b02..19dcd25 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentReportService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentReportService.java @@ -1,7 +1,9 @@ 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 org.jeecg.modules.database.entity.ExperimentLog; import org.jeecg.modules.database.entity.ExperimentReport; import java.util.List; @@ -14,6 +16,8 @@ import java.util.List; */ public interface IExperimentReportService extends IService { List getByExperimentId(String experimentId); + ExperimentReport getLatestReport(String experimentId); + IPage join(Page page, ExperimentReport queryWrapper, QueryWrapper wrapper); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentReportServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentReportServiceImpl.java index 513ab94..0dbaa4c 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentReportServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentReportServiceImpl.java @@ -1,7 +1,11 @@ package org.jeecg.modules.database.service.impl; 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 org.apache.commons.lang3.StringUtils; import org.jeecg.modules.database.constant.ExperimentReportStatus; import org.jeecg.modules.database.entity.ExperimentReport; import org.jeecg.modules.database.mapper.ExperimentReportMapper; @@ -32,4 +36,13 @@ public class ExperimentReportServiceImpl extends ServiceImpl join(Page page, ExperimentReport report, QueryWrapper wrapper) { + if (StringUtils.isBlank(report.getStatus())) { + return super.page(page, wrapper); + } + IPage join = baseMapper.join(page, report); + return join; + } }