shiyunteng
2026-05-25 633a003d232e37c79b7135ccda35eda1c69952c6
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
@@ -1,9 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.by4cloud.platformx.admin.api.entity.SysDept;
import com.by4cloud.platformx.admin.api.entity.SysDictItem;
import com.by4cloud.platformx.admin.api.feign.RemoteDeptService;
import com.by4cloud.platformx.admin.api.feign.RemoteDictService;
@@ -14,16 +12,12 @@
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
@RequiredArgsConstructor
@@ -75,6 +69,25 @@
      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);
   }
@@ -284,4 +297,45 @@
      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);
   }
}