|
|
@ -33,10 +33,12 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationQuery; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationVo; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedQuery; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -48,6 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
@ -68,6 +71,8 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private CommonContractFeign commonContractFeign; |
|
|
|
@Autowired |
|
|
|
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService; |
|
|
|
|
|
|
|
private QueryWrapper<FinUncollectedReceivablesDetailed> createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -152,10 +157,10 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
totalPrice = price.multiply(num); |
|
|
|
record.setCurrentReceivableMoney(String.valueOf(totalPrice)); |
|
|
|
} |
|
|
|
List<FinUncollectedReceivablesDetailedVo> finUncollectedReceivablesDetailedVos = baseMapper.selectGroupConAndRecAndPay(contractNo, receivablesName, paymentTypeValue); |
|
|
|
for (FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo : finUncollectedReceivablesDetailedVos) { |
|
|
|
String receivablesName1 = finUncollectedReceivablesDetailedVo.getReceivablesName(); |
|
|
|
String subscriptionMoney = finUncollectedReceivablesDetailedVo.getSubscriptionMoney(); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectGroupConAndRecAndPay(); |
|
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
|
String receivablesName1 = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
|
String subscriptionMoney = finSelectedReceivablesDetailedVo.getSubscriptionMoney(); |
|
|
|
if (receivablesName1.equals("订金")) { |
|
|
|
record.setSubscriptionMoney(subscriptionMoney); |
|
|
|
noSubscriptionMoney = totalDeposit.subtract(new BigDecimal(subscriptionMoney)); |
|
|
@ -183,4 +188,58 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
PagerVo<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) { |
|
|
|
FinUncollectedReceivablesDetailedQuery params = pq.getParams(); |
|
|
|
QueryWrapper<FinUncollectedReceivablesDetailed> qw = createQueryWrapper(params); |
|
|
|
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
List<FinUncollectedReceivablesDetailedVo> records = pagging.getRecords(); |
|
|
|
for (FinUncollectedReceivablesDetailedVo record : records) { |
|
|
|
BigDecimal totalDeposit = null; |
|
|
|
BigDecimal totalPrice = null; |
|
|
|
BigDecimal noSubscriptionMoney = null; |
|
|
|
String contractSid = record.getContractSid(); |
|
|
|
String contractNo = record.getContractNo(); |
|
|
|
String receivablesName = record.getReceivablesName(); |
|
|
|
String paymentTypeValue = record.getPaymentTypeValue(); |
|
|
|
ResultBean<CommonContractVo> commonContractVoResultBean = commonContractFeign.fetchBySid(contractSid); |
|
|
|
CommonContractVo data = commonContractVoResultBean.getData(); |
|
|
|
if (receivablesName.equals("订金")) { |
|
|
|
BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalDeposit = oneDeposit.multiply(num); |
|
|
|
record.setCurrentReceivableMoney(String.valueOf(totalDeposit)); |
|
|
|
record.setSubscriptionMoney("0"); |
|
|
|
record.setNoSubscriptionMoney(String.valueOf(totalDeposit)); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); |
|
|
|
BigDecimal lastSubscriptionMoney = null; |
|
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
|
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); |
|
|
|
noSubscriptionMoney = totalDeposit.subtract(subscriptionMoney.add(lastSubscriptionMoney)); |
|
|
|
lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); |
|
|
|
finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); |
|
|
|
} |
|
|
|
record.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos); |
|
|
|
} else if (receivablesName.equals("车款")) { |
|
|
|
BigDecimal price = new BigDecimal(data.getPrice()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalPrice = price.multiply(num); |
|
|
|
record.setCurrentReceivableMoney(String.valueOf(totalPrice)); |
|
|
|
record.setSubscriptionMoney("0"); |
|
|
|
record.setNoSubscriptionMoney(String.valueOf(totalPrice)); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); |
|
|
|
BigDecimal lastSubscriptionMoney = null; |
|
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
|
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); |
|
|
|
noSubscriptionMoney = totalPrice.subtract(subscriptionMoney.add(lastSubscriptionMoney)); |
|
|
|
lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); |
|
|
|
finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); |
|
|
|
} |
|
|
|
record.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos); |
|
|
|
} |
|
|
|
} |
|
|
|
PagerVo<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |