3 changed files with 107 additions and 29 deletions
@ -0,0 +1,10 @@ |
|||||
|
package com.zdxt.code.service; |
||||
|
|
||||
|
import com.zdxt.code.domain.EnterpriseInformation; |
||||
|
import com.zdxt.code.domain.StatisticsIndicator; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public interface StatisticsEnterpriseService { |
||||
|
List<StatisticsIndicator> type(List<EnterpriseInformation> enterpriseInformationList); |
||||
|
} |
||||
@ -0,0 +1,52 @@ |
|||||
|
package com.zdxt.code.service.impl; |
||||
|
|
||||
|
import com.zdxt.auth.project.system.dict.service.IDictDataService; |
||||
|
import com.zdxt.code.domain.EnterpriseInformation; |
||||
|
import com.zdxt.code.domain.StatisticsIndicator; |
||||
|
import com.zdxt.code.service.StatisticsEnterpriseService; |
||||
|
import com.zdxt.domain.auth.DictData; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
@Service |
||||
|
public class StatisticsEnterpriseServiceImpl implements StatisticsEnterpriseService { |
||||
|
@Autowired |
||||
|
private IDictDataService iDictDataService; |
||||
|
@Override |
||||
|
public List<StatisticsIndicator> type(List<EnterpriseInformation> enterpriseInformationList){ |
||||
|
List<DictData>list=iDictDataService.selectDictDataByType("enterpriseType"); |
||||
|
List<DictData>dictDataList=list.subList(0,4);//截取掉其他
|
||||
|
List<StatisticsIndicator> statisticsIndicatorList=new ArrayList<>(); |
||||
|
for(DictData d:dictDataList){ |
||||
|
List<EnterpriseInformation> type=enterpriseInformationList.stream().filter(item->item.getCompanyOrgType().contains(d.getDictLabel())).collect(Collectors.toList()); |
||||
|
if(type!=null&&type.size()>0){ |
||||
|
StatisticsIndicator s=new StatisticsIndicator(); |
||||
|
s.setName(d.getDictLabel()); |
||||
|
s.setValue(type.size()); |
||||
|
s.setPercentage((double)type.size()/enterpriseInformationList.size()); |
||||
|
statisticsIndicatorList.add(s); |
||||
|
} |
||||
|
} |
||||
|
List<EnterpriseInformation> qtList=enterpriseInformationList.stream().filter(item->!typeMake(dictDataList,item.getCompanyOrgType())).collect(Collectors.toList()); |
||||
|
if(qtList!=null&&qtList.size()>0){ |
||||
|
StatisticsIndicator s=new StatisticsIndicator(); |
||||
|
s.setName("其他"); |
||||
|
s.setValue(qtList.size()); |
||||
|
s.setPercentage((double)qtList.size()/enterpriseInformationList.size()); |
||||
|
statisticsIndicatorList.add(s); |
||||
|
} |
||||
|
return statisticsIndicatorList; |
||||
|
} |
||||
|
public Boolean typeMake(List<DictData> dictDataList,String s){ |
||||
|
for(DictData d:dictDataList){ |
||||
|
if(s.contains(d.getDictLabel())){ |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue