Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
0affd03605
  1. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationVo.java
  2. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/AppFinUncollectedReceivablesDetailedRskVo.java
  3. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/FinSelectedReceivablesDetailedRsk.java
  4. 136
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  5. 12
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml
  6. 137
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java
  8. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentDetailsListQuery.java
  9. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyDto.java
  10. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyInit.java
  11. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java
  12. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  13. 152
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  14. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedRskVo.java
  15. 20
      doc/databases/报表中心.sql

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationVo.java

@ -98,4 +98,8 @@ public class FinCollectionConfirmationVo implements Vo {
@ApiModelProperty("是否有撤回按钮")
private boolean recallAtn;
private String createBySid;
@ApiModelProperty("是否金融认款")
private boolean loan;
private String source;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/AppFinUncollectedReceivablesDetailedRskVo.java

@ -43,4 +43,6 @@ public class AppFinUncollectedReceivablesDetailedRskVo implements Vo {
private int subscribedOf;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("剩余未收")
private BigDecimal residueMoney;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/FinSelectedReceivablesDetailedRsk.java

@ -34,4 +34,6 @@ public class FinSelectedReceivablesDetailedRsk {
@ApiModelProperty("认款金额")
@NotBlank(message = "认款金额不能为空")
private String subscriptionMoney; // 认款金额
private String noReceivableMoney; //剩余未收
private String auditState;
}

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

@ -107,6 +107,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
@ -275,6 +276,15 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
IPage<FinCollectionConfirmationVo> pagging = baseMapper.selectPageVo(page, qw);
List<FinCollectionConfirmationVo> records = pagging.getRecords();
for (FinCollectionConfirmationVo record : records) {
if (StringUtils.isNotBlank(record.getSource())) {
if (record.getSource().equals("02")) {
record.setLoan(true);
} else {
record.setLoan(false);
}
} else {
record.setLoan(false);
}
//是否有余额
if (StringUtils.isNotBlank(record.getBalance())) {
//余额是0
@ -3523,6 +3533,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVinNo(data.getVinNo() + "/" + data.getVehMark());
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivableMoney(noReturnMoney);
}
}
} else {
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(receivablesSid);
@ -3534,13 +3548,19 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVinNo(data.getVinNo() + "/" + data.getVehMark());
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivableMoney(noReturnMoney);
}
}
}
}
rsk.setCurrentReceivableMoney(v.getCurrentReceivableMoney());
rsk.setReceivablesName(v.getReceivablesName());
rsk.setSid(v.getSid());
rsk.setSubscriptionMoney(v.getSubscriptionMoney());
rsk.setReceivablesSid(v.getReceivablesSid());
rsk.setAuditState(String.valueOf(v.getAuditState()));
rskList.add(rsk);
});
}
@ -3655,84 +3675,24 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
baseMapper.updateById(confirmation);
//===========================================
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
//查询该申请下的所有待审核的款项明细
BigDecimal subscriptionMoneyAll = new BigDecimal("0");
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1);
if (finSelectedReceivablesDetailedVos.size() > 0) {
if (confirmation.getPushMessgae() == 1) {//简易订单定金
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
//已选款项明细sid
String selectSid = v.getSid();
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
finSelectedReceivablesDetailed.setAuditState(3);
//更新审核时间
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
});
} else {
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
//已选款项明细sid
String selectSid = v.getSid();
//应收未收款项明细sid
String receivablesSid = v.getReceivablesSid();
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid);
if (v.getSubscribedOf() == 0) {
//更新认款状态
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
finSelectedReceivablesDetailed.setAuditState(3);
//更新审核时间
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
//加装配置手续费推送开票管理
finSelectedReceivablesDetailedService.tskpgl(v);
//ToDo:查询是否符合待出库的条件
//该合同编号下的该车架号的所有认款金额
if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//查询该合同编号下的销售订单的单车成交价
BigDecimal leftAll = unDecimalVinAll;
BigDecimal rightAll = bigDecimalVinAll;
if (leftAll.compareTo(rightAll) <= 0) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
dtoList.add(baseVehicleStateDto);
}
} else {
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//查询该合同编号下的销售订单的单车成交价
BigDecimal leftAll = unDecimalVinAll;
BigDecimal rightAll = bigDecimalVinAll;
if (leftAll.compareTo(rightAll) <= 0) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
dtoList.add(baseVehicleStateDto);
}
}
});
}
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
//已选款项明细sid
String selectSid = v.getSid();
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
finSelectedReceivablesDetailed.setAuditState(3);
//更新审核时间
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
});
//查询该申请已认款金额总数
subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
}
confirmation = fetchBySid(sid);
/* //与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) <= 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2);*/
//更新收款申请的余额以及审核状态
BigDecimal balanceBigDecimal = confirmation.getCollectionMoney().subtract(subscriptionMoneyAll);
confirmation.setBalance(balanceBigDecimal);
@ -3744,21 +3704,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
confirmation.setConfirmDate(DateUtil.today());
confirmation.setConfirmNameSid(userSid);
baseMapper.updateById(confirmation);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
FinCollectionConfirmation finalConfirmation = confirmation;
Future future1 = pool.submit(() -> {
pushLoanDiff(finalConfirmation);
});
} catch (Exception e) {
e.printStackTrace();
}
return rb.success().setMsg("款项确认成功");
}
@ -4112,7 +4057,18 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
for (AppFinUncollectedReceivablesDetailedRskVo r : ruleList) {
if (r.getProjectName().equals("月还") || r.getProjectName().equals("资方逾期利息")) {
if (Integer.valueOf(r.getPeriod()) < Integer.valueOf(v.getPeriod())) {
return rb.setMsg("您的认款顺序与公司认款规则不一致");
List<AppFinSelectedReceivablesDetailedRskDto> collect = finSelectedReceivablesDetailedDtos.stream().filter(new Predicate<AppFinSelectedReceivablesDetailedRskDto>() {
@Override
public boolean test(AppFinSelectedReceivablesDetailedRskDto d) {
if (d.getPeriod().equals(r.getPeriod()) && d.getLoanContractNo().equals(r.getLoanContractNo()) && d.getVin().equals(r.getVin())) {
return true;
}
return false;
}
}).collect(Collectors.toList());
if (collect.isEmpty()) {
return rb.setMsg("您的认款顺序与公司认款规则不一致");
}
}
}
}
@ -4159,6 +4115,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (null != v.getConfirmMoney()) {
finSelectedReceivablesDetailed.setSubscriptionMoney(v.getConfirmMoney());
}
if (null != v.getNoReceivable()) {
finSelectedReceivablesDetailed.setCurrentReceivableMoney(v.getNoReceivable());
}
finSelectedReceivablesDetailed.setReceivablesSid(v.getReceivablesSid());
finSelectedReceivablesDetailed.setCollSid(finalSid);
finSelectedReceivablesDetailed.setUseOrgSid(finalUseOrgSid);
@ -4240,7 +4199,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivable(new BigDecimal(noReturnMoney));
rsk.setResidueMoney(new BigDecimal(noReturnMoney));
}
}
} else {
@ -4255,7 +4214,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivable(new BigDecimal(noReturnMoney));
rsk.setResidueMoney(new BigDecimal(noReturnMoney));
}
}
}
@ -4268,6 +4227,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
rsk.setProjectName(v.getReceivablesName());
// rsk.setSid(v.getSid());
rsk.setNoReceivable(new BigDecimal(v.getCurrentReceivableMoney()));
rsk.setConfirmMoney(v.getSubscriptionMoney());
rsk.setReceivablesSid(v.getReceivablesSid());
rskList.add(rsk);

12
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml

@ -132,7 +132,7 @@
</select>
<select id="selectReport" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo">
select ifnull(sum(dr.saleOfStockRatio), 0) as saleOfStockRatio,
select ifnull(sum(SUBSTRING_INDEX(dr.saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(dr.saleOfStockRatio, ':', -1)), 0) as saleOfStockRatio,
ifnull(sum(dr.stock_total), 0) as stock_total,
ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve,
ifnull(sum(dr.stock_reserve), 0) as stock_reserve,
@ -198,7 +198,7 @@
<select id="pageList1" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo">
select DATE_FORMAT(createTime, '%Y-%m-%d') as date,
sum(saleOfStockRatio) as saleOfStockRatio,
sum(SUBSTRING_INDEX(saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(saleOfStockRatio, ':', -1)) as saleOfStockRatio,
sum(stock_subtotal) as stock_subtotal,
sum(pcOrder_subtotal) as pcOrder_subtotal,
sum(saleOrder_subtotal_day) as saleOrder_subtotal_day,
@ -217,7 +217,7 @@
<select id="getReport" resultType="com.yxt.anrui.reportcenter.api.dailyreport.ReportVo">
select DATE_FORMAT(createTime, '%Y-%m-%d') as date,
ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio,
ifnull(sum(SUBSTRING_INDEX(saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(saleOfStockRatio, ':', -1)), 0) as saleOfStockRatio,
ifnull(sum(stock_total), 0) as stock_total,
ifnull(sum(stock_subtotal), 0) as stock_subtotal,
ifnull(sum(stock_unreserve), 0) as stock_unreserve,
@ -272,7 +272,7 @@
</select>
<select id="selectReport2" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo">
select ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio,
select ifnull(sum(SUBSTRING_INDEX(saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(saleOfStockRatio, ':', -1)), 0) as saleOfStockRatio,
ifnull(sum(stock_subtotal), 0) as stock_subtotal,
ifnull(sum(stock_total), 0) as stock_total,
ifnull(sum(stock_unreserve), 0) as stock_unreserve,
@ -344,7 +344,7 @@
</select>
<select id="selectReport3" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo">
select ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio,
select ifnull(sum(SUBSTRING_INDEX(saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(saleOfStockRatio, ':', -1)), 0) as saleOfStockRatio,
ifnull(sum(stock_subtotal), 0) as stock_subtotal,
ifnull(sum(stock_unreserve), 0) as stock_unreserve,
ifnull(sum(stock_total), 0) as stock_total,
@ -475,7 +475,7 @@
ifnull(dr.deliver_loan_year, 0) as deliver_loan_year,
ifnull(dr.deliver_full_year, 0) as deliver_full_year,
ifnull(dr.deliver_subtotal_year, 0) as deliver_subtotal_year-->
ifnull(sum(dr.saleOfStockRatio), 0) as saleOfStockRatio,
ifnull(sum(SUBSTRING_INDEX(dr.saleOfStockRatio, ':', 1)/SUBSTRING_INDEX(dr.saleOfStockRatio, ':', -1)), 0) as saleOfStockRatio,
ifnull(sum(dr.stock_total), 0) as stock_total,
ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve,
ifnull(sum(dr.stock_reserve), 0) as stock_reserve,

137
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java

@ -316,11 +316,22 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
//排放标准
List<String> row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList());
dailyReportAppVo.setRow3(row3);
//存销比
/* //存销比
List<String> row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList());
//合计
BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row4.add(row4All.toString());
dailyReportAppVo.setRow4(row4);*/
//存销比
List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1")
).collect(Collectors.toList());
//合计
BigDecimal row4All = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio()
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -559,7 +570,17 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
}
IPage<DailyReport> page = PagerUtil.queryToPage(pagerQuery);
IPage<DailyReportListVo> pagging = baseMapper.pageList1(page, qw);
List<DailyReportListVo> recordList = pagging.getRecords();
recordList.removeAll(Collections.singleton(null));
if (!recordList.isEmpty()) {
for (int i = 0; i < recordList.size(); i++) {
DailyReportListVo dailyReportListVo = recordList.get(i);
String ratio = dailyReportListVo.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(dailyReportListVo.getSaleOfStockRatio())) : (dailyReportListVo.getSaleOfStockRatio() + ":1");
dailyReportListVo.setSaleOfStockRatio(ratio);
}
}
PagerVo<DailyReportAppPagerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -570,6 +591,8 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
qw.like("createTime", date);
}
ReportVo reportVo = baseMapper.getReport(qw);
String ratio = reportVo.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(reportVo.getSaleOfStockRatio())) : (reportVo.getSaleOfStockRatio() + ":1");
reportVo.setSaleOfStockRatio(ratio);
return rb.success().setData(reportVo);
}
@ -581,11 +604,22 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport2(date);
//存销比
/*//存销比
List<String> row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList());
//合计
BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row4.add(row4All.toString());
dailyReportAppVo.setRow4(row4);*/
//存销比
List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1")
).collect(Collectors.toList());
//合计
BigDecimal row4All = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio()
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -823,11 +857,22 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport3(date, busOrgSid);
//存销比
/*//存销比
List<String> row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList());
//合计
BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row4.add(row4All.toString());
dailyReportAppVo.setRow4(row4);*/
//存销比
List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1")
).collect(Collectors.toList());
//合计
BigDecimal row4All = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio()
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -1062,15 +1107,15 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
QueryWrapper<DailyReport> qw = new QueryWrapper<>();
DailyReportAppVo dailyReportAppVo = new DailyReportAppVo();
dailyReportAppVo.setTitle("分公司" + date + "日报");
qw.like("ddr.createTime",date);
qw.eq("ddr.useOrgSid",useOrgSid);
qw.like("ddr.createTime", date);
qw.eq("ddr.useOrgSid", useOrgSid);
qw.groupBy("ddr.brandSid");
qw.groupBy("bm.fuelTypeValue");
qw.groupBy("bm.emissionStandardValue");
List<DailyParameterVo> parameterVoList = baseMapper.selectByParameters(useOrgSid);
parameterVoList.removeAll(Collections.singleton(null));
qw = getCommon(parameterVoList,qw);
List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date,qw);
qw = getCommon(parameterVoList, qw);
List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date, qw);
rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1);
List<String> brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList());
@ -1079,15 +1124,15 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
return rb.success();
}
qw = new QueryWrapper<>();
qw.eq("dr.useOrgSid",useOrgSid);
qw.like("dr.createTime",date);
qw.in("dr.brandSid",brandList);
qw.eq("dr.useOrgSid", useOrgSid);
qw.like("dr.createTime", date);
qw.in("dr.brandSid", brandList);
qw.orderByDesc("dr.brandSid");
qw.groupBy("dr.brandSid");
qw.groupBy("bm.fuelTypeValue");
qw.groupBy("bm.emissionStandardValue");
qw = getCommon(parameterVoList,qw);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date,qw);
qw = getCommon(parameterVoList, qw);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date, qw);
//燃料
List<String> row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList());
dailyReportAppVo.setRow2(row2);
@ -1095,10 +1140,15 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
List<String> row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList());
dailyReportAppVo.setRow3(row3);
//存销比
List<String> row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList());
List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1")
).collect(Collectors.toList());
//合计
BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row4.add(row4All.toString());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio()
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -1420,8 +1470,8 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
}
public QueryWrapper<DailyReport> getCommon(List<DailyParameterVo> parameterVoList,QueryWrapper<DailyReport> qw){
if(!parameterVoList.isEmpty()){
public QueryWrapper<DailyReport> getCommon(List<DailyParameterVo> parameterVoList, QueryWrapper<DailyReport> qw) {
if (!parameterVoList.isEmpty()) {
for (int i = 0; i < parameterVoList.size(); i++) {
DailyParameterVo dailyParameterVo = parameterVoList.get(i);
String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1);
@ -1432,77 +1482,77 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
case 0:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 1:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 2:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 3:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 4:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 5:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 6:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bmc." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.groupBy("IFNULL(bm." + dailyParameterVo.getColName() + ",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
@ -1515,4 +1565,29 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
return qw;
}
public String dicimalToFraction(double num) {
int count = 0;
int base = 10;
while (num != Math.floor(num)) {
num *= base;
count++;
}
base = (int) Math.pow(base, count);
int nor = (int) num;
int gcd = findGCD(nor, base);
return String.valueOf(nor / gcd) + ":" + String.valueOf(base / gcd);
}
//求最大公约数
private int findGCD(int a, int b) {
if (a == 0) {
return b;
}
return findGCD(b % a, a);
}
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java

@ -50,4 +50,6 @@ public class LoanRepaymentHistory extends BaseEntity {
private String updateState;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("收款单据编号")
private String skdBillNo;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentDetailsListQuery.java

@ -47,9 +47,9 @@ public class RepaymentDetailsListQuery implements Query {
@ApiModelProperty("还款方式key")
private String returnWayKey;
@ApiModelProperty("更新开始日期")
private String updateStartTime;
private String updateStartDate;
@ApiModelProperty("更新结束日期")
private String updateEndTime;
private String updateEndDate;
@ApiModelProperty("更新状态")
private String updateState;
@ApiModelProperty("财务收款单据编号")

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyDto.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
@ -22,6 +23,12 @@ public class LoanTransferPaymentApplyDto implements Dto {
private String applyDate;
private String remarks;
private String orgPath;
@ApiModelProperty("财务付款形式")
private String payForm;
@ApiModelProperty("01按资方合同编号单笔付款/02按收款账号合并付款")
private String payFormKey;
@ApiModelProperty("打款时需要备注内容")
private String payRemarks;
private List<LoanTransferPaymentApplyFile> files = new ArrayList<>();
private List<LoanTransferPaymentRecordVo> records = new ArrayList<>();
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyInit.java

@ -28,6 +28,12 @@ public class LoanTransferPaymentApplyInit implements Vo {
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
@ApiModelProperty("财务付款形式")
private String payForm;
@ApiModelProperty("01按资方合同编号单笔付款/02按收款账号合并付款")
private String payFormKey;
@ApiModelProperty("打款时需要备注内容")
private String payRemarks;
private List<LoanTransferPaymentApplyFile> files = new ArrayList<>();
private List<LoanTransferPaymentRecordVo> records = new ArrayList<>();

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java

@ -43,13 +43,5 @@ public class LoanTransferPaymentRecordVo {
@ApiModelProperty("转付账户账号")
private String accountNumber;
private String vinNo;
// @ApiModelProperty("还款方式")
// private String returnWay;
// @ApiModelProperty("应还日期")
// private String dueDate;
// @ApiModelProperty("应还金额")
// private String dueMoney;
// @ApiModelProperty("本期未还金额")
// private String outstandingMoney;
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -267,11 +267,12 @@
h.actualDate,
h.actualMoney,
h.returnWay,
h.dataTime,
h.updateTime,
date_format(h.dataTime, '%Y-%m-%d') as dataTime,
date_format(h.updateTime, '%Y-%m-%d') as updateTime,
h.updateState,
h.buckle,
h.closingDate
date_format(h.closingDate, '%Y-%m-%d') as closingDate,
h.skdBillNo as billNo
FROM loan_repayment_history as h
LEFT JOIN loan_repayment_plan_details as p ON h.planDetailSid = p.sid
<where>

152
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -833,7 +833,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getType())) {
String type = pagerQuery.getType();
if (type.equals("0")) {
qw.ne("h.paymentStateKey", "003");
qw.eq("h.paymentStateKey", "001").or().eq("h.paymentStateKey", "002");
} else if (type.equals("1")) {
qw.eq("h.paymentStateKey", "003");
}
@ -914,12 +914,18 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
return p;
}
//=======================
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) {
qw.like("a.useOrgName", pagerQuery.getUseOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("a.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getDept())) {
qw.like("a.dept", pagerQuery.getDept());
}
if (StringUtils.isNotBlank(pagerQuery.getReturnState())) {
qw.eq("a.returnState", pagerQuery.getReturnState());
}
if (StringUtils.isNotBlank(pagerQuery.getStaffName())) {
qw.like("a.staffName", pagerQuery.getStaffName());
}
@ -977,7 +983,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
cal_1.add(Calendar.DAY_OF_MONTH, -1);
record.setUpdateDate(sdf.format(cal_1.getTime()));
} else {
record.setUpdateDate(updateTime);
record.setUpdateDate(sdf.format(updateTimeParse));
}
for (String time : updateTimes) {
Date parseTime = sdf.parse(time);
@ -1021,40 +1027,42 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
records = records.stream().filter(new Predicate<RepaymentStatisticsVo>() {
@Override
public boolean test(RepaymentStatisticsVo v) {
if (StringUtils.isNotBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isBlank(pagerQuery.getUpdateEndDate())) {
String updateStartDate = pagerQuery.getUpdateStartDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(startTime) >= 0) {
return true;
if (StringUtils.isNotBlank(v.getUpdateDate())) {
if (StringUtils.isNotBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isBlank(pagerQuery.getUpdateEndDate())) {
String updateStartDate = pagerQuery.getUpdateStartDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(startTime) >= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
} catch (ParseException e) {
e.printStackTrace();
}
} else if (StringUtils.isBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isNotBlank(pagerQuery.getUpdateEndDate())) {
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
if (parseUpdateTime.compareTo(endTime) <= 0) {
return true;
} else if (StringUtils.isBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isNotBlank(pagerQuery.getUpdateEndDate())) {
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
if (parseUpdateTime.compareTo(endTime) <= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
} catch (ParseException e) {
e.printStackTrace();
}
} else {
String updateStartDate = pagerQuery.getUpdateStartDate();
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(endTime) <= 0 && parseUpdateTime.compareTo(startTime) >= 0) {
return true;
} else {
String updateStartDate = pagerQuery.getUpdateStartDate();
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(endTime) <= 0 && parseUpdateTime.compareTo(startTime) >= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return false;
@ -1113,9 +1121,15 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("p.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) {
qw.like("p.useOrgName", pagerQuery.getUseOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getDept())) {
qw.like("p.dept", pagerQuery.getDept());
}
if (StringUtils.isNotBlank(pagerQuery.getReturnWayKey())) {
qw.like("h.returnWayKey", pagerQuery.getReturnWayKey());
}
if (StringUtils.isNotBlank(pagerQuery.getStaffName())) {
qw.like("p.staffName", pagerQuery.getStaffName());
}
@ -1137,6 +1151,12 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
qw.like("p.borrowerName", pagerQuery.getBorrowerName());
}
if (StringUtils.isNotBlank(pagerQuery.getBillNo())) {
qw.like("h.skdBillNo", pagerQuery.getBillNo());
}
if (StringUtils.isNotBlank(pagerQuery.getUpdateState())) {
qw.eq("h.updateState", pagerQuery.getUpdateState());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (p.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
@ -1157,8 +1177,8 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (h.closingDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(closingEndDate), "date_format (h.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')"
);
String updateStartTime = pagerQuery.getUpdateStartTime();
String updateEndTime = pagerQuery.getUpdateEndTime();
String updateStartTime = pagerQuery.getUpdateStartDate();
String updateEndTime = pagerQuery.getUpdateEndDate();
qw.apply(StringUtils.isNotEmpty(updateStartTime), "date_format (h.updateTime,'%Y-%m-%d') >= date_format('" + updateStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(updateEndTime), "date_format (h.updateTime,'%Y-%m-%d') <= date_format('" + updateEndTime + "','%Y-%m-%d')"
);
@ -1184,37 +1204,37 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
// String orgSidPath = pagerQuery.getOrgPath();
// orgSidPath = orgSidPath + "/";
// int i1 = orgSidPath.indexOf("/");
// int i2 = orgSidPath.indexOf("/", i1 + 1);
// int i3 = orgSidPath.indexOf("/", i2 + 1);
// int i4 = orgSidPath.indexOf("/", i3 + 1);
// String orgLevelKey = defaultIdReltBean.getData();
// if ("1".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i1);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("2".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i2);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("3".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i3);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("4".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i4);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("5".equals(orgLevelKey)) {
// qw.eq("a.createBySid", pagerQuery.getUserSid());
// } else {
// List<RepaymentStatisticsExportVo> p = new ArrayList<>();
// return p;
// }
// } else {
// List<RepaymentStatisticsExportVo> p = new ArrayList<>();
// return p;
// }
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("a.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("a.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("a.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("a.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", pagerQuery.getUserSid());
} else {
List<RepaymentStatisticsExportVo> p = new ArrayList<>();
return p;
}
} else {
List<RepaymentStatisticsExportVo> p = new ArrayList<>();
return p;
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("a.vinNo", pagerQuery.getVinNo());
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedRskVo.java

@ -29,7 +29,7 @@ public class UncollectedReceivablesDetailedRskVo implements Vo {
private String confirmDate;
@ApiModelProperty("认款状态")
private String state;
@ApiModelProperty("未收金额")
@ApiModelProperty("当前未收金额")
private BigDecimal noReceivable;
@ApiModelProperty("贷款人")
private String borrowerName;
@ -43,4 +43,6 @@ public class UncollectedReceivablesDetailedRskVo implements Vo {
private int subscribedOf;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("剩余未收")
private BigDecimal residueMoney;
}

20
doc/databases/报表中心.sql

@ -559,19 +559,19 @@ WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 存销比
update daily_report r inner join (
select ifnull(sum(dr.sale_subtotal_month), 0) as subtotal, dr.useOrgSid, dr.vehModelSid, dr.vehMConfigSid
from daily_report dr
where (DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
)
group by dr.useOrgSid, dr.vehModelSid, dr.vehMConfigSid) s
select ddr.useOrgSid, ddr.vehModelSid, ddr.vehMConfigSid,(select COALESCE(SUM(dr.sale_subtotal_month), 0) as subtotal
from daily_report dr
where (DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
) and dr.useOrgSid = ddr.useOrgSid and dr.vehModelSid = ddr.vehModelSid and dr.vehMConfigSid = ddr.vehMConfigSid) as subtotal
from daily_report ddr where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE() group by ddr.useOrgSid, ddr.vehModelSid, ddr.vehMConfigSid) s
on r.useOrgSid = s.useOrgSid
and r.vehModelSid = s.vehModelSid
and r.vehMConfigSid = s.vehMConfigSid
set saleOfStockRatio =if(ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.subtotal / 3, 2), 2) = 0,
stock_subtotal + pcOrder_subtotal,
ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.subtotal / 3, 2), 2))
set saleOfStockRatio =if(ROUND(s.subtotal / 3, 2) = 0,
concat((stock_subtotal + pcOrder_subtotal),':1'),
concat((stock_subtotal + pcOrder_subtotal),':', ROUND(s.subtotal / 3, 2)))
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 库存小计

Loading…
Cancel
Save