Browse Source

统计报表存储比重新计算

master
dimengzhe 1 year ago
parent
commit
4443efe6c8
  1. 1
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  2. 21
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReport.java
  3. 2
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java
  4. 20
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java
  5. 2
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java
  6. 16
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml
  7. 161
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  8. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/ExcelFinVo.java
  9. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  10. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  11. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  12. 39
      doc/databases/报表中心.sql

1
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -372,6 +372,7 @@
left join sys_staff_post ssp on si.sid = ssp.staffSid
left join sys_post sp on sp.sid = ssp.postSid
<where>
1=1
<if test="userOrgSid != null and userOrgSid != ''">
and find_in_set(#{userOrgSid}
, replace(sso.orgSidPath

21
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReport.java

@ -113,31 +113,34 @@ public class DailyReport {
@ApiModelProperty("本日交付贷款")
private String deliver_loan_day;
private int deliver_loan_day;
@ApiModelProperty("本日交付全款")
private String deliver_full_day;
private int deliver_full_day;
@ApiModelProperty("本日交付小计")
private String deliver_subtotal_day;
private int deliver_subtotal_day;
@ApiModelProperty("本月交付贷款")
private String deliver_loan_month;
private int deliver_loan_month;
@ApiModelProperty("本月交付全款")
private String deliver_full_month;
private int deliver_full_month;
@ApiModelProperty("本月交付小计")
private String deliver_subtotal_month;
private int deliver_subtotal_month;
@ApiModelProperty("全年交付贷款")
private String deliver_loan_year;
private int deliver_loan_year;
@ApiModelProperty("全年交付全款")
private String deliver_full_year;
private int deliver_full_year;
@ApiModelProperty("全年交付小计")
private String deliver_subtotal_year;
private int deliver_subtotal_year;
@ApiModelProperty("前三个月销售台数之和")
private int saleAllToThree;
}

2
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java

@ -33,4 +33,6 @@ public class DailyReportListVo {
private int buyout_day;
private String useOrgSid;
@ApiModelProperty("前三个月销售台数之和")
private String saleAllToThree;
}

20
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java

@ -116,31 +116,33 @@ public class DailyReportVo implements Vo {
private String remarks;
@ApiModelProperty("本日交付贷款")
private String deliver_loan_day;
private int deliver_loan_day;
@ApiModelProperty("本日交付全款")
private String deliver_full_day;
private int deliver_full_day;
@ApiModelProperty("本日交付小计")
private String deliver_subtotal_day;
private int deliver_subtotal_day;
@ApiModelProperty("本月交付贷款")
private String deliver_loan_month;
private int deliver_loan_month;
@ApiModelProperty("本月交付全款")
private String deliver_full_month;
private int deliver_full_month;
@ApiModelProperty("本月交付小计")
private String deliver_subtotal_month;
private int deliver_subtotal_month;
@ApiModelProperty("全年交付贷款")
private String deliver_loan_year;
private int deliver_loan_year;
@ApiModelProperty("全年交付全款")
private String deliver_full_year;
private int deliver_full_year;
@ApiModelProperty("全年交付小计")
private String deliver_subtotal_year;
private int deliver_subtotal_year;
@ApiModelProperty("前三个月的销售台数之和")
private int saleAllToThree;
//=========================================================车型配置相关参数
@ApiModelProperty("车身颜色")
private String carColor;

2
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java

@ -107,4 +107,6 @@ public class ReportVo implements Vo {
private int loan_not_count;
@ApiModelProperty("金融未放款-金额")
private String loan_not_amount;
@ApiModelProperty("前三个月销售台数之和")
private String saleAllToThree;
}

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

@ -180,7 +180,8 @@
ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month,
ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year,
ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year,
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year,
ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree
,
bm.fuelTypeValue,
bm.emissionStandardValue
@ -210,6 +211,7 @@
sum(arrears_carry_veh_amount) as arrears_carry_veh_amount,
sum(loan_not_amount) as loan_not_amount,
sum(buyout_day) as buyout_day,
sum(saleAllToThree) as saleAllToThree,
useOrgSid
from daily_report
<where>
@ -270,7 +272,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
<where>
${ew.sqlSegment}
@ -327,7 +330,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
where createTime like concat('%', #{date}, '%')
group by busOrgSid
@ -401,7 +405,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
where createTime like concat('%', #{date}, '%')
and busOrgSid = #{busOrgSid}
@ -532,7 +537,8 @@
ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month,
ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year,
ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year,
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year,
ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree
,
bm.fuelTypeValue,
bm.emissionStandardValue,

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

@ -333,7 +333,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -341,6 +341,38 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
try {
Field field = v.getClass().getDeclaredField(String.valueOf(v.getSaleAllToThree()));
field.setAccessible(true);
String saleAllToThree = (String) field.get(v);//前三个月销售台数之和
Field fieldStockTotal = v.getClass().getDeclaredField(String.valueOf(v.getStock_total()));
fieldStockTotal.setAccessible(true);
String stock_total = (String) fieldStockTotal.get(v);//库存总计
if(StringUtils.isBlank(saleAllToThree)){
saleOfStockRatio =stock_total+":1";
}else{
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
return saleOfStockRatio;
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v->v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v->v.getStock_total()).sum();
String saleOfStockRatioString = "";
if(saleAllToThreeAll == 0){
saleOfStockRatioString = stock_totalAll+":1";
}else{
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -584,8 +616,16 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
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");
String ratio = dailyReportListVo.getSaleOfStockRatio() + ":1";
String ratio = "";
if(StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())){
ratio = dailyReportListVo.getStock_subtotal()+":1";
}else{
if("0".equals(dailyReportListVo.getSaleAllToThree())){
ratio = dailyReportListVo.getStock_subtotal()+":1";
}else{
ratio = new BigDecimal(dailyReportListVo.getStock_subtotal()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
}
dailyReportListVo.setSaleOfStockRatio(ratio);
}
}
@ -601,7 +641,16 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
qw.like("createTime", date);
}
ReportVo reportVo = baseMapper.getReport(qw);
String ratio = reportVo.getSaleOfStockRatio() + ":1";
String ratio = "";
if(StringUtils.isBlank(reportVo.getSaleAllToThree())){
ratio = reportVo.getStock_subtotal()+":1";
}else{
if("0".equals(reportVo.getSaleAllToThree())){
ratio = reportVo.getStock_subtotal()+":1";
}else{
ratio = new BigDecimal(reportVo.getStock_subtotal()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
}
reportVo.setSaleOfStockRatio(ratio);
return rb.success().setData(reportVo);
}
@ -631,7 +680,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -639,6 +688,38 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
try {
Field field = v.getClass().getDeclaredField(String.valueOf(v.getSaleAllToThree()));
field.setAccessible(true);
String saleAllToThree = (String) field.get(v);//前三个月销售台数之和
Field fieldStockTotal = v.getClass().getDeclaredField(String.valueOf(v.getStock_total()));
fieldStockTotal.setAccessible(true);
String stock_total = (String) fieldStockTotal.get(v);//库存总计
if(StringUtils.isBlank(saleAllToThree)){
saleOfStockRatio =stock_total+":1";
}else{
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
return saleOfStockRatio;
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v->v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v->v.getStock_total()).sum();
String saleOfStockRatioString = "";
if(saleAllToThreeAll == 0){
saleOfStockRatioString = stock_totalAll+":1";
}else{
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -893,7 +974,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -901,6 +982,38 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
try {
Field field = v.getClass().getDeclaredField(String.valueOf(v.getSaleAllToThree()));
field.setAccessible(true);
String saleAllToThree = (String) field.get(v);//前三个月销售台数之和
Field fieldStockTotal = v.getClass().getDeclaredField(String.valueOf(v.getStock_total()));
fieldStockTotal.setAccessible(true);
String stock_total = (String) fieldStockTotal.get(v);//库存总计
if(StringUtils.isBlank(saleAllToThree)){
saleOfStockRatio =stock_total+":1";
}else{
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
return saleOfStockRatio;
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v->v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v->v.getStock_total()).sum();
String saleOfStockRatioString = "";
if(saleAllToThreeAll == 0){
saleOfStockRatioString = stock_totalAll+":1";
}else{
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -1181,7 +1294,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/* List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -1189,7 +1302,40 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
try {
Field field = v.getClass().getDeclaredField(String.valueOf(v.getSaleAllToThree()));
field.setAccessible(true);
String saleAllToThree = (String) field.get(v);//前三个月销售台数之和
Field fieldStockTotal = v.getClass().getDeclaredField(String.valueOf(v.getStock_total()));
fieldStockTotal.setAccessible(true);
String stock_total = (String) fieldStockTotal.get(v);//库存总计
if(StringUtils.isBlank(saleAllToThree)){
saleOfStockRatio =stock_total+":1";
}else{
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
return saleOfStockRatio;
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v->v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v->v.getStock_total()).sum();
String saleOfStockRatioString = "";
if(saleAllToThreeAll == 0){
saleOfStockRatioString = stock_totalAll+":1";
}else{
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3),4,BigDecimal.ROUND_HALF_UP)),2,BigDecimal.ROUND_HALF_UP).toString()+":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -1443,7 +1589,6 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
return columnName;
}
}).collect(Collectors.toList());
// columnNames.add("");
parameterVo.setRow(columnNames);
dynamicRows.add(parameterVo);
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/ExcelFinVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/10
**/
@Data
public class ExcelFinVo {
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("财务累欠金额")
private String tiredDeficiency;
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java

@ -11,7 +11,9 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
@ -47,6 +49,10 @@ public interface LoanOverdueFinFeign {
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
ResultBean<List<ExcelFinVo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request);
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java

@ -16,7 +16,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
@ -74,6 +76,11 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
ExportExcelUtils.export(fileNameURL, list, DownloadExcelVo.class, response);
}
@Override
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) {
return loanOverdueFinService.getExcelInfo(file,request);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueFinService.delAllBySids(sids);

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java

@ -39,7 +39,9 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -595,4 +597,8 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) {
return null;
}
}

39
doc/databases/报表中心.sql

@ -643,7 +643,8 @@ update daily_report r inner join (
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
)
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002')
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') and (bvo.materialTypeKey = '001' or bvo.materialTypeValue is null or
length(bvo.materialTypeValue) = 0)
group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss
where ss.useOrgSid = ddr.useOrgSid
and ss.modelSid = ddr.vehModelSid
@ -660,6 +661,42 @@ set saleOfStockRatio =if(ROUND(s.subtotal / 3, 2) = 0,
ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.subtotal / 3, 2), 2))
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 前三个月的销售台数之和
update daily_report r inner join (
select ddr.useOrgSid,
ddr.vehModelSid,
ddr.vehMConfigSid,
(select ifnull(sum(ss.scount), 0) as scount
from (select count(bv.id) as scount, bv.modelSid, bv.modelConfigSid, bv.useOrgSid
from anrui_base.base_vehicle bv
left join anrui_base.base_vehicle_out bvo on bv.sid = bvo.vinSid
left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid
where (DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m')
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
)
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') and (bvo.materialTypeKey = '001' or bvo.materialTypeValue is null or
length(bvo.materialTypeValue) = 0)
group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss
where ss.useOrgSid = ddr.useOrgSid
and ss.modelSid = ddr.vehModelSid
and ss.modelConfigSid = 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 saleAllToThree =s.subtotal
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 库存小计
update daily_report

Loading…
Cancel
Save