package com.sercurityControl.decision.service.impl; import com.sercurityControl.decision.domain.Axes; import com.sercurityControl.decision.domain.Pie; import com.sercurityControl.decision.domain.SeriousPeccancy; import com.sercurityControl.decision.domain.vo.QueryVo; import com.sercurityControl.decision.mapper.PeccancyMapper; import com.sercurityControl.decision.service.PeccancyService; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @Service public class PeccancyServiceImpl implements PeccancyService { @Resource private PeccancyMapper peccancyMapper; @Override public List getPeccancyProject() { return peccancyMapper.getPeccancyProject(); } @Override public List getPeccancyReport() { List list = peccancyMapper.getPeccancyReport(); return setPie(list,getLevelContainsObject(),3); } @Override public List getPeccancTeam() { return peccancyMapper.getPeccancTeam(); } @Override public Map getPeccancyReform() { List list = peccancyMapper.getReformPercent(); List reformList = peccancyMapper.getReformList(); List containsObject = new ArrayList<>(); containsObject.add(new Pie("1")); containsObject.add(new Pie("2")); containsObject.add(new Pie("3")); containsObject.add(new Pie("4")); containsObject.add(new Pie("5")); containsObject.add(new Pie("6")); Map map = new HashMap<>(16); map.put("pie",setPie(list,getLevelContainsObject(),3)); map.put("axes",setPie(reformList,containsObject,6)); return map; } @Override public List getSeriousPeccancy(QueryVo queryVo) { return peccancyMapper.getSeriousPeccancy(queryVo); } @Override public Map getRiskPeccancy() { List list = peccancyMapper.getRiskPeccancyNum(); List containsObject = new ArrayList<>(); containsObject.add(new Pie("2级")); containsObject.add(new Pie("3级")); containsObject.add(new Pie("4级")); containsObject.add(new Pie("5级")); List riskReformPercent = peccancyMapper.getRiskReformPercent(); Axes axes = setAxes(riskReformPercent); Map map = new HashMap<>(16); map.put("pie",setPie(list,containsObject,4)); map.put("axes",axes); return map; } @Override public List setPie(List list, List containsObject , int num) { if (list != null && list.size() < num && list.size() > 0) { for (Pie item : containsObject) { if (!list.contains(item)) { list.add(item); } } } else if (ObjectUtils.isEmpty(list)){ list = new ArrayList<>(); list.addAll(containsObject); } return list.stream().sorted(Comparator.comparing(Pie::getName)).collect(Collectors.toList()); } @Override public Axes setAxes(List dataList) { if (!ObjectUtils.isEmpty(dataList)) { List xData = new ArrayList<>(); List yData = new ArrayList<>(); dataList.forEach(f -> { xData.add(f.getName()); yData.add(f.getValue()); } ); return new Axes(xData, yData); } return null; } private List getLevelContainsObject() { List list = new ArrayList<>(); list.add(new Pie("一般违章")); list.add(new Pie("建议整改")); list.add(new Pie("严重违章")); return list; } }