|
|
@@ -35,6 +35,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.aea.entity.AeaBills;
|
|
|
+import org.springblade.los.business.aea.service.IAeaBillsService;
|
|
|
import org.springblade.los.business.amends.entity.Amends;
|
|
|
import org.springblade.los.business.amends.service.IAmendsService;
|
|
|
import org.springblade.los.business.sea.dto.ContainersReports;
|
|
|
@@ -85,6 +87,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
private final IBillsService billsService;
|
|
|
|
|
|
+ private final IAeaBillsService aeaBillsService;
|
|
|
+
|
|
|
private final IBCorpsBankService bankService;
|
|
|
|
|
|
private final IFeeCenterService feeCenterService;
|
|
|
@@ -2157,6 +2161,606 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put(MagicValues.DATA, list);
|
|
|
}
|
|
|
+ }else if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.SALES_REPORT.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ List<AeaBills> list = new ArrayList<>();
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+ if (bCurrency != null) {
|
|
|
+ bills.setRate(bCurrency.getExrate());
|
|
|
+ } else {
|
|
|
+ bills.setRate(new BigDecimal(MagicValues.ZERO));
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bills.getAmountProfitLoc()) && ObjectUtils.isNotNull(bills.getAmountDrLoc())) {
|
|
|
+ if (bills.getAmountProfitLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
|
|
|
+ bills.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
|
|
|
+ bills.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
+ } else {
|
|
|
+ bills.setGrossMargin(bills.getAmountProfitLoc().divide(bills.getAmountDrLoc(), 4, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ bills.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
+ }
|
|
|
+ if (MagicValues.MM.equals(bills.getBillType()) || MagicValues.DD.equals(bills.getBillType())) {
|
|
|
+ List<AeaBills> billsList = aeaBillsService.list(new LambdaQueryWrapper<AeaBills>()
|
|
|
+ .eq(AeaBills::getMasterId, bills.getId())
|
|
|
+ .eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AeaBills::getIsDeleted, 0));
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ List<Long> ids = billsList.stream().map(AeaBills::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 (AeaBills item : billsList) {
|
|
|
+ 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 -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 (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());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 (MagicValues.MH.equals(bills.getBillType())) {
|
|
|
+ AeaBills details = aeaBillsService.getOne(new LambdaQueryWrapper<AeaBills>()
|
|
|
+ .eq(AeaBills::getId, bills.getMasterId())
|
|
|
+ .eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AeaBills::getIsDeleted, 0));
|
|
|
+ if (details != null) {
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ 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());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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));
|
|
|
+ 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());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && MagicValues.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 (AeaBills 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()) && MagicValues.D.equals(e.getDc()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ FeeCenterReports feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.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(MagicValues.DATA, list);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.MASTER_BILLS.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+// bills.setFM(MagicValues.FM);
|
|
|
+// bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ BigDecimal boxWeightSum = BigDecimal.ZERO;
|
|
|
+ List<ContainersReports> containersReportsList = new ArrayList<>();
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getPid, bills.getId()));
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .eq(PreContainers::getPid, bills.getId()));
|
|
|
+ if (containersList.size() > 0) {
|
|
|
+ boxWeightSum = boxWeightSum.add(containersList.get(0).getGrossWeight());
|
|
|
+ if (preContainersList.size() > 0) {
|
|
|
+ List<PreContainers> preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(containersList.get(0).getCntrTypeCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (preContainers.size() > 0) {
|
|
|
+ boxWeightSum = boxWeightSum.add(containersList.get(0).getGrossWeight());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bills.setBoxWeightSum(boxWeightSum);
|
|
|
+ for (Containers item : containersList) {
|
|
|
+ ContainersReports containersReports = new ContainersReports();
|
|
|
+ BeanUtil.copyProperties(item, containersReports);
|
|
|
+ if (preContainersList.size() > 0) {
|
|
|
+ List<PreContainers> preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (preContainers.size() > 0) {
|
|
|
+ containersReports.setBoxWeight(preContainers.get(0).getGrossWeight());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ containersReportsList.add(containersReports);
|
|
|
+ }
|
|
|
+ bills.setContainersReportsList(containersReportsList);
|
|
|
+ map.put(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.DOCUMENT.equals(reportCode) && MagicValues.DISPATCH_NOTICE.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+// bills.setFM(MagicValues.FM);
|
|
|
+// bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ map.put(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.DOCUMENT.equals(reportCode) && MagicValues.INCOMING_NOTIFICATION.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+// bills.setFM(MagicValues.FM);
|
|
|
+// bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ map.put(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.COST.equals(reportCode) && MagicValues.RECEIVABLE.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+// bills.setFM(MagicValues.FM);
|
|
|
+// bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ List<FeeCenter> feeCenterList;
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if (MagicValues.MM.equals(bills.getBillType())) {
|
|
|
+ List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId())
|
|
|
+ .eq(Bills::getMasterBillNo, bills.getBillNo()));
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ ids = billsList.stream().map(Bills::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ids.add(0, bills.getId());
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, MagicValues.D)
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.in(FeeCenter::getPid, ids);
|
|
|
+ if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ BigDecimal amountDr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfit;
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfitUsd;
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfitLoc;
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if (MagicValues.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 (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if (MagicValues.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 (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ feeCenterReports.setAmountD(item.getAmount());
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setAmountUsdD(item.getAmount());
|
|
|
+ }
|
|
|
+ feeCenterReports.setAmountLocD(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(MagicValues.USD, amountDrUsd, MagicValues.D)).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.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);
|
|
|
+ List<BCorpsBank> bCorpsBanks = bankService.list(new LambdaQueryWrapper<BCorpsBank>()
|
|
|
+ .eq(BCorpsBank::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BCorpsBank::getIsDeleted, 0)
|
|
|
+ .eq(BCorpsBank::getPid, bills.getCorpId()));
|
|
|
+ if (bCorpsBanks.size() > 0) {
|
|
|
+ bills.setAccountBank(bCorpsBanks.get(0).getAccountBank());
|
|
|
+ bills.setAccountNo(bCorpsBanks.get(0).getAccountNo());
|
|
|
+ bills.setAddress(bCorpsBanks.get(0).getAddress());
|
|
|
+ bills.setSwiftCode(bCorpsBanks.get(0).getSwiftCode());
|
|
|
+ }
|
|
|
+ map.put(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.COST.equals(reportCode) && MagicValues.MEET.equals(groupCode) && (MagicValues.KYCK.equals(type) || MagicValues.KYJK.equals(type))) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+// bills.setFM(MagicValues.FM);
|
|
|
+// bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ List<FeeCenter> feeCenterList;
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if (MagicValues.MM.equals(bills.getBillType())) {
|
|
|
+ List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId())
|
|
|
+ .eq(Bills::getMasterBillNo, bills.getBillNo()));
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ ids = billsList.stream().map(Bills::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ids.add(0, bills.getId());
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getDc, MagicValues.C)
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.in(FeeCenter::getPid, ids);
|
|
|
+ if (ObjectUtils.isNotNull(corpIds)) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getCorpId, corpIds);
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotNull(itemIds)) {
|
|
|
+ lambdaQueryWrapper.apply("find_in_set(id,'" + itemIds + "')");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ BigDecimal amountDr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfit;
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfitUsd;
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountProfitLoc;
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if (MagicValues.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 (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if (MagicValues.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 (MagicValues.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(MagicValues.USD, amountDrUsd, MagicValues.D)).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.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(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(map);
|
|
|
}
|