|
|
@@ -25,9 +25,7 @@ import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.los.basic.corps.entity.BCorps;
|
|
|
-import org.springblade.los.basic.corps.entity.BCorpsAttn;
|
|
|
import org.springblade.los.basic.corps.entity.BCorpsBank;
|
|
|
-import org.springblade.los.basic.corps.service.IBCorpsAttnService;
|
|
|
import org.springblade.los.basic.corps.service.IBCorpsBankService;
|
|
|
import org.springblade.los.basic.corps.service.IBCorpsService;
|
|
|
import org.springblade.los.basic.cur.entity.BCurrency;
|
|
|
@@ -36,6 +34,8 @@ import org.springblade.los.basic.reports.entity.Reports;
|
|
|
import org.springblade.los.basic.reports.mapper.ReportsMapper;
|
|
|
import org.springblade.los.basic.reports.service.IReportsService;
|
|
|
import org.springblade.los.basic.reports.vo.ReportsVO;
|
|
|
+import org.springblade.los.business.amends.entity.Amends;
|
|
|
+import org.springblade.los.business.amends.service.IAmendsService;
|
|
|
import org.springblade.los.business.sea.dto.ContainersReports;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.entity.Containers;
|
|
|
@@ -99,6 +99,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
private final IBCorpsService bCorpsService;
|
|
|
|
|
|
+ private final IAmendsService amendsService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public IPage<ReportsVO> selectReportsPage(IPage<ReportsVO> page, ReportsVO reports) {
|
|
|
@@ -130,14 +132,14 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
@Override
|
|
|
public R getReportData(String billId, String reportCode, String groupCode, String corpIds,
|
|
|
- String itemIds) {
|
|
|
+ String itemIds, String type) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
BCurrency bCurrency = ibCurrencyService.getOne(new LambdaQueryWrapper<BCurrency>()
|
|
|
.eq(BCurrency::getStatus, 0)
|
|
|
.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(BCurrency::getIsDeleted, 0)
|
|
|
.eq(BCurrency::getCode, "USD"));
|
|
|
- if ("业务".equals(reportCode) && "销售报告".equals(groupCode)) {
|
|
|
+ if ("业务".equals(reportCode) && "销售报告".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
List<Bills> list = new ArrayList<>();
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
@@ -476,7 +478,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
map.put("data", list);
|
|
|
}
|
|
|
- } else if ("业务".equals(reportCode) && "MASTER 提单".equals(groupCode)) {
|
|
|
+ } else if ("业务".equals(reportCode) && "MASTER 提单".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -519,7 +521,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("单证".equals(reportCode) && "派车通知单".equals(groupCode)) {
|
|
|
+ } else if ("单证".equals(reportCode) && "派车通知单".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -528,7 +530,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("单证".equals(reportCode) && "入货通知".equals(groupCode)) {
|
|
|
+ } else if ("单证".equals(reportCode) && "入货通知".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -537,7 +539,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("费用".equals(reportCode) && "应收".equals(groupCode)) {
|
|
|
+ } else if ("费用".equals(reportCode) && "应收".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -555,29 +557,19 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
ids.add(0, bills.getId());
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, "D")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.in(FeeCenter::getPid, ids);
|
|
|
if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getDc, "D")
|
|
|
- .eq(FeeCenter::getCorpId, corpIds)
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
} else {
|
|
|
if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getDc, "D")
|
|
|
- .apply("find_in_set(id,'" + itemIds + "')")
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
- } else {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getDc, "D")
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
}
|
|
|
}
|
|
|
+ feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
@@ -595,7 +587,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountDr = amountDr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(),item.getDc());
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
amountDrUsd = amountDrUsd.add(usd);
|
|
|
}
|
|
|
} else {
|
|
|
@@ -604,7 +596,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountCr = amountCr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(),item.getDc());
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
amountCrUsd = amountCrUsd.add(usd);
|
|
|
}
|
|
|
}
|
|
|
@@ -626,8 +618,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
bills.setFeeCenterList(feeCenterReportsList);
|
|
|
amountProfit = amountDr.subtract(amountCr);
|
|
|
amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
- amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd,"D")).add(amountDr);
|
|
|
- amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd,"C")).add(amountCr);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd, "C")).add(amountCr);
|
|
|
amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
bills.setAmountDr(amountDr);
|
|
|
bills.setAmountCr(amountCr);
|
|
|
@@ -652,7 +644,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("费用".equals(reportCode) && "应付".equals(groupCode)) {
|
|
|
+ } else if ("费用".equals(reportCode) && "应付".equals(groupCode) && ("HYCK".equals(type) || "HYJK".equals(type))) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -670,29 +662,19 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
ids.add(0, bills.getId());
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, "C")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.in(FeeCenter::getPid, ids);
|
|
|
if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getDc, "C")
|
|
|
- .eq(FeeCenter::getCorpId, corpIds)
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
} else {
|
|
|
if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getDc, "C")
|
|
|
- .apply("find_in_set(id,'" + itemIds + "')")
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
- } else {
|
|
|
- feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(FeeCenter::getPid, ids)
|
|
|
- .eq(FeeCenter::getDc, "C")
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
}
|
|
|
}
|
|
|
+ feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
@@ -710,7 +692,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountDr = amountDr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(),item.getDc());
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
amountDrUsd = amountDrUsd.add(usd);
|
|
|
}
|
|
|
} else {
|
|
|
@@ -719,7 +701,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountCr = amountCr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(),item.getDc());
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
amountCrUsd = amountCrUsd.add(usd);
|
|
|
}
|
|
|
}
|
|
|
@@ -741,8 +723,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
bills.setFeeCenterList(feeCenterReportsList);
|
|
|
amountProfit = amountDr.subtract(amountCr);
|
|
|
amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
- amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd,"D")).add(amountDr);
|
|
|
- amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd,"C")).add(amountCr);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd, "C")).add(amountCr);
|
|
|
amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
bills.setAmountDr(amountDr);
|
|
|
bills.setAmountCr(amountCr);
|
|
|
@@ -980,6 +962,686 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
+ } else if ("费用".equals(reportCode) && "应付".equals(groupCode) && "AMEND".equals(type)) {
|
|
|
+ Bills bills = new Bills();
|
|
|
+ Amends amends = amendsService.getById(billId);
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, "C")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ if (amends != null) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getPid, amends.getId());
|
|
|
+ if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ bills = billsService.getById(amends.getOrigId());
|
|
|
+ if (bills != null) {
|
|
|
+ bills.setFM("jms");
|
|
|
+ bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ } else {
|
|
|
+ BeanUtil.copyProperties(amends, bills);
|
|
|
+ }
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitLoc = new BigDecimal("0.00");
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ if ("D".equals(item.getDc())) {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountDr = amountDr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
+ amountDrUsd = amountDrUsd.add(usd);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountCr = amountCr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
+ amountCrUsd = amountCrUsd.add(usd);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(item.getPid());
|
|
|
+ feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
+ feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
+ if ("CNY".equals(item.getCurCode())) {
|
|
|
+ feeCenterReports.setAmountC(item.getAmount());
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setAmountUsdC(item.getAmount());
|
|
|
+ }
|
|
|
+ feeCenterReports.setAmountLocC(item.getAmountLoc());
|
|
|
+ feeCenterReports.setHblno(item.getHblno());
|
|
|
+ feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
|
|
|
+ feeCenterReportsList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportsList);
|
|
|
+ amountProfit = amountDr.subtract(amountCr);
|
|
|
+ amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd, "C")).add(amountCr);
|
|
|
+ amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
+ map.put("data", bills);
|
|
|
+ } else {
|
|
|
+ map.put("data", null);
|
|
|
+ }
|
|
|
+ } else if ("费用".equals(reportCode) && "应收".equals(groupCode) && "AMEND".equals(type)) {
|
|
|
+ Bills bills = new Bills();
|
|
|
+ Amends amends = amendsService.getById(billId);
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, "D")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ if (amends != null) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getPid, amends.getId());
|
|
|
+ if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ bills = billsService.getById(amends.getOrigId());
|
|
|
+ if (bills != null) {
|
|
|
+ bills.setFM("jms");
|
|
|
+ bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ } else {
|
|
|
+ BeanUtil.copyProperties(amends, bills);
|
|
|
+ }
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitLoc = new BigDecimal("0.00");
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ if ("D".equals(item.getDc())) {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountDr = amountDr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
+ amountDrUsd = amountDrUsd.add(usd);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountCr = amountCr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc());
|
|
|
+ amountCrUsd = amountCrUsd.add(usd);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(item.getPid());
|
|
|
+ feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
+ feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
+ if ("CNY".equals(item.getCurCode())) {
|
|
|
+ feeCenterReports.setAmountC(item.getAmount());
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setAmountUsdC(item.getAmount());
|
|
|
+ }
|
|
|
+ feeCenterReports.setAmountLocC(item.getAmountLoc());
|
|
|
+ feeCenterReports.setHblno(item.getHblno());
|
|
|
+ feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
|
|
|
+ feeCenterReportsList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportsList);
|
|
|
+ amountProfit = amountDr.subtract(amountCr);
|
|
|
+ amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd, "C")).add(amountCr);
|
|
|
+ amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
+ map.put("data", bills);
|
|
|
+ } else {
|
|
|
+ map.put("data", null);
|
|
|
+ }
|
|
|
+ } else if ("AMEND".equals(reportCode) && "SE".equals(groupCode) && "AMEND".equals(type)) {
|
|
|
+ List<Bills> list = new ArrayList<>();
|
|
|
+ Amends amends = amendsService.getById(billId);
|
|
|
+ if (amends != null) {
|
|
|
+ List<Amends> amendsList = amendsService.list(new LambdaQueryWrapper<Amends>()
|
|
|
+ .eq(Amends::getOrigId, amends.getOrigId())
|
|
|
+ .eq(Amends::getStatus, 3)
|
|
|
+ .eq(Amends::getIsDeleted, 0)
|
|
|
+ .eq(Amends::getTenantId, AuthUtil.getTenantId()));
|
|
|
+ List<Long> amendsIds = amendsList.stream().map(Amends::getId).collect(Collectors.toList());
|
|
|
+ if (amendsIds.size() > 0) {
|
|
|
+ amendsIds.add(amends.getId());
|
|
|
+ } else {
|
|
|
+ amendsIds = new ArrayList<>();
|
|
|
+ amendsIds.add(amends.getId());
|
|
|
+ }
|
|
|
+ List<FeeCenter> amendFeeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .in(FeeCenter::getPid, amendsIds)
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ List<Long> srcItemId = amendFeeCenterList.stream().map(FeeCenter::getAmendSrcItemId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> amendSrcFeeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .in(FeeCenter::getId, srcItemId)
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ Bills bills = billsService.getById(amends.getOrigId());
|
|
|
+ if (bills != null) {
|
|
|
+ if (bCurrency != null) {
|
|
|
+ bills.setRate(bCurrency.getExrate());
|
|
|
+ } else {
|
|
|
+ bills.setRate(new BigDecimal("0.00"));
|
|
|
+ }
|
|
|
+ if ("MM".equals(bills.getBillType()) || "DD".equals(bills.getBillType())) {
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsdUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsdUpdate = new BigDecimal("0.00");
|
|
|
+ if (amendFeeCenterList.size() > 0) {
|
|
|
+ amountDr = amendFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCr = amendFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountDrUsd = amendFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUsd = amendFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ if (amendSrcFeeCenterList.size() > 0) {
|
|
|
+ amountDrUpdate = amendSrcFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUpdate = amendSrcFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountDrUsdUpdate = amendSrcFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUsdUpdate = amendSrcFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ bills.setAmount(amountDr.subtract(amountCr));
|
|
|
+ bills.setAmountUpdate(amountDrUpdate.subtract(amountCrUpdate));
|
|
|
+ bills.setAmountUsd(amountDrUsd.subtract(amountCrUsd));
|
|
|
+ bills.setAmountUsdUpdate(amountDrUsdUpdate.subtract(amountCrUsdUpdate));
|
|
|
+ bills.setAmountTotal(bills.getAmount().add(ibCurrencyService.converterCny("USD", bills.getAmountUsd(), "D")));
|
|
|
+ bills.setAmountTotalUpdate(bills.getAmountUpdate().add(ibCurrencyService.converterCny("USD", bills.getAmountUsdUpdate(), "D")));
|
|
|
+ bills.setResponsibleParty(amends.getResponsibleParty());
|
|
|
+ BigDecimal amountDrUsdCny = ibCurrencyService.converterCny("USD", amountDrUsd, "D");
|
|
|
+ BigDecimal amountCrUsdCny = ibCurrencyService.converterCny("USD", amountCrUsd, "C");
|
|
|
+ bills.setAmountProfitLoc(bills.getAmountProfitLoc().add(amountDr.subtract(amountCr)).add(amountDrUsdCny.subtract(amountCrUsdCny)));
|
|
|
+ bills.setAmountDrLoc(bills.getAmountDrLoc().add(amountDr).add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")));
|
|
|
+ if (ObjectUtils.isNotNull(bills.getAmountProfitLoc()) && ObjectUtils.isNotNull(bills.getAmountDrLoc())) {
|
|
|
+ if (bills.getAmountProfitLoc().compareTo(new BigDecimal("0.00")) == 0 ||
|
|
|
+ bills.getAmountDrLoc().compareTo(new BigDecimal("0.00")) == 0) {
|
|
|
+ bills.setGrossMargin(new BigDecimal("0.00"));
|
|
|
+ } else {
|
|
|
+ bills.setGrossMargin(bills.getAmountProfitLoc().divide(bills.getAmountDrLoc(), 4, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ bills.setGrossMargin(new BigDecimal("0.00"));
|
|
|
+ }
|
|
|
+ List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getMasterId, bills.getId())
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0));
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ List<Long> ids = billsList.stream().map(Bills::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
+ if (ids.size() > 0) {
|
|
|
+ List<FeeCenter> feeCenterListMh = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .in(FeeCenter::getPid, ids)
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ for (Bills item : billsList) {
|
|
|
+ if (ids.contains(amends.getOrigId())) {
|
|
|
+ List<FeeCenter> amendFeeCenterMm = amendFeeCenterList.stream().filter(e -> e.getPid().equals(amends.getId())).collect(Collectors.toList());
|
|
|
+ for (FeeCenter feeCenter : amendFeeCenterMm) {
|
|
|
+ feeCenter.setReportType("1");
|
|
|
+ }
|
|
|
+ feeCenterListMh.addAll(amendFeeCenterMm);
|
|
|
+ } else {
|
|
|
+ List<Amends> amend = amendsList.stream().filter(e -> e.getOrigId().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ List<Long> amendIds = amend.stream().map(Amends::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> amendFeeCenterMh = amendFeeCenterList.stream().filter(e -> amendIds.contains(e.getPid())).collect(Collectors.toList());
|
|
|
+ feeCenterListMh.addAll(amendFeeCenterMh);
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterListMh.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenterList) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(item.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ item.setFeeCenterList(feeCenterReportList);
|
|
|
+ list.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ if (bills.getId().equals(amends.getOrigId())) {
|
|
|
+ List<FeeCenter> amendFeeCenterMm = amendFeeCenterList.stream().filter(e -> e.getPid().equals(amends.getId())).collect(Collectors.toList());
|
|
|
+ for (FeeCenter feeCenter : amendFeeCenterMm) {
|
|
|
+ feeCenter.setReportType("1");
|
|
|
+ }
|
|
|
+ feeCenterList.addAll(amendFeeCenterMm);
|
|
|
+ } else {
|
|
|
+ List<Amends> amend = amendsList.stream().filter(e -> e.getOrigId().equals(bills.getId())).collect(Collectors.toList());
|
|
|
+ List<Long> amendIds = amend.stream().map(Amends::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> amendFeeCenterMh = amendFeeCenterList.stream().filter(e -> amendIds.contains(e.getPid())).collect(Collectors.toList());
|
|
|
+ feeCenterList.addAll(amendFeeCenterMh);
|
|
|
+ }
|
|
|
+ if (feeCenterList.size() > 0) {
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(bills.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setReportType(fee.getReportType());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterList.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportList);
|
|
|
+ }
|
|
|
+ list.add(0, bills);
|
|
|
+ } else if ("MH".equals(bills.getBillType())) {
|
|
|
+ Bills details = billsService.getOne(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getId, bills.getMasterId())
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0));
|
|
|
+ if (details != null) {
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsdUpdate = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsdUpdate = new BigDecimal("0.00");
|
|
|
+ if (amendFeeCenterList.size() > 0) {
|
|
|
+ amountDr = amendFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCr = amendFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountDrUsd = amendFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUsd = amendFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ if (amendSrcFeeCenterList.size() > 0) {
|
|
|
+ amountDrUpdate = amendSrcFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUpdate = amendSrcFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "CNY".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountDrUsdUpdate = amendSrcFeeCenterList.stream().filter(e -> "D".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountCrUsdUpdate = amendSrcFeeCenterList.stream().filter(e -> "C".equals(e.getDc()) && "USD".equals(e.getCurCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ details.setAmount(amountDr.subtract(amountCr));
|
|
|
+ details.setAmountUpdate(amountDrUpdate.subtract(amountCrUpdate));
|
|
|
+ details.setAmountUsd(amountDrUsd.subtract(amountCrUsd));
|
|
|
+ details.setAmountUsdUpdate(amountDrUsdUpdate.subtract(amountCrUsdUpdate));
|
|
|
+ details.setAmountTotal(details.getAmount().add(ibCurrencyService.converterCny("USD", details.getAmountUsd(), "D")));
|
|
|
+ details.setAmountTotalUpdate(details.getAmountUpdate().add(ibCurrencyService.converterCny("USD", details.getAmountUsdUpdate(), "D")));
|
|
|
+ details.setResponsibleParty(amends.getResponsibleParty());
|
|
|
+ BigDecimal amountDrUsdCny = ibCurrencyService.converterCny("USD", amountDrUsd, "D");
|
|
|
+ BigDecimal amountCrUsdCny = ibCurrencyService.converterCny("USD", amountCrUsd, "C");
|
|
|
+ details.setAmountProfitLoc(details.getAmountProfitLoc().add(amountDr.subtract(amountCr)).add(amountDrUsdCny.subtract(amountCrUsdCny)));
|
|
|
+ details.setAmountDrLoc(details.getAmountDrLoc().add(amountDr).add(ibCurrencyService.converterCny("USD", amountDrUsd, "D")));
|
|
|
+ if (ObjectUtils.isNotNull(details.getAmountProfitLoc()) && ObjectUtils.isNotNull(details.getAmountDrLoc())) {
|
|
|
+ if (details.getAmountProfitLoc().compareTo(new BigDecimal("0.00")) == 0 ||
|
|
|
+ details.getAmountDrLoc().compareTo(new BigDecimal("0.00")) == 0) {
|
|
|
+ details.setGrossMargin(new BigDecimal("0.00"));
|
|
|
+ } else {
|
|
|
+ details.setGrossMargin(details.getAmountProfitLoc().divide(details.getAmountDrLoc(), 4, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ details.setGrossMargin(new BigDecimal("0.00"));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ if (bills.getId().equals(amends.getOrigId())) {
|
|
|
+ List<FeeCenter> amendFeeCenterMm = amendFeeCenterList.stream().filter(e -> e.getPid().equals(amends.getId())).collect(Collectors.toList());
|
|
|
+ for (FeeCenter feeCenter : amendFeeCenterMm) {
|
|
|
+ feeCenter.setReportType("1");
|
|
|
+ }
|
|
|
+ feeCenterList.addAll(amendFeeCenterMm);
|
|
|
+ } else {
|
|
|
+ List<Amends> amend = amendsList.stream().filter(e -> e.getOrigId().equals(bills.getId())).collect(Collectors.toList());
|
|
|
+ List<Long> amendIds = amend.stream().map(Amends::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> amendFeeCenterMh = amendFeeCenterList.stream().filter(e -> amendIds.contains(e.getPid())).collect(Collectors.toList());
|
|
|
+ feeCenterList.addAll(amendFeeCenterMh);
|
|
|
+ }
|
|
|
+ if (feeCenterList.size() > 0) {
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(bills.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setReportType(fee.getReportType());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterList.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportList);
|
|
|
+ }
|
|
|
+ list.add(bills);
|
|
|
+ List<FeeCenter> feeCenterListMh = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, details.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ if (details.getId().equals(amends.getOrigId())) {
|
|
|
+ List<FeeCenter> amendFeeCenterMm = amendFeeCenterList.stream().filter(e -> e.getPid().equals(amends.getId())).collect(Collectors.toList());
|
|
|
+ for (FeeCenter feeCenter : amendFeeCenterMm) {
|
|
|
+ feeCenter.setReportType("1");
|
|
|
+ }
|
|
|
+ feeCenterListMh.addAll(amendFeeCenterMm);
|
|
|
+ } else {
|
|
|
+ List<Amends> amend = amendsList.stream().filter(e -> e.getOrigId().equals(details.getId())).collect(Collectors.toList());
|
|
|
+ List<Long> amendIds = amend.stream().map(Amends::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> amendFeeCenterMh = amendFeeCenterList.stream().filter(e -> amendIds.contains(e.getPid())).collect(Collectors.toList());
|
|
|
+ feeCenterListMh.addAll(amendFeeCenterMh);
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList1 = feeCenterListMh.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenterList1) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(details.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setReportType(fee.getReportType());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ details.setFeeCenterList(feeCenterReportList);
|
|
|
+ list.add(0, details);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (list.size() > 0) {
|
|
|
+ for (Bills item : list) {
|
|
|
+ List<FeeCenterReports> feeCenterReports = new ArrayList<>();
|
|
|
+ List<FeeCenterReports> feeCenters = item.getFeeCenterList().stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));
|
|
|
+ for (FeeCenterReports fee : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && "D".equals(e.getDc()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ FeeCenterReports feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && "C".equals(e.getDc()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
+ feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(fee.getHblno());
|
|
|
+ feeCenterReports1.setPid(fee.getPid());
|
|
|
+ if (feeCenterReportsD != null) {
|
|
|
+ feeCenterReports1.setBillCorpCnName(feeCenterReportsD.getBillCorpCnName());
|
|
|
+ feeCenterReports1.setAmountD(feeCenterReportsD.getAmountD());
|
|
|
+ feeCenterReports1.setAmountLocD(feeCenterReportsD.getAmountLocD());
|
|
|
+ feeCenterReports1.setAmountUsdD(feeCenterReportsD.getAmountUsdD());
|
|
|
+ }
|
|
|
+ if (feeCenterReportsC != null) {
|
|
|
+ feeCenterReports1.setCorpCnName(feeCenterReportsC.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(feeCenterReportsC.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(feeCenterReportsC.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(feeCenterReportsC.getAmountUsdC());
|
|
|
+ }
|
|
|
+ feeCenterReports.add(feeCenterReports1);
|
|
|
+ }
|
|
|
+ item.setFeeCenterList(feeCenterReports);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("data", list);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ map.put("data", list);
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(map);
|
|
|
}
|