diff --git a/anrui-scm/anrui-scm-api/pom.xml b/anrui-scm/anrui-scm-api/pom.xml
index ca70b3a940..d592b1dbc4 100644
--- a/anrui-scm/anrui-scm-api/pom.xml
+++ b/anrui-scm/anrui-scm-api/pom.xml
@@ -31,6 +31,12 @@
1.18.24
true
+
+ com.alibaba
+ easyexcel-core
+ 3.3.2
+ compile
+
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelNewVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelNewVo.java
new file mode 100644
index 0000000000..7ce76920f5
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelNewVo.java
@@ -0,0 +1,103 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.scm.api.scmvehrebate;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.yxt.common.core.utils.ExportEntityMap;
+import lombok.Data;
+
+@Data
+public class ScmVehRebateExcelNewVo {
+
+ @ExportEntityMap(CnName = "序号", EnName = "rankNo")
+ private Integer rankNo;
+ @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName")
+ private String purchaseSystemName;
+ @ExportEntityMap(CnName = "车架号", EnName = "vinNo")
+ private String vinNo;
+ @ExportEntityMap(CnName = "车型", EnName = "vehModelName")
+ private String vehModelName;
+ @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate")
+ private String palceGenDate;
+ @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue")
+ private String rebateTypeValue;
+ @ExportEntityMap(CnName = "返利名称", EnName = "rebateName")
+ private String rebateName;
+
+ @ExcelProperty({"返利金额", "预提"})
+ private String estimateRebate;
+ @ExcelProperty({"返利金额", "上传"})
+ private String uploadMoney;
+ @ExcelProperty({"返利金额", "二次上传"})
+ private String secondaryUploadMoney;
+ @ExcelProperty({"返利金额", "待确定"})
+ private String stayDetermineMoney;
+ @ExcelProperty({"返利金额", "调整"})
+ private String adjustmentMoney;
+ @ExcelProperty({"返利金额", "未上传"})
+ private String notUploadMoney;
+
+ @ExcelProperty({"其中费用", "预提"})
+ private String withholdCost;
+ @ExcelProperty({"其中费用", "上传"})
+ private String money;
+
+ @ExcelProperty({"日期", "创建"})
+ private String createTime;
+ @ExcelProperty({"日期", "预提"})
+ private String withholdingDate;
+ @ExcelProperty({"日期", "上传"})
+ private String uploadDate;
+ @ExcelProperty({"日期", "二次上传"})
+ private String secondaryUploadDate;
+
+ @ExcelProperty({"状态", "流程"})
+ private String state;
+ @ExcelProperty({"状态", "一次核对"})
+ private String onceCheckState;
+ @ExcelProperty({"状态", "二次核对"})
+ private String secondCheckState;
+
+ @ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice")
+ private String manufactorSettlementPrice;
+
+ @ExcelProperty({"其中", "运费"})
+ private String freight;
+ @ExcelProperty({"其中", "上装"})
+ private String topAmount;
+
+ @ExcelProperty({"返利计算", "方式"})
+ private String calculationModeValue;
+ @ExcelProperty({"返利计算", "标准"})
+ private String calculationStandard;
+
+ @ExportEntityMap(CnName = "备注", EnName = "remarks")
+ private String remarks;
+ @ExportEntityMap(CnName = "品牌", EnName = "brandName")
+ private String brandName;
+ @ExportEntityMap(CnName = "分公司", EnName = "createOrgName")
+ private String createOrgName;
+}
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
index 36981f480d..f6db12e0c5 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
@@ -86,4 +86,6 @@ public interface ScmVehRebateMapper extends BaseMapper {
List getTypeDetail(@Param("sids") List sids);
List getDetailByVinSid(String vinSid);
+
+ List excelListNew(@Param(Constants.WRAPPER) QueryWrapper qw);
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
index cb7cbff9a2..c00f97ee02 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
@@ -431,4 +431,56 @@
scm_veh_rebate r
WHERE r.vehSid = #{vinSid}
+
+
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
index fbcb8640cf..53bb11f8c1 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
@@ -108,6 +108,22 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
return rb.success().setData(scmVehRebateTypeStatMxVos);
}
+ @ApiOperation("导出")
+ @PostMapping("/excelListNew")
+ public void excelListNew(ScmVehRebateQuery query) {
+ //得到所有要导出的数据
+ List dataList = scmVehRebateService.excelListNew(query);
+ //定义导出的excel名字
+ String excelName = "单车返利管理";
+ String fileNameURL = "";
+ try {
+ fileNameURL = URLEncoder.encode(excelName, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ ExportExcelUtils.export(fileNameURL, dataList, ScmVehRebateExcelNewVo.class, response);
+ }
+
@ApiOperation("导出")
@PostMapping("/excelList")
public void excelList(@RequestBody ScmVehRebateQuery query) {
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
index 98f8a8104c..47ee918caa 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
@@ -2725,20 +2725,20 @@ public class ScmVehRebateService extends MybatisBaseService> rb = ResultBean.fireFail();
List list = baseMapper.getDetailByVinSid(vinSid);
list.removeAll(Collections.singleton(null));
- if(!list.isEmpty()){
+ if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
ScmVehRebateCarsSoldProfitVo scmVehRebateCarsSoldProfitVo = list.get(i);
String expectedRebate = scmVehRebateCarsSoldProfitVo.getEstimateRebate();
BigDecimal expectAll = BigDecimal.ZERO;
String expectTreatCost = scmVehRebateCarsSoldProfitVo.getExpectTreatCost();
String expectSuppCost = scmVehRebateCarsSoldProfitVo.getExpectSuppCost();
- if(StringUtils.isNotBlank(expectedRebate)){
+ if (StringUtils.isNotBlank(expectedRebate)) {
expectAll = expectAll.add(new BigDecimal(expectedRebate));
}
- if(StringUtils.isNotBlank(expectTreatCost)){
+ if (StringUtils.isNotBlank(expectTreatCost)) {
expectAll = expectAll.subtract(new BigDecimal(expectTreatCost));
}
- if(StringUtils.isNotBlank(expectSuppCost)){
+ if (StringUtils.isNotBlank(expectSuppCost)) {
expectAll = expectAll.subtract(new BigDecimal(expectSuppCost));
}
scmVehRebateCarsSoldProfitVo.setEstimateRebate(expectAll.toString());
@@ -2769,4 +2769,130 @@ public class ScmVehRebateService extends MybatisBaseService excelListNew(ScmVehRebateQuery query) {
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setMenuSid(query.getMenuSid());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.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("orgPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("orgPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("orgPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("orgPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("createBySid", query.getUserSid());
+ } else {
+ List scmVehRebateExcelVos = new ArrayList<>();
+ return scmVehRebateExcelVos;
+ }
+ } else {
+ List scmVehRebateExcelVos = new ArrayList<>();
+ return scmVehRebateExcelVos;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getBrandName())) {
+ qw.like("brandName", query.getBrandName());
+ }
+ if (StringUtils.isNotBlank(query.getVehModelName())) {
+ qw.like("vehModelName", query.getVehModelName());
+ }
+ if (StringUtils.isNotBlank(query.getVinNo())) {
+ qw.like("vinNo", query.getVinNo());
+ }
+ if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
+ qw.eq("rebateTypeKey", query.getRebateTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getRebateName())) {
+ qw.like("rebateName", query.getRebateName());
+ }
+ if (StringUtils.isNotBlank(query.getState())) {
+ qw.eq("state", query.getState());
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
+ qw.like("purchaseSystemName", query.getPurchaseSystemName());
+ }
+ if (StringUtils.isNotBlank(query.getPalceGenDate())) {
+ qw.eq("palceGenDate", query.getPalceGenDate());
+ }
+ if (StringUtils.isNotBlank(query.getWithholdingDate())) {
+ String[] w = query.getWithholdingDate().split("-");
+ String withholdingDate = w[0] + "年" + Integer.parseInt(w[1]) + "月";
+ qw.eq("withholdingDate", withholdingDate);
+ }
+ if (StringUtils.isNotBlank(query.getUploadState())) {
+ if (query.getUploadState().equals("0")) {
+ qw.and(wrapper -> wrapper.eq("uploadDate", "")
+ .or().isNull("uploadDate")
+ );
+ } else {
+ qw.ne("uploadDate", "");
+ qw.isNotNull("uploadDate");
+ }
+ }
+ if (StringUtils.isNotBlank(query.getIsAdjustment())) {
+ qw.eq("isAdjustment", query.getIsAdjustment());
+ }
+ if (StringUtils.isNotBlank(query.getIsUploadFinish())) {
+ if (query.getIsUploadFinish().equals("1")) {
+ qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0);
+ } else {
+ qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0);
+ }
+ }
+ if (StringUtils.isNotBlank(query.getOnceCheckState())) {
+ qw.eq("onceCheckState", query.getOnceCheckState());
+ }
+ if (StringUtils.isNotBlank(query.getSecondUploadState())) {
+ if (query.getSecondUploadState().equals("1")) {
+ qw.isNotNull("secondaryUploadMoney");
+ qw.ne("secondaryUploadMoney", "");
+ qw.ne("secondaryUploadMoney", 0);
+ qw.eq("isAdjustment", "是");
+ } else {
+ qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", ""));
+ }
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ String uploadStartDate = query.getUploadStartDate();
+ String uploadEndDate = query.getUploadEndDate();
+ qw.apply(StringUtils.isNotBlank(uploadStartDate), "(date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')").
+ or().
+ apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d'))"
+ );
+ qw.orderByDesc("createTime");
+ List scmVehRebateExcelVos = baseMapper.excelListNew(qw);
+ return scmVehRebateExcelVos;
+
+ }
}
\ No newline at end of file