|
|
@@ -28,7 +28,6 @@ import org.springblade.client.feign.IMessageClient;
|
|
|
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.Util.BigDecimalUtils;
|
|
|
import org.springblade.los.Util.IDeptUtils;
|
|
|
import org.springblade.los.Util.MagicValues;
|
|
|
import org.springblade.los.basic.business.entity.BusinessType;
|
|
|
@@ -38,20 +37,16 @@ import org.springblade.los.basic.corps.entity.BCorpsBank;
|
|
|
import org.springblade.los.basic.corps.service.IBCorpsBankService;
|
|
|
import org.springblade.los.basic.corps.service.IBCorpsService;
|
|
|
import org.springblade.los.basic.cur.entity.BCurExrate;
|
|
|
-import org.springblade.los.basic.cur.entity.BCurrency;
|
|
|
import org.springblade.los.basic.cur.mapper.CurExrateMapper;
|
|
|
import org.springblade.los.basic.cur.service.IBCurrencyService;
|
|
|
import org.springblade.los.basic.fees.entity.BFees;
|
|
|
import org.springblade.los.basic.fees.service.IBFeesService;
|
|
|
import org.springblade.los.billno.entity.BusinessBillNo;
|
|
|
import org.springblade.los.billno.service.IBusinessBillNoService;
|
|
|
-import org.springblade.los.business.amends.entity.Amends;
|
|
|
import org.springblade.los.business.amends.service.IAmendsService;
|
|
|
import org.springblade.los.business.files.entity.FilesCenter;
|
|
|
import org.springblade.los.business.files.service.IFilesCenterService;
|
|
|
-import org.springblade.los.business.sea.dto.ContainersReports;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
-import org.springblade.los.business.sea.entity.Containers;
|
|
|
import org.springblade.los.business.sea.entity.PreContainers;
|
|
|
import org.springblade.los.business.sea.entity.SeaBillsDetail;
|
|
|
import org.springblade.los.business.sea.service.IBillsService;
|
|
|
@@ -64,8 +59,6 @@ import org.springblade.los.check.entity.LosAuditPathsLevels;
|
|
|
import org.springblade.los.check.service.IAuditPathsActsService;
|
|
|
import org.springblade.los.check.service.IAuditPathsLevelsService;
|
|
|
import org.springblade.los.check.service.IAuditProecessService;
|
|
|
-import org.springblade.los.finance.agreement.entity.AgreementPrice;
|
|
|
-import org.springblade.los.finance.agreement.entity.AgreementPriceItems;
|
|
|
import org.springblade.los.finance.agreement.service.IAgreementPriceItemsService;
|
|
|
import org.springblade.los.finance.agreement.service.IAgreementPriceService;
|
|
|
import org.springblade.los.finance.fee.dto.FeeCenterReports;
|
|
|
@@ -77,7 +70,6 @@ import org.springblade.los.finance.invoices.entity.FinInvoices;
|
|
|
import org.springblade.los.finance.invoices.entity.FinInvoicesItems;
|
|
|
import org.springblade.los.finance.invoices.service.IFinInvoicesItemsService;
|
|
|
import org.springblade.los.finance.invoices.service.IFinInvoicesService;
|
|
|
-import org.springblade.los.finance.stl.dto.FinStlBillsItemsReports;
|
|
|
import org.springblade.los.finance.stl.entity.FinStlBills;
|
|
|
import org.springblade.los.finance.stl.entity.FinStlBillsItems;
|
|
|
import org.springblade.los.finance.stl.service.IFinStlBillsItemsService;
|
|
|
@@ -89,7 +81,6 @@ import org.springblade.los.trade.report.*;
|
|
|
import org.springblade.los.trade.service.*;
|
|
|
import org.springblade.los.trade.vo.AgentVO;
|
|
|
import org.springblade.system.entity.Dept;
|
|
|
-import org.springblade.system.entity.DictBiz;
|
|
|
import org.springblade.system.feign.IDictBizClient;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
@@ -107,9 +98,6 @@ import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.function.Predicate;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -1762,7 +1750,9 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
List<Long> agentIdList = agentList.stream().map(Agent::getId).distinct().collect(Collectors.toList());
|
|
|
BigDecimal amountD = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
BigDecimal amount = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- List<FeeCenter> feeCenterList = feeCenters.stream().filter(e -> "C".equals(e.getDc()) && 0 == e.getStlStatus()).collect(Collectors.toList());
|
|
|
+ List<Long> feeCenterIds = feeCentersList.stream().map(FeeCenter::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> feeCenterList = feeCenters.stream().filter(e -> "C".equals(e.getDc()) && 0 == e.getStlStatus()
|
|
|
+ && feeCenterIds.contains(e.getId())).collect(Collectors.toList());
|
|
|
if (feeCenterList.isEmpty()) {
|
|
|
throw new RuntimeException("未找到应付费用明细");
|
|
|
}
|
|
|
@@ -2145,7 +2135,6 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
finStlBillsItemsService.saveBatch(stlBillsItemsList);
|
|
|
agent.setOrderStatus("已确认");
|
|
|
agent.setGoodsValue(feeCenters1.stream().filter(e -> "SFK,WK".contains(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agent.setPostElectricFee(feeCenters1.stream().filter(e -> "YDF".equals(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
@@ -2177,10 +2166,21 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
item.setStlExrate(new BigDecimal("1"));
|
|
|
item.setDiscountExrate(new BigDecimal("1"));
|
|
|
item.setExrate(new BigDecimal("1"));
|
|
|
+ item.setProfit(new BigDecimal("0"));
|
|
|
+ }
|
|
|
+ if ("YDF".equals(item.getFeeCode())) {
|
|
|
+ item.setProfit(new BigDecimal("0"));
|
|
|
}
|
|
|
}
|
|
|
feeCenterService.saveOrUpdateBatch(feeCenters1);
|
|
|
+ for (Agent item : agentList) {
|
|
|
+ List<FeeCenter> feeCenters2 = feeCenters1.stream().filter(e -> e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ if (!feeCenters2.isEmpty()) {
|
|
|
+ item.setProfit(item.getProfit().add(feeCenters2.stream().map(FeeCenter::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)));
|
|
|
+ }
|
|
|
+ }
|
|
|
this.updateBatchById(agentList);
|
|
|
+ agent.setPostElectricFee(feeCenters1.stream().filter(e -> "YDF".equals(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
agent.setServiceCharge(feeCenters1.stream().filter(e -> "SXF".equals(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
agent.setActualAmount(agent.getGoodsValue().add(agent.getPostElectricFee()).add(agent.getServiceCharge()));
|
|
|
updateById(agent);
|
|
|
@@ -3941,24 +3941,64 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
BigDecimal amountDr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCr = new BigDecimal(MagicValues.ZERO);
|
|
|
BigDecimal amountDrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
- BigDecimal amountDrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ List<BCorps> corpsList = new ArrayList<>();
|
|
|
+ List<Long> corpIdList = new ArrayList<>();
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ List<Long> corpId = feeCenterList.stream().map(FeeCenter::getCorpId).distinct().collect(Collectors.toList());
|
|
|
+ if (!corpId.isEmpty()) {
|
|
|
+ corpIdList.addAll(corpId);
|
|
|
+ }
|
|
|
+ List<Long> corpBillId = feeCenterList.stream().map(FeeCenter::getBillCorpId).distinct().collect(Collectors.toList());
|
|
|
+ if (!corpBillId.isEmpty()) {
|
|
|
+ corpIdList.addAll(corpBillId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!corpIdList.isEmpty()) {
|
|
|
+ corpsList = bCorpsService.list(new LambdaQueryWrapper<BCorps>()
|
|
|
+ .eq(BCorps::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BCorps::getIsDeleted, 0)
|
|
|
+ .in(BCorps::getId, corpIdList));
|
|
|
+ }
|
|
|
for (FeeCenter item : feeCenterList) {
|
|
|
- if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
- item.setCorpCnName(item.getShortName());
|
|
|
+ if (!corpsList.isEmpty()) {
|
|
|
+ BCorps corps = corpsList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().orElse(null);
|
|
|
+ if (corps != null) {
|
|
|
+ item.setCorpCnName(corps.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setCorpCnName("无");
|
|
|
+ }
|
|
|
+ BCorps corpBill = corpsList.stream().filter(e -> e.getId().equals(item.getBillCorpId())).findFirst().orElse(null);
|
|
|
+ if (corpBill != null) {
|
|
|
+ item.setBillCorpCnName(corpBill.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
+ }
|
|
|
} else {
|
|
|
item.setCorpCnName("无");
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
}
|
|
|
if (MagicValues.D.equals(item.getDc())) {
|
|
|
if (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
- amountDrUsd = amountDrUsd.add(item.getAmountLoc());
|
|
|
+ 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(), "1");
|
|
|
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(), "1");
|
|
|
+ amountCrUsd = amountCrUsd.add(usd);
|
|
|
+ }
|
|
|
}
|
|
|
FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
feeCenterReports.setStorageDate(item.getStorageDate());
|
|
|
@@ -3966,20 +4006,31 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
feeCenterReports.setRemarks(item.getRemarks());
|
|
|
feeCenterReports.setPid(item.getPid());
|
|
|
feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
- feeCenterReports.setAmountD(item.getAmount());
|
|
|
- feeCenterReports.setAmountUsdD(item.getAmountLoc());
|
|
|
- feeCenterReports.setHblno(item.getMblno());
|
|
|
- feeCenterReports.setAmount(item.getQuantity() + "*" + item.getPrice());
|
|
|
- feeCenterReports.setCntrNo(item.getCntrNo());
|
|
|
- feeCenterReports.setExrate(item.getStlExrate());
|
|
|
+ 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.getAmount() + "");
|
|
|
+ if ("CCF".equals(item.getFeeCode())) {
|
|
|
+ feeCenterReports.setQuantity(item.getQuantity().multiply(new BigDecimal(item.getDays())));
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setQuantity(item.getQuantity());
|
|
|
+ }
|
|
|
+ feeCenterReports.setPrice(item.getPrice().setScale(2, RoundingMode.HALF_UP));
|
|
|
+ feeCenterReports.setExrate(item.getExrate());
|
|
|
+ feeCenterReports.setCurCode(item.getCurCode());
|
|
|
feeCenterReportsList.add(feeCenterReports);
|
|
|
}
|
|
|
agent.setFeeCenterReportsList(feeCenterReportsList);
|
|
|
- amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny(MagicValues.USD, amountDrUsd, MagicValues.D, "1")).add(amountDr);
|
|
|
- agent.setAmount(amountDr);
|
|
|
- agent.setAmountUsd(amountDrUsd);
|
|
|
- agent.setAmountLoc(amountDrLoc);
|
|
|
+ BigDecimal equivalentToRmbDr = ibCurrencyService.converterCny(MagicValues.USD, amountDrUsd, MagicValues.D, "1");
|
|
|
+ agent.setAmount(amountDr.setScale(2,RoundingMode.HALF_UP));
|
|
|
+ agent.setAmountUsd(amountDrUsd.setScale(2,RoundingMode.HALF_UP));
|
|
|
+ agent.setEquivalentToRmbDr(equivalentToRmbDr.setScale(2,RoundingMode.HALF_UP));
|
|
|
List<BCorpsBank> bCorpsBanks = bCorpsBankService.list(new LambdaQueryWrapper<BCorpsBank>()
|
|
|
.eq(BCorpsBank::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(BCorpsBank::getIsDeleted, 0)
|
|
|
@@ -4027,19 +4078,59 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
}
|
|
|
List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ BigDecimal amountDr = new BigDecimal(MagicValues.ZERO);
|
|
|
BigDecimal amountCr = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
BigDecimal amountCrUsd = new BigDecimal(MagicValues.ZERO);
|
|
|
- BigDecimal amountCrLoc = new BigDecimal(MagicValues.ZERO);
|
|
|
List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ List<BCorps> corpsList = new ArrayList<>();
|
|
|
+ List<Long> corpIdList = new ArrayList<>();
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ List<Long> corpId = feeCenterList.stream().map(FeeCenter::getCorpId).distinct().collect(Collectors.toList());
|
|
|
+ if (!corpId.isEmpty()) {
|
|
|
+ corpIdList.addAll(corpId);
|
|
|
+ }
|
|
|
+ List<Long> corpBillId = feeCenterList.stream().map(FeeCenter::getBillCorpId).distinct().collect(Collectors.toList());
|
|
|
+ if (!corpBillId.isEmpty()) {
|
|
|
+ corpIdList.addAll(corpBillId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!corpIdList.isEmpty()) {
|
|
|
+ corpsList = bCorpsService.list(new LambdaQueryWrapper<BCorps>()
|
|
|
+ .eq(BCorps::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BCorps::getIsDeleted, 0)
|
|
|
+ .in(BCorps::getId, corpIdList));
|
|
|
+ }
|
|
|
for (FeeCenter item : feeCenterList) {
|
|
|
- if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
- item.setCorpCnName(item.getShortName());
|
|
|
+ if (!corpsList.isEmpty()) {
|
|
|
+ BCorps corps = corpsList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().orElse(null);
|
|
|
+ if (corps != null) {
|
|
|
+ item.setCorpCnName(corps.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setCorpCnName("无");
|
|
|
+ }
|
|
|
+ BCorps corpBill = corpsList.stream().filter(e -> e.getId().equals(item.getBillCorpId())).findFirst().orElse(null);
|
|
|
+ if (corpBill != null) {
|
|
|
+ item.setBillCorpCnName(corpBill.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
+ }
|
|
|
} else {
|
|
|
item.setCorpCnName("无");
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
}
|
|
|
- if (MagicValues.C.equals(item.getDc())) {
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
if (MagicValues.USD.equals(item.getCurCode())) {
|
|
|
- amountCrUsd = amountCrUsd.add(item.getAmountLoc());
|
|
|
+ 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(), "1");
|
|
|
+ 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 {
|
|
|
@@ -4053,20 +4144,31 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
feeCenterReports.setRemarks(item.getRemarks());
|
|
|
feeCenterReports.setPid(item.getPid());
|
|
|
feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
- feeCenterReports.setAmountC(item.getAmount());
|
|
|
- feeCenterReports.setAmountUsdC(item.getAmountLoc());
|
|
|
- feeCenterReports.setHblno(item.getMblno());
|
|
|
- feeCenterReports.setAmount(item.getQuantity() + "*" + item.getPrice());
|
|
|
- feeCenterReports.setCntrNo(item.getCntrNo());
|
|
|
- feeCenterReports.setExrate(item.getStlExrate());
|
|
|
+ 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.getAmount() + "");
|
|
|
+ if ("CCF".equals(item.getFeeCode())) {
|
|
|
+ feeCenterReports.setQuantity(item.getQuantity().multiply(new BigDecimal(item.getDays())));
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setQuantity(item.getQuantity());
|
|
|
+ }
|
|
|
+ feeCenterReports.setPrice(item.getPrice().setScale(2, RoundingMode.HALF_UP));
|
|
|
+ feeCenterReports.setExrate(item.getExrate());
|
|
|
+ feeCenterReports.setCurCode(item.getCurCode());
|
|
|
feeCenterReportsList.add(feeCenterReports);
|
|
|
}
|
|
|
agent.setFeeCenterReportsList(feeCenterReportsList);
|
|
|
- amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.C, "1")).add(amountCr);
|
|
|
- agent.setAmount(amountCr);
|
|
|
- agent.setAmountUsd(amountCrUsd);
|
|
|
- agent.setAmountLoc(amountCrLoc);
|
|
|
+ BigDecimal equivalentToRmbCr = ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.C, "1");
|
|
|
+ agent.setAmount(amountCr.setScale(2,RoundingMode.HALF_UP));
|
|
|
+ agent.setAmountUsd(amountCrUsd.setScale(2,RoundingMode.HALF_UP));
|
|
|
+ agent.setEquivalentToRmbCr(equivalentToRmbCr.setScale(2,RoundingMode.HALF_UP));
|
|
|
agent.setDept(dept);
|
|
|
map.put(MagicValues.DATA, agent);
|
|
|
} else {
|
|
|
@@ -4287,7 +4389,9 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
List<Long> agentIdList = agentList.stream().map(Agent::getId).distinct().collect(Collectors.toList());
|
|
|
BigDecimal amountD = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
BigDecimal amount = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- List<FeeCenter> feeCenterList = feeCenters.stream().filter(e -> "C".equals(e.getDc()) && 1 == e.getStlStatus()).collect(Collectors.toList());
|
|
|
+ List<Long> feeCenterIds = feeCentersList.stream().map(FeeCenter::getId).collect(Collectors.toList());
|
|
|
+ List<FeeCenter> feeCenterList = feeCenters.stream().filter(e -> "C".equals(e.getDc()) && 1 == e.getStlStatus()
|
|
|
+ && feeCenterIds.contains(e.getId())).collect(Collectors.toList());
|
|
|
if (feeCenterList.isEmpty()) {
|
|
|
throw new RuntimeException("未找到应付费用明细");
|
|
|
}
|
|
|
@@ -4379,8 +4483,6 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AgentItems::getIsDeleted, 0)
|
|
|
.in(AgentItems::getPid, agentIdList));
|
|
|
if (!agentItemsList.isEmpty()) {
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- Date now = new Date();
|
|
|
for (AgentItems items : agentItemsList) {
|
|
|
if (ObjectUtils.isNotNull(items.getPaymentRecord())) {
|
|
|
String[] arr = items.getPaymentRecord().split(",");
|
|
|
@@ -4444,6 +4546,12 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
feeCenters1.add(item);
|
|
|
}
|
|
|
feeCenterService.saveOrUpdateBatch(feeCenters1);
|
|
|
+ for (Agent item : agentList) {
|
|
|
+ List<FeeCenter> feeCenters2 = feeCenters1.stream().filter(e -> e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ if (!feeCenters2.isEmpty()) {
|
|
|
+ item.setProfit(item.getProfit().subtract(feeCenters2.stream().map(FeeCenter::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)));
|
|
|
+ }
|
|
|
+ }
|
|
|
this.updateBatchById(agentList);
|
|
|
agent.setOrderStatus("审核通过");
|
|
|
updateById(agent);
|