| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.Page; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.dto.*; |
| | | import com.whyc.mapper.*; |
| | | import com.whyc.pojo.*; |
| | | import com.whyc.util.MathUtil; |
| | | import com.whyc.util.MessageUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.io.File; |
| | | import java.lang.reflect.Field; |
| | |
| | | fileInfo.setFileNameTmp(fileName+" tmp1.~xml"); |
| | | return new Response().setII(1,fileInfo!=null,fileInfo,"返回解析数据"); |
| | | }else{ |
| | | return new Response().set(1,false,"文件路径不正确"); |
| | | return new Response().set(1,false,MessageUtils.getMessage("filePathIncorrect")); |
| | | } |
| | | }else{ |
| | | return new Response().set(1,false,"文件路径不正确"); |
| | | return new Response().set(1,false,MessageUtils.getMessage("filePathIncorrect")); |
| | | } |
| | | } |
| | | //解析xml文件(传参一个文件夹) |
| | |
| | | } |
| | | return new Response().setII(1,list.size()>0,list,"返回解析数据"); |
| | | }else{ |
| | | return new Response().set(1,false,"文件路径不正确"); |
| | | return new Response().set(1,false, MessageUtils.getMessage("filePathIncorrect")); |
| | | } |
| | | } |
| | | |
| | |
| | | if(map.size()>0){ |
| | | bl=XmlFileOpreate.writeXml(map,filePath); |
| | | } |
| | | |
| | | return new Response().setII(1,bl,map,"修改文件"); |
| | | } |
| | | //修改文件对应的数据库数据 |
| | |
| | | List<Integer> list=mapper.getMonVolStd(); |
| | | return new Response().setII(1,list.size()>0,list,"返回所有的标称电压类型"); |
| | | } |
| | | //按照筛选条件查询数据库信息 |
| | | public Response getDataByCondition(Date testTime1, Date testTime2, String battVol,int pageCurr,int pageSize) { |
| | | PageHelper.startPage(pageCurr,pageSize); |
| | | //按照筛选条件查询数据库信息(内阻评价:内阻越大越差),然后再根据内阻手动分页 |
| | | public Response getDataByCondition(Date testTime1, Date testTime2, String battVol,int pageCurr,int pageSize,int flag) { |
| | | //PageHelper.startPage(pageCurr,pageSize); |
| | | List<FileParam> list=mapper.getDataByCondition(testTime1,testTime2,Float.valueOf(battVol)); |
| | | List flagList=new ArrayList();//存放评价结果 |
| | | QueryWrapper testParamWrapper=new QueryWrapper(); |
| | | testParamWrapper.eq("enabled",1); |
| | | TestParam testParam=testParamMapper.selectOne(testParamWrapper); |
| | | float std=0f; |
| | | int resFlag=0;//整组内阻标识,1差,2良,3优 |
| | | if(list!=null&&list.size()>0){ |
| | | for (FileParam fparam:list) { |
| | | List<BattgroupInfo> binfInfoList=fparam.getBattInfoList(); |
| | |
| | | if(binfInfoList!=null&&binfInfoList.size()>0){ |
| | | for (BattgroupInfo binfo:binfInfoList) { |
| | | List<BattgroupData> binfDataList=binfo.getBattDataList(); |
| | | float minStd=9999999.0f; |
| | | float maxStd=0f; |
| | | List listBv=new ArrayList(); |
| | | List listBr=new ArrayList(); |
| | | List listBs=new ArrayList(); |
| | |
| | | listBr.add(Float.valueOf(bData.getBr())); |
| | | listBs.add(Float.valueOf(bData.getBs())); |
| | | listCr.add(Float.valueOf(bData.getCr())); |
| | | if( Float.parseFloat(bData.getBr())<=minStd){ |
| | | minStd= Float.parseFloat(bData.getBr()); |
| | | if( Float.parseFloat(bData.getBr())>=maxStd){ |
| | | maxStd= Float.parseFloat(bData.getBr()); |
| | | } |
| | | } |
| | | binfo.setSdBasebv(MathUtil.getStandardDeviation(listBv)); |
| | | binfo.setSdBasebr(MathUtil.getStandardDeviation(listBr)); |
| | | binfo.setSdBasebs(MathUtil.getStandardDeviation(listBs)); |
| | | binfo.setSdBasecr(MathUtil.getStandardDeviation(listCr)); |
| | | binfo.setBrJudge(MathUtil.getJudge(minStd,std,testParam)); |
| | | resFlag=MathUtil.getflag(maxStd,std,testParam); |
| | | binfo.setBrJudge(MathUtil.getJudge(resFlag)); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | if(flag==0){//为0是全部 |
| | | flagList.add(fparam); |
| | | }else{ |
| | | if(flag==resFlag){ |
| | | flagList.add(fparam); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | return new Response().setII(1,list.size()>0,pageInfo,"筛选数据库信息"); |
| | | //创建Page类 |
| | | Page page = new Page(pageCurr, pageSize); |
| | | //为Page类中的total属性赋值 |
| | | int total = flagList.size(); |
| | | page.setTotal(total); |
| | | //计算当前需要显示的数据下标起始值 |
| | | int startIndex = (pageCurr - 1) * pageSize; |
| | | int endIndex = Math.min(startIndex + pageSize,total); |
| | | //从链表中截取需要显示的子链表,并加入到Page |
| | | page.addAll(flagList.subList(startIndex,endIndex)); |
| | | //以Page创建PageInfo |
| | | PageInfo pageInfo = new PageInfo<>(page); |
| | | return new Response().setII(1,flagList.size()>0,pageInfo,"筛选数据库信息"); |
| | | } |
| | | |
| | | public FileParam getByFileId(String fileId) { |
| | |
| | | FileParam fileParam=mapper.selectOne(wrapper); |
| | | return new Response().setII(1,fileParam!=null,fileParam,"返回数据"); |
| | | } |
| | | |
| | | //根据fileId通过修改属性窗口值来修改数据库属性 |
| | | public Response updateFileParamByFileId(FileParam fileParam, String fileId) { |
| | | int flag=paramMapper.updateParam(fileParam,fileId); |
| | | return new Response().set(1,flag>0,"修改数据"); |
| | | } |
| | | //更改台站下公用参数 |
| | | @Transactional |
| | | public Response updateFileParamByStationId(FileParam fileParam, int stationId) { |
| | | //查询基站下所有的文件id |
| | | List<String> list=infoMapper.selectFileIds(stationId); |
| | | int flag=0; |
| | | for (String fileId:list) { |
| | | flag+=paramMapper.updateParam(fileParam,fileId); |
| | | } |
| | | return new Response().set(1,flag>0,"修改数据"); |
| | | } |
| | | } |