IntelligentRecognition/ah-jjsp-service/.svn/pristine/a1/a17aaacd5424dd2cadd2093c752...

113 lines
3.8 KiB
Plaintext

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<Pie> getPeccancyProject() {
return peccancyMapper.getPeccancyProject();
}
@Override
public List<Pie> getPeccancyReport() {
List<Pie> list = peccancyMapper.getPeccancyReport();
return setPie(list,getLevelContainsObject(),3);
}
@Override
public List<Pie> getPeccancTeam() {
return peccancyMapper.getPeccancTeam();
}
@Override
public Map<String, Object> getPeccancyReform() {
List<Pie> list = peccancyMapper.getReformPercent();
List<Pie> reformList = peccancyMapper.getReformList();
List<Pie> 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<String ,Object> map = new HashMap<>(16);
map.put("pie",setPie(list,getLevelContainsObject(),3));
map.put("axes",setPie(reformList,containsObject,6));
return map;
}
@Override
public List<SeriousPeccancy> getSeriousPeccancy(QueryVo queryVo) {
return peccancyMapper.getSeriousPeccancy(queryVo);
}
@Override
public Map<String, Object> getRiskPeccancy() {
List<Pie> list = peccancyMapper.getRiskPeccancyNum();
List<Pie> containsObject = new ArrayList<>();
containsObject.add(new Pie("2级"));
containsObject.add(new Pie("3级"));
containsObject.add(new Pie("4级"));
containsObject.add(new Pie("5级"));
List<Pie> riskReformPercent = peccancyMapper.getRiskReformPercent();
Axes axes = setAxes(riskReformPercent);
Map<String ,Object> map = new HashMap<>(16);
map.put("pie",setPie(list,containsObject,4));
map.put("axes",axes);
return map;
}
@Override
public List<Pie> setPie(List<Pie> list, List<Pie> 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<Pie> dataList) {
if (!ObjectUtils.isEmpty(dataList)) {
List<String> xData = new ArrayList<>();
List<String> yData = new ArrayList<>();
dataList.forEach(f ->
{
xData.add(f.getName());
yData.add(f.getValue());
}
);
return new Axes(xData, yData);
}
return null;
}
private List<Pie> getLevelContainsObject() {
List<Pie> list = new ArrayList<>();
list.add(new Pie("一般违章"));
list.add(new Pie("建议整改"));
list.add(new Pie("严重违章"));
return list;
}
}