Browse Source

客户账单明细和收款收据模板下载

master
fanzongzhe 2 years ago
parent
commit
b7bb83b659
  1. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java
  2. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java
  3. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java
  4. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  5. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java
  6. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  7. 31
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  8. 108
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java

@ -60,7 +60,7 @@ public interface FinSelectedReceivablesDetailedFeign {
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody FinSelectedReceivablesDetailedDto dto);
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody FinSelectedReceivablesDetailedDto dto, @PathVariable("sid") String sid);
@ -69,4 +69,7 @@ public interface FinSelectedReceivablesDetailedFeign {
@PostMapping("/fetchByContractNo")
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByContractNo(@RequestParam("contractNo") String contractNo);
@ApiOperation("根据合同编号查询")
@PostMapping("/fetchByReceivablesSid")
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByReceivablesSid(@RequestParam("receivablesSid") String receivablesSid);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java

@ -61,4 +61,9 @@ public class FinSelectedReceivablesDetailedFeignFallback implements FinSelectedR
return null;
}
@Override
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByReceivablesSid(String receivablesSid) {
return null;
}
}

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

@ -85,6 +85,8 @@ public class FinUncollectedReceivablesDetailedVo implements Vo {
private String auditDate; // 审核时间
@ApiModelProperty("应收款项明细")
private List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos; // 应收款项明细
@ApiModelProperty("销售车辆信息sid")
private String busVinSid; // 车架号
@ApiModelProperty("是否能下载 ture可以下载 false不可以下载")
private Boolean download;

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

@ -121,5 +121,6 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
@Select("select * from fin_selected_receivables_detailed where contractNo = #{contractNo}")
List<FinSelectedReceivablesDetailed> fetchByContractNo(String contractNo);
@Select("select * from fin_selected_receivables_detailed where receivablesSid = #{receivablesSid} and auditState = 3")
List<FinSelectedReceivablesDetailed> fetchByReceivablesSid(String receivablesSid);
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java

@ -80,4 +80,9 @@ public class FinSelectedReceivablesDetailedRest implements FinSelectedReceivable
return finSelectedReceivablesDetailedService.fetchByContractNo(contractNo);
}
@Override
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByReceivablesSid(String receivablesSid) {
return finSelectedReceivablesDetailedService.fetchByReceivablesSid(receivablesSid);
}
}

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

@ -257,4 +257,9 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return rb.success().setData(finSelectedReceivablesDetaileds);
}
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByReceivablesSid(String receivablesSid) {
ResultBean rb = ResultBean.fireFail();
List<FinSelectedReceivablesDetailed> finSelectedReceivablesDetaileds = baseMapper.fetchByReceivablesSid(receivablesSid);
return rb.success().setData(finSelectedReceivablesDetaileds);
}
}

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

@ -5,35 +5,12 @@
<!-- ${ew.customSqlSegment} -->
<resultMap id="selectPageVoResultMap" type="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo">
<result column="sid" property="sid"></result>
<result column="customerName" property="customerName"></result>
<result column="contractNo" property="contractNo"></result>
<result column="linkNo" property="vinNo"></result>
<result column="contractSid" property="contractSid"></result>
<result column="receivablesName" property="receivablesName"></result>
<result column="reveivableMoney" property="reveivableMoney"></result>
<result column="createTime" property="createTime"></result>
<result column="remarks" property="remarks"></result>
<result column="currentReceivableMoney" property="currentReceivableMoney"></result>
</resultMap>
<select id="selectPageVo"
resultMap="selectPageVoResultMap">
SELECT distinct
furd.sid as sid,
furd.customerName as customerName,
furd.contractNo as contractNo,
bs.linkNo as linkNo,
furd.contractSid as contractSid,
furd.receivablesName as receivablesName,
furd.reveivableMoney as reveivableMoney,
furd.currentReceivableMoney as currentReceivableMoney,
furd.createTime as createTime,
furd.remarks as remarks
FROM fin_uncollected_receivables_detailed as furd
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle AS bs ON furd.busVinSid = bs.sid
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo">
SELECT
*
from fin_uncollected_receivables_detailed
<where>
${ew.sqlSegment}
</where>

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

@ -37,9 +37,11 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService;
import com.yxt.anrui.fin.biz.fincompanyinvoicing.FinCompanyInvoicingService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
@ -114,7 +116,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private FinCompanyInvoicingFeign finCompanyInvoicingFeign;
private FinCompanyInvoicingService finCompanyInvoicingService;
private QueryWrapper<FinUncollectedReceivablesDetailed> createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) {
/**
@ -328,9 +330,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("linkNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getReceivablesName())) {
qw.like("receivablesName", query.getReceivablesName());
}
@ -339,30 +338,13 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("furd.isDelete", "0");
qw.eq("isDelete", "0");
return qw;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
String staffSid = params.getCreateBySid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data2 = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data2) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (null != isDept && isDept == 0 && !psid.equals(0)) {
orgSidPath = s;
break;
}
}
}
String orgPath = params.getOrgPath();
String orgSidPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
params.setUseOrgSid(orgSidPath);
QueryWrapper<FinUncollectedReceivablesDetailed> qw = myCreateQueryWrapper(params);
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
@ -370,71 +352,35 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
List<FinUncollectedReceivablesDetailedVo> records = pagging.getRecords();
for (FinUncollectedReceivablesDetailedVo record : records) {
record.setDownload(false);
BigDecimal subscriptionMoney = new BigDecimal(0);
BigDecimal currentMoney = new BigDecimal(record.getCurrentReceivableMoney());
BigDecimal reveivableMoney = new BigDecimal(record.getReveivableMoney());
subscriptionMoney = reveivableMoney.subtract(currentMoney);
record.setSubscriptionMoney(String.valueOf(subscriptionMoney));
//获取单条对应的应收未收sid
String sid = record.getSid();
List<FinSelectedReceivablesDetailed> detailedList = finSelectedReceivablesDetailedService.fetchByReceivablesSid(sid).getData();
BigDecimal sum = new BigDecimal(0);
for (FinSelectedReceivablesDetailed selectedReceivablesDetailed : detailedList) {
BigDecimal subscriptionMoney = selectedReceivablesDetailed.getSubscriptionMoney();
sum = sum.add(subscriptionMoney);
}
record.setSubscriptionMoney(String.valueOf(sum));
BigDecimal reveivableMoney = new BigDecimal(record.getReveivableMoney());
BigDecimal noSubscriptionMoney = new BigDecimal(0);
noSubscriptionMoney = reveivableMoney.subtract(sum);
record.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney));
FinUncollectedReceivablesDetailedPdfVo pdfVo = baseMapper.selectPdf(sid);
if (null != pdfVo) {
String busVinSid = pdfVo.getBusVinSid();
BusSalesOrderVehicle data = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(busVinSid).getData();
String salesOrderSid = data.getSalesOrderSid();
String linkNo = data.getLinkNo();
record.setVinNo(linkNo);
//根据销售订单编号查询金融方案 分别取出保证金
SolutionsDetailsVo svo = loanSolutionsFeign.selectDetails(salesOrderSid).getData();
if (StringUtils.isNotBlank(svo.getBondAmounts()) && !("0.00").equals(svo.getBondAmounts())
&& StringUtils.isNotBlank(svo.getDepositPremium()) && !("0.00").equals(svo.getDepositPremium())
&& StringUtils.isNotBlank(svo.getDepositSettle()) && !("0.00").equals(svo.getDepositSettle())) {
|| StringUtils.isNotBlank(svo.getDepositPremium()) && !("0.00").equals(svo.getDepositPremium())
|| StringUtils.isNotBlank(svo.getDepositSettle()) && !("0.00").equals(svo.getDepositSettle())) {
record.setDownload(true);
}
}
}
// for (FinUncollectedReceivablesDetailedVo record : records) {
// BigDecimal totalDeposit = new BigDecimal(0);
// BigDecimal totalPrice = new BigDecimal(0);
// BigDecimal noSubscriptionMoney = new BigDecimal(0);
// String sid = record.getContractSid();
// String contractNo = record.getContractNo();
// String receivablesName = record.getReceivablesName();
// String paymentTypeValue = record.getPaymentTypeValue();
// 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.setCurrentReceivableMoney(String.valueOf(totalDeposit));
// record.setSubscriptionMoney("0");
// record.setNoSubscriptionMoney(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));
// }
// 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 = 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));
// }
// record.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos);
// }
// }
PagerVo<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -449,6 +395,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
* @param pq
* @return
*/
public PagerVo<AppCustomerBillSummaryDetailsVo> getCustomerBillList(PagerQuery<AppFinUncollectedReceivablesDetailedQuery> pq) {
String userSid = pq.getParams().getUserSid();
String useOrgSid = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid();
@ -640,7 +587,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
BusSalesOrderDetailsVo orderDetailsVo = busSalesOrderFeign.fetchDetailsBySid(salesOrderSid).getData();
if (null != orderDetailsVo && StringUtils.isNotBlank(orderDetailsVo.getPurchaseSystemSid()) && StringUtils.isNotBlank(orderDetailsVo.getUseOrgSid())) {
ResultBean<FinCompanyInvoicingDetailsVo> detailsByUseOrgAndSystem = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(orderDetailsVo.getUseOrgSid(), orderDetailsVo.getPurchaseSystemSid());
ResultBean<FinCompanyInvoicingDetailsVo> detailsByUseOrgAndSystem = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(orderDetailsVo.getUseOrgSid(), orderDetailsVo.getPurchaseSystemSid());
if (detailsByUseOrgAndSystem.getData() != null) {
pdfVo.setCreateOrgName(detailsByUseOrgAndSystem.getData().getName());
}
@ -661,7 +608,13 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
}
if (StringUtils.isNotBlank(data.getLinkNo())) {
String linkNo = data.getLinkNo();
pdfVo.setLinKNo(linkNo);
if (linkNo.length() > 8) {
String substringLinkNo = linkNo.substring(linkNo.length() - 8);
pdfVo.setLinKNo(substringLinkNo);
} else {
pdfVo.setLinKNo(linkNo);
}
}
if (StringUtils.isNotBlank(pdfVo.getConfirmDate())) {
String confirmDate = pdfVo.getConfirmDate();
@ -669,7 +622,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
pdfVo.setConfirmDate(split[0] + "年" + split[1] + "月" + split[2] + "日");
}
pdfVo.setName(createByName);
String filePath = "/template/";
List<File> fileList = new ArrayList<>();
if (StringUtils.isNotBlank(pdfVo.getBillNo())) {

Loading…
Cancel
Save