Browse Source

优化移动端应收未收分页列表

master
dimengzhe 2 years ago
parent
commit
2eda2726bb
  1. 54
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  2. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java
  3. 33
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  4. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java
  5. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.xml
  6. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java
  7. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  8. 42
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  9. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

54
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -33,6 +33,7 @@ import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarry
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum;
import com.yxt.anrui.buscenter.api.busdelivered.BusDelivered;
import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
@ -1929,31 +1930,36 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
List<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid());
if (vehicleDetailsVos.size() > 0) {
for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) {
BusDeliveredDto busDeliveredDto = new BusDeliveredDto();
busDeliveredDto.setCreateBySid(busArrearsCarryVehicleApply.getCreateBySid());
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());
busDeliveredDto.setPaymentMethodKey(busArrearsCarryVehicleApply.getPaymentMethodKey());
busDeliveredDto.setPaymentMethod(busArrearsCarryVehicleApply.getPaymentMethod());
busDeliveredDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
busDeliveredDto.setName(busArrearsCarryVehicleApply.getCustomerName());
AppOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getSaleOrderDetailsByContractNo(busArrearsCarryVehicleApply.getContractNo()).getData();
if (busSalesOrderDetailsVo != null) {
AppOrderPriceInfoVo priceInfoVo = busSalesOrderDetailsVo.getPriceInfo();
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice());
AppOrderModelInfoVo appOrderModelInfoVo = busSalesOrderDetailsVo.getModelInfo();
busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName());
busDeliveredDto.setMobile(busSalesOrderDetailsVo.getPhone());
}
busDeliveredDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busArrearsCarryVehicleApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(),vehicleDetailsVo.getVinSid());
//根据busVinSid查询待出库中是否存在该数据
ResultBean<BusDelivered> busDeliveredResultBean = busDeliveredService.selectByBusVinSid(busSalesOrderVehicle.getSid());
if (busDeliveredResultBean.getData() == null) {
BusDeliveredDto busDeliveredDto = new BusDeliveredDto();
busDeliveredDto.setCreateBySid(busArrearsCarryVehicleApply.getCreateBySid());
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());
busDeliveredDto.setPaymentMethodKey(busArrearsCarryVehicleApply.getPaymentMethodKey());
busDeliveredDto.setPaymentMethod(busArrearsCarryVehicleApply.getPaymentMethod());
busDeliveredDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
busDeliveredDto.setName(busArrearsCarryVehicleApply.getCustomerName());
AppOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getSaleOrderDetailsByContractNo(busArrearsCarryVehicleApply.getContractNo()).getData();
if (busSalesOrderDetailsVo != null) {
AppOrderPriceInfoVo priceInfoVo = busSalesOrderDetailsVo.getPriceInfo();
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice());
AppOrderModelInfoVo appOrderModelInfoVo = busSalesOrderDetailsVo.getModelInfo();
busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName());
busDeliveredDto.setMobile(busSalesOrderDetailsVo.getPhone());
}
busDeliveredDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busArrearsCarryVehicleApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
//根据合同和车辆sid查询销售订单车辆sid
BusSalesOrderVehicle busSaleOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(), vehicleDetailsVo.getVinSid());
busDeliveredDto.setBusVinSid(busSaleOrderVehicle.getSid());
busDeliveredService.saveOrUpdateDto(busDeliveredDto);
}
//根据合同和车辆sid查询销售订单车辆sid
BusSalesOrderVehicle busSaleOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(), vehicleDetailsVo.getVinSid());
busDeliveredDto.setBusVinSid(busSaleOrderVehicle.getSid());
busDeliveredService.saveOrUpdateDto(busDeliveredDto);
}
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -59,5 +60,6 @@ public class AppFinUncollectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("应收金额:不变")
@JsonIgnore
private String reveivableMoney;
}

33
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -66,6 +66,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollected
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
@ -157,6 +158,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private FinKingDeeService finKingDeeService;
@Autowired
private FinFundsCarriedForwardVehService finFundsCarriedForwardVehService;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -1013,7 +1016,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
* @param pagerQuery
* @return
*/
public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) {
public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList111(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
AppFinSelectedReceivablesPaymentDetailsQuery params = pagerQuery.getParams();
String orgPath = pagerQuery.getParams().getOrgPath();
@ -1135,7 +1138,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
* @param pagerQuery
* @return
*/
public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList111(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) {
public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) {
IPage<AppFinSelectedReceivablesPaymentDetailsQuery> page = PagerUtil.queryToPage(pagerQuery);
AppFinSelectedReceivablesPaymentDetailsQuery params = pagerQuery.getParams();
String orgPath = params.getOrgPath();
@ -1157,14 +1160,36 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (params.getSidList().size() > 0) {
qw.notIn("furd.sid", params.getSidList());
}
qw.gt("furd.currentReceivableMoney", 0);//应收金额
/* qw.gt("furd.currentReceivableMoney", 0);//应收金额*/
if (StringUtils.isNotBlank(pagerQuery.getParams().getPurchaseSystemSid())) {
qw.eq("furd.purchaseSystemSid", pagerQuery.getParams().getPurchaseSystemSid());
} else {
qw.eq("furd.purchaseSystemSid", "0");
}
}
IPage<AppFinUncollectedReceivablesDetailedVo> pagging = finSelectedReceivablesDetailedService.getPaymentDetailsList(page, qw,params.getName());
IPage<AppFinUncollectedReceivablesDetailedVo> pagging = finSelectedReceivablesDetailedService.getPaymentDetailsList(page, qw, params.getName());
/* List<AppFinUncollectedReceivablesDetailedVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (int i = 0; i < records.size(); i++) {
AppFinUncollectedReceivablesDetailedVo vo = records.get(i);
//查询当前应收:应收金额-所有认款的余额=剩余应收金额 (所有认款的余额 = 认款金额-结转之和)
String receivablesSid = vo.getReceivablesSid();
//查询所有的该应收未收的已提交和已审核的认款
List<FinSelectedReceivablesDetailed> stringList = finSelectedReceivablesDetailedService.selectListByReceivableSid(receivablesSid);
stringList.removeAll(Collections.singleton(null));
if (!stringList.isEmpty()) {
//所有已提交和已审核的认款
BigDecimal bigDecimalVinAll = stringList.stream().map(FinSelectedReceivablesDetailed::getSubscriptionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
List<String> sidsList = stringList.stream().map(v -> v.getSid()).collect(Collectors.toList());
//查询所有已提交和已审核的认款是否包含结转的
String forwardMoneyAll = finFundsCarriedForwardVehService.selectByBusSid(sidsList);
BigDecimal reveivableMoney = bigDecimalVinAll.subtract(new BigDecimal(forwardMoneyAll));
BigDecimal receivable = new BigDecimal(vo.getReceivable()).subtract(reveivableMoney);
vo.setReceivable(receivable.toString());
}
}
}*/
return pagging;
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java

@ -74,4 +74,6 @@ public interface FinFundsCarriedForwardVehMapper extends BaseMapper<FinFundsCarr
@Update("update fin_funds_carried_forward_veh set balance = #{balance} where sid = #{sid}")
void updateYeByMainSid(@Param("balance") String balance,@Param("sid") String sid);
String selectByBusSid(List<String> sidsList);
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.xml

@ -37,4 +37,11 @@
ON fv.`busSid` = fd.`sid`
WHERE fa.`nodeState` != "待提交" AND fa.`nodeState` != "终止" AND fa.`nodeState` != "发起申请" AND fv.busSid = #{busSid}
</select>
<select id="selectByBusSid" resultType="java.lang.String">
select IFNULL(SUM(thisUseMoney),0) from fin_funds_carried_forward_veh where busSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java

@ -157,4 +157,8 @@ public class FinFundsCarriedForwardVehService extends MybatisBaseService<FinFund
public void updateYeByMainSid(String balance, String sid) {
baseMapper.updateYeByMainSid(balance,sid);
}
public String selectByBusSid(List<String> sidsList) {
return baseMapper.selectByBusSid(sidsList);
}
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java

@ -157,4 +157,6 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
void updateYeBySid(@Param("balance") String balance,@Param("busSid") String busSid);
String selectBalanceByReceivedSid(String receivablesSid);
List<FinSelectedReceivablesDetailed> selectListByReceivableSid(String receivablesSid);
}

42
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -25,29 +25,38 @@
<select id="getPaymentDetailsList"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo">
SELECT distinct furd.sid,
furd.contractNo AS contractId,
furd.receivablesName AS projectName,
furd.customerPhone AS mobile,
furd.customerName AS `name`,
(furd.reveivableMoney - COALESCE(SUM(df.dbalance), 0)) AS receivable,
furd.contractNo AS contractId,
furd.receivablesName AS projectName,
furd.customerPhone AS mobile,
furd.customerName AS `name`,
furd.customerSid,
furd.useOrgSid,
(furd.`reveivableMoney` - COALESCE(df.dbalance, 0)) AS receivable,
furd.contractSid,
if(bv.linkNo is null or LENGTH(trim(bv.linkNo)) &lt; 1,
if(furd.payTypeKey = 2, RIGHT(bv.temporaryNo, 2), bv.temporaryNo),
RIGHT(bv.linkNo, 8)) as vin,
RIGHT(bv.linkNo, 8)) as vin,
furd.busVinSid,
furd.payType,
furd.payTypeKey,
0 as subscribedOf,
furd.sid as receivablesSid,
CURRENT_DATE() as confirmDate
0 as subscribedOf,
furd.sid as receivablesSid,
CURRENT_DATE() as confirmDate,
furd.purchaseSystemSid
FROM fin_uncollected_receivables_detailed furd
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = furd.busVinSid
LEFT JOIN (
SELECT d.sid, d.`collSid`, (d.`subscriptionMoney` - COALESCE(SUM(f.`thisUseMoney`), 0)) AS dbalance
SELECT d.sid,
d.receivablesSid,
d.`collSid`,
(
sum(d.`subscriptionMoney`) - COALESCE(SUM(f.`thisUseMoney`), 0)) AS dbalance
FROM fin_selected_receivables_detailed d
LEFT JOIN `fin_funds_carried_forward_veh` f ON f.`busSid` = d.`sid`
GROUP BY d.`sid`
) df ON df.collSid = furd.`sid`
where d.auditState = 1
or d.auditState = 3
GROUP BY d.`receivablesSid`
) df ON df.receivablesSid = furd.`sid`
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">
@ -63,6 +72,7 @@
and length(furd.busVinSid)
>0
</where>
having receivable>0
order by furd.contractNo desc
</select>
@ -373,4 +383,12 @@
where receivablesSid = #{receivablesSid}
and (auditState = 1 or auditState = 3)
</select>
<select id="selectListByReceivableSid"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed">
select *
from fin_selected_receivables_detailed
where receivablesSid = #{receivablesSid}
and (auditState = 1 or auditState = 3)
</select>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

@ -575,4 +575,8 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
public String selectBalanceByReceivedSid(String receivablesSid) {
return baseMapper.selectBalanceByReceivedSid(receivablesSid);
}
public List<FinSelectedReceivablesDetailed> selectListByReceivableSid(String receivablesSid) {
return baseMapper.selectListByReceivableSid(receivablesSid);
}
}
Loading…
Cancel
Save