package com.by4cloud.platformx.business.service.impl;
|
|
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.by4cloud.platformx.admin.api.entity.SysDictItem;
|
import com.by4cloud.platformx.admin.api.feign.RemoteDeptService;
|
import com.by4cloud.platformx.admin.api.feign.RemoteDictService;
|
import com.by4cloud.platformx.business.dto.AnalysisCommonDTO;
|
import com.by4cloud.platformx.business.mapper.ContractMapper;
|
import com.by4cloud.platformx.business.service.StatisticService;
|
import com.by4cloud.platformx.business.vo.*;
|
import com.by4cloud.platformx.common.core.util.R;
|
import com.by4cloud.platformx.common.security.util.SecurityUtils;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@Service
|
@RequiredArgsConstructor
|
public class StatisticServiceImpl implements StatisticService {
|
|
private final ContractMapper contractMapper;
|
private final RemoteDeptService remoteDeptService;
|
private final RemoteDictService remoteDictService;
|
|
@Value("${dept.smj}")
|
private String smj;
|
|
@Value("${dept.sgb}")
|
private String sgb;
|
|
@Value("${dept.jxc}")
|
private String jxc;
|
|
@Value("${dept.tfgs}")
|
private String tfgs;
|
|
@Value("${dept.ymj}")
|
private String ymj;
|
|
@Override
|
public R contractAmountAnalysis(AnalysisCommonDTO commonDTO) {
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractAmountAnalysisVo> contractAmountAnalysisVoList = contractMapper.contractAmountAnalysis(commonDTO,compIds);
|
return R.ok(contractAmountAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisByComp(AnalysisCommonDTO commonDTO) {
|
List<ContractAmountAnalysisCompVo> contractIncomeAnalysisVoList = contractMapper.contractAmountAnalysisByComp(commonDTO, SecurityUtils.getUser().getCompId());
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractIncomeAnalysis(AnalysisCommonDTO commonDTO) {
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisVo> contractIncomeAnalysisVoList = contractMapper.contractIncomeAnalysis(commonDTO,compIds);
|
if (ArrayUtil.isNotEmpty(contractIncomeAnalysisVoList.toArray())){
|
contractIncomeAnalysisVoList.stream().forEach(contractIncomeAnalysisVo -> {
|
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),sgb)){
|
contractIncomeAnalysisVo.setCompName("石工泵");
|
}
|
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),smj)){
|
contractIncomeAnalysisVo.setCompName("石煤机");
|
}
|
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),ymj)){
|
contractIncomeAnalysisVo.setCompName("一煤机");
|
}
|
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),tfgs)){
|
contractIncomeAnalysisVo.setCompName("通方公司");
|
}
|
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),jxc)){
|
contractIncomeAnalysisVo.setCompName("机械厂");
|
}
|
});
|
}
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractIncomeAnalysisByComp(AnalysisCommonDTO commonDTO) {
|
List<ContractIncomeAnalysisCompVo> contractIncomeAnalysisVoList = contractMapper.contractIncomeAnalysisByComp(commonDTO, SecurityUtils.getUser().getCompId());
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisByArea(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("company_area");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisByArea(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisByIndustry(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("industry_sector");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisByIndustry(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisByMarket(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("market_type");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisByMarket(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisBySpcBus(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("supply_attribute");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisBySpcBus(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
@Override
|
public R contractAmountAnalysisByExportBus(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("export_attr");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisByExportBus(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
|
|
@Override
|
public R contractAmountAnalysisBySaleModel(AnalysisCommonDTO commonDTO) {
|
R<List<SysDictItem>> r = remoteDictService.getDictByType("sales_model");
|
List<SysDictItem> items = r.getData();
|
if (ArrayUtil.isEmpty(items.toArray())){
|
return R.failed("区域字段获取异常");
|
}
|
List<Long> compIds = new ArrayList<>();
|
compIds.add(Long.valueOf(sgb));
|
compIds.add(Long.valueOf(smj));
|
compIds.add(Long.valueOf(tfgs));
|
compIds.add(Long.valueOf(ymj));
|
compIds.add(Long.valueOf(jxc));
|
List<ContractIncomeAnalysisAreaVo> contractIncomeAnalysisVoList = items.stream().map(item -> {
|
ContractIncomeAnalysisAreaVo analysisAreaVo = new ContractIncomeAnalysisAreaVo();
|
analysisAreaVo.setAreaId(item.getItemValue());
|
analysisAreaVo.setAreaName(item.getLabel());
|
return analysisAreaVo;
|
}).collect(Collectors.toList());
|
contractMapper.setSession();
|
List<ContractIncomeAnalysisAreaVo> statisticList = contractMapper.contractAmountAnalysisBySaleModel(commonDTO
|
,compIds,Long.valueOf(smj),Long.valueOf(sgb),Long.valueOf(jxc),Long.valueOf(tfgs),Long.valueOf(ymj));
|
contractIncomeAnalysisVoList.stream().forEach(vo1->{
|
statisticList.stream().forEach(vo2->{
|
if (StrUtil.equals(vo1.getAreaId(),vo2.getAreaId())){
|
vo1.setJxczb(vo2.getJxczb());
|
vo1.setJxcze(vo2.getJxcze());
|
vo1.setSgbzb(vo2.getSgbzb());
|
vo1.setSgbze(vo2.getSgbze());
|
vo1.setSmjzb(vo2.getSmjzb());
|
vo1.setSmjze(vo2.getSmjze());
|
vo1.setTfzb(vo2.getTfzb());
|
vo1.setTfze(vo2.getTfze());
|
vo1.setYmjzb(vo2.getYmjzb());
|
vo1.setYmjze(vo2.getYmjze());
|
}
|
});
|
});
|
return R.ok(contractIncomeAnalysisVoList);
|
}
|
}
|