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