|
|
@ -27,6 +27,8 @@ package com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendix; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContract; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContractVo; |
|
|
@ -40,6 +42,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -73,6 +76,8 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
@Autowired |
|
|
|
private CommonContractFeign commonContractFeign; |
|
|
|
@Autowired |
|
|
|
private FileUploadComponent fileUploadComponent; |
|
|
|
@Autowired |
|
|
|
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
@ -88,7 +93,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
qw.eq("useOrgSid", query.getUseOrgSid()); |
|
|
|
qw.eq("createBySid", query.getCreateBySid()); |
|
|
|
String[] sids = query.getSids(); |
|
|
|
if (sids != null){ |
|
|
|
if (sids != null) { |
|
|
|
for (String sid : sids) { |
|
|
|
if (StringUtils.isNotBlank(sid)) { |
|
|
|
qw.ne("sid", sid); |
|
|
@ -131,7 +136,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); |
|
|
|
Integer isDept = data1.getIsDept(); |
|
|
|
String psid = data1.getPsid(); |
|
|
|
if (isDept == 0 && !psid.equals(0)){ |
|
|
|
if (isDept == 0 && !psid.equals(0)) { |
|
|
|
orgSidPath = s; |
|
|
|
break; |
|
|
|
} |
|
|
@ -177,7 +182,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); |
|
|
|
Integer isDept = data1.getIsDept(); |
|
|
|
String psid = data1.getPsid(); |
|
|
|
if (isDept == 0 && !psid.equals(0)){ |
|
|
|
if (isDept == 0 && !psid.equals(0)) { |
|
|
|
orgSidPath = s; |
|
|
|
break; |
|
|
|
} |
|
|
@ -255,7 +260,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); |
|
|
|
Integer isDept = data1.getIsDept(); |
|
|
|
String psid = data1.getPsid(); |
|
|
|
if (isDept == 0 && !psid.equals(0)){ |
|
|
|
if (isDept == 0 && !psid.equals(0)) { |
|
|
|
orgSidPath = s; |
|
|
|
break; |
|
|
|
} |
|
|
@ -315,6 +320,161 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService |
|
|
|
} |
|
|
|
|
|
|
|
public void updateSubscriptionStateBySid(String sid2, int subscriptionState) { |
|
|
|
baseMapper.updateSubscriptionStateBySid(sid2,subscriptionState); |
|
|
|
baseMapper.updateSubscriptionStateBySid(sid2, subscriptionState); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* app获取客户账单列表 |
|
|
|
* |
|
|
|
* @param pq |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public PagerVo<AppCustomerBillSummaryDetailsVo> getCustomerBillList(PagerQuery<AppFinUncollectedReceivablesDetailedQuery> pq) { |
|
|
|
String userSid = pq.getParams().getUserSid(); |
|
|
|
String useOrgSid = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid(); |
|
|
|
if (StringUtils.isNotBlank(useOrgSid)) { |
|
|
|
pq.getParams().setUseOrgSid(useOrgSid); |
|
|
|
} |
|
|
|
QueryWrapper<FinUncollectedReceivablesDetailed> qw = appCreateQueryWrapper(pq.getParams()); |
|
|
|
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<AppCustomerBillSummaryDetailsVo> pagging = baseMapper.getCustomerBillList(page, qw); |
|
|
|
for (AppCustomerBillSummaryDetailsVo record : pagging.getRecords()) { |
|
|
|
BigDecimal totalDeposit = new BigDecimal(0); |
|
|
|
BigDecimal totalPrice = new BigDecimal(0); |
|
|
|
BigDecimal noSubscriptionMoney = new BigDecimal(0); |
|
|
|
String sid = record.getContractSid(); |
|
|
|
String receivablesName = record.getReceivablesName(); |
|
|
|
ResultBean<CommonContractVo> commonContractVoResultBean = commonContractFeign.fetchBySid(sid); |
|
|
|
CommonContractVo data = commonContractVoResultBean.getData(); |
|
|
|
if (receivablesName.equals("订金")) { |
|
|
|
BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalDeposit = oneDeposit.multiply(num); |
|
|
|
record.setReceivable(String.valueOf(totalDeposit)); |
|
|
|
} else if (receivablesName.equals("车款")) { |
|
|
|
BigDecimal price = new BigDecimal(data.getPrice()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalPrice = price.multiply(num); |
|
|
|
record.setReceivable(String.valueOf(totalPrice)); |
|
|
|
} |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectGroupConAndRecAndPay(); |
|
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
|
String receivablesName1 = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
|
String subscriptionMoney = finSelectedReceivablesDetailedVo.getSubscriptionMoney(); |
|
|
|
if (receivablesName1.equals("订金")) { |
|
|
|
record.setPaid(subscriptionMoney); |
|
|
|
noSubscriptionMoney = totalDeposit.subtract(new BigDecimal(subscriptionMoney)); |
|
|
|
record.setUnReceivable(String.valueOf(noSubscriptionMoney)); |
|
|
|
} else if (receivablesName1.equals("车款")) { |
|
|
|
noSubscriptionMoney = totalPrice.subtract(new BigDecimal(subscriptionMoney)); |
|
|
|
record.setUnReceivable(String.valueOf(noSubscriptionMoney)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
PagerVo<AppCustomerBillSummaryDetailsVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<FinUncollectedReceivablesDetailed> appCreateQueryWrapper(AppFinUncollectedReceivablesDetailedQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.like("contractName", query.getName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.like("contractNo", query.getName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getUseOrgSid())) { |
|
|
|
qw.eq("useOrgSid", query.getUseOrgSid()); |
|
|
|
} |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<FinUncollectedReceivablesDetailed> app2createQueryWrapper(AppCustomerBillSummaryQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getContractSid())) { |
|
|
|
qw.eq("contractSid", query.getContractSid()); |
|
|
|
} |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<AppCustomerBillSummaryVo> getCustomerBill2List(PagerQuery<AppCustomerBillSummaryQuery> pq) { |
|
|
|
QueryWrapper<FinUncollectedReceivablesDetailed> qw = app2createQueryWrapper(pq.getParams()); |
|
|
|
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<AppCustomerBillSummaryVo> pagging = baseMapper.getCustomerBill2List(page, qw); |
|
|
|
List<AppCustomerBillSummaryVo> records = pagging.getRecords(); |
|
|
|
for (AppCustomerBillSummaryVo record : records) { |
|
|
|
BigDecimal totalDeposit = new BigDecimal(0); |
|
|
|
BigDecimal totalPrice = new BigDecimal(0); |
|
|
|
BigDecimal noSubscriptionMoney = new BigDecimal(0); |
|
|
|
String sid = pq.getParams().getContractSid(); |
|
|
|
String receivablesName = record.getReceivablesName(); |
|
|
|
ResultBean<CommonContractVo> commonContractVoResultBean = commonContractFeign.fetchBySid(sid); |
|
|
|
CommonContractVo data = commonContractVoResultBean.getData(); |
|
|
|
|
|
|
|
if (receivablesName.equals("订金")) { |
|
|
|
BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalDeposit = oneDeposit.multiply(num); |
|
|
|
record.setReceivable(String.valueOf(totalDeposit)); |
|
|
|
record.setPaid("0"); |
|
|
|
record.setUnReceivable(String.valueOf(totalDeposit)); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); |
|
|
|
BigDecimal lastSubscriptionMoney = new BigDecimal(0); |
|
|
|
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)); |
|
|
|
} |
|
|
|
} else if (receivablesName.equals("车款")) { |
|
|
|
BigDecimal price = new BigDecimal(data.getPrice()); |
|
|
|
BigDecimal num = new BigDecimal(data.getNum()); |
|
|
|
totalPrice = price.multiply(num); |
|
|
|
record.setReceivable(String.valueOf(totalPrice)); |
|
|
|
record.setPaid("0"); |
|
|
|
record.setUnReceivable(String.valueOf(totalPrice)); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); |
|
|
|
BigDecimal lastSubscriptionMoney = new BigDecimal(0); |
|
|
|
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)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
PagerVo<AppCustomerBillSummaryVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public AppCustomerBillDetailVo getCustomerBillDetail(String paymentSid) { |
|
|
|
AppCustomerBillDetailVo vo = baseMapper.selectBySid(paymentSid); |
|
|
|
String customerImage = fileUploadComponent.getUrlPrefix() + vo.getCustomerImage(); |
|
|
|
vo.setCustomerImage(customerImage); |
|
|
|
List<SysStaffOrgVo> data = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(vo.getStaffSid()).getData(); |
|
|
|
for (SysStaffOrgVo datum : data) { |
|
|
|
vo.setHandle(datum.getStaffName()); |
|
|
|
} |
|
|
|
ResultBean<CommonContractVo> commonContractVoResultBean = commonContractFeign.fetchBySid(vo.getContractSid()); |
|
|
|
CommonContractVo commonContractVo = commonContractVoResultBean.getData(); |
|
|
|
BigDecimal totalDeposit = new BigDecimal(0); |
|
|
|
BigDecimal totalPrice = new BigDecimal(0); |
|
|
|
if (vo.getReceivablesName().equals("订金")) { |
|
|
|
BigDecimal oneDeposit = new BigDecimal(commonContractVo.getOneDeposit()); |
|
|
|
BigDecimal num = new BigDecimal(commonContractVo.getNum()); |
|
|
|
totalDeposit = oneDeposit.multiply(num); |
|
|
|
vo.setMoney(String.valueOf(totalDeposit)); |
|
|
|
} else if (vo.getReceivablesName().equals("车款")) { |
|
|
|
BigDecimal price = new BigDecimal(commonContractVo.getPrice()); |
|
|
|
BigDecimal num = new BigDecimal(commonContractVo.getNum()); |
|
|
|
totalPrice = price.multiply(num); |
|
|
|
vo.setMoney(String.valueOf(totalPrice)); |
|
|
|
} |
|
|
|
return vo; |
|
|
|
} |
|
|
|
} |