|
@@ -4,16 +4,22 @@ import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.ruoyi.common.annotation.DynamicName;
|
|
import com.ruoyi.common.annotation.DynamicName;
|
|
|
|
+import com.ruoyi.common.helper.LoginHelper;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
import com.ruoyi.common.core.domain.PageQuery;
|
|
import com.ruoyi.common.core.domain.PageQuery;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
|
|
import com.ruoyi.zdsz.domain.ZEngineeringNode;
|
|
import com.ruoyi.zdsz.domain.ZEngineeringNode;
|
|
|
|
+import com.ruoyi.zdsz.domain.bo.ZEngiineeringPhotoBo;
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
|
+import com.ruoyi.zdsz.domain.bo.ZFileBo;
|
|
|
|
+import com.ruoyi.zdsz.domain.vo.ZEngiineeringPhotoVo;
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
|
|
|
|
+import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -26,10 +32,8 @@ import com.ruoyi.zdsz.service.IZEngineeringPipeJackingService;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.ObjectUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Collection;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 顶管工程Service业务层处理
|
|
* 顶管工程Service业务层处理
|
|
@@ -45,6 +49,8 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IZEngineeringNodeService nodeService;
|
|
private IZEngineeringNodeService nodeService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IZEngiineeringPhotoService photoService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询顶管工程
|
|
* 查询顶管工程
|
|
@@ -52,6 +58,10 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
@Override
|
|
@Override
|
|
public ZEngineeringPipeJackingVo queryById(String id){
|
|
public ZEngineeringPipeJackingVo queryById(String id){
|
|
ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoById(id);
|
|
ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoById(id);
|
|
|
|
+ ZEngiineeringPhotoBo bo1 = new ZEngiineeringPhotoBo();
|
|
|
|
+ bo1.setParentId(jackingVo.getId());
|
|
|
|
+ bo1.setCreateTime(jackingVo.getCreateTime());
|
|
|
|
+ jackingVo.setPics(photoService.queryList(bo1));
|
|
ZEngineeringNodeBo bo = new ZEngineeringNodeBo();
|
|
ZEngineeringNodeBo bo = new ZEngineeringNodeBo();
|
|
bo.setCreateTime(jackingVo.getCreateTime());
|
|
bo.setCreateTime(jackingVo.getCreateTime());
|
|
bo.setCivliId(jackingVo.getId());
|
|
bo.setCivliId(jackingVo.getId());
|
|
@@ -64,6 +74,10 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
@Override
|
|
@Override
|
|
public ZEngineeringPipeJackingVo queryByIdType(String id,String type){
|
|
public ZEngineeringPipeJackingVo queryByIdType(String id,String type){
|
|
ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoById(id);
|
|
ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoById(id);
|
|
|
|
+ ZEngiineeringPhotoBo bo1 = new ZEngiineeringPhotoBo();
|
|
|
|
+ bo1.setParentId(jackingVo.getId());
|
|
|
|
+ bo1.setCreateTime(jackingVo.getCreateTime());
|
|
|
|
+ jackingVo.setPics(photoService.queryList(bo1));
|
|
ZEngineeringNodeBo bo = new ZEngineeringNodeBo();
|
|
ZEngineeringNodeBo bo = new ZEngineeringNodeBo();
|
|
bo.setCreateTime(jackingVo.getCreateTime());
|
|
bo.setCreateTime(jackingVo.getCreateTime());
|
|
bo.setCivliId(jackingVo.getId());
|
|
bo.setCivliId(jackingVo.getId());
|
|
@@ -122,14 +136,14 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
}
|
|
}
|
|
//市政
|
|
//市政
|
|
else if("市政工程".equals(bo.getType())){
|
|
else if("市政工程".equals(bo.getType())){
|
|
- List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId(),"2");
|
|
|
|
|
|
+ List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId());
|
|
if (!civil.isEmpty()){
|
|
if (!civil.isEmpty()){
|
|
add.setEnginAddre((String) civil.get(0).get("name"));
|
|
add.setEnginAddre((String) civil.get(0).get("name"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//工业
|
|
//工业
|
|
else if("工业工程".equals(bo.getType())){
|
|
else if("工业工程".equals(bo.getType())){
|
|
- List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId(),"1");
|
|
|
|
|
|
+ List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId());
|
|
if (!civil.isEmpty()){
|
|
if (!civil.isEmpty()){
|
|
add.setEnginAddre((String) civil.get(0).get("name"));
|
|
add.setEnginAddre((String) civil.get(0).get("name"));
|
|
}
|
|
}
|
|
@@ -162,10 +176,25 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
bo.setId(add.getId());
|
|
bo.setId(add.getId());
|
|
bo.getzEngineeringNodeBo().setCivliId(add.getId());
|
|
bo.getzEngineeringNodeBo().setCivliId(add.getId());
|
|
bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
|
|
bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
|
|
- nodeService.insert(bo.getzEngineeringNodeBo());
|
|
|
|
|
|
+ ZEngineeringNode entity = nodeService.insert(bo.getzEngineeringNodeBo());
|
|
|
|
+ if (!ObjectUtil.isEmpty(entity)){
|
|
|
|
+ List<ZEngiineeringPhoto> list = new ArrayList<>();
|
|
|
|
+ bo.getFiles().stream().forEach(o->{
|
|
|
|
+ ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
|
|
|
|
+ pic.setParentId(bo.getId());
|
|
|
|
+ pic.setPicUrl(o.getUrl());
|
|
|
|
+ pic.setFileName(o.getName());
|
|
|
|
+ pic.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
|
|
|
|
+ pic.setUpdateTime(new Date());
|
|
|
|
+ list.add(pic);
|
|
|
|
+ });
|
|
|
|
+ if (!list.isEmpty()) {
|
|
|
|
+ photoService.insertBatch(list);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}else {
|
|
}else {
|
|
- //存在工程
|
|
|
|
|
|
+ //存在这个类型工程
|
|
ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
|
|
ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
|
|
zEngineeringNodeBo.setCivliId(jackingVo.getId());
|
|
zEngineeringNodeBo.setCivliId(jackingVo.getId());
|
|
zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
|
|
zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
|
|
@@ -197,14 +226,14 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
}
|
|
}
|
|
//市政
|
|
//市政
|
|
else if("市政工程".equals(bo.getType())){
|
|
else if("市政工程".equals(bo.getType())){
|
|
- List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId(),"2");
|
|
|
|
|
|
+ List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId());
|
|
if (!civil.isEmpty()){
|
|
if (!civil.isEmpty()){
|
|
update.setEnginAddre((String) civil.get(0).get("name"));
|
|
update.setEnginAddre((String) civil.get(0).get("name"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//工业
|
|
//工业
|
|
else if("工业工程".equals(bo.getType())){
|
|
else if("工业工程".equals(bo.getType())){
|
|
- List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId(),"1");
|
|
|
|
|
|
+ List<Map<String, Object>> civil = baseMapper.getSg(bo.getEnginId());
|
|
if (!civil.isEmpty()){
|
|
if (!civil.isEmpty()){
|
|
update.setEnginAddre((String) civil.get(0).get("name"));
|
|
update.setEnginAddre((String) civil.get(0).get("name"));
|
|
}
|
|
}
|
|
@@ -228,7 +257,46 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
|
|
bo.getzEngineeringNodeBo().setCivliId(bo.getId());
|
|
bo.getzEngineeringNodeBo().setCivliId(bo.getId());
|
|
bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
|
|
bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
|
|
nodeService.update(bo.getzEngineeringNodeBo());
|
|
nodeService.update(bo.getzEngineeringNodeBo());
|
|
- return baseMapper.updateById(update) > 0;
|
|
|
|
|
|
+ int i = baseMapper.updateById(update);
|
|
|
|
+ if (i>0){
|
|
|
|
+ List<ZEngiineeringPhoto> list = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ // 查询数据库中已存在的文件列表
|
|
|
|
+ ZEngiineeringPhotoBo bo1 = new ZEngiineeringPhotoBo();
|
|
|
|
+ bo1.setParentId(update.getId());
|
|
|
|
+ List<String> existingPhotos = photoService.queryList(bo1).stream()
|
|
|
|
+ .map(ZEngiineeringPhotoVo::getPicUrl)
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ // 插入前端传来的新文件
|
|
|
|
+ for (ZFileBo pic : bo.getFiles()) {
|
|
|
|
+ if (!existingPhotos.contains(pic)) {
|
|
|
|
+ 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());
|
|
|
|
+ list.add(newPhoto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 删除数据库中多余的文件
|
|
|
|
+ List<String> photosToDelete = existingPhotos.stream()
|
|
|
|
+ .filter(pic -> !bo.getFiles().contains(pic))
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ if (!photosToDelete.isEmpty()) {
|
|
|
|
+ photosToDelete.forEach(item->{
|
|
|
|
+ photoService.deleteWithValidByurls(item);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 批量插入新图片
|
|
|
|
+ if (!list.isEmpty()) {
|
|
|
|
+ photoService.insertBatch(list);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return i>0;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|