|
@@ -1,31 +1,31 @@
|
|
|
package com.ruoyi.zdsz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.ruoyi.common.helper.LoginHelper;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.core.domain.PageQuery;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
|
|
|
import com.ruoyi.zdsz.domain.ZEngineeringInfrastructure;
|
|
|
-import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
|
|
|
-import com.ruoyi.zdsz.domain.bo.ZEngineeringInfrastructureBo;
|
|
|
-import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
-import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.ZEngineeringInfrastructureSelectVo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.ZEngineeringInfrastructureVo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.ZEngineeringReviewVo;
|
|
|
+import com.ruoyi.zdsz.domain.ZEngineeringPipeJacking;
|
|
|
+import com.ruoyi.zdsz.domain.bo.*;
|
|
|
+import com.ruoyi.zdsz.domain.vo.*;
|
|
|
import com.ruoyi.zdsz.mapper.ZEngineeringInfrastructureMapper;
|
|
|
+import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringInfrastructureService;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringReviewService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 基建工程Service业务层处理
|
|
@@ -42,6 +42,8 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
|
|
|
@Resource
|
|
|
private final IZEngineeringNodeService izEngineeringNodeService;
|
|
|
+ @Resource
|
|
|
+ private IZEngiineeringPhotoService photoService;
|
|
|
|
|
|
@Resource
|
|
|
private final IZEngineeringReviewService izEngineeringReviewService;
|
|
@@ -57,6 +59,12 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
zEngineeringNodeBo.setCivliId(vo.getId());
|
|
|
vo.setzEngineeringNodeBoList(izEngineeringNodeService.queryListDetails(zEngineeringNodeBo));
|
|
|
List<ZEngineeringNodeBo> nodeList = vo.getzEngineeringNodeBoList();
|
|
|
+ //文件
|
|
|
+ ZEngiineeringPhotoBo bo1 = new ZEngiineeringPhotoBo();
|
|
|
+ bo1.setParentId(vo.getId());
|
|
|
+ bo1.setCreateTime(vo.getCreateTime());
|
|
|
+ vo.setPics(photoService.queryList(bo1));
|
|
|
+
|
|
|
if(nodeList != null && nodeList.size() > 0){
|
|
|
for (ZEngineeringNodeBo node : nodeList) {
|
|
|
String type = node.getType();
|
|
@@ -176,16 +184,80 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
izEngineeringNodeService.insert(zEngineeringNodeBo);
|
|
|
}
|
|
|
}else {
|
|
|
+
|
|
|
bo.setId(add.getId());
|
|
|
ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
|
|
|
zEngineeringNodeBo.setCivliId(add.getId());
|
|
|
+ zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
|
|
|
zEngineeringNodeBo.setCreateTime(add.getCreateTime());
|
|
|
- izEngineeringNodeService.insert(zEngineeringNodeBo);
|
|
|
+ ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
|
|
|
+ if (!ObjectUtils.isEmpty(query)) {
|
|
|
+ zEngineeringNodeBo.setId(query.getId());
|
|
|
+ }
|
|
|
+ izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
|
|
|
+ }
|
|
|
+ //文件集合
|
|
|
+ if (!bo.getFiles().isEmpty()){
|
|
|
+ List<ZEngiineeringPhoto> list = new ArrayList<>();
|
|
|
+ bo.getFiles().forEach(o->{
|
|
|
+ ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
|
|
|
+ pic.setParentId(bo.getId());
|
|
|
+ pic.setPicUrl(o.getUrl());
|
|
|
+ pic.setFileName(o.getName());
|
|
|
+ pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
|
|
|
+ pic.setCreateTime(new Date());
|
|
|
+ pic.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
|
|
|
+ pic.setUpdateTime(new Date());
|
|
|
+ list.add(pic);
|
|
|
+ });
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ photoService.insertBatch(list);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return flag;
|
|
|
}
|
|
|
+ private void doPhotos(ZEngineeringInfrastructure update, ZEngineeringInfrastructureBo bo) {
|
|
|
+ List<ZEngiineeringPhoto> list = new ArrayList<>();
|
|
|
+
|
|
|
+ // 查询数据库中已存在的文件列表
|
|
|
+ ZEngiineeringPhotoBo bo1 = new ZEngiineeringPhotoBo();
|
|
|
+ bo1.setParentId(update.getId());
|
|
|
+ bo1.setCreateTime(update.getCreateTime());
|
|
|
+ List<String> existingPhotos = photoService.queryList(bo1).stream()
|
|
|
+ .map(ZEngiineeringPhotoVo::getPicUrl)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 插入前端传来的新文件
|
|
|
+ for (ZFileBo pic : bo.getFiles()) {
|
|
|
+ if (!existingPhotos.contains(pic.getUrl())) {
|
|
|
+ ZEngiineeringPhoto newPhoto = new ZEngiineeringPhoto();
|
|
|
+ newPhoto.setParentId(bo.getId());
|
|
|
+ newPhoto.setPicUrl(pic.getUrl());
|
|
|
+ newPhoto.setFileName(pic.getName());
|
|
|
+ newPhoto.setCreateBy(String.valueOf(LoginHelper.getUserId()));
|
|
|
+ newPhoto.setCreateTime(new Date());
|
|
|
+ newPhoto.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
|
|
|
+ newPhoto.setUpdateTime(new Date());
|
|
|
+ list.add(newPhoto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除数据库中多余的文件
|
|
|
+ List<String> photosToDelete = existingPhotos.stream()
|
|
|
+ .filter(pic -> !bo.getFiles().stream().map(ZFileBo::getUrl).collect(Collectors.toList()).contains(pic))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!photosToDelete.isEmpty()) {
|
|
|
+ photosToDelete.forEach(item->{
|
|
|
+ photoService.deleteWithValidByurls(item);
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
+ // 批量插入新图片
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ photoService.insertBatch(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
/**
|
|
|
* 新增基建工程审核
|
|
|
*/
|
|
@@ -214,15 +286,8 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
boolean flag = baseMapper.updateById(update) > 0;
|
|
|
if (flag) {
|
|
|
ZEngineeringInfrastructureVo vo = baseMapper.selectVoById(update.getId());
|
|
|
-
|
|
|
-// if (flag) {
|
|
|
-// ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
|
|
|
-// zEngineeringNodeBo.setCivliId(vo.getId());
|
|
|
-// zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
|
|
|
-// izEngineeringNodeService.update(zEngineeringNodeBo);
|
|
|
-// return flag;
|
|
|
-// }
|
|
|
-
|
|
|
+ //文件
|
|
|
+ this.doPhotos(update,bo);
|
|
|
List<ZEngineeringNodeBo> nodeBoList = bo.getzEngineeringNodeBoList();
|
|
|
if(nodeBoList != null && nodeBoList.size() != 0){
|
|
|
for (ZEngineeringNodeBo nodeBo:nodeBoList) {
|
|
@@ -231,8 +296,6 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
|
|
|
if(zEngineeringNodeBo.getId() != null){
|
|
|
izEngineeringNodeService.update(zEngineeringNodeBo);
|
|
|
- }else {
|
|
|
- izEngineeringNodeService.insert(zEngineeringNodeBo);
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
@@ -242,8 +305,6 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
|
|
|
zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
|
|
|
if(zEngineeringNodeBo.getId() != null){
|
|
|
izEngineeringNodeService.update(zEngineeringNodeBo);
|
|
|
- }else {
|
|
|
- izEngineeringNodeService.insert(zEngineeringNodeBo);
|
|
|
}
|
|
|
}
|
|
|
}
|