|
@@ -335,7 +335,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public RestResponse assemble(List<ProjectImportModel> projectImportModels,Long mtCompanyId){
|
|
|
//检查列表有效性
|
|
|
- Verify.notNull(projectImportModels,"没有数据");
|
|
|
+ Verify.notNull(projectImportModels, "没有数据");
|
|
|
//存放新建的project
|
|
|
List<Project> projects = new ArrayList<>();
|
|
|
//存放新建的region
|
|
@@ -364,16 +364,16 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
|
|
|
//全部甲方联系人
|
|
|
List<PropertyContact> propertyContactList = propertyContactService.list();
|
|
|
- log.info("甲方联系人总条数: {}",propertyContactList.size());
|
|
|
+ log.info("甲方联系人总条数: {}", propertyContactList.size());
|
|
|
|
|
|
- for (int i = 0; i< projectImportModels.size();i ++){
|
|
|
+ for (int i = 0; i < projectImportModels.size(); i++) {
|
|
|
ProjectImportModel item = projectImportModels.get(i);
|
|
|
//0 属性表头,1 文字表头,2 记录行
|
|
|
int rowNum = i + 2;
|
|
|
Project project = new Project();
|
|
|
//复制解析model中的值到project中
|
|
|
- BeanUtil.copyProperties(item,project);
|
|
|
- log.info("复制属性后的project: {}",project);
|
|
|
+ BeanUtil.copyProperties(item, project);
|
|
|
+ log.info("复制属性后的project: {}", project);
|
|
|
//查找省
|
|
|
String provName = item.getProvince();
|
|
|
Optional<AreaCode> provOptional = provinceList
|
|
@@ -381,9 +381,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.filter(areaCode -> (StrUtil.equals(areaCode.getName(), provName)))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
|
|
|
- if(!provOptional.isPresent()){
|
|
|
- log.error("表格数据有误,行数:{}, {}没有匹配省",rowNum,provName);
|
|
|
- return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配省",rowNum,provName));
|
|
|
+ if (!provOptional.isPresent()) {
|
|
|
+ log.error("表格数据有误,行数:{}, {}没有匹配省", rowNum, provName);
|
|
|
+ return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配省", rowNum, provName));
|
|
|
}
|
|
|
//项目中设置省
|
|
|
AreaCode province = provOptional.get();
|
|
@@ -395,9 +395,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.stream()
|
|
|
.filter(areaCode -> (StrUtil.equals(areaCode.getName(), cityName)))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
- if(!cityOptional.isPresent()){
|
|
|
- log.error("表格数据有误,行数:{}, {}没有匹配市",rowNum,cityName);
|
|
|
- return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配市",rowNum,cityName));
|
|
|
+ if (!cityOptional.isPresent()) {
|
|
|
+ log.error("表格数据有误,行数:{}, {}没有匹配市", rowNum, cityName);
|
|
|
+ return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配市", rowNum, cityName));
|
|
|
}
|
|
|
//项目中设置市
|
|
|
AreaCode city = cityOptional.get();
|
|
@@ -409,9 +409,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.stream()
|
|
|
.filter(areaCode -> (StrUtil.equals(areaCode.getName(), distName)))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
- if(!distOptional.isPresent()){
|
|
|
- log.error("表格数据有误,行数:{}, {}没有匹配区",rowNum,distName);
|
|
|
- return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配区",rowNum,distName));
|
|
|
+ if (!distOptional.isPresent()) {
|
|
|
+ log.error("表格数据有误,行数:{}, {}没有匹配区", rowNum, distName);
|
|
|
+ return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配区", rowNum, distName));
|
|
|
}
|
|
|
//项目中设置区
|
|
|
AreaCode district = distOptional.get();
|
|
@@ -425,9 +425,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.filter(r -> (StrUtil.equals(r.getProvinceCode(), province.getCode()) && StrUtil.equals(r.getCityCode(), city.getCode()) && StrUtil.equals(r.getAreaName(), areaName)))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
//根据省市查找区域,如果区域不存在就新增
|
|
|
- if(!regionOptional.isPresent()) {
|
|
|
- log.error("表格数据有误,行数:{}, {}没有匹配区域",rowNum,areaName);
|
|
|
- return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配区域",rowNum,areaName));
|
|
|
+ if (!regionOptional.isPresent()) {
|
|
|
+ log.error("表格数据有误,行数:{}, {}没有匹配区域", rowNum, areaName);
|
|
|
+ return RestResponse.fail(StrUtil.format("表格数据有误,行数:{}, {}没有匹配区域", rowNum, areaName));
|
|
|
|
|
|
//fixme:待确认,如果表格中导入的区域不存在,直接返回还是新增
|
|
|
// Region region = new Region();
|
|
@@ -455,14 +455,14 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.stream()
|
|
|
.filter(company -> (StrUtil.equals(company.getName(), ppCompanyName)))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
- if(ppcOptional.isPresent()){
|
|
|
+ if (ppcOptional.isPresent()) {
|
|
|
//如果存在就赋值给ppCompanyId
|
|
|
ppCompanyId = ppcOptional.get().getId();
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//如果维保公司不存在,新建,生成id
|
|
|
PropertyCompany propertyCompany = new PropertyCompany();
|
|
|
ppCompanyId = IdWorker.getId();
|
|
|
- log.info("新建甲方公司. id: {}",ppCompanyId);
|
|
|
+ log.info("新建甲方公司. id: {}", ppCompanyId);
|
|
|
propertyCompany.setId(ppCompanyId);
|
|
|
propertyCompany.setMtCompanyId(mtCompanyId);
|
|
|
//公司名称
|
|
@@ -485,14 +485,14 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
.stream()
|
|
|
.filter(contact -> (StrUtil.equals(contact.getName(), ppCompanyContact) && StrUtil.equals(contact.getTelephone(), ppTelephone) && ppCompanyId == contact.getPpCompanyId()))
|
|
|
.distinct().limit(1).findFirst();
|
|
|
- if(pptOptional.isPresent()){
|
|
|
+ if (pptOptional.isPresent()) {
|
|
|
//如果存在就取id
|
|
|
ppContactId = pptOptional.get().getId();
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//如果不存在就创建,加入到新增list中
|
|
|
PropertyContact propertyContact = new PropertyContact();
|
|
|
ppContactId = IdWorker.getId();
|
|
|
- log.info("新增甲方联系人. id: {}",ppContactId);
|
|
|
+ log.info("新增甲方联系人. id: {}", ppContactId);
|
|
|
propertyContact.setId(ppContactId);
|
|
|
propertyContact.setName(ppCompanyContact);
|
|
|
propertyContact.setTelephone(ppTelephone);
|
|
@@ -515,38 +515,38 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
|
|
|
projects.add(project);
|
|
|
}
|
|
|
//批量插入新增区域信息
|
|
|
- if(!regions.isEmpty()){
|
|
|
- boolean reg = regionService.saveOrUpdateBatch(regions);
|
|
|
- if(!reg){
|
|
|
+ if (!regions.isEmpty()) {
|
|
|
+ boolean reg = regionService.saveOrUpdateBatch(regions, regions.size());
|
|
|
+ if (!reg) {
|
|
|
//强制手动事务回滚
|
|
|
rollback();
|
|
|
- return RestResponse.fail();
|
|
|
+ return RestResponse.fail("插入区域信息失败,请稍后重试");
|
|
|
}
|
|
|
}
|
|
|
//批量插入新增甲方公司
|
|
|
- if(!propertyCompanies.isEmpty()){
|
|
|
- boolean ppc = propertyCompanyService.saveOrUpdateBatch(propertyCompanies);
|
|
|
- if(!ppc){
|
|
|
+ if (!propertyCompanies.isEmpty()) {
|
|
|
+ boolean ppc = propertyCompanyService.saveOrUpdateBatch(propertyCompanies, propertyCompanies.size());
|
|
|
+ if (!ppc) {
|
|
|
//强制手动事务回滚
|
|
|
rollback();
|
|
|
- return RestResponse.fail();
|
|
|
+ return RestResponse.fail("插入公司信息失败,请稍后重试");
|
|
|
}
|
|
|
}
|
|
|
//批量插入新增甲方联系人
|
|
|
- if(!propertyContacts.isEmpty()){
|
|
|
- boolean ppt = propertyContactService.saveOrUpdateBatch(propertyContacts);
|
|
|
- if(!ppt){
|
|
|
+ if (!propertyContacts.isEmpty()) {
|
|
|
+ boolean ppt = propertyContactService.saveOrUpdateBatch(propertyContacts, propertyContacts.size());
|
|
|
+ if (!ppt) {
|
|
|
//强制手动事务回滚
|
|
|
rollback();
|
|
|
- return RestResponse.fail();
|
|
|
+ return RestResponse.fail("插入联系人信息失败,请稍后重试");
|
|
|
}
|
|
|
}
|
|
|
//批量插入项目
|
|
|
- if(!projects.isEmpty()){
|
|
|
- boolean pro = saveBatch(projects);
|
|
|
- if(!pro){
|
|
|
+ if (!projects.isEmpty()) {
|
|
|
+ boolean pro = saveBatch(projects, projects.size());
|
|
|
+ if (!pro) {
|
|
|
rollback();
|
|
|
- return RestResponse.fail();
|
|
|
+ return RestResponse.fail("插入项目信息失败,请稍后重试");
|
|
|
}
|
|
|
}
|
|
|
return RestResponse.success("导入成功");
|