Browse Source

客户账单明细加未收金额区间查询条件

master
fanzongzhe 12 months ago
parent
commit
5299fd9601
  1. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java
  2. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java
  3. 81
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  4. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java
  5. 116
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java

@ -87,4 +87,7 @@ public class FinUncollectedReceivablesDetailedQuery implements Query {
private String menuUrl;
@ApiModelProperty("0销售专员申请,1内勤申请")
private String state;
private String noMoneyStart; //未还金额开始
private String noMoneyEnd; //未还金额结束
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java

@ -120,4 +120,6 @@ public interface FinUncollectedReceivablesDetailedMapper extends BaseMapper<FinU
int updateKxState(@Param("list") List<String> busVinSid, @Param("kxState") String kxState);
String selectOtherReceivableMoneyByBusVinSid(String busVinSid);
}
IPage<FinUncollectedReceivablesDetailedVo> selectPageVo2(IPage<FinUncollectedReceivablesDetailed> page, @Param(Constants.WRAPPER)QueryWrapper<FinUncollectedReceivablesDetailed> qw);
}

81
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -356,4 +356,83 @@
FROM fin_uncollected_receivables_detailed
WHERE busVinSid = #{busVinSid}
</select>
</mapper>
<select id="selectPageVo2"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo">
SELECT
*
FROM
(
SELECT
a.sid,
a.customerName,
a.contractNo,
a.linkNo as vinNo,
a.receivablesName,
a.payType,
a.kxState,
a.reveivableMoney,
a.subscriptionMoney,
( a.reveivableMoney - a.subscriptionMoney ) AS noSubscriptionMoney,
a.createTime,
a.remarks,
a.orgSidPath,
a.createBySid,
a.useOrgSid,
a.busVinSid
FROM
(
SELECT
u.sid,
u.useOrgSid,
u.busVinSid,
u.customerName,
u.contractNo,
RIGHT(v.linkNo,8) as linkNo,
u.receivablesName,
u.payType,
u.orgSidPath,
u.createBySid,
u.kxState,
u.reveivableMoney,
u.createTime,
u.remarks,
(
SELECT
ifnull( sum( dbalance ), 0 ) AS subscriptionMoney
FROM
(
SELECT
d.receivablesSid,
cast((
d.`subscriptionMoney` - COALESCE ( SUM( f.`thisUseMoney` ), 0 )) AS DECIMAL ( 10, 2 )) AS dbalance
FROM
fin_selected_receivables_detailed d
LEFT JOIN (
SELECT
f.busSid,
f.thisUseMoney
FROM
fin_funds_carried_forward_veh f
LEFT JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE
fa.`nodeState` = '已办结'
) f ON f.`busSid` = d.`sid`
WHERE
d.auditState = 3
GROUP BY
d.`sid`
) d
WHERE
d.receivablesSid = u.sid
) AS subscriptionMoney
FROM
fin_uncollected_receivables_detailed AS u
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle AS v ON u.busVinSid = v.sid
) a
) AS b
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java

@ -92,7 +92,7 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece
@Override
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillDetailedListPage(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.detailedListPageVo(pq);
PagerVo<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.detailedListPageVo2(pq);
return rb.success().setData(pv);
}

116
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -390,6 +390,120 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
return qw;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo2(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
//==============================分页开始====================================
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
String orgPath = params.getOrgPath();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
params.setUseOrgSid(useOrgSid);
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(params.getMenuUrl())) {
//授权
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(params.getOrgPath());
privilegeQuery.setMenuUrl(params.getMenuUrl());
privilegeQuery.setUserSid(params.getCreateBySid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
orgPath = orgPath + "/";
int i1 = orgPath.indexOf("/");
int i2 = orgPath.indexOf("/", i1 + 1);
int i3 = orgPath.indexOf("/", i2 + 1);
int i4 = orgPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i1);
qw.like("b.orgSidPath", orgPath);
} else if ("2".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i2);
qw.like("b.orgSidPath", orgPath);
} else if ("3".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i3);
qw.like("b.orgSidPath", orgPath);
} else if ("4".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i4);
qw.like("b.orgSidPath", orgPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("b.createBySid", params.getCreateBySid());
} else {
PagerVo<FinUncollectedReceivablesDetailedVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<FinUncollectedReceivablesDetailedVo> p = new PagerVo<>();
return p;
}
} else {
qw.eq("b.useOrgSid", params.getUseOrgSid());
}
//车架号查询
if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("b.vinNo", params.getVinNo());
}
if (StringUtils.isNotBlank(params.getKxState())) {
qw.like("b.kxState", params.getKxState());
}
if (StringUtils.isNotBlank(params.getContractNo())) {
qw.like("b.contractNo", params.getContractNo());
}
if (StringUtils.isNotBlank(params.getCustomerName())) {
qw.like("b.customerName", params.getCustomerName());
}
if (StringUtils.isNotBlank(params.getReceivablesName())) {
qw.like("b.receivablesName", params.getReceivablesName());
}
String createStartTime = params.getCreateStartTime();
String createEndTime = params.getCreateEndTime();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (b.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (b.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
String noMoneyStart = params.getNoMoneyStart();
String noMoneyEnd = params.getNoMoneyEnd();
qw.apply(StringUtils.isNotEmpty(noMoneyStart), "b.noSubscriptionMoney >=" + noMoneyStart).
apply(StringUtils.isNotEmpty(noMoneyEnd), "b.noSubscriptionMoney <=" + noMoneyEnd
);
qw.orderByDesc("b.createTime");
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo2(page, qw);
//=============================分页结束======================================
List<FinUncollectedReceivablesDetailedVo> records = pagging.getRecords();
for (FinUncollectedReceivablesDetailedVo record : records) {
record.setDownload(false);
//获取单条对应的应收未收sid
String sid = record.getSid();
BigDecimal noSubscriptionMoney = new BigDecimal(record.getNoSubscriptionMoney());
String busVinSid = record.getBusVinSid();
BusSalesOrderVehicle data = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(busVinSid).getData();
if (null != data) {
String salesOrderSid = data.getSalesOrderSid();
FinUncollectedReceivablesDetailedPdfVo pdfVo = baseMapper.selectPdf(sid);
if (null != pdfVo) {
//根据销售订单编号查询金融方案 分别取出保证金
SolutionsDetailsVo svo = loanSolutionsFeign.selectDetails(salesOrderSid).getData();
if (noSubscriptionMoney.compareTo(BigDecimal.ZERO) <= 0) {
if (null != svo) {
if ((StringUtils.isNotBlank(svo.getBondAmounts()) && !("0.00").equals(svo.getBondAmounts()) && !("0").equals(svo.getBondAmounts()))
|| (StringUtils.isNotBlank(svo.getDepositPremium()) && !("0.00").equals(svo.getDepositPremium()) && !("0").equals(svo.getDepositPremium()))
|| (StringUtils.isNotBlank(svo.getDepositSettle()) && !("0.00").equals(svo.getDepositSettle())) && !("0").equals(svo.getDepositSettle())) {
BaseVehicleState vehicleState = baseVehicleStateFeign.selectOneByBusSidAndOrderSid(record.getBusVinSid(), salesOrderSid).getData();
if (null != vehicleState) {
if (StringUtils.isNotBlank(vehicleState.getFinState())) {
if (vehicleState.getFinState().equals("1")) {
record.setDownload(true);
}
}
}
}
}
}
}
}
}
PagerVo<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
//==============================分页开始====================================
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
@ -1030,4 +1144,4 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
String otherReceivableMoney = baseMapper.selectOtherReceivableMoneyByBusVinSid(busVinSid);
return rb.success().setData(otherReceivableMoney);
}
}
}

Loading…
Cancel
Save