commit
This commit is contained in:
parent
e6457b4846
commit
94288657d9
|
|
@ -75,7 +75,7 @@ spring:
|
|||
basename: i18n/messages
|
||||
profiles:
|
||||
# active: dev
|
||||
active: prod
|
||||
active: dev
|
||||
# 文件上传
|
||||
servlet:
|
||||
multipart:
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package com.ruoyi.contract.controller;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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.ruoyi.common.annotation.Log;
|
||||
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.contract.domain.bo.*;
|
||||
import com.ruoyi.contract.domain.bo.consale.*;
|
||||
import com.ruoyi.contract.domain.dto.ConSaleImportNewDto;
|
||||
import com.ruoyi.contract.domain.vo.*;
|
||||
import com.ruoyi.contract.service.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -30,7 +32,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
|
|
@ -195,18 +196,21 @@ public class ConSaleController extends BaseController {
|
|||
|
||||
@Log(title = "销售汇总导入", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/import" )
|
||||
public R<List<ConSaleImportVo>> importExcel(MultipartFile file) {
|
||||
public R<List<ConSaleImportNewDto>> importExcel(MultipartFile file) {
|
||||
// 获取上传的文件输入流
|
||||
try (InputStream inputStream = file.getInputStream()) {
|
||||
// 使用 EasyExcel 解析 Excel 文件,并将数据转换为 ExcelRowData 实体类对象
|
||||
List<ConSaleImportVo> data = EasyExcel.read(inputStream)
|
||||
.head(ConSaleImportVo.class) // 指定 Excel 对应的实体类
|
||||
.sheet(0) // 指定解析第一个 sheet
|
||||
.doReadSync(); // 同步读取文件
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d" );
|
||||
// // 使用 EasyExcel 解析 Excel 文件,并将数据转换为 ExcelRowData 实体类对象
|
||||
// List<ConSaleImportNewDto> data = EasyExcel.read(inputStream)
|
||||
// .head(ConSaleImportNewDto.class) // 指定 Excel 对应的实体类
|
||||
// .sheet(0) // 指定解析第一个 sheet
|
||||
// .doReadSync(); // 同步读取文件
|
||||
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()
|
||||
.filter(conSaleImportVo -> conSaleImportVo.getOrderCode() != null)
|
||||
List<ConSaleImportNewDto> filteredData = data.stream()
|
||||
.filter(conSaleImportVo -> conSaleImportVo.getProjectNo() != null)
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(filteredData)){
|
||||
return R.fail("导入没有数据");
|
||||
|
|
@ -214,24 +218,24 @@ public class ConSaleController extends BaseController {
|
|||
//处理排序问题
|
||||
List<String> orderCodeList = new ArrayList<>();
|
||||
filteredData.stream().forEach(item -> {
|
||||
if (!orderCodeList.contains(item.getOrderCode())){
|
||||
orderCodeList.add(item.getOrderCode());
|
||||
if (!orderCodeList.contains(item.getProjectNo())){
|
||||
orderCodeList.add(item.getProjectNo());
|
||||
}
|
||||
});
|
||||
//之后将顺序翻转过来
|
||||
Map<String, List<ConSaleImportVo>> conSaleImportMap = filteredData.stream().collect(Collectors.groupingBy(ConSaleImportVo::getOrderCode));
|
||||
List<ConSaleImportVo> failList= new ArrayList<>();
|
||||
Map<String, List<ConSaleImportNewDto>> conSaleImportMap = filteredData.stream().collect(Collectors.groupingBy(ConSaleImportNewDto::getProjectNo));
|
||||
List<ConSaleImportNewDto> failList= new ArrayList<>();
|
||||
|
||||
//数据合并
|
||||
List<ConSaleBo> conSaleBoList = new ArrayList<>();
|
||||
|
||||
orderCodeList.forEach(item -> {
|
||||
String projectCodeKey = item;
|
||||
List<ConSaleImportVo> salesList = conSaleImportMap.get(projectCodeKey);
|
||||
List<ConSaleImportNewDto> salesList = conSaleImportMap.get(projectCodeKey);
|
||||
if (CollectionUtils.isEmpty(salesList)) {
|
||||
return;
|
||||
}
|
||||
ConSaleImportVo datum = salesList.get(0);
|
||||
ConSaleImportNewDto datum = salesList.get(0);
|
||||
|
||||
datum.setStatus("1" );
|
||||
ConSaleBo conSaleBo = new ConSaleBo();
|
||||
|
|
@ -244,6 +248,23 @@ public class ConSaleController extends BaseController {
|
|||
//项目执行人
|
||||
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();
|
||||
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)) {
|
||||
datum.setStatus("0" );
|
||||
datum.setNotes("项目编号未填写" );
|
||||
|
|
@ -271,7 +292,7 @@ public class ConSaleController extends BaseController {
|
|||
}
|
||||
conSaleBo.setContractNumber(projectCode);
|
||||
//订单编号
|
||||
String orderCode = datum.getOrderCode();
|
||||
String orderCode = datum.getProjectNo();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(orderCode)) {
|
||||
datum.setStatus("0" );
|
||||
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)) {
|
||||
datum.setStatus("0" );
|
||||
datum.setNotes("合同签订日期未填写" );
|
||||
|
|
@ -322,13 +343,13 @@ public class ConSaleController extends BaseController {
|
|||
conSaleBo.setSignTime(date);
|
||||
} catch (ParseException e) {
|
||||
datum.setStatus("0" );
|
||||
datum.setNotes("合同签订日期格式错误,正确格式:yyyy/M/d" );
|
||||
datum.setNotes("合同签订日期格式错误,正确格式:yyyy-MM-dd" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//实际开票日期
|
||||
String actualInvoiceDate = datum.getActualInvoiceDate();
|
||||
String actualInvoiceDate = datum.getInvoiceDate();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(actualInvoiceDate)) {
|
||||
|
||||
}else {
|
||||
|
|
@ -337,7 +358,7 @@ public class ConSaleController extends BaseController {
|
|||
conSaleBo.setBillingTime(date);
|
||||
} catch (ParseException e) {
|
||||
datum.setStatus("0" );
|
||||
datum.setNotes("实际开票日期格式错误,正确格式:yyyy/M/d" );
|
||||
datum.setNotes("实际开票日期格式错误,正确格式:yyyy-MM-dd" );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -381,7 +402,7 @@ public class ConSaleController extends BaseController {
|
|||
conSaleBo.setSecondName(partyB);
|
||||
|
||||
List<ConSaleMediaBo> conSaleMediaBoList = new ArrayList<>();
|
||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
||||
for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||
conSaleImportVo.setStatus("1" );
|
||||
ConSaleMediaBo conSaleMediaBo = new ConSaleMediaBo();
|
||||
//城市
|
||||
|
|
@ -472,7 +493,7 @@ public class ConSaleController extends BaseController {
|
|||
conSaleMediaBo.setMediaPosition(mediaPosition);
|
||||
|
||||
//数量
|
||||
String quantity = conSaleImportVo.getQuantity();
|
||||
String quantity = conSaleImportVo.getQuantity().toString();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(quantity)) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
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)) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("刊例价未填写" );
|
||||
|
|
@ -544,7 +565,7 @@ public class ConSaleController extends BaseController {
|
|||
conSaleMediaBo.setDiscount(discount);
|
||||
|
||||
//媒体费
|
||||
String mediaCost = conSaleImportVo.getMediaCost();
|
||||
String mediaCost = conSaleImportVo.getMediaFee();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(mediaCost)) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
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)) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("制作费未填写" );
|
||||
|
|
@ -606,15 +627,12 @@ public class ConSaleController extends BaseController {
|
|||
conSaleMediaBo.setCompetReverPoit(bidRebate);
|
||||
|
||||
//比稿金额
|
||||
String bidAmount = conSaleImportVo.getBidAmount();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(bidAmount)) {
|
||||
String bidAmount = conSaleImportVo.getBidRebateAmount();
|
||||
if (bidAmount == null) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("比稿金额未填写" );
|
||||
return;
|
||||
}
|
||||
if(bidAmount.equals("#VALUE!")){
|
||||
bidAmount = "0";
|
||||
}
|
||||
|
||||
bidAmount = bidAmount.replace("¥","").replaceAll(",","");;
|
||||
try {
|
||||
|
|
@ -626,40 +644,40 @@ public class ConSaleController extends BaseController {
|
|||
conSaleImportVo.setNotes("比稿金额填写错误" );
|
||||
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 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;
|
||||
}
|
||||
|
||||
String ykToQunYiRebateRateReplace = ykToQunYiRebateRate.replace("%", "" );
|
||||
String ykToYYXRebateRateReplace = ykToYYXRebateRate.replace("%", "" );
|
||||
// String ykToQunYiRebateRateReplace = ykToQunYiRebateRate.replace("%", "" );
|
||||
// String ykToYYXRebateRateReplace = ykToYYXRebateRate.replace("%", "" );
|
||||
|
||||
//其他返点
|
||||
double otherRebates = 0;
|
||||
|
|
@ -667,37 +685,37 @@ public class ConSaleController extends BaseController {
|
|||
double otherRebateAmounts = 0;
|
||||
|
||||
|
||||
try {
|
||||
double ykToQunYiRebateRateDouble = Double.parseDouble(ykToQunYiRebateRateReplace);
|
||||
double ykToYYXRebateRateDouble = Double.parseDouble(ykToYYXRebateRateReplace);
|
||||
otherRebates = ykToQunYiRebateRateDouble + ykToYYXRebateRateDouble;
|
||||
} catch (Exception ex) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("YK给群邑返点比例 or YK给YYX返点比例错误" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
String yuKeRebateToQunYiReplace = yuKeRebateToQunYi.replace("¥", "" ).replaceAll(",","");
|
||||
String yuKeRebateToYYXReplace = yuKeRebateToYYX.replace("¥", "" ).replaceAll(",","");
|
||||
if(yuKeRebateToQunYiReplace.equals("#VALUE!")){
|
||||
yuKeRebateToQunYiReplace = "0";
|
||||
}
|
||||
if(yuKeRebateToYYXReplace.equals("#VALUE!")){
|
||||
yuKeRebateToYYXReplace = "0";
|
||||
}
|
||||
try {
|
||||
double yuKeRebateToQunYiDouble = Double.parseDouble(yuKeRebateToQunYiReplace);
|
||||
double yuKeRebateToYYXDouble = Double.parseDouble(yuKeRebateToYYXReplace);
|
||||
otherRebateAmounts = yuKeRebateToQunYiDouble + yuKeRebateToYYXDouble;
|
||||
} catch (Exception ex) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("优客返点给群邑 or 优客返点给YYX" );
|
||||
return;
|
||||
}
|
||||
// try {
|
||||
// double ykToQunYiRebateRateDouble = Double.parseDouble(ykToQunYiRebateRateReplace);
|
||||
// double ykToYYXRebateRateDouble = Double.parseDouble(ykToYYXRebateRateReplace);
|
||||
// otherRebates = ykToQunYiRebateRateDouble + ykToYYXRebateRateDouble;
|
||||
// } catch (Exception ex) {
|
||||
// conSaleImportVo.setStatus("0" );
|
||||
// conSaleImportVo.setNotes("YK给群邑返点比例 or YK给YYX返点比例错误" );
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// String yuKeRebateToQunYiReplace = yuKeRebateToQunYi.replace("¥", "" ).replaceAll(",","");
|
||||
// String yuKeRebateToYYXReplace = yuKeRebateToYYX.replace("¥", "" ).replaceAll(",","");
|
||||
// if(yuKeRebateToQunYiReplace.equals("#VALUE!")){
|
||||
// yuKeRebateToQunYiReplace = "0";
|
||||
// }
|
||||
// if(yuKeRebateToYYXReplace.equals("#VALUE!")){
|
||||
// yuKeRebateToYYXReplace = "0";
|
||||
// }
|
||||
// try {
|
||||
// double yuKeRebateToQunYiDouble = Double.parseDouble(yuKeRebateToQunYiReplace);
|
||||
// double yuKeRebateToYYXDouble = Double.parseDouble(yuKeRebateToYYXReplace);
|
||||
// otherRebateAmounts = yuKeRebateToQunYiDouble + yuKeRebateToYYXDouble;
|
||||
// } catch (Exception ex) {
|
||||
// conSaleImportVo.setStatus("0" );
|
||||
// conSaleImportVo.setNotes("优客返点给群邑 or 优客返点给YYX" );
|
||||
// return;
|
||||
// }
|
||||
|
||||
//补充说明 其实是媒体信息中的备注
|
||||
String additionalNotes = conSaleImportVo.getAdditionalNotes();
|
||||
String additionalNotes = conSaleImportVo.getNotes();
|
||||
conSaleMediaBo.setRemark(additionalNotes);
|
||||
|
||||
// conSaleMediaBo.setOtherReverPoit(String.valueOf(otherRebates).concat("%" ));
|
||||
|
|
@ -713,65 +731,65 @@ public class ConSaleController extends BaseController {
|
|||
|
||||
List<ConSaleCollectBo> conSaleCollectBoList = new ArrayList<>();
|
||||
int size = 1;
|
||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
||||
ConSaleCollectBo conSaleCollectBo = new ConSaleCollectBo();
|
||||
conSaleCollectBo.setTransactionsNumber("第" + size + "笔" );
|
||||
//每笔订单金额
|
||||
String orderAmountPerTransaction = conSaleImportVo.getOrderAmountPerTransaction();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(orderAmountPerTransaction)) {
|
||||
|
||||
}else {
|
||||
if(orderAmountPerTransaction.equals("#VALUE!")){
|
||||
orderAmountPerTransaction = "0";
|
||||
}
|
||||
|
||||
orderAmountPerTransaction = orderAmountPerTransaction.replace("¥","").replaceAll(",","");
|
||||
try {
|
||||
double value = Double.parseDouble(orderAmountPerTransaction);
|
||||
// conSaleCollectBo.setActualArrivalMoney(value);
|
||||
conSaleCollectBo.setConventionArrivalMoney(value);
|
||||
} catch (Exception ex) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("每笔订单金额填写错误" );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//约定回款日期
|
||||
String agreedPaymentDate = conSaleImportVo.getAgreedPaymentDate();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(agreedPaymentDate)) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("约定回款日期未填写" );
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Date date = sdf.parse(agreedPaymentDate);
|
||||
conSaleCollectBo.setPayTime(date);
|
||||
} catch (ParseException e) {
|
||||
conSaleImportVo.setStatus("0" );
|
||||
conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//实际回款日期
|
||||
String actualPaymentDate = conSaleImportVo.getActualPaymentDate();
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(actualPaymentDate)) {
|
||||
|
||||
}else {
|
||||
try {
|
||||
Date date = sdf.parse(actualPaymentDate);
|
||||
conSaleCollectBo.setArrivalTime(date);
|
||||
} catch (ParseException e) {
|
||||
conSaleImportVo.setStatus("0");
|
||||
conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d");
|
||||
return;
|
||||
}
|
||||
}
|
||||
conSaleCollectBoList.add(conSaleCollectBo);
|
||||
size++;
|
||||
}
|
||||
// for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||
// ConSaleCollectBo conSaleCollectBo = new ConSaleCollectBo();
|
||||
// conSaleCollectBo.setTransactionsNumber("第" + size + "笔" );
|
||||
// //每笔订单金额
|
||||
// String orderAmountPerTransaction = conSaleImportVo.getOrderAmountPerTransaction();
|
||||
// if (org.apache.commons.lang3.StringUtils.isBlank(orderAmountPerTransaction)) {
|
||||
//
|
||||
// }else {
|
||||
// if(orderAmountPerTransaction.equals("#VALUE!")){
|
||||
// orderAmountPerTransaction = "0";
|
||||
// }
|
||||
//
|
||||
// orderAmountPerTransaction = orderAmountPerTransaction.replace("¥","").replaceAll(",","");
|
||||
// try {
|
||||
// double value = Double.parseDouble(orderAmountPerTransaction);
|
||||
//// conSaleCollectBo.setActualArrivalMoney(value);
|
||||
// conSaleCollectBo.setConventionArrivalMoney(value);
|
||||
// } catch (Exception ex) {
|
||||
// conSaleImportVo.setStatus("0" );
|
||||
// conSaleImportVo.setNotes("每笔订单金额填写错误" );
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //约定回款日期
|
||||
// String agreedPaymentDate = conSaleImportVo.getAgreedPaymentDate();
|
||||
// if (org.apache.commons.lang3.StringUtils.isBlank(agreedPaymentDate)) {
|
||||
// conSaleImportVo.setStatus("0" );
|
||||
// conSaleImportVo.setNotes("约定回款日期未填写" );
|
||||
// return;
|
||||
// }
|
||||
// try {
|
||||
// Date date = sdf.parse(agreedPaymentDate);
|
||||
// conSaleCollectBo.setPayTime(date);
|
||||
// } catch (ParseException e) {
|
||||
// conSaleImportVo.setStatus("0" );
|
||||
// conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d" );
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //实际回款日期
|
||||
// String actualPaymentDate = conSaleImportVo.getActualPaymentDate();
|
||||
// if (org.apache.commons.lang3.StringUtils.isBlank(actualPaymentDate)) {
|
||||
//
|
||||
// }else {
|
||||
// try {
|
||||
// Date date = sdf.parse(actualPaymentDate);
|
||||
// conSaleCollectBo.setArrivalTime(date);
|
||||
// } catch (ParseException e) {
|
||||
// conSaleImportVo.setStatus("0");
|
||||
// conSaleImportVo.setNotes("约定回款日期格式错误,正确格式:yyyy/M/d");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// conSaleCollectBoList.add(conSaleCollectBo);
|
||||
// size++;
|
||||
// }
|
||||
|
||||
conSaleBo.setConSaleCollectBoList(conSaleCollectBoList);
|
||||
conSaleBoList.add(conSaleBo);
|
||||
|
|
@ -781,7 +799,7 @@ public class ConSaleController extends BaseController {
|
|||
|
||||
AtomicBoolean flag = new AtomicBoolean(true);
|
||||
conSaleImportMap.forEach((projectCodeKey, salesList) -> {
|
||||
for (ConSaleImportVo conSaleImportVo : salesList) {
|
||||
for (ConSaleImportNewDto conSaleImportVo : salesList) {
|
||||
if (BigDecimal.ZERO.toString().equals(conSaleImportVo.getStatus())){
|
||||
flag.set(false);
|
||||
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