修改bug#40461

This commit is contained in:
梁琦涛
2021-10-12 15:36:10 +08:00
parent 515fcef3e9
commit 56724b91b4
8 changed files with 55 additions and 9 deletions
@@ -3,6 +3,7 @@ package com.jero.common.system.base.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.ImportExcelUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.shiro.SecurityUtils;
@@ -134,6 +135,10 @@ public class JeroController<T, S extends IService<T>> {
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 获取上传文件对象
MultipartFile file = entity.getValue();
// 校验文件是否为excel
if(!ImportExcelUtil.checkExcelFile(file)){
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
@@ -6,11 +6,14 @@ import com.jero.common.exception.JeroBootException;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.CommonConstant;
import org.springframework.web.multipart.MultipartFile;
import javax.management.remote.JMXProviderException;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* 导出返回信息
@@ -91,4 +94,21 @@ public class ImportExcelUtil {
}
return errorMessage;
}
/**
* @Description 校验文件是否为excel
* @Author lqt
* @Date 2021/10/12
* @Param file 文件对象
* @Return
* @Exception
*/
public static boolean checkExcelFile(MultipartFile file){
if(Objects.isNull(file)){
return false;
}
String fileName = file.getOriginalFilename();
String extension = fileName.substring(fileName.lastIndexOf(".") + 1);
return Arrays.asList("xls","xlsx","XLS","XLSX").contains(extension);
}
}
@@ -7,7 +7,6 @@ import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
@@ -15,10 +14,12 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
@@ -637,6 +638,10 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
// 校验文件是否为excel
if(!ImportExcelUtil.checkExcelFile(file)){
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);
@@ -644,7 +649,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
//导入Excel格式校验,看匹配的字段文本概率
Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayCompanyManagement.class, params);
if(!t){
throw new RuntimeException("导入Excel校验失败 ");
throw new JeroBootException("导入Excel校验失败 ");
}
List<PayCompanyManagement> list = ExcelImportUtil.importExcel(file.getInputStream(), PayCompanyManagement.class, params);
if(!CollectionUtils.isEmpty(list)){
@@ -14,8 +14,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
@@ -675,6 +677,10 @@ public class PayContactsManagementController extends JeroController<PayContactsM
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
// 校验文件是否为excel
if(!ImportExcelUtil.checkExcelFile(file)){
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);
@@ -52,7 +52,7 @@ public class PayCompanyManagement implements Serializable {
@Excel(name = "公司地址", width = 15)
@ApiModelProperty(value = "公司地址")
@NotEmpty(message = "公司地址不能为空!")
@Size(max = 200, message = "公司地址长度不能大于200个字符")
@Size(max = 50, message = "公司地址长度不能大于50个字符")
private String companyAddress;
/**公司电话*/
@Excel(name = "公司电话", width = 15)
@@ -45,13 +45,13 @@ public class PayContactsManagement implements Serializable {
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@Size(max = 200, message = "企业名称长度不能大于200个字符")
@Size(max = 50, message = "企业名称长度不能大于50个字符")
private String companyName;
/**姓名*/
@Excel(name = "姓名", width = 15)
@ApiModelProperty(value = "姓名")
@NotEmpty(message = "姓名不能为空!")
@Size(max = 20, message = "姓名长度不能大于20个字符")
@Size(max = 50, message = "姓名长度不能大于50个字符")
private String name;
/**性别(1:男,2:女)*/
@Excel(name = "性别", width = 15,dicCode="sex")
@@ -61,7 +61,7 @@ public class PayContactsManagement implements Serializable {
/**职务*/
@Excel(name = "职务", width = 15)
@ApiModelProperty(value = "职务")
@Size(max = 20, message = "职务长度不能大于20个字符")
@Size(max = 50, message = "职务长度不能大于50个字符")
private String post;
/**手机号*/
@Excel(name = "手机号", width = 15)
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.util.DateUtils;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.ValidUtil;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.contract.entity.PaySpendingContract;
@@ -78,7 +79,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
throw new JeroBootException("支出合同信息不能为空!");
}
if(!Objects.isNull(paySpendingContract.getAccountsReceivableAmount()) && !Objects.isNull(paySpendingContract.getAmountReceived())
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == -1){
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) < 0){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
@@ -118,7 +119,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) < 0){
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
@@ -141,7 +142,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
throw new JeroBootException("支出合同信息不能为空!");
}
if(!Objects.isNull(paySpendingContract.getAccountsReceivableAmount()) && !Objects.isNull(paySpendingContract.getAmountReceived())
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == -1){
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) < 0){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
@@ -245,6 +246,10 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 获取上传文件对象
MultipartFile file = entity.getValue();
// 校验文件是否为excel
if(!ImportExcelUtil.checkExcelFile(file)){
throw new JeroBootException("请导入excel文件!");
}
List<Map<Integer, String>> list = read(file);
if(!CollectionUtils.isEmpty(list)){
List<String> listSpendingContract = PayIncomeContractCommon.LIST_SPENDING_CONTRACT;
@@ -8,6 +8,7 @@ import com.jero.common.common.ProjectCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.vo.ProjectStatusVO;
import com.jero.company.entity.PayCompanyManagement;
@@ -292,6 +293,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
// 校验文件是否为excel
if(!ImportExcelUtil.checkExcelFile(file)){
throw new JeroBootException("请导入excel文件!");
}
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);