|
|
@@ -1454,13 +1454,55 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
@Override
|
|
|
public List<InsPlyIncome> totalBxAmount(InsPlyIncomeVo insPlyIncomeVo) {
|
|
|
HashMap<String, Object> params = new HashMap<>();
|
|
|
- params=this.saveParams(insPlyIncomeVo,params);
|
|
|
- params.remove("handlingFeesStatus");
|
|
|
- List<InsPlyIncome> resultList = baseMapper.totalBxAmount(params);
|
|
|
-// 数据库数据太多是 用sql拼接id会丢失 所以只能逻辑拼接
|
|
|
- List<InsPlyIncome> idList=baseMapper.getIncomeIdList(params);
|
|
|
- if(!CollectionUtils.isEmpty(idList) && !CollectionUtils.isEmpty(resultList)){
|
|
|
- this.splicingIds(idList,resultList);
|
|
|
+ params = this.saveParams(insPlyIncomeVo, params);
|
|
|
+ List<InsPlyIncome> resultList = baseMapper.totalBxAmount(params);
|
|
|
+ for (InsPlyIncome item : resultList) {
|
|
|
+ BigDecimal commissionFeevalue = BigDecimal.ZERO; //总金额
|
|
|
+ BigDecimal invoicCommissionFeevalue = BigDecimal.ZERO; //开票未结算
|
|
|
+ BigDecimal readyCommissionFeevalue = BigDecimal.ZERO; // 已开票已结算
|
|
|
+ BigDecimal noInvoicCommissionFeevalue = BigDecimal.ZERO; //未开票金额
|
|
|
+ BigDecimal unSettledAmount; //未结算金额
|
|
|
+ params.put("partnerCompaniesId", item.getPartnerCompaniesId());
|
|
|
+
|
|
|
+ params.remove("handlingFeesStatus");
|
|
|
+ List<InsPlyIncome> insPlyIncomes = baseMapper.queryNew(params); //金额总数
|
|
|
+ for (InsPlyIncome all : insPlyIncomes) {
|
|
|
+ commissionFeevalue = commissionFeevalue.add(all.getCommissionFeevalue());
|
|
|
+ }
|
|
|
+ //已开票金额 = 开票未结算+ 开票已结算
|
|
|
+ params.put("handlingFeesStatus","0"); // 开票
|
|
|
+ params.put("settlementStatus","1"); // 开票
|
|
|
+ List<SettlementDocumentaryFeesEntity> invoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity invoicInsPlyIncome : invoicInsPlyIncomes) {
|
|
|
+ BigDecimal invoicIcommissionFeevalue = invoicInsPlyIncome.getSettlementAmount();// 已经开票金额
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.add(invoicIcommissionFeevalue); //开票金额
|
|
|
+
|
|
|
+ }
|
|
|
+ params.put("settlementStatus","2"); // 结算
|
|
|
+ List<SettlementDocumentaryFeesEntity> settleInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity settleInsPlyIncome : settleInsPlyIncomes) {
|
|
|
+ BigDecimal settleIcommissionFeevalue = settleInsPlyIncome.getSettlementAmount();// 已结算金额
|
|
|
+ readyCommissionFeevalue = readyCommissionFeevalue.add(settleIcommissionFeevalue); //已结算总
|
|
|
+ }
|
|
|
+ params.put("settlementStatus" ,0); //未开票金额
|
|
|
+ List<SettlementDocumentaryFeesEntity> noInvoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity noInvoicInsPlyIncome : noInvoicInsPlyIncomes) {
|
|
|
+ BigDecimal noInvoicIcommissionFeevalue = noInvoicInsPlyIncome.getSettlementAmount();// 未开票金额
|
|
|
+ noInvoicCommissionFeevalue = noInvoicCommissionFeevalue.add(noInvoicIcommissionFeevalue); //未开票总金额
|
|
|
+ }
|
|
|
+
|
|
|
+ noInvoicCommissionFeevalue = commissionFeevalue.subtract(invoicCommissionFeevalue);// 未开票
|
|
|
+ unSettledAmount =commissionFeevalue.subtract(readyCommissionFeevalue); //未结算
|
|
|
+ //已开票金额
|
|
|
+
|
|
|
+ item.setCommissionFeevalue(commissionFeevalue); //总手续费
|
|
|
+ item.setAllInvoicCommissionFeevalue(invoicCommissionFeevalue); //总开票金额
|
|
|
+ // 开票未结算 = 开票金额 - 已开票已结算
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.subtract(readyCommissionFeevalue);
|
|
|
+ item.setInvoicCommissionFeevalue(invoicCommissionFeevalue); //开票未结算
|
|
|
+ item.setReadyCommissionFeevalue(readyCommissionFeevalue); //已开票已结算
|
|
|
+ item.setNoInvoicCommissionFeevalue(noInvoicCommissionFeevalue); //未开票金额
|
|
|
+ item.setUnSettledAmount(unSettledAmount); // 未结算金额
|
|
|
}
|
|
|
return resultList;
|
|
|
}
|
|
|
@@ -1535,6 +1577,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
insPlyIncomeVo.setHandlingFeesStatus("0"); // 0手续费 1 跟单费
|
|
|
insPlyIncomeVo.setIsNotCar(insPlyIncomeVo.getIsNotCar());
|
|
|
insPlyIncomeVo.setAgreementId(importResult.getAgreementId());
|
|
|
+ insPlyIncomeVo.setAgreementType(insPlyIncomeVo.getAgreementType());
|
|
|
insPlyIncomeVo.setPartnerCompaniesId(importResult.getPartnerCompaniesId());
|
|
|
insPlyIncomeVo.setSettlementAmount(importResult.getTotalAmount());
|
|
|
insPlyIncomeVo.setContractId(insPlyIncomeVo.getInvoicId());
|
|
|
@@ -1629,8 +1672,72 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
public HttpResult<List<InsPlyIncome>> allOtherAmount(InsPlyIncomeVo insPlyIncomeVo) {
|
|
|
HashMap<String, Object> params = new HashMap<>();
|
|
|
params = this.saveParams(insPlyIncomeVo, params);
|
|
|
- List<InsPlyIncome> result = baseMapper.allOtherAmount(params);
|
|
|
- return HttpResult.ok(result);
|
|
|
+ List<InsPlyIncome> resultList = baseMapper.totalBxAmount(params);
|
|
|
+ //总跟单费
|
|
|
+ for (InsPlyIncome item : resultList ){
|
|
|
+ BigDecimal otherFeevalue = BigDecimal.ZERO; //总跟单金额
|
|
|
+ BigDecimal invoicCommissionFeevalue = BigDecimal.ZERO; //已开票跟单费
|
|
|
+ BigDecimal readyCommissionFeevalue = BigDecimal.ZERO; // 已开票已结算 跟单费
|
|
|
+ BigDecimal noInvoicCommissionFeevalue = BigDecimal.ZERO; //未开票跟单金额
|
|
|
+ BigDecimal unSettledAmount = BigDecimal.ZERO; //未结算跟单金额
|
|
|
+ BigDecimal expendAmount = BigDecimal.ZERO; //实收金额
|
|
|
+ BigDecimal taxesFees = BigDecimal.ZERO; //税费
|
|
|
+ BigDecimal taxPoints = BigDecimal.ZERO; //税点
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ params.put("partnerCompaniesId", item.getPartnerCompaniesId());
|
|
|
+
|
|
|
+ List<InsPlyIncome> insPlyIncomes = baseMapper.queryNew(params); // 总跟单费
|
|
|
+ for (InsPlyIncome all : insPlyIncomes) {
|
|
|
+ otherFeevalue = otherFeevalue.add(all.getOtherFeevalue());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //已开票金额 = 开票未结算+ 开票已结算
|
|
|
+ params.put("handlingFeesStatus","1"); // 开票
|
|
|
+ params.put("settlementStatus","1"); // 开票
|
|
|
+ List<SettlementDocumentaryFeesEntity> invoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity invoicInsPlyIncome : invoicInsPlyIncomes) {
|
|
|
+ BigDecimal invoicIcommissionFeevalue = invoicInsPlyIncome.getSettlementAmount();// 已经开票金额
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.add(invoicIcommissionFeevalue); //开票金额
|
|
|
+
|
|
|
+ }
|
|
|
+ params.put("settlementStatus","2"); // 结算
|
|
|
+ List<SettlementDocumentaryFeesEntity> settleInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity settleInsPlyIncome : settleInsPlyIncomes) {
|
|
|
+ BigDecimal settleIcommissionFeevalue = settleInsPlyIncome.getSettlementAmount();// 已结算金额
|
|
|
+ readyCommissionFeevalue = readyCommissionFeevalue.add(settleIcommissionFeevalue); //已结算总
|
|
|
+
|
|
|
+ BigDecimal divide = new BigDecimal(100).subtract(settleInsPlyIncome.getTaxPoints()).divide(new BigDecimal(100));
|
|
|
+ expendAmount=expendAmount.add(settleInsPlyIncome.getSettlementAmount().multiply(divide));
|
|
|
+
|
|
|
+ }
|
|
|
+ params.put("settlementStatus" ,0); //未开票金额
|
|
|
+ List<SettlementDocumentaryFeesEntity> noInvoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity noInvoicInsPlyIncome : noInvoicInsPlyIncomes) {
|
|
|
+ BigDecimal noInvoicIcommissionFeevalue = noInvoicInsPlyIncome.getSettlementAmount();// 未开票金额
|
|
|
+ noInvoicCommissionFeevalue = noInvoicCommissionFeevalue.add(noInvoicIcommissionFeevalue); //未开票总金额
|
|
|
+ }
|
|
|
+
|
|
|
+ noInvoicCommissionFeevalue = otherFeevalue.subtract(invoicCommissionFeevalue);// 未开票
|
|
|
+ unSettledAmount =otherFeevalue.subtract(readyCommissionFeevalue); //未结算
|
|
|
+ //已开票金额
|
|
|
+
|
|
|
+ item.setOtherFeevalue(otherFeevalue); //总手续费
|
|
|
+ item.setAllInvoicCommissionFeevalue(invoicCommissionFeevalue); //总开票金额
|
|
|
+ // 开票未结算 = 开票金额 - 已开票已结算
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.subtract(readyCommissionFeevalue);
|
|
|
+ item.setInvoicCommissionFeevalue(invoicCommissionFeevalue); //开票未结算
|
|
|
+ item.setReadyCommissionFeevalue(readyCommissionFeevalue); //已开票已结算
|
|
|
+ item.setNoInvoicCommissionFeevalue(noInvoicCommissionFeevalue); //未开票金额
|
|
|
+ item.setUnSettledAmount(unSettledAmount); // 未结算金额
|
|
|
+ // 实收金额 = 结算金额 *1-税点
|
|
|
+ taxesFees=readyCommissionFeevalue.subtract(expendAmount);
|
|
|
+ item.setExpendAmount(expendAmount);
|
|
|
+ item.setTaxesFees(taxesFees);
|
|
|
+ }
|
|
|
+ return HttpResult.ok(resultList);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1675,6 +1782,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
if(StringUtils.isNotEmpty(insPlyIncomeVo.getTaskId())){
|
|
|
settlementDocumentaryFeesVo.setTaskId(insPlyIncomeVo.getTaskId());
|
|
|
}
|
|
|
+ settlementDocumentaryFeesVo.setAgreementType("2");
|
|
|
settlementDocumentaryFeesVo.setHandlingFeesStatus(insPlyIncomeVo.getHandlingFeesStatus());
|
|
|
settlementDocumentaryFeesVo.setInvoicingMethod(insPlyIncomeVo.getInvoicingMethod()); //开票方式
|
|
|
settlementDocumentaryFeesVo.setTaxPoints(insPlyIncomeVo.getTaxPoints()); //税点
|
|
|
@@ -1806,10 +1914,83 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
|
|
|
@Override
|
|
|
public InsPlyIncome bxTotalAmount(InsPlyIncomeVo insPlyIncomeVo) {
|
|
|
+ InsPlyIncome insPlyIncome = new InsPlyIncome();
|
|
|
HashMap<String, Object> params = new HashMap<>();
|
|
|
params = this.saveParams(insPlyIncomeVo, params);
|
|
|
- InsPlyIncome totalledAmount =baseMapper.bxTotalAmount(params); //总金额
|
|
|
- return totalledAmount;
|
|
|
+
|
|
|
+
|
|
|
+ BigDecimal sumCommissionFeevalue = BigDecimal.ZERO; //总金额
|
|
|
+ BigDecimal sumInvoicCommissionFeevalue = BigDecimal.ZERO; //开票未结算
|
|
|
+ BigDecimal sumReadyCommissionFeevalue = BigDecimal.ZERO; // 已开票已结算
|
|
|
+ BigDecimal sumNoInvoicCommissionFeevalue = BigDecimal.ZERO; //未开票金额
|
|
|
+ BigDecimal sumUnSettledAmount = BigDecimal.ZERO; //未结算金额
|
|
|
+ BigDecimal sumAllInvoicCommissionFeevalue = BigDecimal.ZERO; //总开票
|
|
|
+
|
|
|
+
|
|
|
+ List<InsPlyIncome> resultList = baseMapper.totalBxAmount(params);
|
|
|
+ for (InsPlyIncome item : resultList) {
|
|
|
+ BigDecimal commissionFeevalue = BigDecimal.ZERO; //总金额
|
|
|
+ BigDecimal invoicCommissionFeevalue = BigDecimal.ZERO; //开票未结算
|
|
|
+ BigDecimal readyCommissionFeevalue = BigDecimal.ZERO; // 已开票已结算
|
|
|
+ BigDecimal noInvoicCommissionFeevalue = BigDecimal.ZERO; //未开票金额
|
|
|
+ BigDecimal unSettledAmount; //未结算金额
|
|
|
+ params.put("partnerCompaniesId", item.getPartnerCompaniesId());
|
|
|
+
|
|
|
+ params.remove("handlingFeesStatus");
|
|
|
+ List<InsPlyIncome> insPlyIncomes = baseMapper.queryNew(params); //金额总数
|
|
|
+ for (InsPlyIncome all : insPlyIncomes) {
|
|
|
+ commissionFeevalue = commissionFeevalue.add(all.getCommissionFeevalue());
|
|
|
+ }
|
|
|
+ //已开票金额 = 开票未结算+ 开票已结算
|
|
|
+ params.put("handlingFeesStatus", "0"); // 开票
|
|
|
+ params.put("settlementStatus", "1"); // 开票
|
|
|
+ List<SettlementDocumentaryFeesEntity> invoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity invoicInsPlyIncome : invoicInsPlyIncomes) {
|
|
|
+ BigDecimal invoicIcommissionFeevalue = invoicInsPlyIncome.getSettlementAmount();// 已经开票金额
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.add(invoicIcommissionFeevalue); //开票金额
|
|
|
+
|
|
|
+ }
|
|
|
+ params.put("settlementStatus", "2"); // 结算
|
|
|
+ List<SettlementDocumentaryFeesEntity> settleInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity settleInsPlyIncome : settleInsPlyIncomes) {
|
|
|
+ BigDecimal settleIcommissionFeevalue = settleInsPlyIncome.getSettlementAmount();// 已结算金额
|
|
|
+ readyCommissionFeevalue = readyCommissionFeevalue.add(settleIcommissionFeevalue); //已结算总
|
|
|
+ }
|
|
|
+ params.put("settlementStatus", 0); //未开票金额
|
|
|
+ List<SettlementDocumentaryFeesEntity> noInvoicInsPlyIncomes = settlementDocumentaryFeesService.queryNew(params); //金额总数
|
|
|
+ for (SettlementDocumentaryFeesEntity noInvoicInsPlyIncome : noInvoicInsPlyIncomes) {
|
|
|
+ BigDecimal noInvoicIcommissionFeevalue = noInvoicInsPlyIncome.getSettlementAmount();// 未开票金额
|
|
|
+ noInvoicCommissionFeevalue = noInvoicCommissionFeevalue.add(noInvoicIcommissionFeevalue); //未开票总金额
|
|
|
+ }
|
|
|
+
|
|
|
+ noInvoicCommissionFeevalue = commissionFeevalue.subtract(invoicCommissionFeevalue);// 未开票
|
|
|
+ unSettledAmount = commissionFeevalue.subtract(readyCommissionFeevalue); //未结算
|
|
|
+ //已开票金额
|
|
|
+
|
|
|
+ item.setCommissionFeevalue(commissionFeevalue); //总手续费
|
|
|
+ item.setAllInvoicCommissionFeevalue(invoicCommissionFeevalue); //总开票金额
|
|
|
+ // 开票未结算 = 开票金额 - 已开票已结算
|
|
|
+ invoicCommissionFeevalue = invoicCommissionFeevalue.subtract(readyCommissionFeevalue);
|
|
|
+ item.setInvoicCommissionFeevalue(invoicCommissionFeevalue); //开票未结算
|
|
|
+ item.setReadyCommissionFeevalue(readyCommissionFeevalue); //已开票已结算
|
|
|
+ item.setNoInvoicCommissionFeevalue(noInvoicCommissionFeevalue); //未开票金额
|
|
|
+ item.setUnSettledAmount(unSettledAmount); // 未结算金额
|
|
|
+
|
|
|
+ sumCommissionFeevalue = sumCommissionFeevalue.add(item.getCommissionFeevalue());
|
|
|
+ sumInvoicCommissionFeevalue = sumInvoicCommissionFeevalue.add(item.getInvoicCommissionFeevalue());
|
|
|
+ sumReadyCommissionFeevalue = sumReadyCommissionFeevalue.add(item.getReadyCommissionFeevalue());
|
|
|
+ sumNoInvoicCommissionFeevalue = sumNoInvoicCommissionFeevalue.add(item.getNoInvoicCommissionFeevalue());
|
|
|
+ sumUnSettledAmount = sumUnSettledAmount.add(item.getUnSettledAmount());
|
|
|
+ sumAllInvoicCommissionFeevalue = sumAllInvoicCommissionFeevalue.add(item.getAllInvoicCommissionFeevalue());
|
|
|
+ }
|
|
|
+
|
|
|
+ insPlyIncome.setCommissionFeevalue(sumCommissionFeevalue);
|
|
|
+ insPlyIncome.setInvoicCommissionFeevalue(sumInvoicCommissionFeevalue);
|
|
|
+ insPlyIncome.setReadyCommissionFeevalue(sumReadyCommissionFeevalue);
|
|
|
+ insPlyIncome.setNoInvoicCommissionFeevalue(sumNoInvoicCommissionFeevalue);
|
|
|
+ insPlyIncome.setAllInvoicCommissionFeevalue(sumAllInvoicCommissionFeevalue);
|
|
|
+ insPlyIncome.setUnSettledAmount(sumUnSettledAmount);
|
|
|
+ return insPlyIncome;
|
|
|
}
|
|
|
@Override
|
|
|
public InsPlyIncome ptTotalAmount(InsPlyIncomeVo insPlyIncomeVo) {
|
|
|
@@ -1925,6 +2106,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
settlementDocumentaryFeesVo.setUnsettledAmount(insPlyIncomeVo.getNoInvoicCommissionFeevalue().subtract(insPlyIncomeVo.getSettlementAmount())); //未结算
|
|
|
settlementDocumentaryFeesVo.setSettlementAmount(insPlyIncomeVo.getSettlementAmount());//已经开票
|
|
|
settlementDocumentaryFeesVo.setCreateTime(LocalDateTime.now());
|
|
|
+ settlementDocumentaryFeesVo.setAgreementType(insPlyIncomeVo.getAgreementType());
|
|
|
settlementDocumentaryFeesVo.setIds(insPlyIncomeVo.getIncomeIds());
|
|
|
settlementDocumentaryFeesVo.setSettlementStatus("1");
|
|
|
settlementDocumentaryFeesVo.setIsNotCar(insPlyIncomeVo.getIsNotCar());
|