|
|
@@ -224,7 +224,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
List<FinStlBillsItems> finStlBillsItemsList = finStlBillsItemsService.list(new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(" + detail.getContractNo() + ",bill_no)"));
|
|
|
+ .apply("find_in_set('" + detail.getContractNo() + "',bill_no)"));
|
|
|
if (!finStlBillsItemsList.isEmpty()) {
|
|
|
List<Long> ids = finStlBillsItemsList.stream().map(FinStlBillsItems::getPid).collect(Collectors.toList());
|
|
|
List<FinStlBills> finStlBillsList = finStlBillsService.list(new LambdaQueryWrapper<FinStlBills>()
|
|
|
@@ -480,7 +480,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
if ("MYDL-STL".equals(agent.getBusinessType())) {
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- BigDecimal amount = serviceChargeAmount.multiply(agent.getActualAmount());
|
|
|
+ BigDecimal amount = serviceChargeAmount.multiply(agent.getActualAmount()).setScale(2, RoundingMode.HALF_UP);
|
|
|
if (amount.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
agent.setServiceCharge(new BigDecimal("1000"));
|
|
|
} else {
|
|
|
@@ -1241,12 +1241,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AdvanceCharge::getIsDeleted, 0)
|
|
|
.eq(AdvanceCharge::getCorpId, agentList.get(0).getDomesticConsigneeId()));
|
|
|
if (advanceCharge != null) {
|
|
|
- advanceCharge.setAdvancePaymentBalance(advanceCharge.getAdvancePaymentBalance().add(advanceChargeAmount));
|
|
|
- if (new BigDecimal("0").compareTo(advanceChargeAmount) < 0) {
|
|
|
- advanceCharge.setOutOverpaymen(advanceCharge.getOutOverpaymen().add(advanceChargeAmount.abs()));
|
|
|
- } else {
|
|
|
- advanceCharge.setInOverpayment(advanceCharge.getOutOverpaymen().add(advanceChargeAmount.abs()));
|
|
|
- }
|
|
|
+ advanceCharge.setAdvancePaymentBalance(advanceCharge.getAdvancePaymentBalance().subtract(advanceChargeAmount));
|
|
|
+ advanceCharge.setOutOverpaymen(advanceCharge.getOutOverpaymen().subtract(advanceChargeAmount));
|
|
|
advanceChargeService.updateById(advanceCharge);
|
|
|
}
|
|
|
}
|
|
|
@@ -3096,27 +3092,27 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
@Override
|
|
|
public R getReportDataTrade(String billId, String reportCode, String groupCode, String itemIds, String type) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- R<Dept> res = sysClient.getDept(deptUtils.getDeptPid());
|
|
|
- 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("获取报表表头数据失败");
|
|
|
- }
|
|
|
if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.ORDER_ALLOCATION.equals(groupCode) && MagicValues.MYDL.equals(type)) {
|
|
|
Agent agent = baseMapper.selectById(billId);
|
|
|
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
|
|
AgentReport agentReport = new AgentReport();
|
|
|
if (agent != null) {
|
|
|
+ R<Dept> res = sysClient.getDept(agent.getAffiliatedCompanyId());
|
|
|
+ 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("获取报表表头数据失败");
|
|
|
+ }
|
|
|
agentReport.setContractNo(agent.getContractNo());
|
|
|
// todo 发票
|
|
|
List<AgentFpReport> agentFpReportList = new ArrayList<>();
|
|
|
@@ -3223,8 +3219,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
AgentZzsReport agentZzsReport = new AgentZzsReport();
|
|
|
agentZzsReportList.add(agentZzsReport);
|
|
|
agentReport.setAgentZzsReportList(agentZzsReportList);
|
|
|
+ agentReport.setDept(dept);
|
|
|
}
|
|
|
- agentReport.setDept(dept);
|
|
|
agentReport.setAgentDReportList(ObjectUtils.isNull(agentReport.getAgentDReportList()) ? new ArrayList<>() : agentReport.getAgentDReportList());
|
|
|
agentReport.setAgentCReportList(ObjectUtils.isNull(agentReport.getAgentCReportList()) ? new ArrayList<>() : agentReport.getAgentCReportList());
|
|
|
agentReport.setAgentFpReportList(ObjectUtils.isNull(agentReport.getAgentFpReportList()) ? new ArrayList<>() : agentReport.getAgentFpReportList());
|
|
|
@@ -3238,8 +3234,24 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
map.put(MagicValues.DATA, agentReport);
|
|
|
} else if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.THE_FIRST_ONE.equals(groupCode) && MagicValues.MYDL.equals(type)) {
|
|
|
Agent agent = baseMapper.selectById(billId);
|
|
|
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd");
|
|
|
if (agent != null) {
|
|
|
+ R<Dept> res = sysClient.getDept(agent.getAffiliatedCompanyId());
|
|
|
+ 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<AgentItems> agentItemsList = agentItemsService.list(new LambdaQueryWrapper<AgentItems>()
|
|
|
.eq(AgentItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AgentItems::getIsDeleted, 0)
|
|
|
@@ -3261,6 +3273,23 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
}
|
|
|
AgentSKReport agentSKReport = new AgentSKReport();
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ List<Long> stlPids = feeCenterList.stream().filter(e -> "SFK".equals(e.getFeeCode())
|
|
|
+ && "D".equals(e.getDc())).map(FeeCenter::getStlPid)
|
|
|
+ .filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ List<Agent> agentList1 = agentList.stream().filter(e-> stlPids.contains(e.getId())).collect(Collectors.toList());
|
|
|
+ for (Agent item : agentList1) {
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
+ map1.put("time", dateFormat.format(item.getBusinessDate()));
|
|
|
+ BigDecimal remainingAmount = feeCenterList.stream().filter(e -> "YFK".equals(e.getFeeCode())
|
|
|
+ && "D".equals(e.getDc()) && "1".equals(e.getFeeType()) && item.getId().equals(e.getStlPid()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ map1.put("amount", item.getActualAmount().add(item.getPostElectricFee())
|
|
|
+ .add(item.getServiceCharge()).subtract(remainingAmount));
|
|
|
+ mapList.add(map1);
|
|
|
+ }
|
|
|
+ agentSKReport.setMapList(mapList.isEmpty() ? new ArrayList<>() : mapList);
|
|
|
+ agentSKReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
|
agentSKReport.setContractNo(agent.getContractNo());
|
|
|
agentSKReport.setPrepaidTime(dateFormat.format(agent.getBusinessDate()));
|
|
|
agentSKReport.setSkAmountUsd(agent.getPrepaidAmount());
|
|
|
@@ -3285,7 +3314,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.findFirst().ifPresent(feeCentersYFK ->
|
|
|
agentSKReport.setRemainingAmount(ObjectUtils.isNotNull(feeCentersYFK.getAmount()) ? feeCentersYFK.getAmount()
|
|
|
: new BigDecimal("0.00")));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentSKReport.setAmount(new BigDecimal("0.00"));
|
|
|
agentSKReport.setPostElectricFee(new BigDecimal("0.00"));
|
|
|
agentSKReport.setServiceCharge(new BigDecimal("0.00"));
|
|
|
@@ -3293,7 +3322,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
agentSKReport.setSumAmount(agentSKReport.getAmount().add(agentSKReport.getPostElectricFee()
|
|
|
.add(agentSKReport.getServiceCharge()).subtract(ObjectUtils.isNotNull(agentSKReport.getRemainingAmount())
|
|
|
- ?agentSKReport.getRemainingAmount():new BigDecimal("0.00"))));
|
|
|
+ ? agentSKReport.getRemainingAmount() : new BigDecimal("0.00"))));
|
|
|
FeeCenter feeCentersC = feeCenterList.stream().filter(e -> "SFK".equals(e.getFeeCode())
|
|
|
&& "C".equals(e.getDc()) && "1".equals(e.getFeeType())).findFirst().orElse(null);
|
|
|
if (feeCentersC != null) {
|
|
|
@@ -3313,7 +3342,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentList.stream().filter(e -> e.getId().equals(feeCentersC.getStlPid())).findFirst()
|
|
|
.ifPresent(detail -> agentSKReport.setRealityTime(dateFormat.format(detail.getBusinessDate())));
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
agentSKReport.setRealityAmount(new BigDecimal("0.00"));
|
|
|
agentSKReport.setRealityPostElectricFee(new BigDecimal("0.00"));
|
|
|
agentSKReport.setRealityServiceCharge(new BigDecimal("0.00"));
|
|
|
@@ -3322,7 +3351,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.add(agentSKReport.getRealityServiceCharge())));
|
|
|
agentSKReport.setRepairAmount(agentSKReport.getRealitySumAmount().subtract(agentSKReport.getSumAmount())
|
|
|
.subtract(ObjectUtils.isNotNull(agentSKReport.getRemainingAmount())
|
|
|
- ?agentSKReport.getRemainingAmount():new BigDecimal("0.00")));
|
|
|
+ ? agentSKReport.getRemainingAmount() : new BigDecimal("0.00")));
|
|
|
agentSKReport.setAgentItems(agentItemsList);
|
|
|
agentSKReport.setDept(dept);
|
|
|
map.put(MagicValues.DATA, agentSKReport);
|
|
|
@@ -3331,8 +3360,24 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
} else if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.BALANCE_PAYMENT.equals(groupCode) && MagicValues.MYDL.equals(type)) {
|
|
|
Agent agent = baseMapper.selectById(billId);
|
|
|
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd");
|
|
|
if (agent != null) {
|
|
|
+ R<Dept> res = sysClient.getDept(agent.getAffiliatedCompanyId());
|
|
|
+ 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<AgentItems> agentItemsList = agentItemsService.list(new LambdaQueryWrapper<AgentItems>()
|
|
|
.eq(AgentItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AgentItems::getIsDeleted, 0)
|
|
|
@@ -3354,6 +3399,23 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
|
}
|
|
|
AgentSKReport agentSKReport = new AgentSKReport();
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ List<Long> stlPids = feeCenterList.stream().filter(e -> "WK".equals(e.getFeeCode())
|
|
|
+ && "D".equals(e.getDc())).map(FeeCenter::getStlPid)
|
|
|
+ .filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ List<Agent> agentList1 = agentList.stream().filter(e-> stlPids.contains(e.getId())).collect(Collectors.toList());
|
|
|
+ for (Agent item : agentList1) {
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
+ map1.put("time", dateFormat.format(item.getBusinessDate()));
|
|
|
+ BigDecimal remainingAmount = feeCenterList.stream().filter(e -> "YFK".equals(e.getFeeCode())
|
|
|
+ && "D".equals(e.getDc()) && "2".equals(e.getFeeType()) && item.getId().equals(e.getStlPid()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ map1.put("amount", item.getActualAmount().add(item.getPostElectricFee())
|
|
|
+ .add(item.getServiceCharge()).subtract(remainingAmount));
|
|
|
+ mapList.add(map1);
|
|
|
+ }
|
|
|
+ agentSKReport.setMapList(mapList.isEmpty() ? new ArrayList<>() : mapList);
|
|
|
+ agentSKReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
|
agentSKReport.setContractNo(agent.getContractNo());
|
|
|
agentSKReport.setPrepaidTime(dateFormat.format(agent.getBusinessDate()));
|
|
|
agentSKReport.setSkAmountUsd(agent.getPrepaidAmount());
|
|
|
@@ -3361,8 +3423,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
&& "D".equals(e.getDc()) && "2".equals(e.getFeeType())).collect(Collectors.toList());
|
|
|
if (!feeCenters.isEmpty()) {
|
|
|
agentSKReport.setExchangeRate(feeCenters.get(0).getExrate());
|
|
|
- agentSKReport.setAmount(feeCenters.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
|
|
|
- agentSKReport.setAmountUsd(feeCenters.stream().map(FeeCenter::getAmountLoc).reduce(BigDecimal.ZERO,BigDecimal::add));
|
|
|
+ agentSKReport.setAmount(feeCenters.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentSKReport.setAmountUsd(feeCenters.stream().map(FeeCenter::getAmountLoc).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
List<Long> feeIds = feeCenters.stream().map(FeeCenter::getId).collect(Collectors.toList());
|
|
|
feeCenterList.stream().filter(e -> "YDF".equals(e.getFeeCode())
|
|
|
&& "D".equals(e.getDc()) && "2".equals(e.getFeeType()) && feeIds.contains(e.getSrcItemId()))
|
|
|
@@ -3392,7 +3454,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
&& "C".equals(e.getDc()) && "2".equals(e.getFeeType())).collect(Collectors.toList());
|
|
|
if (!feeCentersC.isEmpty()) {
|
|
|
agentSKReport.setRealityExchangeRate(feeCentersC.get(0).getStlExrate());
|
|
|
- agentSKReport.setRealityAmount(feeCentersC.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
|
|
|
+ agentSKReport.setRealityAmount(feeCentersC.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
List<Long> feeIds = feeCentersC.stream().map(FeeCenter::getId).collect(Collectors.toList());
|
|
|
feeCenterList.stream().filter(e -> "YDF".equals(e.getFeeCode())
|
|
|
&& "C".equals(e.getDc()) && "2".equals(e.getFeeType()) && feeIds.contains(e.getSrcItemId()))
|
|
|
@@ -3515,8 +3577,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AdvanceCharge::getIsDeleted, 0)
|
|
|
.eq(AdvanceCharge::getCorpId, detail.getDomesticConsigneeId()));
|
|
|
if (advanceCharge != null) {
|
|
|
- feeCenter.setPrice(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
- feeCenter.setAmount(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
+ feeCenter.setPrice(advanceCharge.getAdvancePaymentBalance());
|
|
|
+ feeCenter.setAmount(advanceCharge.getAdvancePaymentBalance());
|
|
|
return feeCenter;
|
|
|
} else {
|
|
|
return null;
|
|
|
@@ -3618,8 +3680,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AdvanceCharge::getIsDeleted, 0)
|
|
|
.eq(AdvanceCharge::getCorpId, detail.getDomesticConsigneeId()));
|
|
|
if (advanceCharge != null) {
|
|
|
- feeCenter.setPrice(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
- feeCenter.setAmount(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
+ feeCenter.setPrice(advanceCharge.getAdvancePaymentBalance());
|
|
|
+ feeCenter.setAmount(advanceCharge.getAdvancePaymentBalance());
|
|
|
return feeCenter;
|
|
|
} else {
|
|
|
return null;
|
|
|
@@ -3716,8 +3778,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AdvanceCharge::getIsDeleted, 0)
|
|
|
.eq(AdvanceCharge::getCorpId, detail.getDomesticConsigneeId()));
|
|
|
if (advanceCharge != null) {
|
|
|
- feeCenter.setPrice(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
- feeCenter.setAmount(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
+ feeCenter.setPrice(advanceCharge.getAdvancePaymentBalance());
|
|
|
+ feeCenter.setAmount(advanceCharge.getAdvancePaymentBalance());
|
|
|
return feeCenter;
|
|
|
} else {
|
|
|
return null;
|
|
|
@@ -3819,8 +3881,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(AdvanceCharge::getIsDeleted, 0)
|
|
|
.eq(AdvanceCharge::getCorpId, detail.getDomesticConsigneeId()));
|
|
|
if (advanceCharge != null) {
|
|
|
- feeCenter.setPrice(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
- feeCenter.setAmount(new BigDecimal("0").subtract(advanceCharge.getAdvancePaymentBalance()));
|
|
|
+ feeCenter.setPrice(advanceCharge.getAdvancePaymentBalance());
|
|
|
+ feeCenter.setAmount(advanceCharge.getAdvancePaymentBalance());
|
|
|
return feeCenter;
|
|
|
} else {
|
|
|
return null;
|