whycxzp
2025-04-07 a3367e61475623c00035b1a08754fea4d88a82d6
src/main/java/com/whyc/service/AbeTestDataInfService.java
@@ -7,6 +7,7 @@
import com.whyc.dto.Response;
import com.whyc.mapper.AbeTestDataInfMapper;
import com.whyc.mapper.CallBack;
import com.whyc.pojo.db_abe_ram.AbeInf;
import com.whyc.pojo.db_abe_testdata.AbeTestData;
import com.whyc.pojo.db_abe_testdata.AbeTestDataInf;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,38 +28,22 @@
    private AbeTestDataInfMapper mapper;
    @Autowired
    private JdbcSqlExecuteService jdbcSqlExecuteService;
    private AbeTestDataService abeTestDataService;
    @Autowired
    private AbeInfService abeInfService;
    public Response<PageInfo<AbeTestDataInf>> getPage(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        QueryWrapper<AbeTestDataInf> query = Wrappers.query();
        query.orderByDesc("record_time");
        List<AbeTestDataInf> list = mapper.selectList(query);
        //对list进行monId分类,来进行单体表查询
        Map<Integer, List<AbeTestDataInf>> monIdMap =
                list.stream().collect(Collectors.groupingBy(AbeTestDataInf::getMonId));
        for (Integer monId : monIdMap.keySet()) {
            List<AbeTestDataInf> dataList = monIdMap.get(monId);
            List<Integer> testRecordCountList = dataList.stream().map(AbeTestDataInf::getTestRecordCount).collect(Collectors.toList());
            List<AbeTestData> monDataList = getList(monId, testRecordCountList);
            for (AbeTestDataInf data : dataList) {
                for (AbeTestData monData : monDataList) {
                    if (data.getTestRecordCount().equals(monData.getTestRecordCount())) {
                        data.setMonVol(monData.getMonVol());
                        data.setMonTmp(monData.getMonTmp());
                        data.setMonRes(monData.getMonRes());
                    }
                }
            }
        }
        //分页
        PageInfo<AbeTestDataInf> pageInfo = new PageInfo(list);
        return new Response<PageInfo<AbeTestDataInf>>().set(1,pageInfo);
    }
    private List<AbeTestData> getList(int monId,List<Integer> testRecordCountList) {
    /*private List<AbeTestData> getList(int monId,List<Integer> testRecordCountList) {
        String testRecordCount = testRecordCountList.stream().map(String::valueOf).collect(Collectors.joining(",","(",")"));
        String sql = "select test_record_count,mon_vol,mon_tmp,mon_res from db_abe_testdata.tb_abe_testdata_"+monId +" where test_record_count in "+testRecordCount;
        List<AbeTestData> monDatalist = jdbcSqlExecuteService.executeQuery_call(sql, new CallBack<AbeTestData>() {
@@ -79,5 +64,23 @@
        });
        return monDatalist;
    }*/
    public Response<AbeTestDataInf> getByTaskNo(String taskNo) {
        QueryWrapper<AbeTestDataInf> query = Wrappers.query();
        query.eq("task_no",taskNo);
        query.last(" limit 1");
        AbeTestDataInf abeTestDataInf = mapper.selectOne(query);
        Integer monId = abeTestDataInf.getMonId();
        Integer testRecordCount = abeTestDataInf.getTestRecordCount();
        List<AbeTestData> dataList = abeTestDataService.getList(monId, testRecordCount);
        abeTestDataInf.setDataList(dataList);
        return new Response<AbeTestDataInf>().set(1,abeTestDataInf);
    }
    public Response<AbeTestDataInf> getAbeOngoing() {
        AbeInf abeInf = abeInfService.get();
        String taskNo = abeInf.getTaskNo();
        return getByTaskNo(taskNo);
    }
}