113 lines
3.8 KiB
Plaintext
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;
|
|
}
|
|
}
|