项目初始化
This commit is contained in:
@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -66,10 +67,10 @@ public class ErpScreenController {
|
||||
ChartDataItem item = new ChartDataItem();
|
||||
item.setItemCode("CHART");
|
||||
item.setAxisName(accountName);
|
||||
item.setValue01(map.get("sumValue01").toString());
|
||||
item.setValue02(map.get("sumValue02").toString());
|
||||
item.setValue03(map.get("sumValue03").toString());
|
||||
item.setBizKey(map.get("accountId").toString());
|
||||
item.setValue01(map.get("sumValue01").toString()); // 收入
|
||||
item.setValue02(map.get("sumValue02").toString()); // 支出
|
||||
item.setValue03(map.get("sumValue03").toString()); // 净利润
|
||||
item.setBizKey(map.get("accountId").toString()); // 业务编号
|
||||
chartDataItems.add(item);
|
||||
}
|
||||
return chartDataItems;
|
||||
@@ -83,7 +84,7 @@ public class ErpScreenController {
|
||||
public List<ChartDataItem> getErpMonthChart(ErpTransactionFlow erpTransactionFlow) {
|
||||
List<ChartDataItem> chartDataItems = new ArrayList<>();
|
||||
List<ErpTransactionFlow> flowList = erpTransactionFlowService.findList(erpTransactionFlow);
|
||||
Map<String, Map<String, Object>> accountMap = flowList.stream()
|
||||
Map<String, Map<String, Object>> monthMap = flowList.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
ErpTransactionFlow::getMonthDate,
|
||||
Collectors.collectingAndThen(Collectors.toList(), list -> {
|
||||
@@ -105,15 +106,32 @@ public class ErpScreenController {
|
||||
);
|
||||
})
|
||||
));
|
||||
for (Map.Entry<String, Map<String, Object>> entry : accountMap.entrySet()) {
|
||||
String monthDate = entry.getKey();
|
||||
Map<String, Object> map = entry.getValue();
|
||||
|
||||
List<String> sortedMonths = new ArrayList<>(monthMap.keySet());
|
||||
Collections.sort(sortedMonths);
|
||||
for (int i = 0; i < sortedMonths.size(); i++) {
|
||||
String currentMonth = sortedMonths.get(i);
|
||||
Map<String, Object> current = monthMap.get(currentMonth);
|
||||
BigDecimal income = (BigDecimal) current.get("sumValue01");
|
||||
BigDecimal expend = (BigDecimal) current.get("sumValue02");
|
||||
BigDecimal profitRate = (BigDecimal) current.get("sumValue03");
|
||||
BigDecimal profit = (BigDecimal) current.get("sumValue04");
|
||||
BigDecimal lastIncome = BigDecimal.ZERO;
|
||||
BigDecimal lastExpend = BigDecimal.ZERO;
|
||||
if (i > 0) {
|
||||
String lastMonth = sortedMonths.get(i - 1);
|
||||
Map<String, Object> lastData = monthMap.get(lastMonth);
|
||||
lastIncome = (BigDecimal) lastData.get("sumValue01");
|
||||
lastExpend = (BigDecimal) lastData.get("sumValue02");
|
||||
}
|
||||
ChartDataItem item = new ChartDataItem();
|
||||
item.setAxisName(monthDate);
|
||||
item.setValue01(map.get("sumValue01").toString());
|
||||
item.setValue02(map.get("sumValue02").toString());
|
||||
item.setValue03(map.get("sumValue03").toString());
|
||||
item.setValue04(map.get("sumValue04").toString());
|
||||
item.setAxisName(currentMonth);
|
||||
item.setValue01(income.toString()); // 本月收入
|
||||
item.setValue02(expend.toString()); // 本月支出
|
||||
item.setValue03(profitRate.toString()); // 利润率
|
||||
item.setValue04(profit.toString()); // 净利润
|
||||
item.setValue05(lastIncome.toString()); // 上月收入
|
||||
item.setValue06(lastExpend.toString()); // 上月支出
|
||||
chartDataItems.add(item);
|
||||
}
|
||||
return chartDataItems;
|
||||
@@ -156,10 +174,10 @@ public class ErpScreenController {
|
||||
Map<String, Object> map = entry.getValue();
|
||||
ChartDataItem item = new ChartDataItem();
|
||||
item.setAxisName(quarter);
|
||||
item.setValue01(map.get("sumValue01").toString());
|
||||
item.setValue02(map.get("sumValue02").toString());
|
||||
item.setValue03(map.get("sumValue03").toString());
|
||||
item.setValue04(map.get("sumValue04").toString());
|
||||
item.setValue01(map.get("sumValue01").toString()); // 收入
|
||||
item.setValue02(map.get("sumValue02").toString()); // 支出
|
||||
item.setValue03(map.get("sumValue03").toString()); // 占比
|
||||
item.setValue04(map.get("sumValue04").toString()); // 净利润
|
||||
chartDataItems.add(item);
|
||||
}
|
||||
return chartDataItems;
|
||||
@@ -202,8 +220,8 @@ public class ErpScreenController {
|
||||
Map<String, Object> map = entry.getValue();
|
||||
ChartDataItem item = new ChartDataItem();
|
||||
item.setAxisName(categoryName);
|
||||
item.setValue01(map.get("sumValue01").toString());
|
||||
item.setValue02(map.get("sumValue02").toString());
|
||||
item.setValue01(map.get("sumValue01").toString()); // 收支金额
|
||||
item.setValue02(map.get("sumValue02").toString()); // 占比
|
||||
chartDataItems.add(item);
|
||||
}
|
||||
return chartDataItems;
|
||||
|
||||
Reference in New Issue
Block a user