whyclxw
2024-08-01 d934f407413e8bc2991c771a6c5fc2431892a5ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.whyc.service;
 
import com.github.pagehelper.PageInfo;
import com.whyc.dto.BattTestData;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.POIWord;
import com.whyc.dto.paramter.TestDataInfDoc;
import com.whyc.mapper.BatttestdataMapper;
import com.whyc.pojo.BattalarmData;
import com.whyc.pojo.BatttestdataId;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
 
@Service
public class BatttestdataService {
    @Resource
    private BatttestdataMapper mapper;
 
    @Resource
    private SubTablePageInfoService subService;
 
    //查询历史数据
    public Response findhistory(int battGroupId, int testRecordCount, int dataNew) {
        BatttestdataId btd = mapper.serchMaxAndMintime(battGroupId, testRecordCount);
        int number = btd.getRecordNum();//总数
        int roteN = 0;
        //int endN= BattTestData.RC_NUM_PARAM;//总笔数
        int endN = dataNew;//总笔数
        //去除筛选,将全部数据取出
        if (number <= endN) {
            roteN = 1;
        } else {
            if (number % endN == 0) {
                roteN = number / endN;
            } else {
                roteN = number / endN + 1;
            }
            //roteN = 1;
        }
        List list = mapper.findhistory(battGroupId, testRecordCount, roteN, btd.getNum().intValue(), btd.getTestType());
        PageInfo pageInfo = new PageInfo(list);
        return new Response().set(1, pageInfo);
    }
 
    //word导出
    public List<TestDataInfDoc> searchWordExport(POIWord poiWord) {
        poiWord.setRecordNumList(Arrays.asList(poiWord.getRecordNums().split(",")));
        List<TestDataInfDoc> list = mapper.searchWordExport(poiWord);
        return list;
    }
 
    //测试清洗放电数据
    public Response clearTdata(int battGroupId, int testRecordCount,int recordNum) {
        //获取总的放电电流的总值
        Float sumCurr=subService.getSumCurr(battGroupId,testRecordCount);
        //平均值
        Float avgCurr= (float) ((sumCurr/recordNum)*0.8);
        //获取总的放电记录
        List<BatttestdataId> list=subService.getAllTdata(battGroupId,testRecordCount);
        for (BatttestdataId tdata:list){
            float testCurr=tdata.getTestCurr();
            int num= tdata.getRecordNum();
            if(avgCurr>Math.abs(testCurr)){
                //删除记录
                subService.deleteData(battGroupId,testRecordCount,num);
            }
        }
 
        return  new Response().set(1,true);
    }
}