commit
This commit is contained in:
parent
e6457b4846
commit
94288657d9
|
|
@ -75,7 +75,7 @@ spring:
|
||||||
basename: i18n/messages
|
basename: i18n/messages
|
||||||
profiles:
|
profiles:
|
||||||
# active: dev
|
# active: dev
|
||||||
active: prod
|
active: dev
|
||||||
# 文件上传
|
# 文件上传
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package com.ruoyi.contract.controller;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.poi.excel.ExcelReader;
|
||||||
|
import cn.hutool.poi.excel.ExcelUtil;
|
||||||
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
|
|
@ -18,10 +20,10 @@ import com.ruoyi.common.utils.MathCompute;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.contract.domain.bo.*;
|
import com.ruoyi.contract.domain.bo.*;
|
||||||
import com.ruoyi.contract.domain.bo.consale.*;
|
import com.ruoyi.contract.domain.bo.consale.*;
|
||||||
|
import com.ruoyi.contract.domain.dto.ConSaleImportNewDto;
|
||||||
import com.ruoyi.contract.domain.vo.*;
|
import com.ruoyi.contract.domain.vo.*;
|
||||||
import com.ruoyi.contract.service.*;
|
import com.ruoyi.contract.service.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
@ -30,7 +32,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
@ -195,18 +196,21 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
@Log(title = "销售汇总导入", businessType = BusinessType.IMPORT)
|
@Log(title = "销售汇总导入", businessType = BusinessType.IMPORT)
|
||||||
@PostMapping("/import" )
|
@PostMapping("/import" )
|
||||||
public R<List<ConSaleImportVo>> importExcel(MultipartFile file) {
|
public R<List<ConSaleImportNewDto>> importExcel(MultipartFile file) {
|
||||||
// 获取上传的文件输入流
|
// 获取上传的文件输入流
|
||||||
try (InputStream inputStream = file.getInputStream()) {
|
try (InputStream inputStream = file.getInputStream()) {
|
||||||
// 使用 EasyExcel 解析 Excel 文件,并将数据转换为 ExcelRowData 实体类对象
|
// // 使用 EasyExcel 解析 Excel 文件,并将数据转换为 ExcelRowData 实体类对象
|
||||||
List<ConSaleImportVo> data = EasyExcel.read(inputStream)
|
// List<ConSaleImportNewDto> data = EasyExcel.read(inputStream)
|
||||||
.head(ConSaleImportVo.class) // 指定 Excel 对应的实体类
|
// .head(ConSaleImportNewDto.class) // 指定 Excel 对应的实体类
|
||||||
.sheet(0) // 指定解析第一个 sheet
|
// .sheet(0) // 指定解析第一个 sheet
|
||||||
.doReadSync(); // 同步读取文件
|
// .doReadSync(); // 同步读取文件
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d" );
|
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
|
||||||
|
List<ConSaleImportNewDto> data = reader.readAll(ConSaleImportNewDto.class);
|
||||||
|
reader.close();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
|
||||||
|
|
||||||
List<ConSaleImportVo> filteredData = data.stream()
|
List<ConSaleImportNewDto> filteredData = data.stream()
|
||||||
.filter(conSaleImportVo -> conSaleImportVo.getOrderCode() != null)
|
.filter(conSaleImportVo -> conSaleImportVo.getProjectNo() != null)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (CollUtil.isEmpty(filteredData)){
|
if (CollUtil.isEmpty(filteredData)){
|
||||||
return R.fail("导入没有数据");
|
return R.fail("导入没有数据");
|
||||||
|
|
@ -214,24 +218,24 @@ public class ConSaleController extends BaseController {
|
||||||
//处理排序问题
|
//处理排序问题
|
||||||
List<String> orderCodeList = new ArrayList<>();
|
List<String> orderCodeList = new ArrayList<>();
|
||||||
filteredData.stream().forEach(item -> {
|
filteredData.stream().forEach(item -> {
|
||||||
if (!orderCodeList.contains(item.getOrderCode())){
|
if (!orderCodeList.contains(item.getProjectNo())){
|
||||||
orderCodeList.add(item.getOrderCode());
|
orderCodeList.add(item.getProjectNo());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//之后将顺序翻转过来
|
//之后将顺序翻转过来
|
||||||
Map<String, List<ConSaleImportVo>> conSaleImportMap = filteredData.stream().collect(Collectors.groupingBy(ConSaleImportVo::getOrderCode));
|
Map<String, List<ConSaleImportNewDto>> conSaleImportMap = filteredData.stream().collect(Collectors.groupingBy(ConSaleImportNewDto::getProjectNo));
|
||||||
List<ConSaleImportVo> failList= new ArrayList<>();
|
List<ConSaleImportNewDto> failList= new ArrayList<>();
|
||||||
|
|
||||||
//数据合并
|
//数据合并
|
||||||
List<ConSaleBo> conSaleBoList = new ArrayList<>();
|
List<ConSaleBo> conSaleBoList = new ArrayList<>();
|
||||||
|
|
||||||
orderCodeList.forEach(item -> {
|
orderCodeList.forEach(item -> {
|
||||||
String projectCodeKey = item;
|
String projectCodeKey = item;
|
||||||
List<ConSaleImportVo> salesList = conSaleImportMap.get(projectCodeKey);
|
List<ConSaleImportNewDto> salesList = conSaleImportMap.get(projectCodeKey);
|
||||||
if (CollectionUtils.isEmpty(salesList)) {
|
if (CollectionUtils.isEmpty(salesList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ConSaleImportVo datum = salesList.get(0);
|
ConSaleImportNewDto datum = salesList.get(0);
|
||||||
|
|
||||||
datum.setStatus("1" );
|
datum.setStatus("1" );
|
||||||
ConSaleBo conSaleBo = new ConSaleBo();
|
ConSaleBo conSaleBo = new ConSaleBo();
|
||||||
|
|
@ -244,6 +248,23 @@ public class ConSaleController extends BaseController {
|
||||||
//项目执行人
|
//项目执行人
|
||||||
conSaleBo.setProjExecutor(projectExecutor);
|
conSaleBo.setProjExecutor(projectExecutor);
|
||||||
|
|
||||||
|
//媒体费
|
||||||
|
String totalAmount = datum.getTotalAmount();
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isBlank(totalAmount)) {
|
||||||
|
datum.setStatus("0" );
|
||||||
|
datum.setNotes("媒体费未填写" );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(totalAmount.equals("#VALUE!")){
|
||||||
|
totalAmount = "0";
|
||||||
|
}
|
||||||
|
totalAmount = totalAmount.replaceAll(",","");
|
||||||
|
try {
|
||||||
|
conSaleBo.setContractMoney(MathCompute.formatFourStringToDouble(totalAmount));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
conSaleBo.setContractMoney(0.0);
|
||||||
|
}
|
||||||
|
|
||||||
String department = datum.getDepartment();
|
String department = datum.getDepartment();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(department)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(department)) {
|
||||||
|
|
||||||
|
|
@ -263,7 +284,7 @@ public class ConSaleController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目编号
|
//项目编号
|
||||||
String projectCode = datum.getProjectCode();
|
String projectCode = datum.getContractNo();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(projectCode)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(projectCode)) {
|
||||||
datum.setStatus("0" );
|
datum.setStatus("0" );
|
||||||
datum.setNotes("项目编号未填写" );
|
datum.setNotes("项目编号未填写" );
|
||||||
|
|
@ -271,7 +292,7 @@ public class ConSaleController extends BaseController {
|
||||||
}
|
}
|
||||||
conSaleBo.setContractNumber(projectCode);
|
conSaleBo.setContractNumber(projectCode);
|
||||||
//订单编号
|
//订单编号
|
||||||
String orderCode = datum.getOrderCode();
|
String orderCode = datum.getProjectNo();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(orderCode)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(orderCode)) {
|
||||||
datum.setStatus("0" );
|
datum.setStatus("0" );
|
||||||
datum.setNotes("订单编号未填写" );
|
datum.setNotes("订单编号未填写" );
|
||||||
|
|
@ -310,7 +331,7 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
//合同签订日期
|
//合同签订日期
|
||||||
String contractSignDate = datum.getContractSignDate();
|
String contractSignDate = datum.getSignDate();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(contractSignDate)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(contractSignDate)) {
|
||||||
datum.setStatus("0" );
|
datum.setStatus("0" );
|
||||||
datum.setNotes("合同签订日期未填写" );
|
datum.setNotes("合同签订日期未填写" );
|
||||||
|
|
@ -322,13 +343,13 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleBo.setSignTime(date);
|
conSaleBo.setSignTime(date);
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
datum.setStatus("0" );
|
datum.setStatus("0" );
|
||||||
datum.setNotes("合同签订日期格式错误,正确格式:yyyy/M/d" );
|
datum.setNotes("合同签订日期格式错误,正确格式:yyyy-MM-dd" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//实际开票日期
|
//实际开票日期
|
||||||
String actualInvoiceDate = datum.getActualInvoiceDate();
|
String actualInvoiceDate = datum.getInvoiceDate();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(actualInvoiceDate)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(actualInvoiceDate)) {
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
|
|
@ -337,7 +358,7 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleBo.setBillingTime(date);
|
conSaleBo.setBillingTime(date);
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
datum.setStatus("0" );
|
datum.setStatus("0" );
|
||||||
datum.setNotes("实际开票日期格式错误,正确格式:yyyy/M/d" );
|
datum.setNotes("实际开票日期格式错误,正确格式:yyyy-MM-dd" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -381,7 +402,7 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleBo.setSecondName(partyB);
|
conSaleBo.setSecondName(partyB);
|
||||||
|
|
||||||
List<ConSaleMediaBo> conSaleMediaBoList = new ArrayList<>();
|
List<ConSaleMediaBo> conSaleMediaBoList = new ArrayList<>();
|
||||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||||
conSaleImportVo.setStatus("1" );
|
conSaleImportVo.setStatus("1" );
|
||||||
ConSaleMediaBo conSaleMediaBo = new ConSaleMediaBo();
|
ConSaleMediaBo conSaleMediaBo = new ConSaleMediaBo();
|
||||||
//城市
|
//城市
|
||||||
|
|
@ -472,7 +493,7 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleMediaBo.setMediaPosition(mediaPosition);
|
conSaleMediaBo.setMediaPosition(mediaPosition);
|
||||||
|
|
||||||
//数量
|
//数量
|
||||||
String quantity = conSaleImportVo.getQuantity();
|
String quantity = conSaleImportVo.getQuantity().toString();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(quantity)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(quantity)) {
|
||||||
conSaleImportVo.setStatus("0" );
|
conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("数量未填写" );
|
conSaleImportVo.setNotes("数量未填写" );
|
||||||
|
|
@ -504,7 +525,7 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
//刊例价
|
//刊例价
|
||||||
String listPrice = conSaleImportVo.getListPrice();
|
String listPrice = conSaleImportVo.getListPrice().toString();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(listPrice)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(listPrice)) {
|
||||||
conSaleImportVo.setStatus("0" );
|
conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("刊例价未填写" );
|
conSaleImportVo.setNotes("刊例价未填写" );
|
||||||
|
|
@ -544,7 +565,7 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleMediaBo.setDiscount(discount);
|
conSaleMediaBo.setDiscount(discount);
|
||||||
|
|
||||||
//媒体费
|
//媒体费
|
||||||
String mediaCost = conSaleImportVo.getMediaCost();
|
String mediaCost = conSaleImportVo.getMediaFee();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(mediaCost)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(mediaCost)) {
|
||||||
conSaleImportVo.setStatus("0" );
|
conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("媒体费未填写" );
|
conSaleImportVo.setNotes("媒体费未填写" );
|
||||||
|
|
@ -564,7 +585,7 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
//制作费
|
//制作费
|
||||||
String productionCost = conSaleImportVo.getProductionCost();
|
String productionCost = conSaleImportVo.getProductionFee();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(productionCost)) {
|
if (org.apache.commons.lang3.StringUtils.isBlank(productionCost)) {
|
||||||
conSaleImportVo.setStatus("0" );
|
conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("制作费未填写" );
|
conSaleImportVo.setNotes("制作费未填写" );
|
||||||
|
|
@ -606,15 +627,12 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleMediaBo.setCompetReverPoit(bidRebate);
|
conSaleMediaBo.setCompetReverPoit(bidRebate);
|
||||||
|
|
||||||
//比稿金额
|
//比稿金额
|
||||||
String bidAmount = conSaleImportVo.getBidAmount();
|
String bidAmount = conSaleImportVo.getBidRebateAmount();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(bidAmount)) {
|
if (bidAmount == null) {
|
||||||
conSaleImportVo.setStatus("0" );
|
conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("比稿金额未填写" );
|
conSaleImportVo.setNotes("比稿金额未填写" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(bidAmount.equals("#VALUE!")){
|
|
||||||
bidAmount = "0";
|
|
||||||
}
|
|
||||||
|
|
||||||
bidAmount = bidAmount.replace("¥","").replaceAll(",","");;
|
bidAmount = bidAmount.replace("¥","").replaceAll(",","");;
|
||||||
try {
|
try {
|
||||||
|
|
@ -626,40 +644,40 @@ public class ConSaleController extends BaseController {
|
||||||
conSaleImportVo.setNotes("比稿金额填写错误" );
|
conSaleImportVo.setNotes("比稿金额填写错误" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
// //YK给群邑返点比例
|
||||||
|
// String ykToQunYiRebateRate = conSaleImportVo.getYkToQunYiRebateRate();
|
||||||
|
// if (org.apache.commons.lang3.StringUtils.isBlank(ykToQunYiRebateRate)) {
|
||||||
|
// conSaleImportVo.setStatus("0" );
|
||||||
|
// conSaleImportVo.setNotes("YK给群邑返点比例未填写" );
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //优客返点给群邑
|
||||||
|
// String yuKeRebateToQunYi = conSaleImportVo.getYuKeRebateToQunYi();
|
||||||
|
// if (org.apache.commons.lang3.StringUtils.isBlank(yuKeRebateToQunYi)) {
|
||||||
|
// conSaleImportVo.setStatus("0" );
|
||||||
|
// conSaleImportVo.setNotes("优客返点给群邑未填写" );
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// //YK给YYX返点比例
|
||||||
|
// String ykToYYXRebateRate = conSaleImportVo.getYkToYYXRebateRate();
|
||||||
|
// if (org.apache.commons.lang3.StringUtils.isBlank(ykToYYXRebateRate)) {
|
||||||
|
// conSaleImportVo.setStatus("0" );
|
||||||
|
// conSaleImportVo.setNotes("YK给YYX返点比例未填写" );
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //优客返点给YYX
|
||||||
|
// String yuKeRebateToYYX = conSaleImportVo.getYuKeRebateToYYX();
|
||||||
|
// if (org.apache.commons.lang3.StringUtils.isBlank(yuKeRebateToYYX)) {
|
||||||
|
// conSaleImportVo.setStatus("0" );
|
||||||
|
// conSaleImportVo.setNotes("优客返点给YYX未填写" );
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
//YK给群邑返点比例
|
// String ykToQunYiRebateRateReplace = ykToQunYiRebateRate.replace("%", "" );
|
||||||
String ykToQunYiRebateRate = conSaleImportVo.getYkToQunYiRebateRate();
|
// String ykToYYXRebateRateReplace = ykToYYXRebateRate.replace("%", "" );
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(ykToQunYiRebateRate)) {
|
|
||||||
conSaleImportVo.setStatus("0" );
|
|
||||||
conSaleImportVo.setNotes("YK给群邑返点比例未填写" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//优客返点给群邑
|
|
||||||
String yuKeRebateToQunYi = conSaleImportVo.getYuKeRebateToQunYi();
|
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(yuKeRebateToQunYi)) {
|
|
||||||
conSaleImportVo.setStatus("0" );
|
|
||||||
conSaleImportVo.setNotes("优客返点给群邑未填写" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//YK给YYX返点比例
|
|
||||||
String ykToYYXRebateRate = conSaleImportVo.getYkToYYXRebateRate();
|
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(ykToYYXRebateRate)) {
|
|
||||||
conSaleImportVo.setStatus("0" );
|
|
||||||
conSaleImportVo.setNotes("YK给YYX返点比例未填写" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//优客返点给YYX
|
|
||||||
String yuKeRebateToYYX = conSaleImportVo.getYuKeRebateToYYX();
|
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(yuKeRebateToYYX)) {
|
|
||||||
conSaleImportVo.setStatus("0" );
|
|
||||||
conSaleImportVo.setNotes("优客返点给YYX未填写" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
String ykToQunYiRebateRateReplace = ykToQunYiRebateRate.replace("%", "" );
|
|
||||||
String ykToYYXRebateRateReplace = ykToYYXRebateRate.replace("%", "" );
|
|
||||||
|
|
||||||
//其他返点
|
//其他返点
|
||||||
double otherRebates = 0;
|
double otherRebates = 0;
|
||||||
|
|
@ -667,37 +685,37 @@ public class ConSaleController extends BaseController {
|
||||||
double otherRebateAmounts = 0;
|
double otherRebateAmounts = 0;
|
||||||
|
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
double ykToQunYiRebateRateDouble = Double.parseDouble(ykToQunYiRebateRateReplace);
|
// double ykToQunYiRebateRateDouble = Double.parseDouble(ykToQunYiRebateRateReplace);
|
||||||
double ykToYYXRebateRateDouble = Double.parseDouble(ykToYYXRebateRateReplace);
|
// double ykToYYXRebateRateDouble = Double.parseDouble(ykToYYXRebateRateReplace);
|
||||||
otherRebates = ykToQunYiRebateRateDouble + ykToYYXRebateRateDouble;
|
// otherRebates = ykToQunYiRebateRateDouble + ykToYYXRebateRateDouble;
|
||||||
} catch (Exception ex) {
|
// } catch (Exception ex) {
|
||||||
conSaleImportVo.setStatus("0" );
|
// conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("YK给群邑返点比例 or YK给YYX返点比例错误" );
|
// conSaleImportVo.setNotes("YK给群邑返点比例 or YK给YYX返点比例错误" );
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
String yuKeRebateToQunYiReplace = yuKeRebateToQunYi.replace("¥", "" ).replaceAll(",","");
|
// String yuKeRebateToQunYiReplace = yuKeRebateToQunYi.replace("¥", "" ).replaceAll(",","");
|
||||||
String yuKeRebateToYYXReplace = yuKeRebateToYYX.replace("¥", "" ).replaceAll(",","");
|
// String yuKeRebateToYYXReplace = yuKeRebateToYYX.replace("¥", "" ).replaceAll(",","");
|
||||||
if(yuKeRebateToQunYiReplace.equals("#VALUE!")){
|
// if(yuKeRebateToQunYiReplace.equals("#VALUE!")){
|
||||||
yuKeRebateToQunYiReplace = "0";
|
// yuKeRebateToQunYiReplace = "0";
|
||||||
}
|
// }
|
||||||
if(yuKeRebateToYYXReplace.equals("#VALUE!")){
|
// if(yuKeRebateToYYXReplace.equals("#VALUE!")){
|
||||||
yuKeRebateToYYXReplace = "0";
|
// yuKeRebateToYYXReplace = "0";
|
||||||
}
|
// }
|
||||||
try {
|
// try {
|
||||||
double yuKeRebateToQunYiDouble = Double.parseDouble(yuKeRebateToQunYiReplace);
|
// double yuKeRebateToQunYiDouble = Double.parseDouble(yuKeRebateToQunYiReplace);
|
||||||
double yuKeRebateToYYXDouble = Double.parseDouble(yuKeRebateToYYXReplace);
|
// double yuKeRebateToYYXDouble = Double.parseDouble(yuKeRebateToYYXReplace);
|
||||||
otherRebateAmounts = yuKeRebateToQunYiDouble + yuKeRebateToYYXDouble;
|
// otherRebateAmounts = yuKeRebateToQunYiDouble + yuKeRebateToYYXDouble;
|
||||||
} catch (Exception ex) {
|
// } catch (Exception ex) {
|
||||||
conSaleImportVo.setStatus("0" );
|
// conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("优客返点给群邑 or 优客返点给YYX" );
|
// conSaleImportVo.setNotes("优客返点给群邑 or 优客返点给YYX" );
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
//补充说明 其实是媒体信息中的备注
|
//补充说明 其实是媒体信息中的备注
|
||||||
String additionalNotes = conSaleImportVo.getAdditionalNotes();
|
String additionalNotes = conSaleImportVo.getNotes();
|
||||||
conSaleMediaBo.setRemark(additionalNotes);
|
conSaleMediaBo.setRemark(additionalNotes);
|
||||||
|
|
||||||
// conSaleMediaBo.setOtherReverPoit(String.valueOf(otherRebates).concat("%" ));
|
// conSaleMediaBo.setOtherReverPoit(String.valueOf(otherRebates).concat("%" ));
|
||||||
|
|
@ -713,65 +731,65 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
List<ConSaleCollectBo> conSaleCollectBoList = new ArrayList<>();
|
List<ConSaleCollectBo> conSaleCollectBoList = new ArrayList<>();
|
||||||
int size = 1;
|
int size = 1;
|
||||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
// for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||||
ConSaleCollectBo conSaleCollectBo = new ConSaleCollectBo();
|
// ConSaleCollectBo conSaleCollectBo = new ConSaleCollectBo();
|
||||||
conSaleCollectBo.setTransactionsNumber("第" + size + "笔" );
|
// conSaleCollectBo.setTransactionsNumber("第" + size + "笔" );
|
||||||
//每笔订单金额
|
// //每笔订单金额
|
||||||
String orderAmountPerTransaction = conSaleImportVo.getOrderAmountPerTransaction();
|
// String orderAmountPerTransaction = conSaleImportVo.getOrderAmountPerTransaction();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(orderAmountPerTransaction)) {
|
// if (org.apache.commons.lang3.StringUtils.isBlank(orderAmountPerTransaction)) {
|
||||||
|
//
|
||||||
}else {
|
// }else {
|
||||||
if(orderAmountPerTransaction.equals("#VALUE!")){
|
// if(orderAmountPerTransaction.equals("#VALUE!")){
|
||||||
orderAmountPerTransaction = "0";
|
// orderAmountPerTransaction = "0";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
orderAmountPerTransaction = orderAmountPerTransaction.replace("¥","").replaceAll(",","");
|
// orderAmountPerTransaction = orderAmountPerTransaction.replace("¥","").replaceAll(",","");
|
||||||
try {
|
// try {
|
||||||
double value = Double.parseDouble(orderAmountPerTransaction);
|
// double value = Double.parseDouble(orderAmountPerTransaction);
|
||||||
// conSaleCollectBo.setActualArrivalMoney(value);
|
//// conSaleCollectBo.setActualArrivalMoney(value);
|
||||||
conSaleCollectBo.setConventionArrivalMoney(value);
|
// conSaleCollectBo.setConventionArrivalMoney(value);
|
||||||
} catch (Exception ex) {
|
// } catch (Exception ex) {
|
||||||
conSaleImportVo.setStatus("0" );
|
// conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("每笔订单金额填写错误" );
|
// conSaleImportVo.setNotes("每笔订单金额填写错误" );
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
//约定回款日期
|
// //约定回款日期
|
||||||
String agreedPaymentDate = conSaleImportVo.getAgreedPaymentDate();
|
// String agreedPaymentDate = conSaleImportVo.getAgreedPaymentDate();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(agreedPaymentDate)) {
|
// if (org.apache.commons.lang3.StringUtils.isBlank(agreedPaymentDate)) {
|
||||||
conSaleImportVo.setStatus("0" );
|
// conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("约定回款日期未填写" );
|
// conSaleImportVo.setNotes("约定回款日期未填写" );
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
try {
|
// try {
|
||||||
Date date = sdf.parse(agreedPaymentDate);
|
// Date date = sdf.parse(agreedPaymentDate);
|
||||||
conSaleCollectBo.setPayTime(date);
|
// conSaleCollectBo.setPayTime(date);
|
||||||
} catch (ParseException e) {
|
// } catch (ParseException e) {
|
||||||
conSaleImportVo.setStatus("0" );
|
// conSaleImportVo.setStatus("0" );
|
||||||
conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d" );
|
// conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d" );
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
//实际回款日期
|
// //实际回款日期
|
||||||
String actualPaymentDate = conSaleImportVo.getActualPaymentDate();
|
// String actualPaymentDate = conSaleImportVo.getActualPaymentDate();
|
||||||
if (org.apache.commons.lang3.StringUtils.isBlank(actualPaymentDate)) {
|
// if (org.apache.commons.lang3.StringUtils.isBlank(actualPaymentDate)) {
|
||||||
|
//
|
||||||
}else {
|
// }else {
|
||||||
try {
|
// try {
|
||||||
Date date = sdf.parse(actualPaymentDate);
|
// Date date = sdf.parse(actualPaymentDate);
|
||||||
conSaleCollectBo.setArrivalTime(date);
|
// conSaleCollectBo.setArrivalTime(date);
|
||||||
} catch (ParseException e) {
|
// } catch (ParseException e) {
|
||||||
conSaleImportVo.setStatus("0");
|
// conSaleImportVo.setStatus("0");
|
||||||
conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d");
|
// conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
conSaleCollectBoList.add(conSaleCollectBo);
|
// conSaleCollectBoList.add(conSaleCollectBo);
|
||||||
size++;
|
// size++;
|
||||||
}
|
// }
|
||||||
|
|
||||||
conSaleBo.setConSaleCollectBoList(conSaleCollectBoList);
|
conSaleBo.setConSaleCollectBoList(conSaleCollectBoList);
|
||||||
conSaleBoList.add(conSaleBo);
|
conSaleBoList.add(conSaleBo);
|
||||||
|
|
@ -781,7 +799,7 @@ public class ConSaleController extends BaseController {
|
||||||
|
|
||||||
AtomicBoolean flag = new AtomicBoolean(true);
|
AtomicBoolean flag = new AtomicBoolean(true);
|
||||||
conSaleImportMap.forEach((projectCodeKey, salesList) -> {
|
conSaleImportMap.forEach((projectCodeKey, salesList) -> {
|
||||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||||
if (BigDecimal.ZERO.toString().equals(conSaleImportVo.getStatus())){
|
if (BigDecimal.ZERO.toString().equals(conSaleImportVo.getStatus())){
|
||||||
flag.set(false);
|
flag.set(false);
|
||||||
failList.add(conSaleImportVo);
|
failList.add(conSaleImportVo);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
package com.ruoyi.contract.domain.dto;
|
||||||
|
|
||||||
|
import cn.hutool.core.annotation.Alias;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售合同导入DTO
|
||||||
|
* 用于接收Hutool Excel读取的数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ConSaleImportNewDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Alias("序号")
|
||||||
|
private String no;
|
||||||
|
@Alias("客户名称")
|
||||||
|
private String clientName;
|
||||||
|
|
||||||
|
@Alias("项目编号")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
@Alias("订单编号")
|
||||||
|
private String projectNo;
|
||||||
|
|
||||||
|
@Alias("媒介部门")
|
||||||
|
private String department;
|
||||||
|
|
||||||
|
@Alias("项目名称")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@Alias("城市")
|
||||||
|
private String city;
|
||||||
|
|
||||||
|
@Alias("上刊时间")
|
||||||
|
private String publishStartDate;
|
||||||
|
|
||||||
|
@Alias("下刊时间")
|
||||||
|
private String publishEndDate;
|
||||||
|
|
||||||
|
@Alias("周期")
|
||||||
|
private String publishCycle;
|
||||||
|
|
||||||
|
@Alias("媒体类型")
|
||||||
|
private String mediaType;
|
||||||
|
|
||||||
|
@Alias("媒体位置")
|
||||||
|
private String mediaPosition;
|
||||||
|
|
||||||
|
@Alias("数量")
|
||||||
|
private String quantity;
|
||||||
|
|
||||||
|
@Alias("发布频次")
|
||||||
|
private String frequency;
|
||||||
|
|
||||||
|
@Alias("刊例价")
|
||||||
|
private String listPrice;
|
||||||
|
|
||||||
|
@Alias("刊例价单位")
|
||||||
|
private String listPriceUnit;
|
||||||
|
|
||||||
|
@Alias("折扣")
|
||||||
|
private String discount;
|
||||||
|
|
||||||
|
@Alias("订单发布费")
|
||||||
|
private String mediaFee;
|
||||||
|
|
||||||
|
@Alias("订单制作费")
|
||||||
|
private String productionFee;
|
||||||
|
|
||||||
|
@Alias("合同金额")
|
||||||
|
private String totalAmount;
|
||||||
|
|
||||||
|
@Alias("比稿")
|
||||||
|
private String isBid;
|
||||||
|
|
||||||
|
@Alias("比稿返点")
|
||||||
|
private String bidRebate;
|
||||||
|
|
||||||
|
@Alias("比稿返点金额")
|
||||||
|
private String bidRebateAmount;
|
||||||
|
|
||||||
|
@Alias("其他返点1")
|
||||||
|
private String otherReverPoit = "0";
|
||||||
|
|
||||||
|
@Alias("其他返点金额1")
|
||||||
|
private String otherReverMoney;
|
||||||
|
|
||||||
|
@Alias("其他返点2")
|
||||||
|
private String otherReverPoit2 = "0";
|
||||||
|
|
||||||
|
@Alias("其他返点金额2")
|
||||||
|
private String otherReverMoney2;
|
||||||
|
|
||||||
|
@Alias("开票时间")
|
||||||
|
private String invoiceDate;
|
||||||
|
|
||||||
|
@Alias("甲方名称")
|
||||||
|
private String partyA;
|
||||||
|
|
||||||
|
@Alias("乙方名称")
|
||||||
|
private String partyB;
|
||||||
|
|
||||||
|
@Alias("签订日期")
|
||||||
|
private String signDate;
|
||||||
|
|
||||||
|
@Alias("补充说明")
|
||||||
|
private String notes;
|
||||||
|
|
||||||
|
@Alias("状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@Alias("项目执行人")
|
||||||
|
private String projectExecutor;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user