Browse Source

4模块合并单元格,多工作表导入

master
583641232@qq.com 1 year ago
parent
commit
e50d20a68f
  1. 9
      cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/CarInfoController.java
  2. 10
      cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/PublicFamilyController.java
  3. 27
      cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/RealEstateController.java
  4. 9
      cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/TransactionPartnerController.java
  5. 3
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/ImportService.java
  6. 15
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java

9
cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/CarInfoController.java

@ -2,6 +2,7 @@ package com.inscloudtech.web.controller.datacenter;
import cn.hutool.core.collection.CollectionUtil;
import com.inscloudtech.analysiscenter.domain.AnalysisDto;
import com.inscloudtech.bankStatementAnalysis.service.ImportService;
import com.inscloudtech.common.annotation.Log;
import com.inscloudtech.common.annotation.UpdateLog;
import com.inscloudtech.common.core.controller.BaseController;
@ -13,6 +14,7 @@ import com.inscloudtech.common.excel.ExcelResult;
import com.inscloudtech.common.utils.BeanCopyUtils;
import com.inscloudtech.common.utils.poi.ExcelUtil;
import com.inscloudtech.datacenter.domain.CarInfo;
import com.inscloudtech.datacenter.domain.PublicFamily;
import com.inscloudtech.datacenter.mapper.CarInfoMapper;
import com.inscloudtech.datacenter.service.ICarInfoService;
import com.inscloudtech.system.service.ISysOssService;
@ -38,8 +40,8 @@ import java.util.*;
public class CarInfoController extends BaseController {
private final ICarInfoService iCarInfoService;
private final ISysOssService iSysOssService;
private final ImportService importService;
//"保存至分析成果")
@PostMapping("/save2AnalysisResult")
@ -134,8 +136,9 @@ public class CarInfoController extends BaseController {
String importResultStr = "";
int importCount = 0;
try {
ExcelResult<CarInfo> excelResult = ExcelUtil.importExcel(file.getInputStream(), CarInfo.class, true);
List<CarInfo> list = excelResult.getList();
List<CarInfo> list = importService.importMergeExcel(file, CarInfo.class,"车牌号");
// ExcelResult<CarInfo> excelResult = ExcelUtil.importExcel(file.getInputStream(), CarInfo.class, true);
// List<CarInfo> list = excelResult.getList();
if(CollectionUtil.isNotEmpty(list)){
list = iCarInfoService.dataTrimAndDeduplication(list,caseId,getUsername());
result = iCarInfoService.importData(list,caseId,null);

10
cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/PublicFamilyController.java

@ -2,6 +2,7 @@ package com.inscloudtech.web.controller.datacenter;
import cn.hutool.core.collection.CollectionUtil;
import com.inscloudtech.analysiscenter.domain.AnalysisDto;
import com.inscloudtech.bankStatementAnalysis.service.ImportService;
import com.inscloudtech.common.annotation.Log;
import com.inscloudtech.common.annotation.UpdateLog;
import com.inscloudtech.common.core.controller.BaseController;
@ -13,6 +14,7 @@ import com.inscloudtech.common.excel.ExcelResult;
import com.inscloudtech.common.utils.BeanCopyUtils;
import com.inscloudtech.common.utils.poi.ExcelUtil;
import com.inscloudtech.datacenter.domain.PublicFamily;
import com.inscloudtech.datacenter.domain.TransactionPartner;
import com.inscloudtech.datacenter.mapper.PublicFamilyMapper;
import com.inscloudtech.datacenter.service.IPublicFamilyService;
import com.inscloudtech.system.service.ISysOssService;
@ -40,8 +42,8 @@ import java.util.*;
public class PublicFamilyController extends BaseController {
private final IPublicFamilyService iPublicFamilyService;
private final ISysOssService iSysOssService;
private final ImportService importService;
//"保存至分析成果")
@PostMapping("/save2AnalysisResult")
@ -144,8 +146,10 @@ public class PublicFamilyController extends BaseController {
String importResultStr = "";
int importCount = 0;
try {
ExcelResult<PublicFamily> excelResult = ExcelUtil.importExcel(file.getInputStream(), PublicFamily.class, true);
List<PublicFamily> list = excelResult.getList();
List<PublicFamily> list = importService.importMergeExcel(file, PublicFamily.class,"企业名字");
// ExcelResult<PublicFamily> excelResult = ExcelUtil.importExcel(file.getInputStream(), PublicFamily.class, true);
// List<PublicFamily> list = excelResult.getList();
if(CollectionUtil.isNotEmpty(list)){
list = iPublicFamilyService.dataTrimAndDeduplication(list,caseId,getUsername());
result = iPublicFamilyService.importData(list,caseId,null);

27
cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/RealEstateController.java

@ -10,6 +10,7 @@ import com.aspose.cells.Workbook;
import com.aspose.cells.Worksheet;
import com.inscloudtech.analysiscenter.domain.AnalysisDto;
import com.inscloudtech.bankStatementAnalysis.helper.HelperUtil;
import com.inscloudtech.bankStatementAnalysis.service.ImportService;
import com.inscloudtech.bankStatementAnalysis.util.AsposeUtil;
import com.inscloudtech.common.annotation.Log;
import com.inscloudtech.common.annotation.UpdateLog;
@ -56,8 +57,9 @@ import java.util.*;
public class RealEstateController extends BaseController {
private final IRealEstateService iRealEstateService;
private final ISysOssService iSysOssService;
private final ImportService importService;
//"保存至分析成果")
@PostMapping("/save2AnalysisResult")
@ -82,28 +84,7 @@ public class RealEstateController extends BaseController {
String importResultStr = "";
int importCount = 0;
try {
// 获取文件名和扩展名
String suffix = FileUtil.getSuffix(file.getOriginalFilename());
// 创建临时文件
Path tempFilePath = Files.createTempFile("temp", "." + suffix);
File tempFile = tempFilePath.toFile();
// 写入文件内容
try (InputStream inputStream = file.getInputStream()) {
Files.copy(inputStream, tempFilePath, StandardCopyOption.REPLACE_EXISTING);
}
Workbook wb = new Workbook(tempFile.getAbsolutePath());
List<RealEstate> list = new ArrayList<>();
int count = wb.getWorksheets().getCount();
for (int sheetNo = 0; sheetNo < count; sheetNo++) {
Worksheet worksheet = wb.getWorksheets().get(sheetNo);
Cells cells = worksheet.getCells();
Cell flagCell = AsposeUtil.getCell(cells, "房产地址");
Integer headRowNumber = flagCell.getRow() + 1;
ImportExcelHelper<RealEstate> helper = new ImportExcelHelper<>();
List<RealEstate> tempList = helper.getListWithInputStream(file.getInputStream(), RealEstate.class, sheetNo, headRowNumber);
list.addAll(tempList);
}
List<RealEstate> list = importService.importMergeExcel(file, RealEstate.class,"房产地址");
// ExcelResult<RealEstate> excelResult = ExcelUtil.importExcel(file.getInputStream(), RealEstate.class, true);
// List<RealEstate> list = excelResult.getList();
if(CollectionUtil.isNotEmpty(list)){

9
cas-admin/src/main/java/com/inscloudtech/web/controller/datacenter/TransactionPartnerController.java

@ -2,6 +2,7 @@ package com.inscloudtech.web.controller.datacenter;
import cn.hutool.core.collection.CollectionUtil;
import com.inscloudtech.analysiscenter.domain.AnalysisDto;
import com.inscloudtech.bankStatementAnalysis.service.ImportService;
import com.inscloudtech.common.annotation.UpdateLog;
import com.inscloudtech.common.core.controller.BaseController;
import com.inscloudtech.common.core.domain.PageQuery;
@ -10,6 +11,7 @@ import com.inscloudtech.common.core.page.TableDataInfo;
import com.inscloudtech.common.excel.ExcelResult;
import com.inscloudtech.common.utils.BeanCopyUtils;
import com.inscloudtech.common.utils.poi.ExcelUtil;
import com.inscloudtech.datacenter.domain.RealEstate;
import com.inscloudtech.datacenter.domain.TransactionPartner;
import com.inscloudtech.datacenter.mapper.TransactionPartnerMapper;
import com.inscloudtech.datacenter.service.ITransactionPartnerService;
@ -40,8 +42,8 @@ import java.util.*;
public class TransactionPartnerController extends BaseController {
private final ITransactionPartnerService iTransactionPartnerService;
private final ISysOssService iSysOssService;
private final ImportService importService;
//"保存至分析成果")
@PostMapping("/save2AnalysisResult")
@ -99,8 +101,9 @@ public class TransactionPartnerController extends BaseController {
String importResultStr = "";
int importCount = 0;
try {
ExcelResult<TransactionPartner> excelResult = ExcelUtil.importExcel(file.getInputStream(), TransactionPartner.class, true);
List<TransactionPartner> list = excelResult.getList();
List<TransactionPartner> list = importService.importMergeExcel(file, TransactionPartner.class,"客商名称");
// ExcelResult<TransactionPartner> excelResult = ExcelUtil.importExcel(file.getInputStream(), TransactionPartner.class, true);
// List<TransactionPartner> list = excelResult.getList();
if(CollectionUtil.isNotEmpty(list)){
result = iTransactionPartnerService.importAnalysisResult(list,analysisResultId,getUsername());
importCount = list.size();

3
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/ImportService.java

@ -5,6 +5,7 @@ import com.inscloudtech.bankStatementAnalysis.domain.ReadDto;
import com.inscloudtech.datacenter.domain.BankStatement;
import com.inscloudtech.datacenter.domain.OpeningAccountInfo;
import org.dromara.easyes.core.core.BaseEsMapper;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List;
@ -34,4 +35,6 @@ public interface ImportService{
void setIdCardAndCardNumberByCardHolderName(Map<String, List<OpeningAccountInfo>> oaiMap, String cardHolderName, BankStatement bs);
void setIdCardAndPhoneByCardNumber(Map<String, List<OpeningAccountInfo>> oaiMap, String cardNumber, BankStatement bs);
<T> List<T> importMergeExcel(MultipartFile file, Class<T> clazz, String headFieldValue);
}

15
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java

@ -380,10 +380,10 @@ public class ImportServiceImpl implements ImportService {
String CarNumberVerify = "^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";
@SneakyThrows
void aaa(MultipartFile file){
// 获取文件名和扩展名
@Override
public <T> List<T> importMergeExcel(MultipartFile file, Class<T> clazz,String headFieldValue){
// // 创建临时文件 获取文件名和扩展名
String suffix = FileUtil.getSuffix(file.getOriginalFilename());
// 创建临时文件
Path tempFilePath = Files.createTempFile("temp", "." + suffix);
File tempFile = tempFilePath.toFile();
// 写入文件内容
@ -391,17 +391,18 @@ public class ImportServiceImpl implements ImportService {
Files.copy(inputStream, tempFilePath, StandardCopyOption.REPLACE_EXISTING);
}
Workbook wb = new Workbook(tempFile.getAbsolutePath());
List<RealEstate> list = new ArrayList<>();
List<T> list = new ArrayList<>();
int count = wb.getWorksheets().getCount();
for (int sheetNo = 0; sheetNo < count; sheetNo++) {
Worksheet worksheet = wb.getWorksheets().get(sheetNo);
Cells cells = worksheet.getCells();
Cell flagCell = AsposeUtil.getCell(cells, "房产地址");
Cell flagCell = AsposeUtil.getCell(cells, headFieldValue);
Integer headRowNumber = flagCell.getRow() + 1;
ImportExcelHelper<RealEstate> helper = new ImportExcelHelper<>();
List<RealEstate> tempList = helper.getListWithInputStream(file.getInputStream(), RealEstate.class, sheetNo, headRowNumber);
ImportExcelHelper<T> helper = new ImportExcelHelper<>();
List<T> tempList = helper.getListWithInputStream(file.getInputStream(), clazz, sheetNo, headRowNumber);
list.addAll(tempList);
}
return list;
}

Loading…
Cancel
Save