Skip to main content

Temu-优化管理页面

账目-结算记录页面下的“图表”这一页签的“每日费用趋势”,当前的数据是按照月汇总的,后台数据查询的时候,是查出日期区间每天的数据的,再进行按照月汇总的。请帮我把日期区间每天的数据,在图表下面新增一个类似“销售-趋势分析”页面的销量表格展示,表格的项目名称大致如:日期,当天汇率,当前选中的费用项。当前原有图表和新增的表格展示,需要加上对“站点币种“和“RMB”的切换显示。数据源里有“RMB”对应的值和本身站点币种的值。还有图表的“结算金额,FBA费,佣金”这三个选项,帮我做成动态的下拉选项,下拉选项的值来源于“报表”页签下的income项。请帮我在“图表”下的“每日费用趋势”内容下面新增这个表格和优化当前图表。根据以下代码进行:Temu管理页面,从nacos的取值

public
Map<String,Object>
appkey-product: monthReport(Map<String,Object>011520a4827b972619bf370aa9fd6dff
param){
appsecret-product: String2916d2665b0a0463c32537b874a477b8575ff11b
fromDate
token-product: =jpkm7opox7ao63wvangs2xi3kirwb4r79lljhmpfndg0qfnv7zxu8y6a
param.get("fromDate").toString().replaceAll("/", "-"); String endDate = param.get("endDate").toString().replaceAll("/", "-"); param.put("fromDate", fromDate); param.put("endDate", endDate); List<Map<String,Object>> mapList= amzSettlementReportSummaryMonthMapper.monthReport(param); Map<String,Object> result=new HashMap<String,Object>(); String currency=null; BigDecimal totals=new BigDecimal("0"); BigDecimal total_other=new BigDecimal("0"); BigDecimal totals_rmb=new BigDecimal("0"); BigDecimal total_other_rmb=new BigDecimal("0"); for(Map<String,Object> map:mapList){ if(map==null){continue;} BigDecimal total=map.get("Total Income Expenses Tax")!=null?new BigDecimal(map.get("Total Income Expenses Tax").toString()):null; totals=totals.add(total); BigDecimal others=new BigDecimal("0"); Date postdate=map.get("posted_date")!=null?GeneralUtil.getDate(map.get("posted_date")):null; currency=map.get("currency").toString(); for(Map.Entry<String, Object> entry:map.entrySet()){ if(entry.getKey().equals("currency")||entry.getKey().equals("posted_date")){continue;} if(entry.getValue() instanceof BigDecimal){ BigDecimal value=new BigDecimal(entry.getValue().toString()); BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(postdate,currency,"CNY",value); if(result.get(entry.getKey())!=null){ result.put(entry.getKey(),value.add(new BigDecimal(result.get(entry.getKey()).toString()))); result.put(entry.getKey()+"_rmb",rmb.add(new BigDecimal(result.get(entry.getKey()+"_rmb").toString()))); }else{ result.put(entry.getKey(),value); result.put(entry.getKey()+"_rmb",rmb); } if(!entry.getKey().equals("Total Income Expenses Tax")){ others=others.add(value); } } } //-----------------------------others---------------------------- assert total != null; others=total.subtract(others); map.put("Others",others); BigDecimal others_rmb=exchangeRateHandlerService.changeCurrencyByLocal(postdate,currency,"CNY",others); map.put("Others_rmb",others_rmb); total_other=total_other.add(others); total_other_rmb=total_other_rmb.add(others_rmb); } result.put("Others",total_other); result.put("Others_rmb",total_other_rmb); BigDecimal transfer = amzSettlementReportSummaryMonthMapper.TransfersToBankAccount(param); result.put("Transfers to bank account",transfer); if(transfer!=null){ BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(GeneralUtil.getDatez(endDate),currency,"CNY",transfer); result.put("Transfers to bank account_rmb",rmb); } BigDecimal transferFail=amzSettlementReportSummaryMonthMapper.FailedTransfersToBankAccount(param); result.put("Failed transfers to bank account",transferFail); if(transferFail!=null){ BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(GeneralUtil.getDatez(endDate),currency,"CNY",transferFail); result.put("Transfers to bank account_rmb",rmb); } List<String> list = getTransactionTypes(); for(String item:list){ if(result.get(item)==null){ result.put(item,new BigDecimal(0)); result.put(item+"_rmb",new BigDecimal(0)); } } BigDecimal total=new BigDecimal("0"); for(Map.Entry<String, Object> item:result.entrySet()){ if(!item.getKey().contains("_rmb")){continue;} System.out.println(item.getKey()+" "+item.getValue()); } return result; }