|
|
@@ -134,6 +134,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
private final IRecordService recordService;
|
|
|
private final IBCorpsService bCorpsService;
|
|
|
private final IReportDataTradeService reportDataTradeService;
|
|
|
+ private final IInvoicingService invoicingService;
|
|
|
+ private final IInvoicingItemService invoicingItemService;
|
|
|
|
|
|
@Override
|
|
|
public IPage<AgentVO> selectAgentPage(IPage<AgentVO> page, AgentVO agent) {
|
|
|
@@ -573,7 +575,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
item.setPodEnName(agent.getPodEnName());
|
|
|
item.setPid(agent.getId());
|
|
|
} else {
|
|
|
- if ("录入".equals(agent.getOrderStatus())){
|
|
|
+ if ("录入".equals(agent.getOrderStatus())) {
|
|
|
item.setStlExrate(agent.getExchangeRate());
|
|
|
if (item.getStlExrate().compareTo(item.getDiscountExrate()) < 0) {
|
|
|
throw new RuntimeException("优惠汇率不能大于结算汇率");
|
|
|
@@ -615,7 +617,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
if (ObjectUtils.isNull(item.getDiscountExrate())) {
|
|
|
throw new RuntimeException("首款、尾款,手续费优惠汇率不能为空");
|
|
|
}
|
|
|
- if ("录入".equals(agent.getOrderStatus())){
|
|
|
+ if ("录入".equals(agent.getOrderStatus())) {
|
|
|
if (!"SXF".equals(item.getFeeCode())) {
|
|
|
BigDecimal amount = item.getAmountLoc().multiply(item.getDiscountExrate());
|
|
|
item.setProfit(item.getAmount().subtract(amount));
|
|
|
@@ -683,7 +685,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
item.setPid(agent.getId());
|
|
|
} else {
|
|
|
item.setStlPid(agent.getId());
|
|
|
- if ("录入".equals(agent.getOrderStatus())){
|
|
|
+ if ("录入".equals(agent.getOrderStatus())) {
|
|
|
item.setStlExrate(agent.getExchangeRate());
|
|
|
// item.setExrate(agent.getExchangeRate());
|
|
|
item.setDiscountExrate(agent.getExchangeRate());
|
|
|
@@ -3506,7 +3508,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
|
|
|
@@ -3562,7 +3564,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
@@ -3576,7 +3578,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
|
|
|
}
|
|
|
@@ -3642,7 +3644,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
@@ -3716,7 +3718,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
|
agentFeeReport.setReportPostElectricFee(agentFeeReport.getRealityPostElectricFee());
|
|
|
BigDecimal discountAmount = new BigDecimal("0.00");
|
|
|
- if (!reportList.isEmpty()){
|
|
|
+ if (!reportList.isEmpty()) {
|
|
|
discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
|
|
|
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}
|
|
|
@@ -3832,7 +3834,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
|
|
|
@@ -3888,7 +3890,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
@@ -3901,7 +3903,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
|
|
|
agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
|
|
|
}
|
|
|
@@ -3967,7 +3969,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
@@ -4369,6 +4371,66 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
} else {
|
|
|
map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
+ } else if (MagicValues.INVOICING_APPLICATION.equals(reportCode) && MagicValues.INVOICING_APPLICATION.equals(groupCode) && MagicValues.MYDL_KPSQ.equals(type)) {
|
|
|
+ Invoicing invoicing = invoicingService.getById(billId);
|
|
|
+ if (invoicing != null) {
|
|
|
+ R<Dept> res = sysClient.getDept(Long.parseLong(AuthUtil.getDeptId()));
|
|
|
+ Dept dept;
|
|
|
+ if (res.isSuccess() && res.getData() != null) {
|
|
|
+ dept = res.getData();
|
|
|
+ String status = sysClient.getParamServiceNew("is.update.default");
|
|
|
+ if ("1".equals(status)) {
|
|
|
+ R<User> resUser = userClient.userInfoById(AuthUtil.getUserId());
|
|
|
+ if (resUser.isSuccess() && resUser.getData() != null) {
|
|
|
+ dept.setEmail(resUser.getData().getEmail());
|
|
|
+ dept.setTel(resUser.getData().getPhone());
|
|
|
+ dept.setContacts(resUser.getData().getRealName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("获取报表表头数据失败");
|
|
|
+ }
|
|
|
+ List<InvoicingItem> invoicingItemList = invoicingItemService.list(new LambdaQueryWrapper<InvoicingItem>()
|
|
|
+ .eq(InvoicingItem::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(InvoicingItem::getIsDeleted, 0)
|
|
|
+ .eq(InvoicingItem::getPid, invoicing.getId()));
|
|
|
+ invoicing.setInvoicingItemList(invoicingItemList.isEmpty() ? new ArrayList<>() : invoicingItemList);
|
|
|
+ if (!invoicingItemList.isEmpty()) {
|
|
|
+ AgentItems agentItems = agentItemsService.getById(invoicingItemList.get(0).getSrcId());
|
|
|
+ if (agentItems != null){
|
|
|
+ Agent agent = baseMapper.selectById(agentItems.getPid());
|
|
|
+ if (agent != null) {
|
|
|
+ invoicing.setEta(agent.getContractDate());
|
|
|
+ invoicing.setPayConvergeDate(agent.getFirstActualPaymentDate());
|
|
|
+ invoicing.setReceivePaymentDate(agent.getFirstPaidInPaymentDate());
|
|
|
+ invoicing.setAmount(agent.getSumAmount());
|
|
|
+ invoicing.setAmountUsd(agent.getGoodsValue());
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getPid, agent.getId())
|
|
|
+ .eq(FeeCenter::getDc, "C")
|
|
|
+ .eq(FeeCenter::getBusinessType, "MYDL")
|
|
|
+ .apply("not find_in_set(fee_code,'SXF,SFK,WK,YDF,YFK')"));
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ invoicing.setTariff(feeCenterList.stream().filter(e -> "GS".equals(e.getFeeCode())).map(FeeCenter::getAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ invoicing.setLateFee(feeCenterList.stream().filter(e -> "ZNJ".equals(e.getFeeCode())).map(FeeCenter::getAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ invoicing.setValueAddedTax(feeCenterList.stream().filter(e -> "ZZS".equals(e.getFeeCode())).map(FeeCenter::getAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ invoicing.setOtherAmount(feeCenterList.stream().filter(e -> !"GS,ZNJ,ZZS".contains(e.getFeeCode())).map(FeeCenter::getAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ invoicing.setAmountTotal(invoicing.getTariff().add(invoicing.getLateFee()).add(invoicing.getValueAddedTax())
|
|
|
+ .add(invoicing.getOtherAmount()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put(MagicValues.DATA, invoicing);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, new Invoicing());
|
|
|
+ }
|
|
|
} else {
|
|
|
map = reportDataTradeService.getReportDataTrade(billId, reportCode, groupCode, corpIds, itemIds, type, curCode);
|
|
|
}
|