Helius
2020-12-30 86c486af90c6f6f4b00e0979f48992b38eb0ff6a
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
@@ -9,6 +9,7 @@
import com.matrix.system.hive.dao.SysBusinessDataDao;
import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl;
import com.matrix.system.hiveErp.analysUtil.Caculate;
import com.matrix.system.hiveErp.analysUtil.SeriesVo;
import com.matrix.system.hiveErp.analysUtil.StatisticsParamVo;
import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam;
import com.matrix.system.hiveErp.dao.TjVipSumDao;
@@ -21,6 +22,8 @@
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -71,7 +74,7 @@
    @PostMapping(value = "/findBusinessInCome")
    public AjaxResult findBusinessInCome(@RequestBody @Validated StatisticsParamVo statisticsParam) {
        if (statisticsParam.getShopId() != null) {
            return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
            AjaxResult ajaxResult = dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
                @Override
                public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
                    switch (statisticsParam.getType()) {
@@ -96,8 +99,9 @@
                    }
                }
            });
            return setDataList(ajaxResult);
        } else {
            return dataAnalysisCustomerService.getCompanyAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
            AjaxResult ajaxResult = dataAnalysisCustomerService.getCompanyAnalysisResult(statisticsParam, new Caculate<BigDecimal>() {
                @Override
                public Map<String, BigDecimal> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
                    switch (statisticsParam.getType()) {
@@ -122,7 +126,25 @@
                    }
                }
            });
            return setDataList(ajaxResult);
        }
    }
    private AjaxResult setDataList(AjaxResult ajaxResult) {
        List<SeriesVo> list = (List<SeriesVo>) ajaxResult.getMapInfo().get("series");
        String[] xAxis = (String[]) ajaxResult.getMapInfo().get("xAxis");
        String [] data = list.get(0).getData();
        if (data != null && data.length != 0) {
            List<Map<String, String>> dataList = new ArrayList<>();
            for(int i = data.length - 1; i >= 0; i--) {
                Map<String, String> map = new HashMap<>();
                map.put(xAxis[i], data[i]);
                dataList.add(map);
            }
            ajaxResult.setRows(dataList);
        }
        return ajaxResult;
    }
}